-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[6.0] Bump the deployment target for the compiler to macOS 13.0 #76469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
shahmishal
merged 14 commits into
swiftlang:release/6.0
from
benlangmuir:bump-to-13-6.0
Sep 18, 2024
Merged
[6.0] Bump the deployment target for the compiler to macOS 13.0 #76469
shahmishal
merged 14 commits into
swiftlang:release/6.0
from
benlangmuir:bump-to-13-6.0
Sep 18, 2024
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
For macOS >= 11 the fixit for narrowing an availability check rather than adding a new one should fire if the major version is the same, like on other platforms. (cherry picked from commit c957826)
10.50 was once greater than any real macOS version, but now it compares less than real released versions, which makes these tests depend on the deployment target unnecessarily. Update these tests to use even larger numbers to hopefully keep them independent a little longer. (cherry picked from commit fd1875d) Conflicts: test/Interpreter/Inputs/availability_zippered.swift test/Parse/availability_query_unavailability.swift test/decl/enum/derived_hashable_equatable_macos.swift
Add specific deployment target versions to some tests that need to test 10.x-specific behaviours and are currently depending on the default deployment target. Certain tests were only checking either the stable or unstable ABI depending on the platform the test was running. In those cases I doubled up the checks so that we would test both cases on platforms that supported it. This might use a bit of extra time on targets that only support the stable ABI, but it seemed worth it for the additional coverage in CI. (cherry picked from commit 7d11d43) Conflicts: test/Concurrency/sendable_checking.swift
When the deployment target is newer than swift-5.4 these tests fail due to missing/incomplete support for chained fixups. rdar://134809489 (cherry picked from commit 5d111db)
We are already using 5.4 target as a workaround for missing LC_DYLD_CHAINED_FIXUPS support in reflection tools, but we need to further workaround a linker bug in older versions of ld-prime that caused appletv simulator platform to be misidentified and use chained fixups earlier than it should, so move back to 5.2. (cherry picked from commit b5f290d)
Bump the deployment target from macOS 10.13-aligned versions to macOS 13.0-aligned versions. This allows us to stop linking CoreFoundation in the swift runtime, which was previously required for availability checking. It also lets us align the deployment target on x86_64 with arm64, which was 11.0. Finally, it is a prerequisite to being able to build swift using the macOS 15 beta SDKs. (cherry picked from commit ad82d86)
Ignore some deprecation warnings associated with the deployment target bump. (cherry picked from commit dc5e6d8)
This test stops working with deployment targets that no longer link @rpath/libswiftCoreGraphics.dylib when running on OSes that still require the CoreGraphics overlay. Explicitly link it to workaround. (cherry picked from commit 081774a)
When the deployment target is above 9.0 (7.0 for simulator), only building the module content such as the swiftinterface is supported. (cherry picked from commit ae3e4a1)
This test has been failing on arm64-tvos-simulator forever, and after we bumped the default deployment target is also failing on x86_64. Update the test to match ios/watchos, which were already fixed in the past. rdar://135453916 (cherry picked from commit 3b1571e)
This test stops working with deployment targets that no longer link @rpath/libswiftCoreGraphics.dylib when running on OSes that still require the CoreGraphics overlay. Explicitly link it to workaround. rdar://135451615 (cherry picked from commit a2ee20d)
When this test was updated for new platforms it was accidentally changed to match the _METACLASS_DATA symbol instead of the _DATA symbol. Fix that and update the flags to match. This lets us remove the instance start value 40 from the checks, so the test now matches the comment saying it should be 8 or 16. rdar://135453916 (cherry picked from commit cda65d1)
While the swift compiler in Xcode links against tbd files in the sdk that contain an armv7k slice, the open source swift toolchain links against the stdlib dylb that is in the toolchain itself. This means that we cannot drop support for armv7k support in the stdlib dylib without losing support for building armv7k when back deploying to older watch targets. For now, roll back the recent deployment target bump from 9.0 to 6.0 so that we keep armv7k and i386 simulator. rdar://135560598 (cherry picked from commit 46a83be)
@swift-ci please test |
@swift-ci please build toolchain macOS |
@swift-ci please test source compatibility |
@swift-ci please test |
1092e74
to
621cba0
Compare
@swift-ci please test |
@swift-ci please build toolchain macOS |
@swift-ci please test source compatibility |
cc: @airspeedswift for review and approval |
airspeedswift
approved these changes
Sep 18, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry-pick recent changes to bump the deployment target to macOS-13 aligned versions, with the exception of watchOS which is held back to 6.0 to keep supporting armv7k and the i386 simulator for now.
CommandLine.arguments
in Swift scripts, because it allows us to stop linkingCoreFoundation
into the stdlib, which was interfering with the arguments setup. For consistency, iOS and tvOS are bumped to the aligned versions (16.0). We also bump watchOS to 6.0, which is past the ABI stability point, but is not aligned (would be 9.0) because that is currently required in order to not drop support for building code that back deploys to armv7k watch and i386 watch simulator.