diff options
author | Matthias Gehre <M.Gehre@gmx.de> | 2017-07-12 07:04:19 +0000 |
---|---|---|
committer | Matthias Gehre <M.Gehre@gmx.de> | 2017-07-12 07:04:19 +0000 |
commit | 351c218d15720158b1de0fc3b1d552e5e5f3302a (patch) | |
tree | 8998245d3df51828137c0c702671240a4ff2e580 /clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp | |
parent | 3a5d082a05845bd396b74c1b90064627a39d6989 (diff) | |
download | bcm5719-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.cpp | 3 |
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, |