Skip to content

Commit 74b94f9

Browse files
committed
[Tests/NFC] DynamicIsolation: Make sure that isolated @objc init override thunks get dynamic checks
1 parent 911933e commit 74b94f9

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

test/ClangImporter/preconcurrency_conformances.swift

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,22 @@ class Sub : Super {
136136
// CHECK: [[PRECONDITION:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, Builtin.Word, Builtin.Executor) -> ()
137137
// CHECK-NEXT: {{.*}} = apply [[PRECONDITION]]({{.*}}, [[EXEC]]) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, Builtin.Word, Builtin.Executor) -> ()
138138

139+
@MainActor
140+
class NSObjectInitOverride: NSObject {
141+
@MainActor override init() {
142+
super.init()
143+
}
144+
}
145+
146+
// CHECK-LABEL: sil private [thunk] [ossa] @$s27preconcurrency_conformances20NSObjectInitOverrideCACycfcTo : $@convention(objc_method) (@owned NSObjectInitOverride) -> @owned NSObjectInitOverride
147+
// CHECK: [[MAIN_ACTOR_METATYPE:%.*]] = metatype $@thick MainActor.Type
148+
// CHECK: [[SHARED_FIELD:%.*]] = function_ref @$sScM6sharedScMvgZ : $@convention(method) (@thick MainActor.Type) -> @owned MainActor
149+
// CHECK-NEXT: [[SHARED_ACTOR:%.*]] = apply [[SHARED_FIELD]]([[MAIN_ACTOR_METATYPE]]) : $@convention(method) (@thick MainActor.Type) -> @owned MainActor
150+
// CHECK-NEXT: [[MAIN_ACTOR:%.*]] = begin_borrow [[SHARED_ACTOR]] : $MainActor
151+
// CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
152+
// CHECK: [[PRECONDITION:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, Builtin.Word, Builtin.Executor) -> ()
153+
// CHECK-NEXT: {{.*}} = apply [[PRECONDITION]]({{.*}}, [[EXEC]]) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, Builtin.Word, Builtin.Executor) -> ()
154+
139155
//--- checks_disabled.swift
140156
import Foundation
141157

@@ -209,3 +225,13 @@ class Sub : Super {
209225

210226
// CHECK-LABEL: sil private [thunk] [ossa] @$s27preconcurrency_conformances3SubC4testyyFTo : $@convention(objc_method) (Sub) -> ()
211227
// CHECK-NOT: [[PRECONDITION:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, Builtin.Word, Builtin.Executor) -> ()
228+
229+
@MainActor
230+
class NSObjectInitOverride: NSObject {
231+
@MainActor override init() {
232+
super.init()
233+
}
234+
}
235+
236+
// CHECK-LABEL: sil private [thunk] [ossa] @$s27preconcurrency_conformances20NSObjectInitOverrideCACycfcTo : $@convention(objc_method) (@owned NSObjectInitOverride) -> @owned NSObjectInitOverride
237+
// CHECK-NOT: [[PRECONDITION:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, Builtin.Word, Builtin.Executor) -> ()

0 commit comments

Comments
 (0)