aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-01-05 23:00:04 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-01-05 23:00:04 +0000
commit2b77cb803c76d01d2d10a58cec9334e2090cd7c3 (patch)
tree3a65ae8bbb372c3f6c20fe4fee1301add4d1fd5d
parent7b1cf305c97382676c61ee89cc6d22fc5c26a8ae (diff)
Don't warn on missing 'copy' attribute on a 'block'
property when it is 'readonly'. // rdar://8820813 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122923 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Sema/SemaObjCProperty.cpp1
-rw-r--r--test/SemaObjC/block-attr.m2
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/Sema/SemaObjCProperty.cpp b/lib/Sema/SemaObjCProperty.cpp
index 6aa1c693bc..71d8792345 100644
--- a/lib/Sema/SemaObjCProperty.cpp
+++ b/lib/Sema/SemaObjCProperty.cpp
@@ -1326,6 +1326,7 @@ void Sema::CheckObjCPropertyAttributes(Decl *PDecl,
}
if (!(Attributes & ObjCDeclSpec::DQ_PR_copy)
+ &&!(Attributes & ObjCDeclSpec::DQ_PR_readonly)
&& getLangOptions().getGCMode() == LangOptions::GCOnly
&& PropertyTy->isBlockPointerType())
Diag(Loc, diag::warn_objc_property_copy_missing_on_block);
diff --git a/test/SemaObjC/block-attr.m b/test/SemaObjC/block-attr.m
index de203e711e..80092fc31c 100644
--- a/test/SemaObjC/block-attr.m
+++ b/test/SemaObjC/block-attr.m
@@ -6,5 +6,7 @@
@property void(^someBlock)(void); // expected-warning {{'copy' attribute must be specified for the block property}}
@property(copy) void(^OK)(void);
+// rdar://8820813
+@property (readonly) void (^block)(void); // readonly property is OK
@end