diff options
author | Ted Kremenek <kremenek@apple.com> | 2012-08-29 05:55:00 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2012-08-29 05:55:00 +0000 |
commit | 7b73e0832b20af1f43601a3d19e76d02d9f4dce5 (patch) | |
tree | 564ac1f3310a01d7ac11ee7223b4a0ff5d8e0ac8 /lib/StaticAnalyzer | |
parent | 73212dff6437d409e0c1b779fdcac2f4f98ca8b0 (diff) |
Add new -cc1 driver option -analyzer-config, which allows one to specify
a comma separated collection of key:value pairs (which are strings). This
allows a general way to provide analyzer configuration data from the command line.
No clients yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162827 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer')
-rw-r--r-- | lib/StaticAnalyzer/Core/AnalysisManager.cpp | 6 | ||||
-rw-r--r-- | lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp | 13 |
2 files changed, 13 insertions, 6 deletions
diff --git a/lib/StaticAnalyzer/Core/AnalysisManager.cpp b/lib/StaticAnalyzer/Core/AnalysisManager.cpp index efeba17a62..339208b374 100644 --- a/lib/StaticAnalyzer/Core/AnalysisManager.cpp +++ b/lib/StaticAnalyzer/Core/AnalysisManager.cpp @@ -20,6 +20,7 @@ AnalysisManager::AnalysisManager(ASTContext &ctx, DiagnosticsEngine &diags, StoreManagerCreator storemgr, ConstraintManagerCreator constraintmgr, CheckerManager *checkerMgr, + const ConfigTable &Config, unsigned maxnodes, unsigned maxvisit, bool vizdot, bool vizubi, AnalysisPurgeMode purge, @@ -36,7 +37,7 @@ AnalysisManager::AnalysisManager(ASTContext &ctx, DiagnosticsEngine &diags, Ctx(ctx), Diags(diags), LangOpts(lang), PathConsumers(PDC), CreateStoreMgr(storemgr), CreateConstraintMgr(constraintmgr), - CheckerMgr(checkerMgr), + CheckerMgr(checkerMgr), MaxNodes(maxnodes), MaxVisit(maxvisit), VisualizeEGDot(vizdot), VisualizeEGUbi(vizubi), PurgeDead(purge), EagerlyAssume(eager), TrimGraph(trim), @@ -45,7 +46,8 @@ AnalysisManager::AnalysisManager(ASTContext &ctx, DiagnosticsEngine &diags, InlineMaxStackDepth(inlineMaxStack), InlineMaxFunctionSize(inlineMaxFunctionSize), InliningMode(IMode), - NoRetryExhausted(NoRetry) + NoRetryExhausted(NoRetry), + Config(Config) { AnaCtxMgr.getCFGBuildOptions().setAllAlwaysAdd(); } diff --git a/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp index 34b5266e4b..b81ee7fc59 100644 --- a/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp +++ b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp @@ -255,11 +255,16 @@ public: CreateStoreMgr, CreateConstraintMgr, checkerMgr.get(), - Opts.MaxNodes, Opts.MaxLoop, - Opts.VisualizeEGDot, Opts.VisualizeEGUbi, - Opts.AnalysisPurgeOpt, Opts.EagerlyAssume, + Opts.Config, + Opts.MaxNodes, + Opts.MaxLoop, + Opts.VisualizeEGDot, + Opts.VisualizeEGUbi, + Opts.AnalysisPurgeOpt, + Opts.EagerlyAssume, Opts.TrimGraph, - Opts.UnoptimizedCFG, Opts.CFGAddImplicitDtors, + Opts.UnoptimizedCFG, + Opts.CFGAddImplicitDtors, Opts.EagerlyTrimEGraph, Opts.IPAMode, Opts.InlineMaxStackDepth, |