diff options
-rw-r--r-- | lib/Sema/SemaObjCProperty.cpp | 1 | ||||
-rw-r--r-- | test/SemaObjC/block-attr.m | 2 |
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 |