<p dir="ltr">Sorry, I didn't notice while I was checking.</p>
<br><div class="gmail_quote"><div dir="ltr">2015年9月15日(火) 12:29 Devin Coughlin via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: dcoughlin<br>
Date: Mon Sep 14 22:28:27 2015<br>
New Revision: 247660<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=247660&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=247660&view=rev</a><br>
Log:<br>
[analyzer] Restore behavior change introduced by r247657.<br>
<br>
r247657 fixed warnings about unused variables when compiling without asserts<br>
but changed behavior. This commit restores the old behavior but still suppresses<br>
the warnings.<br>
<br>
Modified:<br>
    cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp<br>
<br>
Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp?rev=247660&r1=247659&r2=247660&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp?rev=247660&r1=247659&r2=247660&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp (original)<br>
+++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp Mon Sep 14 22:28:27 2015<br>
@@ -182,10 +182,11 @@ void ExprEngine::VisitObjCMessage(const<br>
       // Receiver is definitely nil, so run ObjCMessageNil callbacks and return.<br>
       if (nilState && !notNilState) {<br>
         StmtNodeBuilder Bldr(Pred, Dst, *currBldrCtx);<br>
+        bool HasTag = Pred->getLocation().getTag();<br>
         Pred = Bldr.generateNode(ME, Pred, nilState, nullptr,<br>
                                  ProgramPoint::PreStmtKind);<br>
-        assert((Pred || Pred->getLocation().getTag()) &&<br>
-               "Should have cached out already!");<br>
+        assert((Pred || HasTag) && "Should have cached out already!");<br>
+        (void)HasTag;<br>
         if (!Pred)<br>
           return;<br>
         getCheckerManager().runCheckersForObjCMessageNil(Dst, Pred,<br>
@@ -198,9 +199,10 @@ void ExprEngine::VisitObjCMessage(const<br>
       // Generate a transition to the non-nil state, dropping any potential<br>
       // nil flow.<br>
       if (notNilState != State) {<br>
+        bool HasTag = Pred->getLocation().getTag();<br>
         Pred = Bldr.generateNode(ME, Pred, notNilState);<br>
-        assert((Pred || Pred->getLocation().getTag()) &&<br>
-               "Should have cached out already!");<br>
+        assert((Pred || HasTag) && "Should have cached out already!");<br>
+        (void)HasTag;<br>
         if (!Pred)<br>
           return;<br>
       }<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>