[Analyzer] Use note tags to track container begin and and changes
authorAdam Balogh <adam.balogh@ericsson.com>
Thu, 30 Jan 2020 12:54:52 +0000 (13:54 +0100)
committerAdam Balogh <adam.balogh@ericsson.com>
Thu, 26 Mar 2020 06:56:28 +0000 (07:56 +0100)
commita3f4d17a1a53c4144a5bb7c14620a5d2790f36ea
treeb7661a2522d34aa765855bc410a6b7eb608ae284
parent92744f624783d92a07db25bc76e181b879f17e5b
[Analyzer] Use note tags to track container begin and and changes

Container operations such as `push_back()`, `pop_front()`
etc. increment and decrement the abstract begin and end
symbols of containers. This patch introduces note tags
to `ContainerModeling` to track these changes. This helps
the user to better identify the source of errors related
to containers and iterators.

Differential Revision: https://reviews.llvm.org/D73720
clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
clang/test/Analysis/container-modeling.cpp
clang/test/Analysis/iterator-range.cpp