diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-03-09 06:49:50 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-03-09 06:49:50 +0000 |
commit | bd4f745c81f134f3b6ec9490c31ebe088a7f58f4 (patch) | |
tree | 7d3290802c1fe222f8103c5d7a90b542cf5e3b47 /lib/Analysis/RegionStore.cpp | |
parent | 53d89225560fb9434a68e25019a31a75c0006537 (diff) |
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
Diffstat (limited to 'lib/Analysis/RegionStore.cpp')
-rw-r--r-- | lib/Analysis/RegionStore.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp index ba67829d0c..9ef3fe8463 100644 --- a/lib/Analysis/RegionStore.cpp +++ b/lib/Analysis/RegionStore.cpp @@ -1046,8 +1046,6 @@ const GRState* RegionStoreManager::BindArray(const GRState* St, 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 @@ const GRState* RegionStoreManager::BindArray(const GRState* St, St = Bind(St, loc::MemRegionVal(ER), V); } - return StateMgr.MakeStateWithStore(St, store); + return St; } @@ -1098,7 +1096,7 @@ const GRState* RegionStoreManager::BindArray(const GRState* St, St = Bind(St, Loc::MakeVal(ER), *VI); } - return StateMgr.MakeStateWithStore(St, store); + return St; } const GRState* |