* Add discard unknown API in ruby.
* Add test for oneof message field.
* Add TestUnknown to represent unknown field data clearly.
* Only serialize the message with unknown fields itself in test.
* Move discard_unknown from Message to Google.Protobuf
* Recursively clear unknown fields in submessages.
* Recursively discard unknown fields in submsg for c extension
* Fix zts build
* Add comment for tests
* Add a TODO to add a util for encoding varint for better readability.
* Add test for oneof message field.
If the test cannot find a temp directory by
checking environment variables, it will fall back
to using the current working directory as the temp
directory root.
This is what the test used to do as of commit
6de51caed5
and what was then changed by commit
792d098769
Do not use "googletest.h", apprently that leads to
linking errors on Windows which I couldn't figure
out how to solve, and decided to just go with
plain gTest instead.
See https://github.com/google/protobuf/issues/3951
Add _file_desc_by_toplevel_extension back for compatibility issue with 3.4.1.
_file_desc_by_toplevel_extension is a temporary solution for FieldDescriptor.file.
FieldDescriptor.file was added in code gen. However, we need to keep it for some time for compatibility reason (with 3.4.1 only). May try to remove it after 2 years.
- Removed the redefination in the atomicword_compat.h. Now Atomic32 will
alwyas be intptr_t in 32bit platforms, the bridge is no longer needed.
- Change NaCl 64bit to use intptr_t instead of int32 for Atomic32,
otherwise AtmoicWord APIs will miss the definations.
After this change, the AtmoicWord will always be either Atomic32 or
Atmoic64 depending on the platforms.