diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-11-13 01:15:47 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-11-13 01:15:47 +0000 |
commit | eb94113be0ee5f4d38408b413d92464a0bc16b55 (patch) | |
tree | b4e85114961d1effbc84af3bde3e846bd2788bfb /tools/clang-cc | |
parent | 21dac5e24a14d3288565515b35ad98c38460c9dd (diff) |
Add clang-cc option "-analyzer-experimental-checks" to enable experimental path-sensitive checks. The idea is to separate "barely working" or "skunkworks" checks from ones that should always run. Later we need more fine-grain checker control.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@87053 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/clang-cc')
-rw-r--r-- | tools/clang-cc/Options.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/clang-cc/Options.cpp b/tools/clang-cc/Options.cpp index 5d01e03a9c..5b3800f3f2 100644 --- a/tools/clang-cc/Options.cpp +++ b/tools/clang-cc/Options.cpp @@ -78,11 +78,15 @@ static llvm::cl::opt<bool> AnalyzeAll("analyzer-opt-analyze-headers", llvm::cl::desc("Force the static analyzer to analyze " "functions defined in header files")); - + static llvm::cl::opt<bool> AnalyzerDisplayProgress("analyzer-display-progress", - llvm::cl::desc("Emit verbose output about the analyzer's progress.")); + llvm::cl::desc("Emit verbose output about the analyzer's progress")); +static llvm::cl::opt<bool> +AnalyzerExperimentalChecks("analyzer-experimental-checks", + llvm::cl::desc("Use experimental path-sensitive checks")); + static llvm::cl::opt<std::string> AnalyzeSpecificFunction("analyze-function", llvm::cl::desc("Run analysis on specific function")); @@ -91,13 +95,13 @@ static llvm::cl::opt<bool> EagerlyAssume("analyzer-eagerly-assume", llvm::cl::init(false), llvm::cl::desc("Eagerly assume the truth/falseness of some " - "symbolic constraints.")); + "symbolic constraints")); static llvm::cl::opt<bool> PurgeDead("analyzer-purge-dead", llvm::cl::init(true), llvm::cl::desc("Remove dead symbols, bindings, and constraints before" - " processing a statement.")); + " processing a statement")); static llvm::cl::opt<bool> TrimGraph("trim-egraph", @@ -126,6 +130,7 @@ void clang::InitializeAnalyzerOptions(AnalyzerOptions &Opts) { Opts.PurgeDead = PurgeDead; Opts.EagerlyAssume = EagerlyAssume; Opts.AnalyzeSpecificFunction = AnalyzeSpecificFunction; + Opts.EnableExperimentalChecks = AnalyzerExperimentalChecks; Opts.TrimGraph = TrimGraph; } |