summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2016-01-29 23:46:55 +0000
committerManman Ren <manman.ren@gmail.com>2016-01-29 23:46:55 +0000
commitce7bff5e7fc1ca5d66c3068f97d719dfbad5bd10 (patch)
treed7b06b177c2463b5005a48c440acac7d3f65c258 /clang/test/CodeGenObjC
parent96df0b33f6a253eb65a4088649c44c9b479e099a (diff)
downloadbcm5719-llvm-ce7bff5e7fc1ca5d66c3068f97d719dfbad5bd10.tar.gz
bcm5719-llvm-ce7bff5e7fc1ca5d66c3068f97d719dfbad5bd10.zip
Class Property: generate metadata for class properties in protocols.
The list of class properties is saved in Old ABI: protocol->ext->class_properties (protocol->ext->size will be updated) New ABI: protocol->class_properties (protocol->size will be updated) rdar://23891898 llvm-svn: 259268
Diffstat (limited to 'clang/test/CodeGenObjC')
-rw-r--r--clang/test/CodeGenObjC/metadata-class-properties.m4
-rw-r--r--clang/test/CodeGenObjC/objc2-protocol-metadata.m2
2 files changed, 5 insertions, 1 deletions
diff --git a/clang/test/CodeGenObjC/metadata-class-properties.m b/clang/test/CodeGenObjC/metadata-class-properties.m
index f5258424cac..93557662355 100644
--- a/clang/test/CodeGenObjC/metadata-class-properties.m
+++ b/clang/test/CodeGenObjC/metadata-class-properties.m
@@ -1,11 +1,15 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - -fobjc-runtime=macosx-fragile-10.5 %s | FileCheck -check-prefix=CHECK-FRAGILE %s
+// CHECK: @"\01l_OBJC_$_CLASS_PROP_LIST_Proto" = private global {{.*}} section "__DATA, __objc_const", align 8
+// CHECK: @"\01l_OBJC_PROTOCOL_$_Proto" = {{.*}} global %struct._protocol_t { {{.*}} i32 96, i32 {{.*}} @"\01l_OBJC_$_CLASS_PROP_LIST_Proto" {{.*}} }
// CHECK: @"\01l_OBJC_$_CLASS_PROP_LIST_Foo_$_Category" = private global {{.*}} section "__DATA, __objc_const", align 8
// CHECK: @"\01l_OBJC_$_CATEGORY_Foo_$_Category" = private global %struct._category_t { {{.*}} @"\01l_OBJC_$_CLASS_PROP_LIST_Foo_$_Category" {{.*}} }, section "__DATA, __objc_const", align 8
// CHECK: !{i32 1, !"Objective-C Class Properties", i32 64}
+// CHECK-FRAGILE: @"OBJC_$_CLASS_PROP_PROTO_LIST_Proto" = private global {{.*}} section "__OBJC,__property,regular,no_dead_strip", align 8
+// CHECK-FRAGILE: @"\01l_OBJC_PROTOCOLEXT_Proto" = private global %struct._objc_protocol_extension { i32 48, {{.*}} @"OBJC_$_CLASS_PROP_PROTO_LIST_Proto" {{.*}} }, align 8
// CHECK-FRAGILE: @"\01l_OBJC_$_CLASS_PROP_LIST_Foo_Category" = private global {{.*}} section "__OBJC,__property,regular,no_dead_strip", align 8
// CHECK-FRAGILE: @OBJC_CATEGORY_Foo_Category = private global %struct._objc_category { {{.*}}, i32 64, {{.*}} @"\01l_OBJC_$_CLASS_PROP_LIST_Foo_Category" {{.*}} }, section "__OBJC,__category,regular,no_dead_strip", align 8
diff --git a/clang/test/CodeGenObjC/objc2-protocol-metadata.m b/clang/test/CodeGenObjC/objc2-protocol-metadata.m
index 191016be851..8e186fcee43 100644
--- a/clang/test/CodeGenObjC/objc2-protocol-metadata.m
+++ b/clang/test/CodeGenObjC/objc2-protocol-metadata.m
@@ -14,4 +14,4 @@
+ ClsP { return 0; }
@end
-// CHECK: %struct._protocol_t = type { i8*, i8*, %struct._objc_protocol_list*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct._prop_list_t*, i32, i32, i8**, i8* }
+// CHECK: %struct._protocol_t = type { i8*, i8*, %struct._objc_protocol_list*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct.__method_list_t*, %struct._prop_list_t*, i32, i32, i8**, i8*, %struct._prop_list_t* }
OpenPOWER on IntegriCloud