[cfe-commits] r147698 - /cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp

Ted Kremenek kremenek at apple.com
Fri Jan 6 16:10:50 PST 2012


Author: kremenek
Date: Fri Jan  6 18:10:49 2012
New Revision: 147698

URL: http://llvm.org/viewvc/llvm-project?rev=147698&view=rev
Log:
Correctly enqueue successors in ExprEngine::processCallExit().

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

Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp?rev=147698&r1=147697&r2=147698&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp Fri Jan  6 18:10:49 2012
@@ -72,8 +72,12 @@
   ExplodedNodeSet Dst;
   getCheckerManager().runCheckersForPostStmt(Dst, N, CE, *this);
   
-  // Enqueue nodes in Dst on the worklist.
-  Engine.enqueue(Dst);
+  // Enqueue the next element in the block.
+  for (ExplodedNodeSet::iterator I = Dst.begin(), E = Dst.end(); I != E; ++I) {
+    Engine.getWorkList()->enqueue(*I,
+                                  calleeCtx->getCallSiteBlock(),
+                                  calleeCtx->getIndex()+1);
+  }
 }
 
 static bool isPointerToConst(const ParmVarDecl *ParamDecl) {





More information about the cfe-commits mailing list