Plug-in transfer function "EvalCall" now takes as an argument the current
GRStmtNodeBuilder and is now responsible for adding its own nodes to the graph.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47923 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/GRExprEngine.cpp b/Analysis/GRExprEngine.cpp
index 61d10a4..2481f56 100644
--- a/Analysis/GRExprEngine.cpp
+++ b/Analysis/GRExprEngine.cpp
@@ -549,7 +549,13 @@
continue;
// Dispatch to the plug-in transfer function.
- St = EvalCall(CE, cast<LVal>(L), (*DI)->getState());
+
+ unsigned size = Dst.size();
+
+ EvalCall(Dst, CE, cast<LVal>(L), *DI);
+
+ if (Dst.size() == size)
+ Nodify(Dst, CE, *DI, St);
}
// Check for the "noreturn" attribute.