1
- // RUN: %target-swift-frontend -parse-as-library -emit-silgen -verify %s
2
- // RUN: %target-swift-frontend -parse-as-library -emit-silgen -DSILGEN %s | %FileCheck %s
3
- // RUN: %target-swift-frontend -parse-as-library -emit-silgen -DSILGEN %s | %FileCheck -check-prefix=CHECK-SYMB %s
1
+ // RUN: %target-swift-frontend -disable-availability-checking - parse-as-library -emit-silgen -verify %s
2
+ // RUN: %target-swift-frontend -disable-availability-checking - parse-as-library -emit-silgen -DSILGEN %s | %FileCheck %s
3
+ // RUN: %target-swift-frontend -disable-availability-checking - parse-as-library -emit-silgen -DSILGEN %s | %FileCheck -check-prefix=CHECK-SYMB %s
4
4
5
5
// REQUIRES: concurrency
6
6
22
22
func isolatedFunc( ) { } // expected-note 11{{calls to global function 'isolatedFunc()' from outside of its actor context are implicitly asynchronous}}
23
23
24
24
// CHECK-LABEL: class BaseWithNonisolatedDeinit {
25
- // CHECK: @objc deinit
25
+ // CHECK: {{( @objc )?}} deinit
26
26
// CHECK: }
27
27
// CHECK-SYMB-NOT: BaseWithNonisolatedDeinit.__isolated_deallocating_deinit
28
28
// CHECK-SYMB-NOT: @$s16deinit_isolation25BaseWithNonisolatedDeinitCfZ
@@ -31,7 +31,7 @@ func isolatedFunc() {} // expected-note 11{{calls to global function 'isolatedF
31
31
class BaseWithNonisolatedDeinit { }
32
32
33
33
// CHECK-LABEL: class BaseWithDeinitIsolatedOnFirstActor {
34
- // CHECK: @objc @FirstActor deinit
34
+ // CHECK: {{( @objc )?}} @FirstActor deinit
35
35
// CHECK: }
36
36
// CHECK-SYMB: BaseWithDeinitIsolatedOnFirstActor.__isolated_deallocating_deinit
37
37
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation34BaseWithDeinitIsolatedOnFirstActorCfZ : $@convention(thin) (@owned BaseWithDeinitIsolatedOnFirstActor) -> () {
@@ -42,7 +42,7 @@ class BaseWithDeinitIsolatedOnFirstActor {
42
42
}
43
43
44
44
// CHECK-LABEL: class BaseWithDeinitIsolatedOnSecondActor {
45
- // CHECK: @objc @SecondActor deinit
45
+ // CHECK: {{( @objc )?}} @SecondActor deinit
46
46
// CHECK: }
47
47
// CHECK-SYMB: BaseWithDeinitIsolatedOnSecondActor.__isolated_deallocating_deinit
48
48
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation35BaseWithDeinitIsolatedOnSecondActorCfZ : $@convention(thin) (@owned BaseWithDeinitIsolatedOnSecondActor) -> () {
@@ -55,7 +55,7 @@ class BaseWithDeinitIsolatedOnSecondActor {
55
55
// MARK: - Part 1 - Actors
56
56
57
57
// CHECK-LABEL: actor ImplicitDeinitActor {
58
- // CHECK: @objc nonisolated deinit
58
+ // CHECK: {{( @objc )?}} nonisolated deinit
59
59
// CHECK: }
60
60
// CHECK-SYMB-NOT: ImplicitDeinitActor.__isolated_deallocating_deinit
61
61
// CHECK-SYMB-NOT: @$s16deinit_isolation19ImplicitDeinitActorCfZ
@@ -66,7 +66,7 @@ actor ImplicitDeinitActor {
66
66
}
67
67
68
68
// CHECK-LABEL: actor ExplicitDeinitActor {
69
- // CHECK: @objc deinit
69
+ // CHECK: {{( @objc )?}} deinit
70
70
// CHECK: }
71
71
// CHECK-SYMB: // ExplicitDeinitActor.__isolated_deallocating_deinit
72
72
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation19ExplicitDeinitActorCfZ : $@convention(thin) (@owned ExplicitDeinitActor) -> () {
@@ -82,7 +82,7 @@ actor ExplicitDeinitActor {
82
82
}
83
83
84
84
// CHECK-LABEL: actor NonisolatedDeinitActor {
85
- // CHECK: @objc nonisolated deinit
85
+ // CHECK: {{( @objc )?}} nonisolated deinit
86
86
// CHECK: }
87
87
// CHECK-SYMB-NOT: NonisolatedDeinitActor.__isolated_deallocating_deinit
88
88
// CHECK-SYMB-NOT: @$s16deinit_isolation22NonisolatedDeinitActorCfZ
@@ -98,7 +98,7 @@ actor NonisolatedDeinitActor {
98
98
}
99
99
100
100
// CHECK-LABEL: actor IsolatedDeinitActor {
101
- // CHECK: @objc @FirstActor deinit
101
+ // CHECK: {{( @objc )?}} @FirstActor deinit
102
102
// CHECK: }
103
103
// CHECK-SYMB: // IsolatedDeinitActor.__isolated_deallocating_deinit
104
104
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation19IsolatedDeinitActorCfZ : $@convention(thin) (@owned IsolatedDeinitActor) -> () {
@@ -115,7 +115,7 @@ actor IsolatedDeinitActor {
115
115
// MARK: - Part 2.1 - Without base class
116
116
117
117
// CHECK-LABEL: @FirstActor class ImplicitDeinit {
118
- // CHECK: @objc deinit
118
+ // CHECK: {{( @objc )?}} deinit
119
119
// CHECK: }
120
120
// CHECK-SYMB-NOT: ImplicitDeinit.__isolated_deallocating_deinit
121
121
// CHECK-SYMB-NOT: @$s16deinit_isolation14ImplicitDeinitCfZ
@@ -127,7 +127,7 @@ class ImplicitDeinit {
127
127
}
128
128
129
129
// CHECK-LABEL: @FirstActor class ExplicitDeinit {
130
- // CHECK: @objc @FirstActor deinit
130
+ // CHECK: {{( @objc )?}} @FirstActor deinit
131
131
// CHECK: }
132
132
// CHECK-SYMB: // ExplicitDeinit.__isolated_deallocating_deinit
133
133
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation14ExplicitDeinitCfZ : $@convention(thin) (@owned ExplicitDeinit) -> () {
@@ -142,7 +142,7 @@ class ExplicitDeinit {
142
142
}
143
143
144
144
// CHECK-LABEL: @FirstActor class NonisolatedDeinit {
145
- // CHECK: @objc nonisolated deinit
145
+ // CHECK: {{( @objc )?}} nonisolated deinit
146
146
// CHECK: }
147
147
// CHECK-SYMB-NOT: NonisolatedDeinit.__isolated_deallocating_deinit
148
148
// CHECK-SYMB-NOT: @$s16deinit_isolation17NonisolatedDeinitCfZ
@@ -159,7 +159,7 @@ class NonisolatedDeinit {
159
159
}
160
160
161
161
// CHECK-LABEL: class IsolatedDeinit {
162
- // CHECK: @objc @FirstActor deinit
162
+ // CHECK: {{( @objc )?}} @FirstActor deinit
163
163
// CHECK: }
164
164
// CHECK-SYMB: // IsolatedDeinit.__isolated_deallocating_deinit
165
165
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation14IsolatedDeinitCfZ : $@convention(thin) (@owned IsolatedDeinit) -> () {
@@ -173,7 +173,7 @@ class IsolatedDeinit {
173
173
}
174
174
175
175
// CHECK-LABEL: @FirstActor class DifferentIsolatedDeinit {
176
- // CHECK: @objc @SecondActor deinit
176
+ // CHECK: {{( @objc )?}} @SecondActor deinit
177
177
// CHECK: }
178
178
// CHECK-SYMB: // DifferentIsolatedDeinit.__isolated_deallocating_deinit
179
179
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation23DifferentIsolatedDeinitCfZ : $@convention(thin) (@owned DifferentIsolatedDeinit) -> () {
@@ -192,7 +192,7 @@ class DifferentIsolatedDeinit {
192
192
// MARK: - Part 2.2 - Base class with nonisolated deinit
193
193
194
194
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ImplicitDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
195
- // CHECK: @objc deinit
195
+ // CHECK: {{( @objc )?}} deinit
196
196
// CHECK: }
197
197
// CHECK-SYMB-NOT: ImplicitDeinitInheritNonisolated.__isolated_deallocating_deinit
198
198
// CHECK-SYMB-NOT: @$s16deinit_isolation32ImplicitDeinitInheritNonisolatedCfZ
@@ -204,7 +204,7 @@ class ImplicitDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
204
204
}
205
205
206
206
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ExplicitDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
207
- // CHECK: @objc @FirstActor deinit
207
+ // CHECK: {{( @objc )?}} @FirstActor deinit
208
208
// CHECK: }
209
209
// CHECK-SYMB: // ExplicitDeinitInheritNonisolated.__isolated_deallocating_deinit
210
210
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation32ExplicitDeinitInheritNonisolatedCfZ : $@convention(thin) (@owned ExplicitDeinitInheritNonisolated) -> () {
@@ -219,7 +219,7 @@ class ExplicitDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
219
219
}
220
220
221
221
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class NonisolatedDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
222
- // CHECK: @objc nonisolated deinit
222
+ // CHECK: {{( @objc )?}} nonisolated deinit
223
223
// CHECK: }
224
224
// CHECK-SYMB-NOT: NonisolatedDeinitInheritNonisolated.__isolated_deallocating_deinit
225
225
// CHECK-SYMB-NOT: @$s16deinit_isolation024NonisolatedDeinitInheritC0CfZ
@@ -236,7 +236,7 @@ class NonisolatedDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
236
236
}
237
237
238
238
// CHECK-LABEL: @_inheritsConvenienceInitializers class IsolatedDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
239
- // CHECK: @objc @FirstActor deinit
239
+ // CHECK: {{( @objc )?}} @FirstActor deinit
240
240
// CHECK: }
241
241
// CHECK-SYMB: // IsolatedDeinitInheritNonisolated.__isolated_deallocating_deinit
242
242
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation32IsolatedDeinitInheritNonisolatedCfZ : $@convention(thin) (@owned IsolatedDeinitInheritNonisolated) -> () {
@@ -250,7 +250,7 @@ class IsolatedDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
250
250
}
251
251
252
252
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class DifferentIsolatedDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
253
- // CHECK: @objc @SecondActor deinit
253
+ // CHECK: {{( @objc )?}} @SecondActor deinit
254
254
// CHECK: }
255
255
// CHECK-SYMB: // DifferentIsolatedDeinitInheritNonisolated.__isolated_deallocating_deinit
256
256
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation41DifferentIsolatedDeinitInheritNonisolatedCfZ : $@convention(thin) (@owned DifferentIsolatedDeinitInheritNonisolated) -> () {
@@ -269,7 +269,7 @@ class DifferentIsolatedDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
269
269
// MARK: - Part 2.3 - Base class with isolated deinit
270
270
271
271
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ImplicitDeinitInheritIsolated1 : BaseWithDeinitIsolatedOnFirstActor {
272
- // CHECK: @objc @FirstActor deinit
272
+ // CHECK: {{( @objc )?}} @FirstActor deinit
273
273
// CHECK: }
274
274
// CHECK-SYMB: // ImplicitDeinitInheritIsolated1.__isolated_deallocating_deinit
275
275
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation30ImplicitDeinitInheritIsolated1CfZ : $@convention(thin) (@owned ImplicitDeinitInheritIsolated1) -> () {
@@ -281,7 +281,7 @@ class ImplicitDeinitInheritIsolated1: BaseWithDeinitIsolatedOnFirstActor {
281
281
}
282
282
283
283
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ExplicitDeinitIsolated1 : BaseWithDeinitIsolatedOnFirstActor {
284
- // CHECK: @objc @FirstActor deinit
284
+ // CHECK: {{( @objc )?}} @FirstActor deinit
285
285
// CHECK: }
286
286
// CHECK-SYMB: // ExplicitDeinitIsolated1.__isolated_deallocating_deinit
287
287
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation23ExplicitDeinitIsolated1CfZ : $@convention(thin) (@owned ExplicitDeinitIsolated1) -> () {
@@ -306,7 +306,7 @@ class NonisolatedDeinitIsolated1: BaseWithDeinitIsolatedOnFirstActor {
306
306
#endif
307
307
308
308
// CHECK-LABEL: @_inheritsConvenienceInitializers class IsolatedDeinitIsolated1 : BaseWithDeinitIsolatedOnFirstActor {
309
- // CHECK: @objc @FirstActor deinit
309
+ // CHECK: {{( @objc )?}} @FirstActor deinit
310
310
// CHECK: }
311
311
// CHECK-SYMB: // IsolatedDeinitIsolated1.__isolated_deallocating_deinit
312
312
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation23IsolatedDeinitIsolated1CfZ : $@convention(thin) (@owned IsolatedDeinitIsolated1) -> () {
@@ -332,7 +332,7 @@ class DifferentIsolatedDeinitIsolated1: BaseWithDeinitIsolatedOnFirstActor {
332
332
// MARK: - Part 2.4 - Base class with isolated deinit with different actor
333
333
334
334
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ImplicitDeinitInheritIsolated2 : BaseWithDeinitIsolatedOnSecondActor {
335
- // CHECK: @objc @SecondActor deinit
335
+ // CHECK: {{( @objc )?}} @SecondActor deinit
336
336
// CHECK: }
337
337
// CHECK-SYMB: // ImplicitDeinitInheritIsolated2.__isolated_deallocating_deinit
338
338
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation30ImplicitDeinitInheritIsolated2CfZ : $@convention(thin) (@owned ImplicitDeinitInheritIsolated2) -> () {
@@ -344,7 +344,7 @@ class ImplicitDeinitInheritIsolated2: BaseWithDeinitIsolatedOnSecondActor {
344
344
}
345
345
346
346
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ExplicitDeinitIsolated2 : BaseWithDeinitIsolatedOnSecondActor {
347
- // CHECK: @objc @SecondActor deinit
347
+ // CHECK: {{( @objc )?}} @SecondActor deinit
348
348
// CHECK: }
349
349
// CHECK-SYMB: // ExplicitDeinitIsolated2.__isolated_deallocating_deinit
350
350
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation23ExplicitDeinitIsolated2CfZ : $@convention(thin) (@owned ExplicitDeinitIsolated2) -> () {
@@ -380,7 +380,7 @@ class IsolatedDeinitIsolated2: BaseWithDeinitIsolatedOnSecondActor {
380
380
#endif
381
381
382
382
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class DifferentIsolatedDeinitIsolated2 : BaseWithDeinitIsolatedOnSecondActor {
383
- // CHECK: @objc @SecondActor deinit
383
+ // CHECK: {{( @objc )?}} @SecondActor deinit
384
384
// CHECK: }
385
385
// CHECK-SYMB: // DifferentIsolatedDeinitIsolated2.__isolated_deallocating_deinit
386
386
// CHECK-SYMB-NEXT: sil hidden [ossa] @$s16deinit_isolation32DifferentIsolatedDeinitIsolated2CfZ : $@convention(thin) (@owned DifferentIsolatedDeinitIsolated2) -> () {
0 commit comments