[PATCH] D114718: [analyzer] Implement a new checker for Strict Aliasing Rule.
Denys Petrov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 9 05:00:17 PST 2021
ASDenysPetrov added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/StrictAliasingChecker.cpp:113
+ QualType getOriginalType(CheckerContext &C, SVal V, QualType T) const {
+ assert(V.getAs<Loc>() && "Location shall be a Loc.");
+ V = C.getState()->getSVal(V.castAs<Loc>(), T);
----------------
ASDenysPetrov wrote:
> NoQ wrote:
> > I suspect it might also be `UnknownVal` (?) It usually makes sense to protect against such scenarios with an early return.
> I'll try to add some tests to model this.
'ExprEngine::evalLocation' has an early check for //unknown//, so `Location` is never be //unknown//.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114718/new/
https://reviews.llvm.org/D114718
More information about the cfe-commits
mailing list