r247660 - [analyzer] Restore behavior change introduced by r247657.

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 14 20:28:27 PDT 2015


Author: dcoughlin
Date: Mon Sep 14 22:28:27 2015
New Revision: 247660

URL: http://llvm.org/viewvc/llvm-project?rev=247660&view=rev
Log:
[analyzer] Restore behavior change introduced by r247657.

r247657 fixed warnings about unused variables when compiling without asserts
but changed behavior. This commit restores the old behavior but still suppresses
the warnings.

Modified:
    cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp

Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp?rev=247660&r1=247659&r2=247660&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp Mon Sep 14 22:28:27 2015
@@ -182,10 +182,11 @@ void ExprEngine::VisitObjCMessage(const
       // Receiver is definitely nil, so run ObjCMessageNil callbacks and return.
       if (nilState && !notNilState) {
         StmtNodeBuilder Bldr(Pred, Dst, *currBldrCtx);
+        bool HasTag = Pred->getLocation().getTag();
         Pred = Bldr.generateNode(ME, Pred, nilState, nullptr,
                                  ProgramPoint::PreStmtKind);
-        assert((Pred || Pred->getLocation().getTag()) &&
-               "Should have cached out already!");
+        assert((Pred || HasTag) && "Should have cached out already!");
+        (void)HasTag;
         if (!Pred)
           return;
         getCheckerManager().runCheckersForObjCMessageNil(Dst, Pred,
@@ -198,9 +199,10 @@ void ExprEngine::VisitObjCMessage(const
       // Generate a transition to the non-nil state, dropping any potential
       // nil flow.
       if (notNilState != State) {
+        bool HasTag = Pred->getLocation().getTag();
         Pred = Bldr.generateNode(ME, Pred, notNilState);
-        assert((Pred || Pred->getLocation().getTag()) &&
-               "Should have cached out already!");
+        assert((Pred || HasTag) && "Should have cached out already!");
+        (void)HasTag;
         if (!Pred)
           return;
       }




More information about the cfe-commits mailing list