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 /include/clang/StaticAnalyzer/Core/PathSensitive | |
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 'include/clang/StaticAnalyzer/Core/PathSensitive')
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h | 6 | ||||
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h b/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h index 876196ba4f..24218be99d 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h @@ -81,6 +81,11 @@ public: /// strategy. We get better code coverage when retry is enabled. bool NoRetryExhausted; + typedef llvm::StringMap<std::string> ConfigTable; + + /// \brief A key-value table of use-specified configuration values. + const ConfigTable &Config; + public: AnalysisManager(ASTContext &ctx,DiagnosticsEngine &diags, const LangOptions &lang, @@ -88,6 +93,7 @@ public: StoreManagerCreator storemgr, ConstraintManagerCreator constraintmgr, CheckerManager *checkerMgr, + const ConfigTable &Config, unsigned maxnodes, unsigned maxvisit, bool vizdot, bool vizubi, AnalysisPurgeMode purge, bool eager, bool trim, diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h b/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h index 478bf71d8d..c260c1b363 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h @@ -64,6 +64,10 @@ public: return Eng.getStoreManager(); } + const AnalysisManager::ConfigTable &getConfig() const { + return Eng.getAnalysisManager().Config; + } + /// \brief Returns the previous node in the exploded graph, which includes /// the state of the program before the checker ran. Note, checkers should /// not retain the node in their state since the nodes might get invalidated. |