]> granicus.if.org Git - clang/commitdiff
Revert r194663 and r194647.
authorTed Kremenek <kremenek@apple.com>
Thu, 14 Nov 2013 04:44:56 +0000 (04:44 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 14 Nov 2013 04:44:56 +0000 (04:44 +0000)
Per feedback from Jordan Rose I realized this wasn't the right way to go.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194664 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDecl.cpp
test/SemaObjC/arc-bridged-cast.m

index 9c6f8f674073ae6eb6bc03bd8c08f09ecf17f07c..d5ba089f73315155fb2d6433a06dd00500bc29f5 100644 (file)
@@ -1313,18 +1313,6 @@ static bool ShouldDiagnoseUnusedDecl(const NamedDecl *D) {
       }
     }
 
-    // Under ARC, some users use __bridge_transfer to automate memory
-    // reclamation of objects that were referenced via C pointers.
-    const Expr *Init = VD->getInit();
-    if (Init) {
-      if (const ExprWithCleanups *EC = dyn_cast<ExprWithCleanups>(Init))
-        Init = EC->getSubExpr();
-      Init = Init->IgnoreParens();
-      if (const ImplicitCastExpr *IC = dyn_cast<ImplicitCastExpr>(Init))
-        if (IC->getCastKind() == CK_ARCConsumeObject)
-          return false;
-    }
-
     // TODO: __attribute__((unused)) templates?
   }
   
index 3707b9ec8afe78ef38742f2f276865a3abd4ce33..439d3821165d96aea711f004913fbcbf34873851 100644 (file)
@@ -62,14 +62,3 @@ CFTypeRef fixitsWithSpace(id obj) {
   // CHECK: fix-it:"{{.*}}":{59:9-59:9}:"(__bridge CFTypeRef)"
   // CHECK: fix-it:"{{.*}}":{59:9-59:9}:" CFBridgingRetain"
 }
-
-// <rdar://problem/15432770>
-// Suppressed -Wunused-variable when the initializer is a __bridge_transfer cast.
-#pragma clang diagnostic push
-#pragma clang diagnostic warning "-Wunused-variable"
-void rdar15432770_ptr_release(const void *ptr) {
-  void (^block)() = (__bridge_transfer void(^)())ptr; // no-warning
-  // Test that warning is active.
-  int x = 1; // expected-warning {{unused}}
-}
-#pragma clang diagnostic pop