diff --git a/submodules/AsyncDisplayKit/Source/ASDisplayNode+Layout.mm b/submodules/AsyncDisplayKit/Source/ASDisplayNode+Layout.mm index 8842b56324..706c97286b 100644 --- a/submodules/AsyncDisplayKit/Source/ASDisplayNode+Layout.mm +++ b/submodules/AsyncDisplayKit/Source/ASDisplayNode+Layout.mm @@ -909,10 +909,14 @@ ASLayoutElementStyleExtensibilityForwarding MutexLocker l(__instanceLock__); NSArray *sublayouts = _calculatedDisplayNodeLayout.layout.sublayouts; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif unowned ASLayout *cSublayouts[sublayouts.count]; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif [sublayouts getObjects:cSublayouts range:NSMakeRange(0, AS_ARRAY_SIZE(cSublayouts))]; // Fast-path if we are in the correct state (likely). @@ -930,10 +934,14 @@ ASLayoutElementStyleExtensibilityForwarding } } +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif NSArray *layoutNodes = ASArrayByFlatMapping(sublayouts, ASLayout *layout, (ASDisplayNode *)layout.layoutElement); +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif NSIndexSet *insertions, *deletions; [_subnodes asdk_diffWithArray:layoutNodes insertions:&insertions deletions:&deletions]; if (insertions.count > 0) { diff --git a/submodules/AsyncDisplayKit/Source/ASExperimentalFeatures.mm b/submodules/AsyncDisplayKit/Source/ASExperimentalFeatures.mm index 7b49efdeb6..eeab704d79 100644 --- a/submodules/AsyncDisplayKit/Source/ASExperimentalFeatures.mm +++ b/submodules/AsyncDisplayKit/Source/ASExperimentalFeatures.mm @@ -32,14 +32,18 @@ NSArray *ASExperimentalFeaturesGetNames(ASExperimentalFeatures flags // Go through all names, testing each bit. NSUInteger i = 0; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif return ASArrayByFlatMapping(allNames, NSString *name, ({ (flags & (1 << i++)) ? name : nil; })); +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif } // O(N^2) but with counts this small, it's probably faster diff --git a/submodules/AsyncDisplayKit/Source/ASInternalHelpers.mm b/submodules/AsyncDisplayKit/Source/ASInternalHelpers.mm index c0f06b2f02..2ba089d772 100644 --- a/submodules/AsyncDisplayKit/Source/ASInternalHelpers.mm +++ b/submodules/AsyncDisplayKit/Source/ASInternalHelpers.mm @@ -140,10 +140,14 @@ Class _Nullable ASGetClassFromType(const char * _Nullable type) // Copy type[2..(end-1)]. So @"UIImage" -> UIImage size_t resultLength = typeLength - 3; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif char className[resultLength + 1]; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif strncpy(className, type + 2, resultLength); className[resultLength] = '\0'; return objc_getClass(className); diff --git a/submodules/AsyncDisplayKit/Source/ASLayout.mm b/submodules/AsyncDisplayKit/Source/ASLayout.mm index 03ce0c111a..34ea8e78d5 100644 --- a/submodules/AsyncDisplayKit/Source/ASLayout.mm +++ b/submodules/AsyncDisplayKit/Source/ASLayout.mm @@ -235,10 +235,14 @@ static std::atomic_bool static_retainsSublayoutLayoutElements = ATOMIC_VAR_INIT( } } else if (sublayoutsCount > 0) { // Fast-reverse-enumerate the sublayouts array by copying it into a C-array and push_front'ing each into the queue. +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif unowned ASLayout *rawSublayouts[sublayoutsCount]; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif [layout->_sublayouts getObjects:rawSublayouts range:NSMakeRange(0, sublayoutsCount)]; for (NSInteger i = sublayoutsCount - 1; i >= 0; i--) { queue.push_front({rawSublayouts[i], absolutePosition + rawSublayouts[i].position}); diff --git a/submodules/AsyncDisplayKit/Source/ASLayoutSpec.mm b/submodules/AsyncDisplayKit/Source/ASLayoutSpec.mm index dacb5b256a..4a6cc853c5 100644 --- a/submodules/AsyncDisplayKit/Source/ASLayoutSpec.mm +++ b/submodules/AsyncDisplayKit/Source/ASLayoutSpec.mm @@ -159,10 +159,14 @@ ASLayoutElementStyleExtensibilityForwarding const auto result = [NSMutableArray array]; if (NSArray *children = self.children) { // Use tiny descriptions because these trees can get nested very deep. +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif const auto tinyDescriptions = ASArrayByFlatMapping(children, id object, ASObjectDescriptionMakeTiny(object)); +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif [result addObject:@{ @"children": tinyDescriptions }]; } return result; @@ -293,10 +297,14 @@ ASSynthesizeLockingMethodsWithMutex(__instanceLock__) { NSArray *children = self.children; const auto count = children.count; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif ASLayout *rawSublayouts[count]; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif int i = 0; CGSize size = constrainedSize.min; diff --git a/submodules/AsyncDisplayKit/Source/ASMainThreadDeallocation.mm b/submodules/AsyncDisplayKit/Source/ASMainThreadDeallocation.mm index 68e4a709dd..1cafb592d8 100644 --- a/submodules/AsyncDisplayKit/Source/ASMainThreadDeallocation.mm +++ b/submodules/AsyncDisplayKit/Source/ASMainThreadDeallocation.mm @@ -32,10 +32,14 @@ __unused int scanResult = sscanf(ivarsObj.objCType, "[%u^{objc_ivar}]", &count); ASDisplayNodeAssert(scanResult == 1, @"Unexpected type in NSValue: %s", ivarsObj.objCType); +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wvla-cxx-extension" +#endif Ivar ivars[count]; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180400 #pragma clang diagnostic pop +#endif [ivarsObj getValue:ivars]; for (Ivar ivar : ivars) { diff --git a/submodules/TelegramUI/Sources/ChatTopicListTitleAccessoryPanelNode.swift b/submodules/TelegramUI/Sources/ChatTopicListTitleAccessoryPanelNode.swift index 2d63c8dc08..9f529a7cd2 100644 --- a/submodules/TelegramUI/Sources/ChatTopicListTitleAccessoryPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatTopicListTitleAccessoryPanelNode.swift @@ -27,7 +27,7 @@ private final class CustomBadgeComponent: Component { font: UIFont, background: UIColor, foreground: UIColor, - insets: UIEdgeInsets, + insets: UIEdgeInsets ) { self.text = text self.font = font diff --git a/versions.json b/versions.json index 54e2da6d17..751f151332 100644 --- a/versions.json +++ b/versions.json @@ -1,6 +1,6 @@ { "app": "11.12", - "xcode": "16.3", + "xcode": "16.2", "bazel": "8.2.1:22ff65b05869f6160e5157b1b425a14a62085d71d8baef571f462b8fe5a703a3", "macos": "15" }