[cfe-commits] r133627 - in /cfe/trunk: lib/ARCMigrate/ARCMT.cpp test/ARCMT/checking.m

Argyrios Kyrtzidis akyrtzi at gmail.com
Wed Jun 22 11:04:00 PDT 2011


Author: akirtzidis
Date: Wed Jun 22 13:03:59 2011
New Revision: 133627

URL: http://llvm.org/viewvc/llvm-project?rev=133627&view=rev
Log:
[arcmt] Make -Warc-unsafe-retained-assign an error when migrating. rdar://8939557

Modified:
    cfe/trunk/lib/ARCMigrate/ARCMT.cpp
    cfe/trunk/test/ARCMT/checking.m

Modified: cfe/trunk/lib/ARCMigrate/ARCMT.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/ARCMT.cpp?rev=133627&r1=133626&r2=133627&view=diff
==============================================================================
--- cfe/trunk/lib/ARCMigrate/ARCMT.cpp (original)
+++ cfe/trunk/lib/ARCMigrate/ARCMT.cpp Wed Jun 22 13:03:59 2011
@@ -187,6 +187,8 @@
   CInvok->getPreprocessorOpts().addMacroDef(define);
   CInvok->getLangOpts().ObjCAutoRefCount = true;
   CInvok->getDiagnosticOpts().ErrorLimit = 0;
+  CInvok->getDiagnosticOpts().Warnings.push_back(
+                                            "error=arc-unsafe-retained-assign");
   CInvok->getLangOpts().ObjCNoAutoRefCountRuntime = !HasARCRuntime(origCI);
 
   return CInvok.take();

Modified: cfe/trunk/test/ARCMT/checking.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/checking.m?rev=133627&r1=133626&r2=133627&view=diff
==============================================================================
--- cfe/trunk/test/ARCMT/checking.m (original)
+++ cfe/trunk/test/ARCMT/checking.m Wed Jun 22 13:03:59 2011
@@ -253,3 +253,15 @@
 void rdar9504750(id p) {
   RELEASE_MACRO(p); // expected-error {{ARC forbids explicit message send of 'release'}}
 }
+
+// rdar://8939557
+ at interface TestReadonlyProperty : NSObject
+ at property(assign,readonly) NSObject *value;
+ at end
+
+ at implementation TestReadonlyProperty
+ at synthesize value;
+- (void)viewDidLoad {
+  value = [NSObject new]; // expected-error {{assigning retained object}}
+}
+ at end





More information about the cfe-commits mailing list