forked from OSchip/llvm-project
e189b869c5
This is a heuristic to make up for the fact that the analyzer doesn't model C++ containers very well. One example is modeling that 'std::distance(I, E) == 0' implies 'I == E'. In the future, it would be nice to model this explicitly, but for now it just results in a lot of false positives. The actual heuristic checks if the base type has a member named 'begin' or 'iterator'. If so, we treat the constructors and destructors of that type as opaque, rather than inlining them. This is intended to drastically reduce the number of false positives reported with experimental destructor support turned on. We can tweak the heuristic in the future, but we'd rather err on the side of false negatives for now. <rdar://problem/13497258> llvm-svn: 178516 |
||
---|---|---|
.. | ||
Inputs/include/sys | ||
deref-track-symbolic-region.c | ||
deref-track-symbolic-region.cpp | ||
explicit-suppression.cpp | ||
false-positive-suppression.c | ||
no-prune-paths.c | ||
shortest-path-suppression.c | ||
undef-value-callee.h | ||
undef-value-caller.c | ||
undef-value-param.c | ||
undef-value-param.m |