diff options
| author | Ted Kremenek <kremenek@apple.com> | 2011-01-13 04:36:46 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2011-01-13 04:36:46 +0000 |
| commit | f41bdd7c244b5e0fc68482b6c8f195b61b5678ea (patch) | |
| tree | 309b39e59785fc4596b494b63123b96211f9f63a /clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp | |
| parent | b86ec25256e295a9e5821e12fa8357514a3b0a91 (diff) | |
| download | bcm5719-llvm-f41bdd7c244b5e0fc68482b6c8f195b61b5678ea.tar.gz bcm5719-llvm-f41bdd7c244b5e0fc68482b6c8f195b61b5678ea.zip | |
Rename 'HasGeneratedNode' to 'hasGeneratedNode'
and 'getBasePredecessor()' to 'getPredecessor()'.
Also remove a unneeded save-and-restore of
node builder's tag field.
llvm-svn: 123363
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp')
| -rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp index e912273e1aa..1577cbee315 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ExprEngine.cpp @@ -541,7 +541,7 @@ void ExprEngine::ProcessStmt(const CFGStmt S, StmtNodeBuilder& builder) { "Error evaluating statement"); Builder = &builder; - EntryNode = builder.getBasePredecessor(); + EntryNode = builder.getPredecessor(); // Create the cleaned state. const LocationContext *LC = EntryNode->getLocationContext(); @@ -569,7 +569,7 @@ void ExprEngine::ProcessStmt(const CFGStmt S, StmtNodeBuilder& builder) { Tmp.Add(EntryNode); else { SaveAndRestore<bool> OldSink(Builder->BuildSinks); - SaveOr OldHasGen(Builder->HasGeneratedNode); + SaveOr OldHasGen(Builder->hasGeneratedNode); SaveAndRestore<bool> OldPurgeDeadSymbols(Builder->PurgingDeadSymbols); Builder->PurgingDeadSymbols = true; @@ -604,7 +604,7 @@ void ExprEngine::ProcessStmt(const CFGStmt S, StmtNodeBuilder& builder) { } } - if (!Builder->BuildSinks && !Builder->HasGeneratedNode) + if (!Builder->BuildSinks && !Builder->hasGeneratedNode) Tmp.Add(EntryNode); } @@ -623,7 +623,7 @@ void ExprEngine::ProcessStmt(const CFGStmt S, StmtNodeBuilder& builder) { // a node with a "cleaned" state; CoreEngine will actually handle // auto-transitions for other cases. if (Dst.size() == 1 && *Dst.begin() == EntryNode - && !Builder->HasGeneratedNode && !HasAutoGenerated) { + && !Builder->hasGeneratedNode && !HasAutoGenerated) { HasAutoGenerated = true; builder.generateNode(currentStmt, GetState(EntryNode), *I); } @@ -643,7 +643,7 @@ void ExprEngine::ProcessInitializer(const CFGInitializer Init, // We don't set EntryNode and currentStmt. And we don't clean up state. const CXXCtorInitializer *BMI = Init.getInitializer(); - ExplodedNode *Pred = builder.getBasePredecessor(); + ExplodedNode *Pred = builder.getPredecessor(); const LocationContext *LC = Pred->getLocationContext(); if (BMI->isAnyMemberInitializer()) { @@ -699,7 +699,7 @@ void ExprEngine::ProcessImplicitDtor(const CFGImplicitDtor D, void ExprEngine::ProcessAutomaticObjDtor(const CFGAutomaticObjDtor dtor, StmtNodeBuilder &builder) { - ExplodedNode *pred = builder.getBasePredecessor(); + ExplodedNode *pred = builder.getPredecessor(); const GRState *state = pred->getState(); const VarDecl *varDecl = dtor.getVarDecl(); @@ -1754,7 +1754,6 @@ void ExprEngine::evalStore(ExplodedNodeSet& Dst, const Expr *AssignE, SaveAndRestore<ProgramPoint::Kind> OldSPointKind(Builder->PointKind, ProgramPoint::PostStoreKind); - SaveAndRestore<const void*> OldTag(Builder->Tag, tag); // Proceed with the store. We use AssignE as the anchor for the PostStore // ProgramPoint if it is non-NULL, and LocationE otherwise. @@ -1811,7 +1810,6 @@ void ExprEngine::evalLoadCommon(ExplodedNodeSet& Dst, const Expr *Ex, assert(!location.isUndef()); SaveAndRestore<ProgramPoint::Kind> OldSPointKind(Builder->PointKind); - SaveAndRestore<const void*> OldTag(Builder->Tag); // Proceed with the load. for (ExplodedNodeSet::iterator NI=Tmp.begin(), NE=Tmp.end(); NI!=NE; ++NI) { @@ -1971,7 +1969,7 @@ void ExprEngine::VisitCall(const CallExpr* CE, ExplodedNode* Pred, // Dispatch to the plug-in transfer function. unsigned oldSize = DstTmp3.size(); - SaveOr OldHasGen(Builder->HasGeneratedNode); + SaveOr OldHasGen(Builder->hasGeneratedNode); Pred = *DI_Checker; // Dispatch to transfer function logic to handle the call itself. @@ -1982,7 +1980,7 @@ void ExprEngine::VisitCall(const CallExpr* CE, ExplodedNode* Pred, // Handle the case where no nodes where generated. Auto-generate that // contains the updated state if we aren't generating sinks. if (!Builder->BuildSinks && DstTmp3.size() == oldSize && - !Builder->HasGeneratedNode) + !Builder->hasGeneratedNode) MakeNode(DstTmp3, CE, Pred, state); } } @@ -2260,7 +2258,7 @@ void ExprEngine::VisitObjCMessageExpr(const ObjCMessageExpr* ME, bool RaisesException = false; unsigned oldSize = dstEval.size(); SaveAndRestore<bool> OldSink(Builder->BuildSinks); - SaveOr OldHasGen(Builder->HasGeneratedNode); + SaveOr OldHasGen(Builder->hasGeneratedNode); if (const Expr *Receiver = ME->getInstanceReceiver()) { const GRState *state = GetState(Pred); @@ -2344,7 +2342,7 @@ void ExprEngine::VisitObjCMessageExpr(const ObjCMessageExpr* ME, // Handle the case where no nodes where generated. Auto-generate that // contains the updated state if we aren't generating sinks. if (!Builder->BuildSinks && dstEval.size() == oldSize && - !Builder->HasGeneratedNode) + !Builder->hasGeneratedNode) MakeNode(dstEval, ME, Pred, GetState(Pred)); } @@ -3082,11 +3080,10 @@ void ExprEngine::VisitReturnStmt(const ReturnStmt *RS, ExplodedNode *Pred, // Record the returned expression in the state. It will be used in // processCallExit to bind the return value to the call expr. { - static int Tag = 0; - SaveAndRestore<const void *> OldTag(Builder->Tag, &Tag); + static int tag = 0; const GRState *state = GetState(Pred); state = state->set<ReturnExpr>(RetE); - Pred = Builder->generateNode(RetE, state, Pred); + Pred = Builder->generateNode(RetE, state, Pred, &tag); } // We may get a NULL Pred because we generated a cached node. if (Pred) @@ -3108,13 +3105,13 @@ void ExprEngine::VisitReturnStmt(const ReturnStmt *RS, ExplodedNode *Pred, unsigned size = Dst.size(); SaveAndRestore<bool> OldSink(Builder->BuildSinks); - SaveOr OldHasGen(Builder->HasGeneratedNode); + SaveOr OldHasGen(Builder->hasGeneratedNode); getTF().evalReturn(Dst, *this, *Builder, RS, Pred); // Handle the case where no nodes where generated. if (!Builder->BuildSinks && Dst.size() == size && - !Builder->HasGeneratedNode) + !Builder->hasGeneratedNode) MakeNode(Dst, RS, Pred, GetState(Pred)); } } |

