Remove extents of dead symbolic regions when RemoveDeadBindings.
This requires creating new persistent states due to the nature of GDM.
llvm-svn: 104668
diff --git a/clang/lib/Checker/GRState.cpp b/clang/lib/Checker/GRState.cpp
index f68e10b..b16e922 100644
--- a/clang/lib/Checker/GRState.cpp
+++ b/clang/lib/Checker/GRState.cpp
@@ -51,11 +51,10 @@
state, RegionRoots);
// Clean up the store.
- NewState.St = StoreMgr->RemoveDeadBindings(NewState.St, Loc, LCtx, SymReaper,
- RegionRoots);
+ const GRState *s = StoreMgr->RemoveDeadBindings(NewState, Loc, LCtx,
+ SymReaper, RegionRoots);
- return ConstraintMgr->RemoveDeadBindings(getPersistentState(NewState),
- SymReaper);
+ return ConstraintMgr->RemoveDeadBindings(s, SymReaper);
}
const GRState *GRState::unbindLoc(Loc LV) const {