diff options
| author | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-10-16 06:09:51 +0000 |
|---|---|---|
| committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2008-10-16 06:09:51 +0000 |
| commit | 232c7929a299db359c25ed43b53cd91c2d3f47fb (patch) | |
| tree | 1b9286896f38088c1753a251580e07741441a65d /clang/lib/Analysis/GRState.cpp | |
| parent | 229f765dbe2d88be22185749603a731276a142a0 (diff) | |
| download | bcm5719-llvm-232c7929a299db359c25ed43b53cd91c2d3f47fb.tar.gz bcm5719-llvm-232c7929a299db359c25ed43b53cd91c2d3f47fb.zip | |
This is the first step to build a better evaluation model for GRExprEngine. A
new VisitLValue method is added to replace the old VisitLVal. The semantics
model becomes more explicit to separate rvalue evaluation from lvalue
evaluation.
llvm-svn: 57627
Diffstat (limited to 'clang/lib/Analysis/GRState.cpp')
| -rw-r--r-- | clang/lib/Analysis/GRState.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/clang/lib/Analysis/GRState.cpp b/clang/lib/Analysis/GRState.cpp index 0b519fc6a03..49bc24aa7de 100644 --- a/clang/lib/Analysis/GRState.cpp +++ b/clang/lib/Analysis/GRState.cpp @@ -52,7 +52,7 @@ GRStateManager::RemoveDeadBindings(const GRState* St, Stmt* Loc, // Clean up the store. DSymbols.clear(); - NewSt.St = StMgr->RemoveDeadBindings(St->getStore(), Loc, Liveness, + NewSt.St = StoreMgr->RemoveDeadBindings(St->getStore(), Loc, Liveness, RegionRoots, LSymbols, DSymbols); return ConstraintMgr->RemoveDeadBindings(getPersistentState(NewSt), @@ -63,7 +63,7 @@ const GRState* GRStateManager::SetRVal(const GRState* St, LVal LV, RVal V) { Store OldStore = St->getStore(); - Store NewStore = StMgr->SetRVal(OldStore, LV, V); + Store NewStore = StoreMgr->SetRVal(OldStore, LV, V); if (NewStore == OldStore) return St; @@ -79,10 +79,10 @@ const GRState* GRStateManager::AddDecl(const GRState* St, const VarDecl* VD, Store NewStore; if (Ex) - NewStore = StMgr->AddDecl(OldStore, VD, Ex, + NewStore = StoreMgr->AddDecl(OldStore, VD, Ex, GetRVal(St, Ex), Count); else - NewStore = StMgr->AddDecl(OldStore, VD, Ex); + NewStore = StoreMgr->AddDecl(OldStore, VD, Ex); if (NewStore == OldStore) return St; @@ -94,7 +94,7 @@ const GRState* GRStateManager::AddDecl(const GRState* St, const VarDecl* VD, const GRState* GRStateManager::Unbind(const GRState* St, LVal LV) { Store OldStore = St->getStore(); - Store NewStore = StMgr->Remove(OldStore, LV); + Store NewStore = StoreMgr->Remove(OldStore, LV); if (NewStore == OldStore) return St; @@ -107,7 +107,7 @@ const GRState* GRStateManager::Unbind(const GRState* St, LVal LV) { const GRState* GRStateManager::getInitialState() { GRState StateImpl(EnvMgr.getInitialEnvironment(), - StMgr->getInitialStore(), + StoreMgr->getInitialStore(), GDMFactory.GetEmptyMap()); return getPersistentState(StateImpl); @@ -196,7 +196,7 @@ void GRStateRef::printStdErr() const { void GRStateRef::print(std::ostream& Out, const char* nl, const char* sep)const{ GRState::Printer **beg = Mgr->Printers.empty() ? 0 : &Mgr->Printers[0]; GRState::Printer **end = !beg ? 0 : beg + Mgr->Printers.size(); - St->print(Out, *Mgr->StMgr, *Mgr->ConstraintMgr, beg, end, nl, sep); + St->print(Out, *Mgr->StoreMgr, *Mgr->ConstraintMgr, beg, end, nl, sep); } //===----------------------------------------------------------------------===// |

