[PATCH] D48427: [Analyzer] Fix for D47417 to make the tests pass

2018-07-04 Thread Balogh , Ádám via Phabricator via cfe-commits
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

[PATCH] D48427: [Analyzer] Fix for D47417 to make the tests pass

2018-07-03 Thread Balogh , Ádám via Phabricator via cfe-commits
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

[PATCH] D48427: [Analyzer] Fix for D47417 to make the tests pass

2018-07-02 Thread Artem Dergachev via Phabricator via cfe-commits
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

[PATCH] D48427: [Analyzer] Fix for D47417 to make the tests pass

2018-07-02 Thread Balogh , Ádám via Phabricator via cfe-commits
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

[PATCH] D48427: [Analyzer] Fix for D47417 to make the tests pass

2018-06-27 Thread Artem Dergachev via Phabricator via cfe-commits
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:/

[PATCH] D48427: [Analyzer] Fix for D47417 to make the tests pass

2018-06-21 Thread Balogh , Ádám via Phabricator via cfe-commits
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