We ran into problems with precompiled protoc binaries not working on
some systems because of the dependence on a dynamically linked
libatomic. However, I found that linking against libatomic is not
actually necessary in our protoc build environment. Inside configure.ac
there's a test which figures out if we need to pass -latomic, and it
does this by attempting to build a test binary. That binary was failing
to build, but it turns out this was because we need to pass -std=c++11,
not -latomic.
This fixes#5875.
We need to mark messages as final soon, but before we do that we need to
provide a temporary opt-out mechanism to accommodate existing code that
inherits from generated messages. For 3.7.1 let's stop marking messages
final but in 3.8 we can reintroduce "final" with an opt-out option.
* Replace strptime with custom implementation
* Fix ruby strptime
* Fix test
* Fix ruby conformance test
* Use mktime
* Remove EmptyFieldMask from failed conformance test list
* Fix macros in header of generated code
* Define PROTOBUF_MIN_PROTOC_VERSION in port_def.inc
* Remove duplicated GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION from common.h
* Send error if the error has been defined
* Undef the new macro
* Add conformance test for nested listvalue
* Fix upb for parsing repeated Value/ListValue
* Add failed repeated ListValue conformance test into php failure list
* fix macos build by changing xcode version
* add comments
* fix benchmark build for mac
* fix for gem option and install npm
* add test for node and npm
* fix node
* fix for node
* another attempts to fix node
* another attempts
* clean up
* Modify how end tags are encounted in merge code (compiler)
* Modify how end tags are encounted in merge code (generated)
* Modify how end tags are encounted in merge code (library)
* Regenerate generated code through generate_descriptor_proto.sh
* Add several fixes for python toolchain
* Fix versin regex
* Make script exit on error
* Fix version regex
* Fix version regex
* Fix version regex
* Fix version regex
* Make test run on the current commit
* Fix test
* Fix test
* Use git to retrieve current commit
* Fix tests
* Fix tests
* Also make linux and mac work on the current commit
* Fix test
GeneratedMessageV3#setUnknownFieldsProto3 was trying to delegate to
setUnknownFields but was inadvertently resulting in infinite recursion.
This commit makes setUnknownFields and setUnknownFieldsProto3 delegate
to a common private method to fix the problem and avoid confusion.
* Use gnu for ruby build because strptime is provided by posix
* Move option to extconf.rb
* Remove unused code in Rakefile
* Add config files for kokoro test
* Use gnu 11
* Define _XOPEN_SOURCE
* Add gnu11 option
* Remove XOPEN
* Try base_cc_flags
* Try config_options
* Move time.h to top
* Try -D_XOPEN_SOURCE=700
* Define XOPEN_SOURCE directly
* Try extconf.rb
* Try CFLAGS
* Try ext.cross_config_options
* Make mac ruby release job fail on error
* Try again
* Try define _XOPEN_SOURCE in extconf.rb
* Try again
* Define __USE_XOPEN
* Remove 2.6.0
* No mingw
* Throw error on mingw
* Remove XOPEN_SOURCE in upb
* Add back mingw
* Remove comment