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.
llvm-svn: 66409
diff --git a/clang/lib/Analysis/RegionStore.cpp b/clang/lib/Analysis/RegionStore.cpp
index ba67829..9ef3fe8 100644
--- a/clang/lib/Analysis/RegionStore.cpp
+++ b/clang/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*