diff options
author | Ted Kremenek <kremenek@apple.com> | 2012-09-07 06:56:18 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2012-09-07 06:56:18 +0000 |
commit | 891bcdb644d7e178dcd1a0d64cb59e0920e25518 (patch) | |
tree | 797b86287094d938a873955b85ec432c93c15226 /clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp | |
parent | 74eb55a23d6ac0b1ef4a1cdc7cda194234abe4d4 (diff) | |
download | bcm5719-llvm-891bcdb644d7e178dcd1a0d64cb59e0920e25518.tar.gz bcm5719-llvm-891bcdb644d7e178dcd1a0d64cb59e0920e25518.zip |
ExplodedGraph::shouldCollectNode() should not collect nodes for non-Expr Stmts
(as this previously was the case before this was refactored). We also shouldn't
need to specially handle BinaryOperators since the eagerly-assume heuristic tags
such nodes.
llvm-svn: 163374
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp b/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp index ae746f63250..ff296403a8c 100644 --- a/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp @@ -94,9 +94,6 @@ bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { PostStmt ps = cast<PostStmt>(progPoint); if (ps.getTag()) return false; - - if (isa<BinaryOperator>(ps.getStmt())) - return false; // Conditions 5, 6, and 7. ProgramStateRef state = node->getState(); @@ -106,6 +103,9 @@ bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { return false; // Condition 8. + if (!isa<Expr>(ps.getStmt())) + return false; + if (const Expr *Ex = dyn_cast<Expr>(ps.getStmt())) { ParentMap &PM = progPoint.getLocationContext()->getParentMap(); if (!PM.isConsumedExpr(Ex)) |