From 2b77cb803c76d01d2d10a58cec9334e2090cd7c3 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Wed, 5 Jan 2011 23:00:04 +0000 Subject: [PATCH] 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 --- lib/Sema/SemaObjCProperty.cpp | 1 + test/SemaObjC/block-attr.m | 2 ++ 2 files changed, 3 insertions(+) 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 -- 2.50.1