Author: fjahanian
Date: Thu Nov 20 13:35:51 2008
New Revision: 59743
URL: http://llvm.org/viewvc/llvm-project?rev=59743&view=rev
Log:
__weak ivar need not warn.
Modified:
cfe/trunk/lib/Sema/SemaDeclAttr.cpp
cfe/trunk/test/SemaObjC/warn-weak-field.m
Modified: cfe/trunk/lib/Sema/SemaDeclAttr.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclAttr.cpp?rev=59743&r1=59742&r2=59743&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclAttr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclAttr.cpp Thu Nov 20 13:35:51 2008
@@ -556,7 +556,7 @@
ObjCGCAttr::GCAttrTypes type;
if (Attr.getParameterName()->isStr("weak")) {
- if (isa<FieldDecl>(d))
+ if (isa<FieldDecl>(d) && !isa<ObjCIvarDecl>(d))
S.Diag(Attr.getLoc(), diag::warn_attribute_weak_on_field);
type = ObjCGCAttr::Weak;
}
Modified: cfe/trunk/test/SemaObjC/warn-weak-field.m
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/warn-weak-field.m?rev=59743&r1=59742&r2=59743&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/warn-weak-field.m (original)
+++ cfe/trunk/test/SemaObjC/warn-weak-field.m Thu Nov 20 13:35:51 2008
@@ -5,6 +5,17 @@
__strong id p1;
};
[EMAIL PROTECTED] I
+{
+ __weak id w; // OK
+ __strong id LHS;
+}
+- (void) foo;
[EMAIL PROTECTED]
[EMAIL PROTECTED] I
+- (void) foo { w = 0; LHS = w; }
[EMAIL PROTECTED]
+
int main ()
{
struct I {
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits