[PATCH] D48205: [analyzer] Assert that nonloc::SymbolVal always wraps a non-Loc-type symbol.
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 25 16:51:08 PDT 2018
NoQ added inline comments.
================
Comment at: lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:1241
if (const llvm::APSInt *I =
- SVB.getKnownValue(State, nonloc::SymbolVal(S)))
+ SVB.getKnownValue(State, SVB.makeSymbolVal(S)))
return Loc::isLocType(S->getType()) ? (SVal)SVB.makeIntLocVal(*I)
----------------
NoQ wrote:
> george.karpenkov wrote:
> > So what is the difference here? That `SVB.makeSymbolVal` is not always a nonloc?
> That's right; it will be a symbolic region instead.
>
> It won't affect the result of the calculation though (hopefully) (in the current implementation).
I mean, it will *sometimes* be a symbolic region (when the symbol is of pointer type).
Repository:
rC Clang
https://reviews.llvm.org/D48205
More information about the cfe-commits
mailing list