]> granicus.if.org Git - clang/commit
[analyzer] Add very limited support for temporary destructors
authorPavel Labath <labath@google.com>
Wed, 17 Jul 2013 08:33:58 +0000 (08:33 +0000)
committerPavel Labath <labath@google.com>
Wed, 17 Jul 2013 08:33:58 +0000 (08:33 +0000)
commit046e79a425bfa82b480b8a07ce11d96391fa0a9b
tree61f42ee6c08c8294a455feba0453c35ceed21fa4
parentac13d61f8278dd67b31e5e8b417a19c2772342c7
[analyzer] Add very limited support for temporary destructors

Summary:
This patch enables ExprEndgine to reason about temporary object destructors.
However, these destructor calls are never inlined, since this feature is still
broken. Still, this is sufficient to properly handle noreturn temporary
destructors and close bug #15599. I have also enabled the cfg-temporary-dtors
analyzer option by default.

Reviewers: jordan_rose

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1131

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186498 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
lib/StaticAnalyzer/Core/ExprEngine.cpp
lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
test/Analysis/analyzer-config.c
test/Analysis/analyzer-config.cpp
test/Analysis/dtor.cpp
test/Analysis/temp-obj-dtors-cfg-output.cpp