Skip to content

Commit 94ec24f

Browse files
committed
Disable @_noLocks annotations when we don't have a host Swift compiler
These annotations require optimization passes that are written in Swift, so we need a host Swift compiler to properly process them. Use `hasFeature(Macros)` as a way to gate the annotations.
1 parent ca1a518 commit 94ec24f

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

stdlib/public/core/Availability.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ public func _stdlib_isOSVersionAtLeast(
5252
@_semantics("availability.osversion")
5353
@_effects(readnone)
5454
@_unavailableInEmbedded
55+
#if hasFeature(Macros)
5556
@_noLocks
57+
#endif
5658
public func _stdlib_isOSVersionAtLeast(
5759
_ major: Builtin.Word,
5860
_ minor: Builtin.Word,
@@ -65,7 +67,9 @@ public func _stdlib_isOSVersionAtLeast(
6567
@_semantics("availability.osversion")
6668
@_effects(readnone)
6769
@_alwaysEmitIntoClient
70+
#if hasFeature(Macros)
6871
@_noLocks
72+
#endif
6973
public func _stdlib_isOSVersionAtLeast_AEIC(
7074
_ major: Builtin.Word,
7175
_ minor: Builtin.Word,
@@ -110,7 +114,9 @@ public func _stdlib_isOSVersionAtLeast_AEIC(
110114
@_semantics("availability.osversion")
111115
@_effects(readnone)
112116
@available(macOS 10.15, iOS 13.0, *)
117+
#if hasFeature(Macros)
113118
@_noLocks
119+
#endif
114120
public func _stdlib_isVariantOSVersionAtLeast(
115121
_ major: Builtin.Word,
116122
_ minor: Builtin.Word,
@@ -153,7 +159,9 @@ public func _stdlib_isVariantOSVersionAtLeast(
153159
@_semantics("availability.osversion")
154160
@_effects(readnone)
155161
@_unavailableInEmbedded
162+
#if hasFeature(Macros)
156163
@_noLocks
164+
#endif
157165
public func _stdlib_isOSVersionAtLeastOrVariantVersionAtLeast(
158166
_ major: Builtin.Word,
159167
_ minor: Builtin.Word,

0 commit comments

Comments
 (0)