diff options
Diffstat (limited to 'lib/Analysis/BasicStore.cpp')
-rw-r--r-- | lib/Analysis/BasicStore.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Analysis/BasicStore.cpp b/lib/Analysis/BasicStore.cpp index 7315ec71ac..a36a239e0d 100644 --- a/lib/Analysis/BasicStore.cpp +++ b/lib/Analysis/BasicStore.cpp @@ -454,12 +454,13 @@ Store BasicStoreManager::getInitialStore() { if (Loc::IsLocType(T) || T->isIntegerType()) { // Initialize globals and parameters to symbolic values. // Initialize local variables to undefined. + const MemRegion *R = StateMgr.getRegion(VD); SVal X = (VD->hasGlobalStorage() || isa<ParmVarDecl>(VD) || isa<ImplicitParamDecl>(VD)) - ? SVal::GetSymbolValue(StateMgr.getSymbolManager(), VD) - : UndefinedVal(); + ? SVal::GetRValueSymbolVal(StateMgr.getSymbolManager(), R) + : UndefinedVal(); - St = BindInternal(St, Loc::MakeVal(MRMgr.getVarRegion(VD)), X); + St = BindInternal(St, Loc::MakeVal(R), X); } } } |