mirror of
https://github.com/apple/swift.git
synced 2026-10-28 21:15:56 +01:00
**Description**: `swift_task_cancellationShieldPush` and `swift_task_cancellationShieldPop` were added in Swift 6.4, but their entries in `RuntimeFunctions.def` used `ConcurrencyAvailability`, so IRGen referenced them strongly even when the deployment target is older than the 6.4 runtime. We should fix the availability to express the 6.4 introduction timeline correctly. **Scope**: Only changes how the symbols are referenced when the deployment target is older than 6.4. No runtime or ABI changes. **Risk**: Low. Corrects runtime availability for existing functions. No effect on already working configurations. **Testing**: New IRGen test `test/IRGen/availability_task_cancellation_shield.swift` **Reviewers**: @ktoso @tshortli **Issues**: https://github.com/swiftlang/swift/issues/93579 rdar://190808599 **Original PRs**: https://github.com/swiftlang/swift/pull/93580 Co-authored-by: Mohamed Mosbah <mohamed.mosbah@jamf.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>