mirror of
https://github.com/apple/swift.git
synced 2026-03-04 18:24:35 +01:00
Adjust the test to accommodate environments which do indirect imports, which use the singleton strategy, relying on the runtime initialization of fields which are imported.
51 lines
2.0 KiB
Plaintext
51 lines
2.0 KiB
Plaintext
// RUN: %target-swift-frontend -enable-objc-interop -emit-ir %s | %FileCheck %s --check-prefixes=CHECK,CHECK-objc,CHECK-%target-import-type-objc
|
|
// RUN: %target-swift-frontend -disable-objc-interop -emit-ir %s | %FileCheck %s --check-prefixes=CHECK,CHECK-native
|
|
// REQUIRES: executable_test
|
|
|
|
// REQUIRES: CPU=x86_64
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
import Swift
|
|
|
|
class C {
|
|
required init()
|
|
}
|
|
|
|
// CHECK: [[C:%T6vtable1CC]] = type <{ %swift.refcounted }>
|
|
|
|
sil @$s6vtable1CCACycACmcfC : $@convention(method) (@thick C.Type) -> @owned C
|
|
sil @$s6vtable1CCfd : $@convention(method) (@owned C) -> @owned Builtin.NativeObject
|
|
sil @$s6vtable1CCfD : $@convention(method) (@owned C) -> ()
|
|
|
|
// CHECK-objc: @"$s6vtable1CCMf" = internal global [[C_METADATA_T:<{.*\* }>]] <{
|
|
// CHECK-objc: void ([[C]]*)* @"$s6vtable1CCfD",
|
|
// CHECK-objc: i8** {{@"\$sBoWV"|null}},
|
|
// CHECK-objc: i64 ptrtoint (%objc_class* @"$s6vtable1CCMm" to i64),
|
|
// CHECK-DIRECT-objc: %objc_class* @"OBJC_CLASS_$_{{(_TtCs12_)?}}SwiftObject",
|
|
// CHECK-INDIRECT-objc: %swift.type* null,
|
|
// CHECK-objc: %swift.opaque* @_objc_empty_cache,
|
|
// CHECK-objc: %swift.opaque* null,
|
|
// CHECK-objc: i64 add (i64 ptrtoint ({ i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8* }* @_DATA__TtC6vtable1C to i64), i64 {{1|2}}),
|
|
// CHECK-objc: i32 {{3|2}}, i32 0, i32 16, i16 7, i16 0,
|
|
// CHECK-objc: i32 104, i32 16,
|
|
// CHECK-objc: @"$s6vtable1CCMn"
|
|
// CHECK-objc: [[C]]* (%swift.type*)* @"$s6vtable1CCACycACmcfC"
|
|
// CHECK-objc: }>
|
|
|
|
// CHECK-native: @"$s6vtable1CCMf" = internal global [[C_METADATA_T:<{.*\* }>]] <{
|
|
// CHECK-native: void ([[C]]*)* @"$s6vtable1CCfD",
|
|
// CHECK-native: i8** {{@"\$sBoWV"|null}},
|
|
// CHECK-native: i64 0,
|
|
// CHECK-native: %swift.type* null,
|
|
// CHECK-native: i32 {{3|2}}, i32 0, i32 16, i16 7, i16 0,
|
|
// CHECK-native: i32 80, i32 16,
|
|
// CHECK-native: @"$s6vtable1CCMn"
|
|
// CHECK-native: [[C]]* (%swift.type*)* @"$s6vtable1CCACycACmcfC"
|
|
// CHECK-native: }>
|
|
|
|
sil_vtable C {
|
|
#C.init!allocator: @$s6vtable1CCACycACmcfC
|
|
}
|