[PATCH] D77229: [Analyzer][WIP] Avoid handling of LazyCompundVals in IteratorModeling
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun May 3 14:20:57 PDT 2020
NoQ added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Core/CallEvent.cpp:614
+ SVB.makeLoc(MRMgr.getParamRegion(ICC->getInheritingConstructor(),
+ Idx, CalleeCtx));
+ Bindings.push_back(std::make_pair(ParamLoc, ArgVal));
----------------
baloghadamsoftware wrote:
> Is this the correct handling of this kind of calls?
It's not ideal because we're producing a different region for the inherited constructor whereas in reality it's the same region as in the inheriting constructor.
Let's not dig too deeply into this though; i'll be perfectly happy with doing whatever doesn't crash and adding a FIXME for later. I'm pretty sure my previous patch is also incorrect for the same reason.
A few tests won't hurt though, and they might help you find the right approach as well. After all, the analyzer is a C++ interpreter; all questions about "is this the correct handling...?" can be answered by comparing the behavior of the analyzer with the behavior of the actual program at run-time.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77229/new/
https://reviews.llvm.org/D77229
More information about the cfe-commits
mailing list