summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2012-02-29 08:42:57 +0000
committerErik Verbruggen <erikjv@me.com>2012-02-29 08:42:57 +0000
commit64aea6524d2249d89b8df31a7c0f9357e0a908f3 (patch)
tree6b54c8121ff7ff39ffe14923cb610b0cad4c85d7 /clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
parentefe5e2ea9f0b8f31f8b2d90cfd174231af631fe8 (diff)
downloadbcm5719-llvm-64aea6524d2249d89b8df31a7c0f9357e0a908f3.tar.gz
bcm5719-llvm-64aea6524d2249d89b8df31a7c0f9357e0a908f3.zip
Remove a recursive visitiation in ExprEngine that is no longer needed
because the CFG is fully linearized. llvm-svn: 151711
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
index 45f8cee9100..fa0245145cb 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
@@ -335,15 +335,9 @@ void ExprEngine::VisitCXXNewExpr(const CXXNewExpr *CNE, ExplodedNode *Pred,
void ExprEngine::VisitCXXDeleteExpr(const CXXDeleteExpr *CDE,
ExplodedNode *Pred, ExplodedNodeSet &Dst) {
- // Should do more checking.
- ExplodedNodeSet Argevaluated;
- Visit(CDE->getArgument(), Pred, Argevaluated);
- StmtNodeBuilder Bldr(Argevaluated, Dst, *currentBuilderContext);
- for (ExplodedNodeSet::iterator I = Argevaluated.begin(),
- E = Argevaluated.end(); I != E; ++I) {
- ProgramStateRef state = (*I)->getState();
- Bldr.generateNode(CDE, *I, state);
- }
+ StmtNodeBuilder Bldr(Pred, Dst, *currentBuilderContext);
+ ProgramStateRef state = Pred->getState();
+ Bldr.generateNode(CDE, Pred, state);
}
void ExprEngine::VisitCXXThisExpr(const CXXThisExpr *TE, ExplodedNode *Pred,
OpenPOWER on IntegriCloud