xref: /llvm-project/clang/test/CodeGenObjC/reorder-synthesized-ivars.m (revision 0f1c1be1968076d6f96f8a7bcc4a15cf195ecd97)
1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -x objective-c %s -o - | FileCheck %s
2typedef signed char BOOL;
3@interface NSObject
4{
5  id isa;
6}
7@end
8
9@interface MyClass : NSObject
10
11@property (readwrite) BOOL boolean1;
12@property (readwrite, copy) id object1;
13@property (readwrite) BOOL boolean2;
14@property (readwrite, copy) id object2;
15@property (readwrite) BOOL boolean3;
16@property (readwrite, copy) id object3;
17@property (readwrite) BOOL boolean4;
18@property (readwrite, copy) id object4;
19@property (readwrite) BOOL boolean5;
20@property (readwrite, copy) id object5;
21@property (readwrite) BOOL boolean6;
22@property (readwrite, copy) id object6;
23@property (readwrite) BOOL boolean7;
24@property (readwrite) BOOL MyBool;
25@property (readwrite, copy) id object7;
26@property (readwrite) BOOL boolean8;
27@property (readwrite, copy) id object8;
28@property (readwrite) BOOL boolean9;
29@property (readwrite, copy) id object9;
30@end
31
32@implementation MyClass
33{
34  id MyIvar;
35  BOOL _MyBool;
36  char * pc;
37}
38@end
39
40// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean1
41// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean2
42// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean3
43// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean4
44// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean5
45// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean6
46// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean7
47// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean8
48// CHECK: @{{.*}} = private unnamed_addr constant [10 x i8] c"_boolean9
49// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object1
50// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object2
51// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object3
52// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object4
53// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object5
54// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object6
55// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object7
56// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object8
57// CHECK: @{{.*}} = private unnamed_addr constant [9 x i8] c"_object9
58