]> granicus.if.org Git - clang/commitdiff
Remove derelict GRStmtNodeBuilder::LastNode.
authorZhongxing Xu <xuzhongxing@gmail.com>
Fri, 26 Feb 2010 02:38:09 +0000 (02:38 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Fri, 26 Feb 2010 02:38:09 +0000 (02:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97207 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Checker/PathSensitive/GRCoreEngine.h
lib/Checker/GRCoreEngine.cpp
lib/Checker/GRExprEngine.cpp

index dd789cb735297b10f8ddeba803b6fcc9c0cda047..c5bf5138a63fcaa85e2e95222f575af222cef30d 100644 (file)
@@ -138,7 +138,6 @@ class GRStmtNodeBuilder {
   CFGBlock& B;
   const unsigned Idx;
   ExplodedNode* Pred;
-  ExplodedNode* LastNode;
   GRStateManager& Mgr;
   GRAuditor* Auditor;
 
@@ -165,10 +164,6 @@ public:
 
   ExplodedNode* getBasePredecessor() const { return Pred; }
 
-  ExplodedNode* getLastNode() const {
-    return LastNode ? (LastNode->isSink() ? NULL : LastNode) : NULL;
-  }
-
   // FIXME: This should not be exposed.
   GRWorkList *getWorkList() { return Eng.WList; }
 
index cc8abc870afb3b18a8b8f2e47bad2aff94fe2939..a9347d01641c9195200684fb4353fcfdba952a49 100644 (file)
@@ -412,11 +412,11 @@ void GRCoreEngine::GenerateNode(const ProgramPoint& Loc,
 GRStmtNodeBuilder::GRStmtNodeBuilder(CFGBlock* b, unsigned idx,
                                      ExplodedNode* N, GRCoreEngine* e,
                                      GRStateManager &mgr)
-  : Eng(*e), B(*b), Idx(idx), Pred(N), LastNode(N), Mgr(mgr), Auditor(0),
+  : Eng(*e), B(*b), Idx(idx), Pred(N), Mgr(mgr), Auditor(0),
     PurgingDeadSymbols(false), BuildSinks(false), HasGeneratedNode(false),
     PointKind(ProgramPoint::PostStmtKind), Tag(0) {
   Deferred.insert(N);
-  CleanedState = getLastNode()->getState();
+  CleanedState = Pred->getState();
 }
 
 GRStmtNodeBuilder::~GRStmtNodeBuilder() {
@@ -498,11 +498,9 @@ GRStmtNodeBuilder::generateNodeInternal(const ProgramPoint &Loc,
 
   if (IsNew) {
     Deferred.insert(N);
-    LastNode = N;
     return N;
   }
 
-  LastNode = NULL;
   return NULL;
 }
 
index 30b82f70ce0c4d134420007df02d7dc3940597f6..aadfa528df139d5b594ca5d7f46a9c87eef64ca1 100644 (file)
@@ -460,7 +460,7 @@ void GRExprEngine::ProcessStmt(CFGElement CE, GRStmtNodeBuilder& builder) {
                                 "Error evaluating statement");
 
   Builder = &builder;
-  EntryNode = builder.getLastNode();
+  EntryNode = builder.getBasePredecessor();
 
   // Set up our simple checks.
   if (BatchAuditor)