aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenObjC/reorder-synthesized-ivars.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenObjC/reorder-synthesized-ivars.m')
-rw-r--r--test/CodeGenObjC/reorder-synthesized-ivars.m58
1 files changed, 58 insertions, 0 deletions
diff --git a/test/CodeGenObjC/reorder-synthesized-ivars.m b/test/CodeGenObjC/reorder-synthesized-ivars.m
new file mode 100644
index 000000000000..747265d15512
--- /dev/null
+++ b/test/CodeGenObjC/reorder-synthesized-ivars.m
@@ -0,0 +1,58 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-default-synthesize-properties -emit-llvm -x objective-c %s -o - | FileCheck %s
+// rdar://13192366
+typedef signed char BOOL;
+@interface NSObject
+{
+ id isa;
+}
+@end
+
+@interface MyClass : NSObject
+
+@property (readwrite) BOOL boolean1;
+@property (readwrite, copy) id object1;
+@property (readwrite) BOOL boolean2;
+@property (readwrite, copy) id object2;
+@property (readwrite) BOOL boolean3;
+@property (readwrite, copy) id object3;
+@property (readwrite) BOOL boolean4;
+@property (readwrite, copy) id object4;
+@property (readwrite) BOOL boolean5;
+@property (readwrite, copy) id object5;
+@property (readwrite) BOOL boolean6;
+@property (readwrite, copy) id object6;
+@property (readwrite) BOOL boolean7;
+@property (readwrite) BOOL MyBool;
+@property (readwrite, copy) id object7;
+@property (readwrite) BOOL boolean8;
+@property (readwrite, copy) id object8;
+@property (readwrite) BOOL boolean9;
+@property (readwrite, copy) id object9;
+@end
+
+@implementation MyClass
+{
+ id MyIvar;
+ BOOL _MyBool;
+ char * pc;
+}
+@end
+
+// CHECK: @"{{.*}}" = internal global [10 x i8] c"_boolean1
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean2
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean3
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean4
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean5
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean6
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean7
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean8
+// CHECK-NEXT: @"{{.*}}" = internal global [10 x i8] c"_boolean9
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object1
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object2
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object3
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object4
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object5
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object6
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object7
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object8
+// CHECK-NEXT: @"{{.*}}" = internal global [9 x i8] c"_object9