diff options
Diffstat (limited to 'clang/lib/Analysis/SVals.cpp')
-rw-r--r-- | clang/lib/Analysis/SVals.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Analysis/SVals.cpp b/clang/lib/Analysis/SVals.cpp index 850e65e3b63..b642857c502 100644 --- a/clang/lib/Analysis/SVals.cpp +++ b/clang/lib/Analysis/SVals.cpp @@ -264,14 +264,15 @@ NonLoc NonLoc::MakeCompoundVal(QualType T, llvm::ImmutableList<SVal> Vals, return nonloc::CompoundVal(BasicVals.getCompoundValData(T, Vals)); } -SVal SVal::GetRValueSymbolVal(SymbolManager& SymMgr, const MemRegion* R) { +SVal SVal::GetRValueSymbolVal(SymbolManager& SymMgr, MemRegionManager& MRMgr, + const MemRegion* R) { SymbolRef sym = SymMgr.getRegionRValueSymbol(R); if (const TypedRegion* TR = dyn_cast<TypedRegion>(R)) { QualType T = TR->getRValueType(SymMgr.getContext()); if (Loc::IsLocType(T)) - return Loc::MakeVal(sym); + return Loc::MakeVal(MRMgr.getSymbolicRegion(sym)); // Only handle integers for now. if (T->isIntegerType()) |