[Analyzer] Iterator Checker - Part 7: Support for push and pop operations
authorAdam Balogh <adam.balogh@ericsson.com>
Mon, 10 Sep 2018 09:06:31 +0000 (09:06 +0000)
committerAdam Balogh <adam.balogh@ericsson.com>
Mon, 10 Sep 2018 09:06:31 +0000 (09:06 +0000)
commit9a48ba6b4aa3d2e94466648a0adf9305571ade60
treeaf5ff0e72e42706a2f060dcee17065de1fefba14
parent3659f7a8a98393cefa14e4f8b467f7258dcf9aed
[Analyzer] Iterator Checker - Part 7: Support for push and pop operations

This patch adds support for the following operations in the iterator checkers: push_back, push_front, emplace_back, emplace_front, pop_back and pop_front. This affects iterator range checks (range is extended after push and emplace and reduced after pop operations) and invalidation checks (according to the standard).

Differential Revision: https://reviews.llvm.org/D32902

llvm-svn: 341793
clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
clang/test/Analysis/Inputs/system-header-simulator-cxx.h
clang/test/Analysis/diagnostics/explicit-suppression.cpp
clang/test/Analysis/invalidated-iterator.cpp
clang/test/Analysis/iterator-range.cpp