llvm-project/clang/lib/Frontend
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
..
ASTConsumers.cpp Fixed crash and added a test and a minor output problem 2012-08-17 17:38:39 +00:00
ASTMerge.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
ASTUnit.cpp Fix undefined behavior in code completion, caught by 2012-08-14 03:13:00 +00:00
CMakeLists.txt clang/lib: [CMake] Update tblgen'd dependencies. 2012-07-27 06:18:33 +00:00
CacheTokens.cpp Switch PTH format from a 7 byte magic number to an 8 byte one, to avoid 2012-08-17 03:55:43 +00:00
ChainedDiagnosticConsumer.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
ChainedIncludesSource.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
CompilerInstance.cpp Add a new libclang completion API to get brief documentation comment that is 2012-07-02 17:35:10 +00:00
CompilerInvocation.cpp [analyzer] Always include destructors in the analysis CFG. 2012-09-05 22:55:23 +00:00
CreateInvocationFromCommandLine.cpp [driver] When creating the compiler invocation out of command-line 2012-05-21 20:11:54 +00:00
DependencyFile.cpp Delete the depfile if we could not open a header file. We cannot 2011-11-21 00:01:14 +00:00
DependencyGraph.cpp Rename -dependency-graphviz to -dependencncy-dot 2012-02-02 23:45:13 +00:00
DiagnosticRenderer.cpp Move a few static functions from DiagnosticRenderer.cpp into SourceManager. 2012-06-18 20:12:05 +00:00
FrontendAction.cpp Make sure to call EndSourceFile even if we can't continue compiling. 2012-08-10 01:06:08 +00:00
FrontendActions.cpp Added -ast-list option to dump filterable AST decl node names. 2012-07-31 09:37:40 +00:00
FrontendOptions.cpp remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports 2011-07-23 10:55:15 +00:00
HeaderIncludeGen.cpp Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
InitHeaderSearch.cpp clang support for Bitrig (an OpenBSD fork); patch by David Hill. 2012-08-08 23:57:20 +00:00
InitPreprocessor.cpp Allow disabling of wchar_t type. 2012-09-05 17:30:57 +00:00
LangStandards.cpp Remove unnecessary default cases in switches over enums. 2012-01-17 02:30:50 +00:00
LayoutOverrideSource.cpp Add missing cctype includes. 2012-08-10 10:58:18 +00:00
LogDiagnosticPrinter.cpp Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
MultiplexConsumer.cpp Replace MarkVarRequired with a more generic 2012-03-08 15:51:03 +00:00
PrintPreprocessedOutput.cpp Keep history of macro definitions and #undefs 2012-08-29 00:20:03 +00:00
SerializedDiagnosticPrinter.cpp Avoid binding a reference to a dereferenced pointer in diagnostic serialization 2012-08-21 03:11:53 +00:00
TextDiagnostic.cpp Add missing cctype includes. 2012-08-10 10:58:18 +00:00
TextDiagnosticBuffer.cpp Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
TextDiagnosticPrinter.cpp Fix a typo (the the => the) 2012-07-23 08:59:39 +00:00
VerifyDiagnosticConsumer.cpp Allow -verify to be used with files that don't have an associated FileEntry. 2012-08-18 16:58:52 +00:00
Warnings.cpp Add template type diffing to Clang. This feature will provide a better 2012-06-26 18:18:47 +00:00