Fix a serious bug in RegionStore: we got the new state with new store from
Bind() and BindStruct(), but we returned a state with the old store.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66409 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp
index ba67829..9ef3fe8 100644
--- a/lib/Analysis/RegionStore.cpp
+++ b/lib/Analysis/RegionStore.cpp
@@ -1046,8 +1046,6 @@
St = state.set<RegionDefaultValue>(R, NonLoc::MakeIntVal(getBasicVals(), 0,
false));
- Store store = St->getStore();
-
ConstantArrayType* CAT = cast<ConstantArrayType>(T.getTypePtr());
llvm::APSInt Size(CAT->getSize(), false);
@@ -1076,7 +1074,7 @@
St = Bind(St, loc::MemRegionVal(ER), V);
}
- return StateMgr.MakeStateWithStore(St, store);
+ return St;
}
@@ -1098,7 +1096,7 @@
St = Bind(St, Loc::MakeVal(ER), *VI);
}
- return StateMgr.MakeStateWithStore(St, store);
+ return St;
}
const GRState*