From a6fbe8068442980de456c86a641a7be83ce31f64 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Wed, 27 Feb 2008 00:44:11 +0000 Subject: [PATCH] Fixed bug in the core transfer function logic for CallExprs where we would sometimes skip evaluating all the arguments when some arguments would not create new ExplodedNodes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47650 91177308-0d34-0410-b5e6-96231b3b80d8 --- Analysis/GRExprEngine.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Analysis/GRExprEngine.cpp b/Analysis/GRExprEngine.cpp index c911064b99..4b1e99e815 100644 --- a/Analysis/GRExprEngine.cpp +++ b/Analysis/GRExprEngine.cpp @@ -490,7 +490,10 @@ void GRExprEngine::VisitCall(CallExpr* CE, NodeTy* Pred, if (AI != AE) { NodeSet DstTmp; + Visit(*AI, Pred, DstTmp); + if (DstTmp.empty()) DstTmp.Add(Pred); + ++AI; for (NodeSet::iterator DI=DstTmp.begin(), DE=DstTmp.end(); DI != DE; ++DI) -- 2.50.1