Previously we only rejected the tag if the tag itself was 0, i.e.
field=0, type=varint. The type doesn't matter: field 0 is always
invalid.
This removes the last of the C# conformance failures.
The typedefs for Atomic32 and Atomic64 were sometimes causing
Atomic32 to be an int32 rather than an intptr_t on 32-bit platforms.
On some of these platforms (ARM/CortexM building with GCC 6 in one
case) int32 is a long int, while intptr_t is an int, which causes a
compiler error even though long int and int are both 4 bytes.
Having Atomic32 always be intptr_t on 32-bit platforms and Atomic64
always be intptr_t on 64-bit platforms should resolve any of these
types of errors.
- Xcode 8.3.3 bumped the simulators to 10.3.1, so 10.3 fails. Just use
the "latest" naming instead to avoid issues.
- Also switch to just testing an old 32bit build and new 64bit build as
there isn't any code in protobuf that should care about form facts.
(Looks like the iPad Pro simulator names aren't always constantly, on
some developer machines they are "iPad Pro (9.7 inch)" while on others
they are "iPad Pro (9.7-inch)"; so just avoid using them.)
* Fix the bug in php c extension that setting one field can change another
field's value.
The reason is that previously, in c extension, it was assumed that the
order that fields were declared in php is the same as the order of
fields in upb. This is not true. Now, for every field in upb, we will
look up the actual property that is corresponding to the upb field.
* Cleanup pull request
* Fix indentation
* Port to php5
* Port with php7.1
* Port to zts
* Add descriptors test
* Update descriptors tests
* Add public descriptors
* Add test_desriptors.proto to test script
* Update composer files
* Remove references to GPBType, update tests to be compatible with c
* Update for c extension compatibility
* Remove nested enums for descriptor, update tests
* Strip leading '.' from descriptor name
* Update tests with test for getClass, fix OneofDescriptor
* Add new files to Makefile.am
1, Some tests in reflection_test PY26 raise TypeError but other versions raise ValueError for convert negative long to unsigned
2, Change compare exception type to compare exception str for testDuplicateExtensionNumber. Original code raise 'Double registration of Extensions' is not an instance of (<type 'exceptions.AssertionError'>, <type 'exceptions.ValueError'>) for PY26 cpp implementation
t
I added my project ProfaneDB, it is a database for Protocol Buffers objects. Written in C++, it uses gRPC as an interface for other languages.
It is still work in progress, but I'd love to get some feedback on it while I progress!
divideInt64ToInt32 is called statically from protobuf/php/src/Google/Protobuf/Internal/CodedOutputStream.php
(the only reference)
This causes fatal error in PHP 7.1 (32-bit only because 64-bit doesn't use this function)
Both test_messages_proto3.proto & test_messages_proto2.proto define
message ForeignMessage {...} and enum ForeignEnum {...} but since
objc doesn't use the proto package in the naming, these end up
conflicting.
Adding the objc_class_prefix option to the proto3 file ensure the generated
objc types are all unique.
AddDescriptorsImpl() is a private static implementation detail,
and needs to be declared but won't be used from outside the
source file. Place it inside an anonymous namespace to fix a
previous build error that would result in more restrictive
build enviornments that use -Werror=missing-declarations or
similar compiler flags.
Treat missing declarations as an error for test builds, to prevent
future updates which add functions without properly declaring them.
This will prevent broken builds in more restrictive build environments.