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

Reply via email to