[cfe-commits] r144146 - in /cfe/trunk: lib/ARCMigrate/TransProperties.cpp test/ARCMT/assign-prop-with-arc-runtime.m test/ARCMT/assign-prop-with-arc-runtime.m.result

Argyrios Kyrtzidis akyrtzi at gmail.com
Tue Nov 8 15:09:35 PST 2011


Author: akirtzidis
Date: Tue Nov  8 17:09:34 2011
New Revision: 144146

URL: http://llvm.org/viewvc/llvm-project?rev=144146&view=rev
Log:
[arcmt] Take into account that all properties are strong-by-default now and fix the test.

Modified:
    cfe/trunk/lib/ARCMigrate/TransProperties.cpp
    cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m
    cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m.result

Modified: cfe/trunk/lib/ARCMigrate/TransProperties.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/TransProperties.cpp?rev=144146&r1=144145&r2=144146&view=diff
==============================================================================
--- cfe/trunk/lib/ARCMigrate/TransProperties.cpp (original)
+++ cfe/trunk/lib/ARCMigrate/TransProperties.cpp Tue Nov  8 17:09:34 2011
@@ -50,11 +50,9 @@
   
   enum PropActionKind {
     PropAction_None,
-    PropAction_RetainToStrong,
     PropAction_RetainRemoved,
     PropAction_AssignRemoved,
     PropAction_AssignRewritten,
-    PropAction_MaybeAddStrong,
     PropAction_MaybeAddWeakOrUnsafe
   };
 
@@ -163,9 +161,6 @@
     switch (kind) {
     case PropAction_None:
       return;
-    case PropAction_RetainToStrong:
-      rewriteAttribute("retain", "strong", atLoc);
-      return;
     case PropAction_RetainRemoved:
       removeAttribute("retain", atLoc);
       return;
@@ -173,8 +168,6 @@
       return removeAssignForDefaultStrong(props, atLoc);
     case PropAction_AssignRewritten:
       return rewriteAssign(props, atLoc);
-    case PropAction_MaybeAddStrong:
-      return maybeAddStrongAttr(props, atLoc);
     case PropAction_MaybeAddWeakOrUnsafe:
       return maybeAddWeakOrUnsafeUnretainedAttr(props, atLoc);
     }
@@ -199,11 +192,8 @@
       return;
 
     if (propAttrs & ObjCPropertyDecl::OBJC_PR_retain) {
-      if (propAttrs & ObjCPropertyDecl::OBJC_PR_readonly)
-        return doPropAction(PropAction_RetainToStrong, props, atLoc);
-      else
-        // strong is the default.
-        return doPropAction(PropAction_RetainRemoved, props, atLoc);
+      // strong is the default.
+      return doPropAction(PropAction_RetainRemoved, props, atLoc);
     }
 
     bool HasIvarAssignedAPlusOneObject = hasIvarAssignedAPlusOneObject(props);
@@ -258,17 +248,13 @@
 
   void maybeAddWeakOrUnsafeUnretainedAttr(PropsTy &props,
                                           SourceLocation atLoc) const {
-    ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
-
     bool canUseWeak = canApplyWeak(Pass.Ctx, getPropertyType(props),
                                   /*AllowOnUnknownClass=*/Pass.isGCMigration());
-    if (!(propAttrs & ObjCPropertyDecl::OBJC_PR_readonly) ||
-        !hasAllIvarsBacked(props)) {
-      bool addedAttr = addAttribute(canUseWeak ? "weak" : "unsafe_unretained",
-                                    atLoc);
-      if (!addedAttr)
-        canUseWeak = false;
-    }
+
+    bool addedAttr = addAttribute(canUseWeak ? "weak" : "unsafe_unretained",
+                                  atLoc);
+    if (!addedAttr)
+      canUseWeak = false;
 
     for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
       if (isUserDeclared(I->IvarD))
@@ -284,27 +270,6 @@
     }
   }
 
-  void maybeAddStrongAttr(PropsTy &props, SourceLocation atLoc) const {
-    ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
-
-    if (!(propAttrs & ObjCPropertyDecl::OBJC_PR_readonly))
-      return; // 'strong' by default.
-
-    if (!hasAllIvarsBacked(props)) {
-      addAttribute("strong", atLoc);
-    }
-
-    for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
-      if (I->ImplD) {
-        Pass.TA.clearDiagnostic(diag::err_arc_assign_property_ownership,
-                                I->ImplD->getLocation());
-        Pass.TA.clearDiagnostic(
-                           diag::err_arc_objc_property_default_assign_on_object,
-                           I->ImplD->getLocation());
-      }
-    }
-  }
-
   bool removeAttribute(StringRef fromAttr, SourceLocation atLoc) const {
     return rewriteAttribute(fromAttr, StringRef(), atLoc);
   }

Modified: cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m?rev=144146&r1=144145&r2=144146&view=diff
==============================================================================
--- cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m (original)
+++ cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m Tue Nov  8 17:09:34 2011
@@ -14,8 +14,7 @@
 @class Forw;
 
 @interface Foo : NSObject {
-  Foo *w, *q1, *q2;
-  __weak Foo *x;
+  Foo *x, *w, *q1, *q2;
   WeakOptOut *oo;
   BadClassForWeak bcw;
   id not_safe1;
@@ -23,7 +22,7 @@
   Forw *not_safe3;
   Foo *assign_plus1;
 }
- at property (readonly) __weak Foo *x;
+ at property (readonly) Foo *x;
 @property (assign) Foo *w;
 @property Foo *q1, *q2;
 @property (assign) WeakOptOut *oo;

Modified: cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m.result
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m.result?rev=144146&r1=144145&r2=144146&view=diff
==============================================================================
--- cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m.result (original)
+++ cfe/trunk/test/ARCMT/assign-prop-with-arc-runtime.m.result Tue Nov  8 17:09:34 2011
@@ -14,8 +14,7 @@
 @class Forw;
 
 @interface Foo : NSObject {
-  Foo *__weak w, *__weak q1, *__weak q2;
-  __weak Foo *x;
+  Foo *__weak x, *__weak w, *__weak q1, *__weak q2;
   WeakOptOut *__unsafe_unretained oo;
   BadClassForWeak __unsafe_unretained bcw;
   id __unsafe_unretained not_safe1;
@@ -23,7 +22,7 @@
   Forw *__unsafe_unretained not_safe3;
   Foo *assign_plus1;
 }
- at property (readonly) __weak Foo *x;
+ at property (weak, readonly) Foo *x;
 @property (weak) Foo *w;
 @property (weak) Foo *q1, *q2;
 @property (unsafe_unretained) WeakOptOut *oo;
@@ -58,12 +57,12 @@
 @end
 
 @interface TestExt
- at property (strong,readonly) TestExt *x1;
+ at property (readonly) TestExt *x1;
 @property (weak, readonly) TestExt *x2;
 @end
 
 @interface TestExt()
- at property (strong,readwrite) TestExt *x1;
+ at property (readwrite) TestExt *x1;
 @property (weak, readwrite) TestExt *x2;
 @end
 





More information about the cfe-commits mailing list