[cfe-commits] r60709 - in /cfe/trunk: lib/Sema/SemaDeclObjC.cpp test/SemaObjC/continuation-class-err.m
Fariborz Jahanian
fjahanian at apple.com
Mon Dec 8 10:47:30 PST 2008
Author: fjahanian
Date: Mon Dec 8 12:47:29 2008
New Revision: 60709
URL: http://llvm.org/viewvc/llvm-project?rev=60709&view=rev
Log:
Since we do not allow a readonly property to be 'copy'retain', we
must allow the continuation class to extend it to a 'readwrite'
and 'copy/retain'.
Modified:
cfe/trunk/lib/Sema/SemaDeclObjC.cpp
cfe/trunk/test/SemaObjC/continuation-class-err.m
Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=60709&r1=60708&r2=60709&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Mon Dec 8 12:47:29 2008
@@ -1388,11 +1388,7 @@
// with anonymous category's readwrite property attribute!
unsigned PIkind = PIDecl->getPropertyAttributes();
if (isReadWrite && (PIkind & ObjCPropertyDecl::OBJC_PR_readonly)) {
- if ((Attributes & ObjCPropertyDecl::OBJC_PR_retain) !=
- (PIkind & ObjCPropertyDecl::OBJC_PR_retain) ||
- (Attributes & ObjCPropertyDecl::OBJC_PR_copy) !=
- (PIkind & ObjCPropertyDecl::OBJC_PR_copy) ||
- (Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) !=
+ if ((Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) !=
(PIkind & ObjCPropertyDecl::OBJC_PR_nonatomic))
Diag(AtLoc, diag::warn_property_attr_mismatch);
PIDecl->makeitReadWriteAttribute();
Modified: cfe/trunk/test/SemaObjC/continuation-class-err.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/continuation-class-err.m?rev=60709&r1=60708&r2=60709&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/continuation-class-err.m (original)
+++ cfe/trunk/test/SemaObjC/continuation-class-err.m Mon Dec 8 12:47:29 2008
@@ -10,6 +10,6 @@
@end
@interface ReadOnly ()
- at property(readwrite, copy) id object; // expected-warning {{property attribute in continuation class does not match the primary class}}
+ at property(readwrite, copy) id object;
@property(readonly) id object1; // expected-error {{attribute of property in continuation class of 'ReadOnly' can only be 'readwrite'}}
@end
More information about the cfe-commits
mailing list