| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
* Work around MSVC issue with std::atomic initialization
MSVC seems to have a bug where it does not use constant initialization
for std::atomic, which ends up causing crashes during initialization.
This change introduces a workaround by putting the std::atomic inside a
union, which causes the compiler to use constant initialization for it.
* Added an AppVeyor test for static linking with MSVC
|
| |
|
|
|
| |
These methods are used by grpc
|
|
|
|
|
|
|
|
|
| |
We need to use a default of 0 when parsing unspecified map keys, instead
of failing an assertion.
This change was written by Michael Aaron (michaelaaron@google.com) but I
am cherry-picking it directly instead of waiting for the next sync of
Google-internal changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* uses namespaces for nested messages and enums
* fixes namespaces for PHP dist
* fixes namespace for Descriptors, adds Cardinality and Kind
* fixes nested namespaces for reserved words and adds tests
* adds tests and generator fix for php class prefixes
* fixes escaping of protobuf packages, enum comments, misc others
* nice refactor of generated code
* adds class files for backwards compatibility
* simplifies code with templates
* adds compatibility files to makefile
* cleanup of generator and fixes nested namespace bug
* regenerates proto types
* remove internal BC classes
* adds deprecated warning, adds methods back
* simplifies if statement
* fixes dist files
* addresses review comments
* adds back TYPE_URL_PREFIX constant
* adds @deprecated to old nested class files
* skips tests which require a separate process when protobuf.so is enabled
* Adds tests for legacy nested classes that do not require separate processes to test
* uses legacy names for GPBUtil message check
* adds block for IDE @deprecated message
* Namespace for nested message/enum in c extension
* Remove unused code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* PHP array constructors for protobuf messages
* removes Descriptor from error message
* allows mergeFrom to accept an array
* only use initWithDescriptor if instanceof MapEntry
* adds doc comments
* removes ability for constructors to take arrays for submessages
* Revert "allows mergeFrom to accept an array"
This reverts commit b7b72182d561634af12c5c5c56a7cda3b33241f9.
* makes mergeFromArray protected and fixes mergeFrom whitespace
* Separates merging from JSON and merging from PHP array
* removes well-known types and json keys from array construction
* Addresses PR review comments
* cleans up tests
* fixes exception messages
|
|
|
|
|
|
| |
* Adopt ruby_package in ruby generated code.
* Add test for ruby_package
|
|
|
|
|
|
|
|
|
|
|
| |
* Adopt php_metadata_namespace in php code generator
The php_metadata_namespace is corresponded to the relative directory of
the metadata file. e.g., previously, the metadata file of foo.proto was
GPBMetadata/Foo.php. If the php_metadata_namespace is "Metadata\\Bar",
the metadata file will be Metadata/Bar/Foo.php.
* Handle empty php_metadata_namespace
|
|
|
|
|
|
|
| |
I ran the tcmalloc heap checker in draconian mode, and it reported some
heap allocations that were still reachable when protobuf-test exited. To
fix that, I updated FileDescriptorTables to make sure its temporary
heap-allocated maps are deleted when it is destroyed.
|
| |
|
| |
|
|
|
|
|
|
| |
Pointer Arguments to memcpy can not be null in UndefinedBehaviorSanitizer.
In this case, both the memory and the size was zero. This change allows
protoc to run under UndefinedBehaviorSanitizer.
|
| |
|
| |
|
|
|
|
|
|
| |
* Edited MessageFieldGenerator to clone to backing field instead of property
* Generated C# proto code
|
|\
| |
| | |
Cleanup + documentation for Java Lite runtime.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current 15.6.x versions of Visual Studio 2017 contain a bug that
prevent them from compiling the following construct under certain
conditions:
std::unique_ptr<std::unique_ptr<Foo> []> foos;
This will fail to compile if Foo is an abstract class. To work-around
the problem the whole construct was change into:
std::vector<std::unique_ptr<Foo>> foos;
This not only fixes the compiler error but is also more readable than
previous version.
|
|/ |
|
|
|
|
|
| |
Since the generated header import GPBProtocolBuffers.h, there is no need
to generate imports for the WKTs as they will have already been imported.
|
|
|
|
|
|
|
|
| |
To avoid a cycle between headers, have the WKTs use minimal imports instead
of using the helper to get everything from the library.
Fixes https://github.com/google/protobuf/issues/4301
Fixes https://github.com/google/protobuf/issues/4403
|
| |
|
|
|
|
|
|
|
|
|
| |
range options (#4342)
* when interpreting options, rewrite file descriptor's source code info
- so that interpreted option paths have correct location information
- so that corresponding uninterpreted option paths are removed
also includes a fix to source code locations for extension range options
|
|\
| |
| | |
Remove javanano.
|
| |
| |
| |
| | |
(#4350)
|
|\ \
| | |
| | | |
Fix bug: whether always_print_enums_as_ints is true or false, it alwa…
|
| | | |
|
| |/
|/|
| | |
This makes possible to build grpc_php_plugin with protobuf in shared mode.
|
| | |
|
| |\
| |/
|/| |
|
| |
| |
| |
| | |
DefaultValueObjectWriter::FindEnumDefault
|
|\ \
| | |
| | | |
Integrated internal changes from Google
|
| | |
| | |
| | |
| | |
| | | |
Pre-5.1.0 versions of GCC do not support these particular type traits
(see https://github.com/google/protobuf/issues/417).
|
| | |
| | |
| | |
| | | |
print the default value of enums as strings
|
|\ \ \
| | | |
| | | | |
Fix spelling error of __GNUC_MINOR__
|
|\ \ \ \
| |_|_|/
|/| | | |
Support using MSVC intrinsics in Log2FloorNonZero
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We no longer need this, now that we have finished the switch to C++11
and are using std::unique_ptr.
|
| | | | |
|
| | | |\
| |_|_|/
|/| | | |
|
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Add support for libc++ on Windows.
|
|\ \ \ \
| | | | |
| | | | | |
Adds an option in C++ JSON parser to ignore unrecognized enum values
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Rename a shadowed variable.
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Shadowed variables can cause readability issues. Ensure a shadowed
variable isn't used in header files which may be used in a dependent
project that explicitly disables them.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Remove unused output_file variable from js_embed
|
| |_|_|/
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
unrecognized string values in enum fields as default ones.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Chrome is running into two issues with the use of this macro
in open-source protobuf (https://crbug.com/809157):
1. GOOGLE_FALLTHROUGH_INTENDED is defined to nothing on __APPLE__
platforms, which blocks us from enabling -Wimplicit-fallthrough
on Mac and iOS. (We use a hermetic self-built modern clang,
so whatever Xcode bug that exclusion might be for doesn't apply
to us.)
2. It's in a public header file, and it's included in a public header file.
When clang suggests adding [[clang::fallthrough]], it checks if it knows of
a macro expanding to that and if so, suggests inserting that. Since lots of
chrome code includes protobuf headers, it often suggests inserting
GOOGLE_FALLTHROUGH_INTENDED (from protobuf) instead of the correct
FALLTHROUGH (from chrome's base).
Since the fallthrough doens't do anyting useful, just remove it.
Long ago, this might have had perf impact, but d64a2d9941c36a7bc added a
parsing fast path that calls this switch as slow fallback, so it should
be off the hot path nowadays.
No intended behavior change.
This is the public version of internal change 184824132.
|
|\ \ \ \
| | | | |
| | | | | |
Create std::string in Arena memory
|