[PATCH] D53754: [Analyzer] Skip symbolic regions based on conjured symbols in comparison of the containers of iterators
Balogh, Ádám via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 18 06:46:35 PST 2019
baloghadamsoftware added a comment.
Herald added a subscriber: jdoerfert.
In D53754#1315247 <https://reviews.llvm.org/D53754#1315247>, @NoQ wrote:
> What makes you think that conjured symbols are special?
>
> Doesn't the same problem appear in the following example?:
>
> void foo(std::vector<int> &v1, std::vector<int> &v2) {
> v2.erase(v1.cbegin());
> }
>
>
> In this example if `foo()` is analyzed as a top level function, the respective symbols would be of `SymbolRegionValue` kind. It is also easy to come up with a test case that involves `SymbolDerived`.
I think that here the main difference is that if we analyze this function as top level, then we find a true positive: the regions for `v1` and `v2` //may be// the same but generally they are difference (hence the different parameters). However, we do not know anything about the sameness of the regions of different `SymbolDerived`s, thus those findings may be false or true positives as well.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D53754/new/
https://reviews.llvm.org/D53754
More information about the cfe-commits
mailing list