diff options
Diffstat (limited to 'clang/lib/Checker/GRState.cpp')
-rw-r--r-- | clang/lib/Checker/GRState.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Checker/GRState.cpp b/clang/lib/Checker/GRState.cpp index 69470bbbb28..82563eddcac 100644 --- a/clang/lib/Checker/GRState.cpp +++ b/clang/lib/Checker/GRState.cpp @@ -69,15 +69,15 @@ const GRState *GRStateManager::MarshalState(const GRState *state, } 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 { |