summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
diff options
context:
space:
mode:
authorMatthias Gehre <M.Gehre@gmx.de>2017-07-12 07:04:19 +0000
committerMatthias Gehre <M.Gehre@gmx.de>2017-07-12 07:04:19 +0000
commit351c218d15720158b1de0fc3b1d552e5e5f3302a (patch)
tree8998245d3df51828137c0c702671240a4ff2e580 /clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
parent3a5d082a05845bd396b74c1b90064627a39d6989 (diff)
downloadbcm5719-llvm-351c218d15720158b1de0fc3b1d552e5e5f3302a.tar.gz
bcm5719-llvm-351c218d15720158b1de0fc3b1d552e5e5f3302a.zip
CFG: Add CFGElement for automatic variables that leave the scope
Summary: This mimics the implementation for the implicit destructors. The generation of this scope leaving elements is hidden behind a flag to the CFGBuilder, thus it should not affect existing code. Currently, I'm missing a test (it's implicitly tested by the clang-tidy lifetime checker that I'm proposing). I though about a test using debug.DumpCFG, but then I would have to add an option to StaticAnalyzer/Core/AnalyzerOptions to enable the scope leaving CFGElement, which would only be useful to that particular test. Any other ideas how I could make a test for this feature? Reviewers: krememek, jordan_rose Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15031 llvm-svn: 307759
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp b/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
index 54634fdffeb..83e67662e61 100644
--- a/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
+++ b/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
@@ -23,9 +23,10 @@ AnalysisManager::AnalysisManager(ASTContext &ctx, DiagnosticsEngine &diags,
AnalyzerOptions &Options,
CodeInjector *injector)
: AnaCtxMgr(Options.UnoptimizedCFG,
- /*AddImplicitDtors=*/true,
+ Options.includeImplicitDtorsInCFG(),
/*AddInitializers=*/true,
Options.includeTemporaryDtorsInCFG(),
+ Options.includeLifetimeInCFG(),
Options.shouldSynthesizeBodies(),
Options.shouldConditionalizeStaticInitializers(),
/*addCXXNewAllocator=*/true,
OpenPOWER on IntegriCloud