[cfe-commits] r141497 - in /cfe/trunk: lib/Sema/SemaObjCProperty.cpp test/SemaObjC/arc-property-decl-attrs.m

Fariborz Jahanian fjahanian at apple.com
Sat Oct 8 10:45:34 PDT 2011


Author: fjahanian
Date: Sat Oct  8 12:45:33 2011
New Revision: 141497

URL: http://llvm.org/viewvc/llvm-project?rev=141497&view=rev
Log:
objc: Do not warn about mismatch on Super's readonly property attribute, 
related to a readwrite property, and
Sub's readwrite property. // rdar://9396329

Modified:
    cfe/trunk/lib/Sema/SemaObjCProperty.cpp
    cfe/trunk/test/SemaObjC/arc-property-decl-attrs.m

Modified: cfe/trunk/lib/Sema/SemaObjCProperty.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaObjCProperty.cpp?rev=141497&r1=141496&r2=141497&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaObjCProperty.cpp (original)
+++ cfe/trunk/lib/Sema/SemaObjCProperty.cpp Sat Oct  8 12:45:33 2011
@@ -899,7 +899,7 @@
       != (SAttr & ObjCPropertyDecl::OBJC_PR_copy))
     Diag(Property->getLocation(), diag::warn_property_attribute)
       << Property->getDeclName() << "copy" << inheritedName;
-  else {
+  else if (!(SAttr & ObjCPropertyDecl::OBJC_PR_readonly)){
     unsigned CAttrRetain = 
       (CAttr & 
        (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong));

Modified: cfe/trunk/test/SemaObjC/arc-property-decl-attrs.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/arc-property-decl-attrs.m?rev=141497&r1=141496&r2=141497&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/arc-property-decl-attrs.m (original)
+++ cfe/trunk/test/SemaObjC/arc-property-decl-attrs.m Sat Oct  8 12:45:33 2011
@@ -65,3 +65,17 @@
 @property(unsafe_unretained) __weak id y; // expected-error {{property attributes 'unsafe_unretained' and 'weak' are mutually exclusive}}
 @property(unsafe_unretained) __autoreleasing id z; // expected-error {{unsafe_unretained property 'z' may not also be declared __autoreleasing}}
 @end
+
+// rdar://9396329
+ at interface Super
+ at property (readonly, retain) id foo;
+ at property (readonly, weak) id fee;
+ at property (readonly, strong) id frr;
+ at end
+
+ at interface Bugg : Super
+ at property (readwrite) id foo;
+ at property (readwrite) id fee;
+ at property (readwrite) id frr;
+ at end
+





More information about the cfe-commits mailing list