| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix memory leak of exceptions raised by RaiseException()
Currently exceptions raised by RaiseException() is never deallocated because:
* ARC is disabled for this library: https://github.com/google/protobuf/blob/master/BUILD#L913
* It is constructed with `+alloc` but is never `-release`d.
This change fixes the issue by using `-[NSException exceptionWithName:...]` instead, which returns an autoreleased instance, so it is deallocated properly.
* Fix format.
|
| |
|
|
|
|
|
|
| |
The tests can run as what Apple calls a Logic Test (under xctest), which means
it doesn't have to load an full UI App under the simulator, which speeds things
up a fair amount.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
To ensure all headers aren't dependent on other things being imported
before/after them, make a source that just imports each header and add
it to the unittesting target, that way we ensure it can be included on
its own with ordering issues.
Also do this testing with a few generated headers that aren't part of
the library to help ensure the different generated imports needed are
complete.
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
Integrated internal changes from Google
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Fixes #4277
|
|
|
|
|
|
|
|
|
|
| |
Haven't been able to make a repo case, but this should "fix" the problem
by avoid it completely.
- Move readOnlySemaphore_ into the .m file so it isn't exposed in any
header.
- Move GPBGetObjectIvarWithField() also to go with the new limited
visibility on the readOnlySemaphore_.
|
|
|
|
|
|
|
|
| |
The Undefined Behavior sanitizer flags one part of the unittests for this.
For default values for `bytes` we write a length on the front of a c-string
in the static data, apparently the compiler/linker doesn't always make this
4 byte aligned, so it get flagged for undefined/degraded performance. Avoid
this by using memcpy instead.
|
| |
|
| |
|
|
|
|
|
| |
Fixes #4246
Fixes #4247
|
|
|
|
|
|
|
|
|
| |
The generated code for enums needs atomics support, so generate the
import instead of relying on it via transitive imports. This will
make future changes to this likely likely to break generated code
and runtime support are mixed.
Followup to https://github.com/google/protobuf/pull/4184.
|
|
|
|
|
|
| |
Followup to https://github.com/google/protobuf/pull/4184, keep the
import to not break any existing generated code that isn't regenerated
when they update to the newer protobuf code.
|
|
|
|
| |
* Migrate away from deprecated OSAtomic APIs.
|
| |
|
|
|
|
|
| |
Add tests to cover all the common special casing in the runtime code to
ensure things come out correctly.
|
|
|
|
| |
description
|
|
|
|
| |
Fixes #4060
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
Use the ivar for the -open, so hopefully it lines up with the -close
in dealloc and isn't seen as an unbalanced "open".
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Stop having travis build the test matrix and make it explicit so extra
settings are only on the test that need the, this helps make the travis
UI a little cleaner (linux hosted stuff doesn't list an Xcode version),
as well as avoid unneeded requirements limiting the travis pool something
can run on.
Small improvements to objectivec/DevTools/full_mac_build.sh to avoid some
repeated scripting and hopefully make things more reliable work with Xcode
9.x.
Don't mark the iOS tests as able to fail, hopefully with the new settings
they are stable and won't give false signals.
Simplify the case for xcode versions and fixup xcode 9.[0-1].
|
| |
| |
| |
| |
| |
| | |
Add runtime asserts (that can be disabled in release) that verify
that the types being get/set for messages using the C Api match
the type in the descriptor for the field being get/set.
|
| |
| |
| |
| | |
Fix up warnings from Xcode 9.1
|
| | |
|
| |\
| | |
| | | |
Reduce size of GPBDictionary by getting rid of class creation methods
|
| | | |
|
| |\ \
| | | |
| | | | |
Simplify getter/setter method implementations
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
Remove unnecessary retain/releases for GPBFieldDescriptors when
creating implementations with blocks. The descriptors do not need
to be memory managed because they are essentially global constructs
that are guaranteed to be around the lifetime of the app.
|
| |/
|/| |
|
|/
|
|
|
|
|
|
|
| |
Remove unreferenced 'GPBMessageSignatureProtocol' class that is just taking up
space in the Objective C runtime information by hanging the protocol it needs to
declare off of GPBRootObject instead.
Small binary size reduction, but more importantly a removal of a class that
appears to be unused when statically analyzed.
|
|
|
|
|
| |
This will cover someone subclassing the message, and also handles
something crazy like someone comparing to a raw NSObject.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Add Xcode 9 support to the helper script.
|
| | |
|
|/
|
|
|
| |
- Add a test to cover this and tweak the test to not use two merge
paths to be sure things are as expected.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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.)
|