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
@@ -32,7 +32,7 @@ func isolatedFunc() {} // expected-note 11{{calls to global function 'isolatedF
32
32
class BaseWithNonisolatedDeinit { }
33
33
34
34
// CHECK-LABEL: class BaseWithDeinitIsolatedOnFirstActor {
35
- // CHECK: @objc @FirstActor deinit
35
+ // CHECK: {{( @objc )?}} @FirstActor deinit
36
36
// CHECK: }
37
37
// CHECK-SYMB: BaseWithDeinitIsolatedOnFirstActor.__isolated_deallocating_deinit
38
38
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -45,7 +45,7 @@ class BaseWithDeinitIsolatedOnFirstActor {
45
45
}
46
46
47
47
// CHECK-LABEL: class BaseWithDeinitIsolatedOnSecondActor {
48
- // CHECK: @objc @SecondActor deinit
48
+ // CHECK: {{( @objc )?}} @SecondActor deinit
49
49
// CHECK: }
50
50
// CHECK-SYMB: BaseWithDeinitIsolatedOnSecondActor.__isolated_deallocating_deinit
51
51
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: SecondActor
@@ -60,7 +60,7 @@ class BaseWithDeinitIsolatedOnSecondActor {
60
60
// MARK: - Part 1 - Actors
61
61
62
62
// CHECK-LABEL: actor ImplicitDeinitActor {
63
- // CHECK: @objc nonisolated deinit
63
+ // CHECK: {{( @objc )?}} nonisolated deinit
64
64
// CHECK: }
65
65
// CHECK-SYMB-NOT: ImplicitDeinitActor.__isolated_deallocating_deinit
66
66
// CHECK-SYMB-NOT: @$s16deinit_isolation19ImplicitDeinitActorCfZ
@@ -72,7 +72,7 @@ actor ImplicitDeinitActor {
72
72
}
73
73
74
74
// CHECK-LABEL: actor ExplicitDeinitActor {
75
- // CHECK: @objc deinit
75
+ // CHECK: {{( @objc )?}} deinit
76
76
// CHECK: }
77
77
// CHECK-SYMB: // ExplicitDeinitActor.__isolated_deallocating_deinit
78
78
// CHECK-SYMB-NEXT: // Isolation: actor_instance. name: 'self'
@@ -90,7 +90,7 @@ actor ExplicitDeinitActor {
90
90
}
91
91
92
92
// CHECK-LABEL: actor NonisolatedDeinitActor {
93
- // CHECK: @objc nonisolated deinit
93
+ // CHECK: {{( @objc )?}} nonisolated deinit
94
94
// CHECK: }
95
95
// CHECK-SYMB-NOT: NonisolatedDeinitActor.__isolated_deallocating_deinit
96
96
// CHECK-SYMB-NOT: @$s16deinit_isolation22NonisolatedDeinitActorCfZ
@@ -107,7 +107,7 @@ actor NonisolatedDeinitActor {
107
107
}
108
108
109
109
// CHECK-LABEL: actor IsolatedDeinitActor {
110
- // CHECK: @objc @FirstActor deinit
110
+ // CHECK: {{( @objc )?}} @FirstActor deinit
111
111
// CHECK: }
112
112
// CHECK-SYMB: // IsolatedDeinitActor.__isolated_deallocating_deinit
113
113
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -126,7 +126,7 @@ actor IsolatedDeinitActor {
126
126
// MARK: - Part 2.1 - Without base class
127
127
128
128
// CHECK-LABEL: @FirstActor class ImplicitDeinit {
129
- // CHECK: @objc deinit
129
+ // CHECK: {{( @objc )?}} deinit
130
130
// CHECK: }
131
131
// CHECK-SYMB-NOT: ImplicitDeinit.__isolated_deallocating_deinit
132
132
// CHECK-SYMB-NOT: @$s16deinit_isolation14ImplicitDeinitCfZ
@@ -139,7 +139,7 @@ class ImplicitDeinit {
139
139
}
140
140
141
141
// CHECK-LABEL: @FirstActor class ExplicitDeinit {
142
- // CHECK: @objc @FirstActor deinit
142
+ // CHECK: {{( @objc )?}} @FirstActor deinit
143
143
// CHECK: }
144
144
// CHECK-SYMB: // ExplicitDeinit.__isolated_deallocating_deinit
145
145
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -156,7 +156,7 @@ class ExplicitDeinit {
156
156
}
157
157
158
158
// CHECK-LABEL: @FirstActor class NonisolatedDeinit {
159
- // CHECK: @objc nonisolated deinit
159
+ // CHECK: {{( @objc )?}} nonisolated deinit
160
160
// CHECK: }
161
161
// CHECK-SYMB-NOT: NonisolatedDeinit.__isolated_deallocating_deinit
162
162
// CHECK-SYMB-NOT: @$s16deinit_isolation17NonisolatedDeinitCfZ
@@ -174,7 +174,7 @@ class NonisolatedDeinit {
174
174
}
175
175
176
176
// CHECK-LABEL: class IsolatedDeinit {
177
- // CHECK: @objc @FirstActor deinit
177
+ // CHECK: {{( @objc )?}} @FirstActor deinit
178
178
// CHECK: }
179
179
// CHECK-SYMB: // IsolatedDeinit.__isolated_deallocating_deinit
180
180
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -190,7 +190,7 @@ class IsolatedDeinit {
190
190
}
191
191
192
192
// CHECK-LABEL: @FirstActor class DifferentIsolatedDeinit {
193
- // CHECK: @objc @SecondActor deinit
193
+ // CHECK: {{( @objc )?}} @SecondActor deinit
194
194
// CHECK: }
195
195
// CHECK-SYMB: // DifferentIsolatedDeinit.__isolated_deallocating_deinit
196
196
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: SecondActor
@@ -211,7 +211,7 @@ class DifferentIsolatedDeinit {
211
211
// MARK: - Part 2.2 - Base class with nonisolated deinit
212
212
213
213
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ImplicitDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
214
- // CHECK: @objc deinit
214
+ // CHECK: {{( @objc )?}} deinit
215
215
// CHECK: }
216
216
// CHECK-SYMB-NOT: ImplicitDeinitInheritNonisolated.__isolated_deallocating_deinit
217
217
// CHECK-SYMB-NOT: @$s16deinit_isolation32ImplicitDeinitInheritNonisolatedCfZ
@@ -224,7 +224,7 @@ class ImplicitDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
224
224
}
225
225
226
226
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ExplicitDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
227
- // CHECK: @objc @FirstActor deinit
227
+ // CHECK: {{( @objc )?}} @FirstActor deinit
228
228
// CHECK: }
229
229
// CHECK-SYMB: // ExplicitDeinitInheritNonisolated.__isolated_deallocating_deinit
230
230
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -241,7 +241,7 @@ class ExplicitDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
241
241
}
242
242
243
243
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class NonisolatedDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
244
- // CHECK: @objc nonisolated deinit
244
+ // CHECK: {{( @objc )?}} nonisolated deinit
245
245
// CHECK: }
246
246
// CHECK-SYMB-NOT: NonisolatedDeinitInheritNonisolated.__isolated_deallocating_deinit
247
247
// CHECK-SYMB-NOT: @$s16deinit_isolation024NonisolatedDeinitInheritC0CfZ
@@ -259,7 +259,7 @@ class NonisolatedDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
259
259
}
260
260
261
261
// CHECK-LABEL: @_inheritsConvenienceInitializers class IsolatedDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
262
- // CHECK: @objc @FirstActor deinit
262
+ // CHECK: {{( @objc )?}} @FirstActor deinit
263
263
// CHECK: }
264
264
// CHECK-SYMB: // IsolatedDeinitInheritNonisolated.__isolated_deallocating_deinit
265
265
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -275,7 +275,7 @@ class IsolatedDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
275
275
}
276
276
277
277
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class DifferentIsolatedDeinitInheritNonisolated : BaseWithNonisolatedDeinit {
278
- // CHECK: @objc @SecondActor deinit
278
+ // CHECK: {{( @objc )?}} @SecondActor deinit
279
279
// CHECK: }
280
280
// CHECK-SYMB: // DifferentIsolatedDeinitInheritNonisolated.__isolated_deallocating_deinit
281
281
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: SecondActor
@@ -296,7 +296,7 @@ class DifferentIsolatedDeinitInheritNonisolated: BaseWithNonisolatedDeinit {
296
296
// MARK: - Part 2.3 - Base class with isolated deinit
297
297
298
298
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ImplicitDeinitInheritIsolated1 : BaseWithDeinitIsolatedOnFirstActor {
299
- // CHECK: @objc @FirstActor deinit
299
+ // CHECK: {{( @objc )?}} @FirstActor deinit
300
300
// CHECK: }
301
301
// CHECK-SYMB: // ImplicitDeinitInheritIsolated1.__isolated_deallocating_deinit
302
302
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -310,7 +310,7 @@ class ImplicitDeinitInheritIsolated1: BaseWithDeinitIsolatedOnFirstActor {
310
310
}
311
311
312
312
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ExplicitDeinitIsolated1 : BaseWithDeinitIsolatedOnFirstActor {
313
- // CHECK: @objc @FirstActor deinit
313
+ // CHECK: {{( @objc )?}} @FirstActor deinit
314
314
// CHECK: }
315
315
// CHECK-SYMB: // ExplicitDeinitIsolated1.__isolated_deallocating_deinit
316
316
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -337,7 +337,7 @@ class NonisolatedDeinitIsolated1: BaseWithDeinitIsolatedOnFirstActor {
337
337
#endif
338
338
339
339
// CHECK-LABEL: @_inheritsConvenienceInitializers class IsolatedDeinitIsolated1 : BaseWithDeinitIsolatedOnFirstActor {
340
- // CHECK: @objc @FirstActor deinit
340
+ // CHECK: {{( @objc )?}} @FirstActor deinit
341
341
// CHECK: }
342
342
// CHECK-SYMB: // IsolatedDeinitIsolated1.__isolated_deallocating_deinit
343
343
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: FirstActor
@@ -365,7 +365,7 @@ class DifferentIsolatedDeinitIsolated1: BaseWithDeinitIsolatedOnFirstActor {
365
365
// MARK: - Part 2.4 - Base class with isolated deinit with different actor
366
366
367
367
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ImplicitDeinitInheritIsolated2 : BaseWithDeinitIsolatedOnSecondActor {
368
- // CHECK: @objc @SecondActor deinit
368
+ // CHECK: {{( @objc )?}} @SecondActor deinit
369
369
// CHECK: }
370
370
// CHECK-SYMB: // ImplicitDeinitInheritIsolated2.__isolated_deallocating_deinit
371
371
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: SecondActor
@@ -379,7 +379,7 @@ class ImplicitDeinitInheritIsolated2: BaseWithDeinitIsolatedOnSecondActor {
379
379
}
380
380
381
381
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class ExplicitDeinitIsolated2 : BaseWithDeinitIsolatedOnSecondActor {
382
- // CHECK: @objc @SecondActor deinit
382
+ // CHECK: {{( @objc )?}} @SecondActor deinit
383
383
// CHECK: }
384
384
// CHECK-SYMB: // ExplicitDeinitIsolated2.__isolated_deallocating_deinit
385
385
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: SecondActor
@@ -417,7 +417,7 @@ class IsolatedDeinitIsolated2: BaseWithDeinitIsolatedOnSecondActor {
417
417
#endif
418
418
419
419
// CHECK-LABEL: @_inheritsConvenienceInitializers @FirstActor class DifferentIsolatedDeinitIsolated2 : BaseWithDeinitIsolatedOnSecondActor {
420
- // CHECK: @objc @SecondActor deinit
420
+ // CHECK: {{( @objc )?}} @SecondActor deinit
421
421
// CHECK: }
422
422
// CHECK-SYMB: // DifferentIsolatedDeinitIsolated2.__isolated_deallocating_deinit
423
423
// CHECK-SYMB-NEXT: // Isolation: global_actor. type: SecondActor
0 commit comments