aboutsummaryrefslogtreecommitdiff
path: root/src/google
Commit message (Collapse)AuthorAgeFilesLines
* PHP array constructors for protobuf messages (#4530)Brent Shaffer2018-05-241-8/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (#4627)Paul Yang2018-05-171-3/+16
| | | | | | * Adopt ruby_package in ruby generated code. * Add test for ruby_package
* re-write int128 long division to avoid license impact from stackoverflow ↵NickFengIBM2018-05-171-34/+18
| | | | | | | references (#4633) * rewrite int128 long divison to avoid stackoverflow hit Protobuf was showing Stackoverflow hits in the code base, primarily code written to calculate long division. This code was copied from a stackoverflow post, which means it would be licensed under CC BY-SA 3.0. Due to this license, IBM Legal did not want to include this OSS in our products and advised us to re-write this particular piece of code to avoid the license restriction. We have re-written the code for our own distribution, and are willing to merge it into the main code base for others who want to avoid the stackoverflow license issues to benefit as well.
* Merge pull request #4624 from eughermann/hash-ub-fixAdam Cozzette2018-05-151-7/+7
|\ | | | | Fix undefined behavior in hash function.
| * Remove undefined behavior from the hash function.Eugene Hermann2018-05-141-7/+7
| | | | | | | | | | | | Signed integer overflow creates undefined behavior that may lead to unpredictable fails on different platforms. One known example of the hardware where this code did fail is Apple A6 (32-bit Apple Swift CPU) 16777619, 16777499 - two prime numbers that typically used to get better dispersion.
* | Adopt php_metadata_namespace in php code generator (#4622)Paul Yang2018-05-141-17/+37
| | | | | | | | | | | | | | | | | | | | | | * 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
* | fix index out of range error in C# generation using msvc (#1329)Warren Falk2018-05-141-1/+1
|/
* Add file option php_metadata_namespace and ruby_package (#4609)Paul Yang2018-05-113-165/+535
|
* Fix error in Clang UndefinedBehaviorSanitizerPetter Strandmark2018-05-041-4/+6
| | | | | | 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.
* MinGW build failedIvan Shynkarenka2018-05-021-1/+1
|
* typoBrady Killeen2018-04-261-1/+1
|
* Write messages to backing field in generated C# cloning code (#4440)Sydney Acksman2018-04-191-1/+1
| | | | | | * Edited MessageFieldGenerator to clone to backing field instead of property * Generated C# proto code
* Merge pull request #4504 from xfxyjwf/liteFeng Xiao2018-04-181-0/+10
|\ | | | | Cleanup + documentation for Java Lite runtime.
| * Cleanup + documentation for Java Lite runtime.Feng Xiao2018-04-121-0/+10
| |
* | Fixed a Visual Studio 2017 build error. (#4488)Ronny Krüger2018-04-168-20/+13
|/ | | | | | | | | | | | | | | | 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.
* Don't generate imports for the WKTs unless generating the WKTs.Thomas Van Lenten2018-04-024-8/+21
| | | | | Since the generated header import GPBProtocolBuffers.h, there is no need to generate imports for the WKTs as they will have already been imported.
* Trim imports for bundled generated protos.Thomas Van Lenten2018-04-022-12/+41
| | | | | | | | 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
* Removed atomicops.h since it is no longer usedAdam Cozzette2018-03-271-237/+0
|
* source code info for interpreted options; fix source code info for extension ↵Joshua Humphries2018-03-264-68/+748
| | | | | | | | | 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
* Merge pull request #4431 from xfxyjwf/rmnanoFeng Xiao2018-03-2624-5807/+0
|\ | | | | Remove javanano.
| * Remove javanano.Feng Xiao2018-03-2624-5807/+0
| |
* | Fixes MSVC compiler warning C4800 "Forcing value to bool 'true' or 'false'" ↵Alexey Malov2018-03-262-2/+2
| | | | | | | | (#4350)
* | Merge pull request #4395 from stone4774/fixbug_enum2json2Feng Xiao2018-03-265-17/+66
|\ \ | | | | | | Fix bug: whether always_print_enums_as_ints is true or false, it alwa…
| * \ Merge branch 'master' into fixbug_enum2json2stone47742018-03-22235-12876/+13225
| |\ \
| * | | Use the first enum value instead of 0 in ↵stone47742018-03-211-1/+1
| | | | | | | | | | | | | | | | DefaultValueObjectWriter::FindEnumDefault
| * | | Fix bug: whether always_print_enums_as_ints is true or false, it always ↵stone47742018-03-195-17/+66
| | | | | | | | | | | | | | | | print the default value of enums as strings
* | | | Fix missing LIBPROTOC_EXPORT.Egor Pugin2018-03-251-3/+6
| |_|/ |/| | | | | This makes possible to build grpc_php_plugin with protobuf in shared mode.
* | | Removed some unused C++ source filesAdam Cozzette2018-03-2220-4897/+0
| |/ |/|
* | Merge pull request #4387 from acozzette/down-integrateAdam Cozzette2018-03-20234-12869/+13215
|\ \ | | | | | | Integrated internal changes from Google
| * | Removed use of some type traitsAdam Cozzette2018-03-203-5/+5
| | | | | | | | | | | | | | | Pre-5.1.0 versions of GCC do not support these particular type traits (see https://github.com/google/protobuf/issues/417).
| * | Deleted scoped_ptr.hAdam Cozzette2018-03-1424-306/+47
| | | | | | | | | | | | | | | We no longer need this, now that we have finished the switch to C++11 and are using std::unique_ptr.
| * | Fixed up proto3_lite_unittest.ccAdam Cozzette2018-03-141-11/+11
| | |
| * | Merge branch 'master' into down-integrateAdam Cozzette2018-03-139-12/+77
| |\|
| * | Integrated internal changes from GoogleAdam Cozzette2018-03-13212-12586/+13191
| | |
* | | Merge pull request #4371 from Rasrack/gnuc_minorAdam Cozzette2018-03-151-1/+1
|\ \ \ | | | | | | | | Fix spelling error of __GNUC_MINOR__
| * | | Fix spelling error of __GNUC_MINOR__Adam Aili2018-03-101-1/+1
| | |/ | |/|
* | | Merge pull request #4310 from KindDragon/patch-1Feng Xiao2018-03-141-6/+9
|\ \ \ | |/ / |/| | Support using MSVC intrinsics in Log2FloorNonZero
| * | Support using MSVC intrinsics in Log2FloorNonZeroArkady Shapkin2018-02-151-6/+9
| |/
* | Merge pull request #4183 from pcc/win-libcxxFeng Xiao2018-02-262-2/+3
|\ \ | | | | | | Add support for libc++ on Windows.
| * | Add support for libc++ on Windows.Peter Collingbourne2018-01-172-2/+3
| | | | | | | | | | | | | | | This disables a couple of workarounds which are only necessary with MSVC's standard library and cause problems with libc++.
* | | Merge pull request #4195 from alexey-malov/IgnoreUnknownEnumsInJsonFeng Xiao2018-02-265-6/+72
|\ \ \ | | | | | | | | Adds an option in C++ JSON parser to ignore unrecognized enum values
| * | | The JsonParseOptions::ignore_unknown_fields option behavior treatsAlexey Malov2018-02-125-6/+72
| |/ / | | | | | | | | | unrecognized string values in enum fields as default ones.
* | | Merge pull request #4323 from dtapuska/masterFeng Xiao2018-02-201-2/+2
|\ \ \ | | | | | | | | Rename a shadowed variable.
| * | | Rename a shadowed variable.Dave Tapuska2018-02-201-2/+2
| | |/ | |/| | | | | | | | | | | | | 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.
* | | Merge pull request #3186 from gkelly/remove-unused-variableFeng Xiao2018-02-201-2/+0
|\ \ \ | |/ / |/| | Remove unused output_file variable from js_embed
| * | Remove unused output_file variable from js_embedGarret Kelly2017-06-051-2/+0
| | | | | | | | | | | | | | | The js_embed tool outputs to stdout, so the output_file variable is unnecessary and unused.
* | | Remove stray indent on normal imports.Thomas Van Lenten2018-02-081-2/+2
| | |
* | | Remove use of GOOGLE_FALLTHROUGH_INTENDED from protobuf.Nico Weber2018-02-072-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #4239 from mrpi/masterAdam Cozzette2018-01-311-4/+2
|\ \ \ | | | | | | | | Create std::string in Arena memory
| * | | Fix -fpermissive: '<::' cannot begin a template-argument listLudger Sprenker2018-01-301-1/+1
| | | | | | | | | | | | '<:' is an alternate spelling for '['.