1
1
// RUN: %empty-directory(%t)
2
2
// RUN: %{python} %utils/chex.py < %s > %t/generic_classes.sil
3
- // RUN: %target-swift-frontend %t/generic_classes.sil -emit-ir | %FileCheck %t/generic_classes.sil --check-prefix=CHECK --check-prefix=CHECK-%target-runtime -check-prefix CHECK-%target-import-type
3
+ // RUN: %target-swift-frontend %t/generic_classes.sil -emit-ir -enable-objc-interop | %FileCheck %t/generic_classes.sil --check-prefixes=CHECK,CHECK-objc,CHECK-%target-import-type
4
+ // RUN: %target-swift-frontend %t/generic_classes.sil -emit-ir -disable-objc-interop | %FileCheck %t/generic_classes.sil --check-prefixes=CHECK,CHECK-native,CHECK-%target-import-type
4
5
// RUN: %target-swift-frontend -Osize %t/generic_classes.sil -emit-ir | %FileCheck %t/generic_classes.sil --check-prefix=OSIZE
5
6
6
7
// REQUIRES: CPU=x86_64
@@ -52,21 +53,20 @@ import Swift
52
53
// -- flags
53
54
// CHECK_SAME: i32 3,
54
55
// -- immediate pattern size
55
- // CHECK-SAME: i16 0,
56
+ // CHECK-native-SAME: i16 0,
57
+ // CHECK-objc-SAME: i16 5,
56
58
// -- immediate pattern target offset
57
- // CHECK-SAME: i16 0,
59
+ // CHECK-SAME: i16 0,
58
60
// -- extra data size
59
- // CHECK-SAME- native: i16 0,
60
- // CHECK-SAME- objc: i16 23 ,
61
+ // CHECK-native-SAME : i16 0,
62
+ // CHECK-objc-SAME : i16 14 ,
61
63
// -- class ro-data offset
62
- // CHECK-SAME- native: i16 0,
63
- // CHECK-SAME- objc: i16 5 ,
64
+ // CHECK-native-SAME : i16 0
65
+ // CHECK-objc-SAME : i16 0 ,
64
66
// -- metaclass object offset
65
- // CHECK-SAME-native: i16 0,
66
- // CHECK-SAME-objc: i16 0,
67
+ // CHECK-objc-SAME: i16 0,
67
68
// -- class ro-data offset
68
- // CHECK-SAME-native: i16 0
69
- // CHECK-SAME-objc: i16 14,
69
+ // CHECK-objc-SAME: i16 23
70
70
// CHECK-SAME: }>
71
71
72
72
// -- Check that offset vars are emitted for fixed-layout generics
@@ -94,15 +94,15 @@ import Swift
94
94
// CHECK-SAME: void (%T15generic_classes14RootNonGenericC*)* @"$s15generic_classes14RootNonGenericCfD",
95
95
// CHECK-DIRECT-SAME: i8** @"$sBoWV",
96
96
// CHECK-INDIRECT-SAME: i8** null,
97
- // CHECK-SAME- native: i64 0,
98
- // CHECK-SAME- native: %swift.type* null,
99
- // CHECK-SAME- native: %swift.opaque* null,
100
- // CHECK-SAME- objc: i64 ptrtoint (%objc_class* @"$s15generic_classes14RootNonGenericCMm" to i64),
101
- // CHECK-SAME- objc: %objc_class* @"OBJC_CLASS_$_{{(_TtCs12_)?}}SwiftObject",
102
- // CHECK-SAME- objc: %swift.opaque* @_objc_empty_cache,
97
+ // CHECK-native-SAME : i64 0,
98
+ // CHECK-native-SAME : %swift.type* null,
99
+ // CHECK-native-SAME : %swift.opaque* null,
100
+ // CHECK-objc-SAME : i64 ptrtoint (%objc_class* @"$s15generic_classes14RootNonGenericCMm" to i64),
101
+ // CHECK-objc-SAME : %objc_class* @"OBJC_CLASS_$_{{(_TtCs12_)?}}SwiftObject",
102
+ // CHECK-objc-SAME : %swift.opaque* @_objc_empty_cache,
103
103
// CHECK-SAME: %swift.opaque* null,
104
- // CHECK-SAME- native: i64 1,
105
- // CHECK-SAME- objc: @_DATA__TtC15generic_classes14RootNonGeneric
104
+ // CHECK-native-SAME : i64 1,
105
+ // CHECK-objc-SAME : @_DATA__TtC15generic_classes14RootNonGeneric
106
106
// CHECK-SAME: i32 33,
107
107
// CHECK-SAME: i16 7,
108
108
// CHECK-SAME: i16 0,
@@ -117,29 +117,30 @@ import Swift
117
117
// -- template instantiation function
118
118
// CHECK-SAME: %swift.type* (%swift.type_descriptor*, i8**, i8*)* @"$s15generic_classes015GenericInheritsC0CMi"
119
119
// -- pattern flags (1 == has extra data pattern)
120
- // CHECK-SAME- native: i32 0,
121
- // CHECK-SAME- objc: i32 1,
120
+ // CHECK-native-SAME : i32 0,
121
+ // CHECK-objc-SAME : i32 1,
122
122
// -- heap destructor
123
123
// CHECK-SAME: @"$s15generic_classes015GenericInheritsC0CfD"
124
124
// -- ivar destroyer
125
125
// CHECK-SAME: i32 0,
126
126
// -- class flags
127
127
// CHECK_SAME: i32 3,
128
128
// -- extra data pattern offset
129
- // CHECK-SAME- objc: i16 0 ,
129
+ // CHECK-objc-SAME : i16 5 ,
130
130
// -- extra data pattern size
131
- // CHECK-SAME- objc: i16 23 ,
131
+ // CHECK-objc-SAME : i16 0 ,
132
132
// -- class ro-data offset
133
- // CHECK-SAME- native: i16 0,
134
- // CHECK-SAME- objc: i16 5 ,
133
+ // CHECK-native-SAME : i16 0,
134
+ // CHECK-objc-SAME : i16 14 ,
135
135
// -- metaclass object offset
136
- // CHECK-SAME- native: i16 0,
137
- // CHECK-SAME- objc: i16 0,
136
+ // CHECK-native-SAME : i16 0,
137
+ // CHECK-objc-SAME : i16 0,
138
138
// -- class ro-data offset
139
- // CHECK-SAME- native: i16 0,
140
- // CHECK-SAME- objc: i16 14 ,
139
+ // CHECK-native-SAME : i16 0,
140
+ // CHECK-objc-SAME : i16 0 ,
141
141
// -- reserved
142
- // CHECK-SAME: i16 0
142
+ // CHECK-native-SAME: i16 0
143
+ // CHECK-objc-SAME: i16 23
143
144
// CHECK-SAME: }
144
145
145
146
// CHECK: @"$s15generic_classes018GenericInheritsNonC0CMP"
0 commit comments