Author: jrose
Date: Wed Aug 4 22:33:56 2010
New Revision: 110310
URL: http://llvm.org/viewvc/llvm-project?rev=110310&view=rev
Log:
Tweak GRState::unbindLoc to use makeWithStore, and make sure it's only called
for non-region locations.
Modified:
cfe/trunk/lib/Checker/GRState.cpp
Modified: cfe/trunk/lib/Checker/GRState.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRState.cpp?rev=110310&r1=110309&r2=110310&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRState.cpp (original)
+++ cfe/trunk/lib/Checker/GRState.cpp Wed Aug 4 22:33:56 2010
@@ -69,15 +69,15 @@
}
const GRState *GRState::unbindLoc(Loc LV) const {
+ assert(!isa<loc::MemRegionVal>(LV) && "Use InvalidateRegion instead.");
+
Store OldStore = getStore();
Store NewStore = getStateManager().StoreMgr->Remove(OldStore, LV);
if (NewStore == OldStore)
return this;
- GRState NewSt = *this;
- NewSt.St = NewStore;
- return getStateManager().getPersistentState(NewSt);
+ return makeWithStore(NewStore);
}
SVal GRState::getSValAsScalarOrLoc(const MemRegion *R) const {
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits