* Reserve unknown fields in upb
1) For decoding, an unknownfields will be lazily created on message,
which contains bytes of unknown fields.
2) For encoding, if the unknownfields is present on message, all bytes
contained in it will be serialized.
* Register the function to encode unknown field at decode time.
* Remove upb_handlers_setaddunknown
* Use upb_sink_putunknown in decoder
* Remove upb_pb_encoder_encode_unknown
* Do not expose encode_unknown
* Implement reserve unknown field in php Implement.
* Make buffer private to CodedInputStream
VS2017 warns about a few additional things, for example, files that
define no symbols (which is typically the result of a platform specific
ifdef not applying on Windows).
Suppress these warnings so the build is clean on VS2017.
* Add well known types to php runtime.
* Fix php7.0 tests
* No longer generate empty.proto in test as it has been included in
runtime.
* Fix zts build
* Clean code
* Rename g_p_b_empty to empty.
* Don't generate code for empty.proto in compatibility test
* Fix 32-bit
* Fix mac build
* Fix Makefile.am to add new files
* Fix ruby segment fault
1) rb_ary_new cannot be called during allocate function. During allocate
fucntion, the containing object hasn't been marked and rb_ary_new may
invoke gc to collect containing object.
2) The global map should be marked before allocating it. Otherwise it
may be garbage collected.
* Add test
* Remove commented code
* Fix grammer error
* Use constexpr more with VC++ 2017
Chrome's official builds have over 170 dynamic initializers for
variables of the form *::TableStruct::aux. Defining
PROTOBUF_CONSTEXPR_VAR to be constexpr for VS 2017 gets rid of all of
these and saves about 10 KB of binary size.
* Update generated_message_table_driven.h
Restore accidentally deleted line.