]> granicus.if.org Git - clang/commitdiff
ASTContext is now a reference member of StoreManager.
authorZhongxing Xu <xuzhongxing@gmail.com>
Mon, 8 Feb 2010 06:00:22 +0000 (06:00 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Mon, 8 Feb 2010 06:00:22 +0000 (06:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95531 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Checker/PathSensitive/Store.h
lib/Checker/FlatStore.cpp
lib/Checker/Store.cpp

index 3121e461bca75a3a7d552b38f6a3cef228d42a14..7d93688344f525e6e900ac95de9bc9fa0ebdef6d 100644 (file)
@@ -41,6 +41,7 @@ protected:
 
   /// MRMgr - Manages region objects associated with this StoreManager.
   MemRegionManager &MRMgr;
+  ASTContext &Ctx;
 
   StoreManager(GRStateManager &stateMgr);
 
index ca182708e13de342d5d86b8c4c91d7f4f87a8e2d..fdeeab952933ceb6f1d47ca4b06b044bd5697418 100644 (file)
@@ -179,8 +179,8 @@ void FlatStoreManager::iterBindings(Store store, BindingsHandler& f) {
 Interval FlatStoreManager::RegionToInterval(const MemRegion *R) { 
   switch (R->getKind()) {
   case MemRegion::VarRegionKind: {
-    QualType T = cast<VarRegion>(R)->getValueType(StateMgr.getContext());
-    uint64_t Size = StateMgr.getContext().getTypeSize(T);
+    QualType T = cast<VarRegion>(R)->getValueType(Ctx);
+    uint64_t Size = Ctx.getTypeSize(T);
     return Interval(0, Size-1);
   }
   default:
index c7746a6dec683ed042963a994ca9fc153f4bcf85..5893733c54dace17dec61ac9bdd68c0127a7422b 100644 (file)
@@ -19,7 +19,7 @@ using namespace clang;
 
 StoreManager::StoreManager(GRStateManager &stateMgr)
   : ValMgr(stateMgr.getValueManager()), StateMgr(stateMgr),
-    MRMgr(ValMgr.getRegionManager()) {}
+    MRMgr(ValMgr.getRegionManager()), Ctx(stateMgr.getContext()) {}
 
 const MemRegion *StoreManager::MakeElementRegion(const MemRegion *Base,
                                               QualType EleTy, uint64_t index) {