[Analyzer] Skip symbolic regions based on conjured symbols in comparison of the conta...
authorAdam Balogh <adam.balogh@ericsson.com>
Wed, 13 Mar 2019 13:55:11 +0000 (13:55 +0000)
committerAdam Balogh <adam.balogh@ericsson.com>
Wed, 13 Mar 2019 13:55:11 +0000 (13:55 +0000)
commitd703305e404d3bb7f506e6f8ab0772d415263c48
treeb2a56a0d83c7206afbedf87cb4b550fc9bebed81
parent01b595c0cb78764384be769236af2e23cc11ab52
[Analyzer] Skip symbolic regions based on conjured symbols in comparison of the containers of iterators

Checking whether two regions are the same is a partially decidable problem:
either we know for sure that they are the same or we cannot decide. A typical
case for this are the symbolic regions based on conjured symbols. Two
different conjured symbols are either the same or they are different. Since
we cannot decide this and want to reduce false positives as much as possible
we exclude these regions whenever checking whether two containers are the
same at iterator mismatch check.

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

llvm-svn: 356049
clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
clang/test/Analysis/mismatched-iterator.cpp