baloghadamsoftware updated this revision to Diff 154066.
baloghadamsoftware added a comment.
Adding of transition removed since it is part of
https://reviews.llvm.org/D47417.
https://reviews.llvm.org/D48427
Files:
lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
Index: lib/StaticAnalyzer/Ch
baloghadamsoftware updated this revision to Diff 153907.
baloghadamsoftware added a comment.
Instead of marking the container alive, now we defer deletion of the container
data until all its iterators are cleaned up.
https://reviews.llvm.org/D48427
Files:
lib/StaticAnalyzer/Checkers/Iterator
NoQ added a comment.
That'd be a hell for you because when the container is updated you won't be
able to easily find iterators all that iterate over it. Normally what you want
to do is keep mapping iterators to container regions, and when the region dies,
"freeze" the data (make sure it can no
baloghadamsoftware added a comment.
Hmm, then the only solution that comes to my mind is to link iterator positions
to container data instead of the container regions. I also have to store a link
to the class definition of the container in the container data for the
invalidation rules. Containe
NoQ added a comment.
Aha, ok, yeah, we should have seen this coming. Whenever a checker tracks pairs
of objects, like containers and iterators, or strings objects and their
internal buffers (https://reviews.llvm.org/D48522), or return values and
out-parameters of the same function call (https:/
baloghadamsoftware created this revision.
baloghadamsoftware added reviewers: NoQ, rnkovacs.
Herald added subscribers: mikhail.ramalho, a.sidorin, dkrupp, szepet,
xazax.hun, whisperity.
Herald added a reviewer: george.karpenkov.
https://reviews.llvm.org/D47417 is a fix for an accidentally missing