[cfe-dev] Iterator Checkers: Understanding Bindings
Artem Dergachev via cfe-dev
cfe-dev at lists.llvm.org
Fri May 13 11:28:25 PDT 2016
I agree with pretty much all of your points.
I think a proper solution would also include cases when the object was
not conjured by a function. Eg., how do we identify `c' in the following
code?:
class C {...};
void foo() {
C c;
}
In this case `c' doesn't have a default-bound symbol. The region
approach works though; but it has other problems.
I wish we had a way to assign identifier-like symbols to object
instances (perhaps in an on-demand manner), and probably construct
symbolic-ID expressions for identifiers of objects produced from other
objects (eg. SymbolID, SymbolCopiedID<SymbolID>, etc.).
I'm still not instantly sure how to implement that, despite thinking
about it quite a bit. I'd also ask more clever guys to share ideas (:
P.S. Imho, evalCall problem is actually about sharing checker state.
There's no problem with having evalCall() staying in only one checker if
we share its results with other checkers.
More information about the cfe-dev
mailing list