llvm-project/clang/lib
Jordan Rose 6d671cc34a [analyzer] Always include destructors in the analysis CFG.
While destructors will continue to not be inlined (unless the analyzer
config option 'c++-inlining' is set to 'destructors'), leaving them out
of the CFG is an incomplete model of the behavior of an object, and
can cause false positive warnings (like PR13751, now working).

Destructors for temporaries are still not on by default, since
(a) we haven't actually checked this code to be sure it's fully correct
    (in particular, we probably need to be very careful with regard to
    lifetime-extension when a temporary is bound to a reference,
    C++11 [class.temporary]p5), and
(b) ExprEngine doesn't actually do anything when it sees a temporary
    destructor in the CFG -- not even invalidate the object region.

To enable temporary destructors, set the 'cfg-temporary-dtors' analyzer
config option to '1'. The old -cfg-add-implicit-dtors cc1 option, which
controlled all implicit destructors, has been removed.

llvm-svn: 163264
2012-09-05 22:55:23 +00:00
..
ARCMigrate Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
AST objective-c++11: c++11 does not change pod-ness when 2012-09-05 19:51:20 +00:00
ASTMatchers Introduces DynTypedMatcher as a new concept that replaces the UntypedBaseMatcher and TypedMatcher. 2012-09-05 12:12:07 +00:00
Analysis [analyzer] Always include destructors in the analysis CFG. 2012-09-05 22:55:23 +00:00
Basic Allow disabling of wchar_t type. 2012-09-05 17:30:57 +00:00
CodeGen Update for r163231. 2012-09-05 19:01:07 +00:00
Driver Apply some driver improvements for freebsd-*-mips*. 2012-09-05 21:32:44 +00:00
Edit Change the representation of builtin functions in the AST 2012-08-31 00:14:07 +00:00
Frontend [analyzer] Always include destructors in the analysis CFG. 2012-09-05 22:55:23 +00:00
FrontendTool Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
Headers Add _rdrand{16,32,64}_step intrinsics to immintrin.h 2012-07-12 09:33:03 +00:00
Lex Normalize line endings of r163022. 2012-08-31 21:34:27 +00:00
Parse Revert r163083 per chandlerc's request. 2012-09-04 17:49:35 +00:00
Rewrite Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
Sema c error recovery. treat an invalid redeclaration 2012-09-05 17:52:12 +00:00
Serialization Revert r163083 per chandlerc's request. 2012-09-04 17:49:35 +00:00
StaticAnalyzer [analyzer] Always include destructors in the analysis CFG. 2012-09-05 22:55:23 +00:00
Tooling Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
CMakeLists.txt Adds the AST Matcher library, which provides a in-C++ DSL to express 2012-07-06 05:48:52 +00:00
Makefile Adds the AST Matcher library, which provides a in-C++ DSL to express 2012-07-06 05:48:52 +00:00