diff options
Diffstat (limited to 'test/CodeGenObjC/objc-asm-attribute-test.m')
-rw-r--r-- | test/CodeGenObjC/objc-asm-attribute-test.m | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/test/CodeGenObjC/objc-asm-attribute-test.m b/test/CodeGenObjC/objc-asm-attribute-test.m index 589b08ae0eef..7b3a64deb74c 100644 --- a/test/CodeGenObjC/objc-asm-attribute-test.m +++ b/test/CodeGenObjC/objc-asm-attribute-test.m @@ -13,10 +13,19 @@ __attribute__((objc_runtime_name("MySecretNamespace.Protocol2"))) + (void) ClsMethodP2; @end +__attribute__((objc_runtime_name("MySecretNamespace.Protocol3"))) +@protocol Protocol3 +@end + __attribute__((objc_runtime_name("MySecretNamespace.Message"))) @interface Message <Protocol, Protocol2> { id MyIVAR; } + +@property(retain) Message *msgProp; +@property(retain) Message<Protocol3> *msgProtoProp; +@property(retain) id<Protocol3> idProtoProp; + @end @implementation Message @@ -46,9 +55,14 @@ id Test16877359() { return [SLREarth alloc]; } -// CHECK: @"OBJC_IVAR_$_MySecretNamespace.Message.MyIVAR" = global i64 +// CHECK: @"OBJC_IVAR_$_MySecretNamespace.Message.MyIVAR" = global i64 0 // CHECK: @"OBJC_CLASS_$_MySecretNamespace.Message" = global %struct._class_t // CHECK: @"OBJC_METACLASS_$_MySecretNamespace.Message" = global %struct._class_t + +// CHECK: private global [42 x i8] c"T@\22MySecretNamespace.Message\22,&,V_msgProp\00" +// CHECK: private global [76 x i8] c"T@\22MySecretNamespace.Message<MySecretNamespace.Protocol3>\22,&,V_msgProtoProp\00" +// CHECK: private global [50 x i8] c"T@\22<MySecretNamespace.Protocol3>\22,&,V_idProtoProp\00" + // CHECK: @"OBJC_CLASS_$_foo" = external global %struct._class_t // CHECK: define internal i8* @"\01-[Message MyMethod]" // CHECK: [[IVAR:%.*]] = load i64, i64* @"OBJC_IVAR_$_MySecretNamespace.Message.MyIVAR" |