llvm-project/clang/test/Analysis/diagnostics
Jordan Rose e189b869c5 [analyzer] For now, don't inline [cd]tors of C++ containers.
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
2013-04-02 00:26:35 +00:00
..
Inputs/include/sys Move an input header file under an Inputs directory to be consistent 2013-01-19 06:31:24 +00:00
deref-track-symbolic-region.c [analyzer] Simple inline defensive checks suppression 2013-03-02 03:20:52 +00:00
deref-track-symbolic-region.cpp [analyzer] BugReporter - more precise tracking of C++ references 2013-03-13 20:20:14 +00:00
explicit-suppression.cpp [analyzer] For now, don't inline [cd]tors of C++ containers. 2013-04-02 00:26:35 +00:00
false-positive-suppression.c Move an input header file under an Inputs directory to be consistent 2013-01-19 06:31:24 +00:00
no-prune-paths.c [analyzer] Add 'prune-paths' config option to disable path pruning. 2013-01-26 01:28:15 +00:00
shortest-path-suppression.c [analyzer] Add a test case for diagnostic suppression on a graph with cycles. 2013-03-19 22:10:44 +00:00
undef-value-callee.h
undef-value-caller.c [analyzer] Use 'MemRegion::printPretty()' instead of assuming the region is a VarRegion. 2013-02-26 19:44:38 +00:00
undef-value-param.c [analyzer] Use 'MemRegion::printPretty()' instead of assuming the region is a VarRegion. 2013-02-26 19:44:38 +00:00
undef-value-param.m [analyzer] Fix test for previous commit. 2013-02-27 18:57:20 +00:00