1
- // RUN: %target-swift-frontend %s -emit-ir -disable-objc-attr-requires-foundation-module | FileCheck %s
1
+ // This file is also used by objc_properties_ios.swift.
2
2
3
- // REQUIRES: CPU=x86_64
3
+ // RUN: %swift -target x86_64-apple-macosx10.11 %s -disable-target-os-checking -emit-ir -disable-objc-attr-requires-foundation-module | FileCheck -check-prefix=CHECK -check-prefix=CHECK-NEW %s
4
+ // RUN: %swift -target x86_64-apple-macosx10.10 %s -disable-target-os-checking -emit-ir -disable-objc-attr-requires-foundation-module | FileCheck -check-prefix=CHECK -check-prefix=CHECK-OLD %s
5
+
6
+ // REQUIRES: OS=macosx
4
7
// REQUIRES: objc_interop
5
8
6
9
@objc class SomeObject {
@@ -94,22 +97,23 @@ class Class17127126 {
94
97
// CHECK: [[SHARED_NAME:@.*]] = private unnamed_addr constant [11 x i8] c"sharedProp\00"
95
98
// CHECK: [[SHARED_ATTRS:@.*]] = private unnamed_addr constant [17 x i8] c"Tq,N,VsharedProp\00"
96
99
97
- // CHECK: @_CLASS_PROPERTIES__TtC15objc_properties10SomeObject = private constant { {{.*}}] } {
98
- // CHECK: i32 16,
99
- // CHECK: i32 1,
100
- // CHECK: [1 x { i8*, i8* }] [{
101
- // CHECK: i8* getelementptr inbounds ([11 x i8], [11 x i8]* [[SHARED_NAME]], i64 0, i64 0),
102
- // CHECK: i8* getelementptr inbounds ([17 x i8], [17 x i8]* [[SHARED_ATTRS]], i64 0, i64 0)
103
- // CHECK: }]
104
- // CHECK: }, section "__DATA, __objc_const", align 8
100
+ // CHECK-NEW : @_CLASS_PROPERTIES__TtC15objc_properties10SomeObject = private constant { {{.*}}] } {
101
+ // CHECK-NEW : i32 16,
102
+ // CHECK-NEW : i32 1,
103
+ // CHECK-NEW : [1 x { i8*, i8* }] [{
104
+ // CHECK-NEW : i8* getelementptr inbounds ([11 x i8], [11 x i8]* [[SHARED_NAME]], i64 0, i64 0),
105
+ // CHECK-NEW : i8* getelementptr inbounds ([17 x i8], [17 x i8]* [[SHARED_ATTRS]], i64 0, i64 0)
106
+ // CHECK-NEW : }]
107
+ // CHECK-NEW : }, section "__DATA, __objc_const", align 8
105
108
106
109
// CHECK: @_METACLASS_DATA__TtC15objc_properties10SomeObject = private constant { {{.*}} } {
107
110
// CHECK-SAME: i32 {{[0-9]+}}, i32 {{[0-9]+}}, i32 {{[0-9]+}}, i32 {{[0-9]+}},
108
111
// CHECK-SAME: i8* null,
109
112
// CHECK-SAME: i8* getelementptr inbounds ([{{.+}} x i8], [{{.+}} x i8]* {{@.+}}, i64 0, i64 0),
110
113
// CHECK-SAME: { {{.+}} }* @_CLASS_METHODS__TtC15objc_properties10SomeObject,
111
114
// CHECK-SAME: i8* null, i8* null, i8* null,
112
- // CHECK-SAME: { {{.+}} }* @_CLASS_PROPERTIES__TtC15objc_properties10SomeObject
115
+ // CHECK-NEW-SAME: { {{.+}} }* @_CLASS_PROPERTIES__TtC15objc_properties10SomeObject
116
+ // CHECK-OLD-SAME: i8* null
113
117
// CHECK-SAME: }, section "__DATA, __objc_const", align 8
114
118
115
119
// CHECK: @_INSTANCE_METHODS__TtC15objc_properties10SomeObject = private constant { {{.*}}] } {
@@ -207,14 +211,14 @@ class Class17127126 {
207
211
// CHECK: }]
208
212
// CHECK: }, section "__DATA, __objc_const", align 8
209
213
210
- // CHECK: @"_CATEGORY_CLASS_PROPERTIES__TtC15objc_properties10SomeObject_$_objc_properties" = private constant { {{.*}}] } {
211
- // CHECK: i32 16,
212
- // CHECK: i32 1,
213
- // CHECK: [1 x { i8*, i8* }] [{
214
- // CHECK: i8* getelementptr inbounds ([19 x i8], [19 x i8]* [[EXTENSIONCLASSPROPERTY_NAME]], i64 0, i64 0),
215
- // CHECK: i8* getelementptr inbounds ([7 x i8], [7 x i8]* [[EXTENSIONCLASSPROPERTY_ATTRS]], i64 0, i64 0)
216
- // CHECK: }]
217
- // CHECK: }, section "__DATA, __objc_const", align 8
214
+ // CHECK-NEW : @"_CATEGORY_CLASS_PROPERTIES__TtC15objc_properties10SomeObject_$_objc_properties" = private constant { {{.*}}] } {
215
+ // CHECK-NEW : i32 16,
216
+ // CHECK-NEW : i32 1,
217
+ // CHECK-NEW : [1 x { i8*, i8* }] [{
218
+ // CHECK-NEW : i8* getelementptr inbounds ([19 x i8], [19 x i8]* [[EXTENSIONCLASSPROPERTY_NAME]], i64 0, i64 0),
219
+ // CHECK-NEW : i8* getelementptr inbounds ([7 x i8], [7 x i8]* [[EXTENSIONCLASSPROPERTY_ATTRS]], i64 0, i64 0)
220
+ // CHECK-NEW : }]
221
+ // CHECK-NEW : }, section "__DATA, __objc_const", align 8
218
222
219
223
// CHECK: @"_CATEGORY__TtC15objc_properties10SomeObject_$_objc_properties" = private constant { {{.+}} } {
220
224
// CHECK: i8* getelementptr inbounds ([{{.+}} x i8], [{{.+}} x i8]* {{@.+}}, i64 0, i64 0),
@@ -223,7 +227,8 @@ class Class17127126 {
223
227
// CHECK: { {{.+}} }* @"_CATEGORY_CLASS_METHODS__TtC15objc_properties10SomeObject_$_objc_properties",
224
228
// CHECK: i8* null,
225
229
// CHECK: { {{.+}} }* @"_CATEGORY_PROPERTIES__TtC15objc_properties10SomeObject_$_objc_properties",
226
- // CHECK: { {{.+}} }* @"_CATEGORY_CLASS_PROPERTIES__TtC15objc_properties10SomeObject_$_objc_properties",
230
+ // CHECK-NEW: { {{.+}} }* @"_CATEGORY_CLASS_PROPERTIES__TtC15objc_properties10SomeObject_$_objc_properties",
231
+ // CHECK-OLD: i8* null,
227
232
// CHECK: i32 60
228
233
// CHECK: }, section "__DATA, __objc_const", align 8
229
234
@@ -248,7 +253,8 @@ class Class17127126 {
248
253
// CHECK: i32 96, i32 1,
249
254
// CHECK: { {{.+}} }* @_PROTOCOL_METHOD_TYPES__TtP15objc_properties5Proto_,
250
255
// CHECK: i8* null,
251
- // CHECK: { {{.+}} }* @_PROTOCOL_CLASS_PROPERTIES__TtP15objc_properties5Proto_
256
+ // CHECK-NEW: { {{.+}} }* @_PROTOCOL_CLASS_PROPERTIES__TtP15objc_properties5Proto_
257
+ // CHECK-OLD: i8* null
252
258
// CHECK: }, section "__DATA, __objc_const", align 8
253
259
254
260
@@ -267,11 +273,11 @@ class Class17127126 {
267
273
// CHECK: }]
268
274
// CHECK: }, section "__DATA, __objc_const", align 8
269
275
270
- // CHECK: @_PROTOCOL_CLASS_PROPERTIES__TtP15objc_properties5Proto_ = private constant { {{.*}}] } {
271
- // CHECK: i32 16,
272
- // CHECK: i32 1,
273
- // CHECK: [1 x { i8*, i8* }] [{
274
- // CHECK: i8* getelementptr inbounds ([15 x i8], [15 x i8]* [[PROTOCOLCLASSPROPERTY_NAME]], i64 0, i64 0),
275
- // CHECK: i8* getelementptr inbounds ([7 x i8], [7 x i8]* [[PROTOCOLCLASSPROPERTY_ATTRS]], i64 0, i64 0)
276
- // CHECK: }]
277
- // CHECK: }, section "__DATA, __objc_const", align 8
276
+ // CHECK-NEW : @_PROTOCOL_CLASS_PROPERTIES__TtP15objc_properties5Proto_ = private constant { {{.*}}] } {
277
+ // CHECK-NEW : i32 16,
278
+ // CHECK-NEW : i32 1,
279
+ // CHECK-NEW : [1 x { i8*, i8* }] [{
280
+ // CHECK-NEW : i8* getelementptr inbounds ([15 x i8], [15 x i8]* [[PROTOCOLCLASSPROPERTY_NAME]], i64 0, i64 0),
281
+ // CHECK-NEW : i8* getelementptr inbounds ([7 x i8], [7 x i8]* [[PROTOCOLCLASSPROPERTY_ATTRS]], i64 0, i64 0)
282
+ // CHECK-NEW : }]
283
+ // CHECK-NEW : }, section "__DATA, __objc_const", align 8
0 commit comments