]> granicus.if.org Git - clang/commitdiff
Objective-C [IRGen]. Add encoding for 'weak' attribute of a
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 2 Apr 2014 22:49:42 +0000 (22:49 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 2 Apr 2014 22:49:42 +0000 (22:49 +0000)
'readonly' property. // rdar://16136439

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205477 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/ASTContext.cpp
test/CodeGenObjC/arc-ivar-layout.m

index edc74603ff6f2882cae57e8b67f77ac421a3702a..5aa4beeb292bbff75ee9b6bd63315129ed995047 100644 (file)
@@ -5018,6 +5018,8 @@ void ASTContext::getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD,
       S += ",C";
     if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_retain)
       S += ",&";
+    if (PD->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_weak)
+      S += ",W";
   } else {
     switch (PD->getSetterKind()) {
     case ObjCPropertyDecl::Assign: break;
index 9128063652b8789e59dea5a6a09fd802bf037203..06e387c817eeedff87fe4c29dd464bd5b4735cdf 100644 (file)
 @implementation UnsafePerson @end
 // CHECK-LP64: L_OBJC_CLASS_NAME_20:
 // CHECK-LP64-NEXT: .asciz      "!"
+
+// rdar://16136439
+@interface rdar16136439
+    @property (nonatomic, readonly, weak) id first;
+@end
+
+@implementation rdar16136439 @end
+// CHECK-LP64: L_OBJC_PROP_NAME_ATTR_29:
+// CHECK-LP64-NEXT: .asciz  "T@,R,W,N,V_first"