Commit 6933e2f4 authored by Sergio Campamá's avatar Sergio Campamá Committed by Thomas Van Lenten

Update code to work for Xcode 10b1 (#4729)

* Update code to work for Xcode 10b

* Update README and test scripts to mention that Xcode 7 is no longer supported
parent a4d16ed8
...@@ -244,8 +244,7 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then ...@@ -244,8 +244,7 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
exit 10 exit 10
;; ;;
7.* ) 7.* )
echo "ERROR: The unittests include Swift code that is now Swift 3.0." 1>&2 echo "ERROR: Xcode 7.x no longer supported for building, please use 8.0 or higher." 1>&2
echo "ERROR: Xcode 8.0 or higher is required to build the test suite, but the library works with Xcode 7.x." 1>&2
exit 11 exit 11
;; ;;
8.0* ) 8.0* )
......
...@@ -2537,12 +2537,12 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { ...@@ -2537,12 +2537,12 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) {
return [_array countByEnumeratingWithState:state objects:buffer count:len]; return [_array countByEnumeratingWithState:state objects:buffer count:len];
} }
- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block { - (void)enumerateObjectsUsingBlock:(void (NS_NOESCAPE ^)(id obj, NSUInteger idx, BOOL *stop))block {
[_array enumerateObjectsUsingBlock:block]; [_array enumerateObjectsUsingBlock:block];
} }
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts - (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts
usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block { usingBlock:(void (NS_NOESCAPE ^)(id obj, NSUInteger idx, BOOL *stop))block {
[_array enumerateObjectsWithOptions:opts usingBlock:block]; [_array enumerateObjectsWithOptions:opts usingBlock:block];
} }
......
...@@ -411,7 +411,7 @@ static NSArray *NewFieldsArrayForHasIndex(int hasIndex, ...@@ -411,7 +411,7 @@ static NSArray *NewFieldsArrayForHasIndex(int hasIndex,
} }
- (NSString *)name { - (NSString *)name {
return @(name_); return (NSString * _Nonnull)@(name_);
} }
- (GPBFieldDescriptor *)fieldWithNumber:(uint32_t)fieldNumber { - (GPBFieldDescriptor *)fieldWithNumber:(uint32_t)fieldNumber {
...@@ -582,7 +582,7 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) { ...@@ -582,7 +582,7 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) {
} }
- (NSString *)name { - (NSString *)name {
return @(description_->name); return (NSString * _Nonnull)@(description_->name);
} }
- (BOOL)isRequired { - (BOOL)isRequired {
...@@ -1015,7 +1015,7 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) { ...@@ -1015,7 +1015,7 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) {
} }
- (NSString *)singletonName { - (NSString *)singletonName {
return @(description_->singletonName); return (NSString * _Nonnull)@(description_->singletonName);
} }
- (const char *)singletonNameC { - (const char *)singletonNameC {
......
...@@ -12102,14 +12102,14 @@ void GPBDictionaryReadEntry(id mapDictionary, ...@@ -12102,14 +12102,14 @@ void GPBDictionaryReadEntry(id mapDictionary,
} }
} }
- (void)enumerateKeysAndObjectsUsingBlock:(void (^)(id key, - (void)enumerateKeysAndObjectsUsingBlock:(void (NS_NOESCAPE ^)(id key,
id obj, id obj,
BOOL *stop))block { BOOL *stop))block {
[_dictionary enumerateKeysAndObjectsUsingBlock:block]; [_dictionary enumerateKeysAndObjectsUsingBlock:block];
} }
- (void)enumerateKeysAndObjectsWithOptions:(NSEnumerationOptions)opts - (void)enumerateKeysAndObjectsWithOptions:(NSEnumerationOptions)opts
usingBlock:(void (^)(id key, usingBlock:(void (NS_NOESCAPE ^)(id key,
id obj, id obj,
BOOL *stop))block { BOOL *stop))block {
[_dictionary enumerateKeysAndObjectsWithOptions:opts usingBlock:block]; [_dictionary enumerateKeysAndObjectsWithOptions:opts usingBlock:block];
......
...@@ -13,7 +13,7 @@ Requirements ...@@ -13,7 +13,7 @@ Requirements
The Objective C implementation requires: The Objective C implementation requires:
- Objective C 2.0 Runtime (32bit & 64bit iOS, 64bit OS X). - Objective C 2.0 Runtime (32bit & 64bit iOS, 64bit OS X).
- Xcode 7.0 (or later). - Xcode 8.0 (or later).
- The library code does *not* use ARC (for performance reasons), but it all can - The library code does *not* use ARC (for performance reasons), but it all can
be called from ARC code. be called from ARC code.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment