diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-02-17 04:27:41 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-02-17 04:27:41 +0000 |
commit | be1fe1eb12a1cb91c8e3a9fcc2db4dfe989def6c (patch) | |
tree | 8622aef537c73c734dd3ecb08c70f5b8ac1a9ed4 /Driver/clang.cpp | |
parent | 9add31798f621f843233dbff8bba103fca64447b (diff) |
Static Analyzer driver/options (partial) cleanup:
- Move all analyzer options logic to AnalysisConsumer.cpp.
- Unified specification of stores/constraints/output to be:
-analyzer-output=...
-analyzer-store=...
-analyzer-constraints=...
instead of -analyzer-range-constraints, -analyzer-store-basic, etc.
- Updated drivers (ccc-analyzer, scan-builds, new ccc) to obey this new
interface
- Updated test cases to conform to new driver options
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64737 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Driver/clang.cpp')
-rw-r--r-- | Driver/clang.cpp | 69 |
1 files changed, 1 insertions, 68 deletions
diff --git a/Driver/clang.cpp b/Driver/clang.cpp index deea08c335..1fdfde4318 100644 --- a/Driver/clang.cpp +++ b/Driver/clang.cpp @@ -222,53 +222,6 @@ MathErrno("fmath-errno", llvm::cl::init(true), llvm::cl::AllowInverse); //===----------------------------------------------------------------------===// -// Analyzer Options. -//===----------------------------------------------------------------------===// - -static llvm::cl::opt<bool> -VisualizeEGDot("analyzer-viz-egraph-graphviz", - llvm::cl::desc("Display exploded graph using GraphViz")); - -static llvm::cl::opt<bool> -VisualizeEGUbi("analyzer-viz-egraph-ubigraph", - llvm::cl::desc("Display exploded graph using Ubigraph")); - -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.")); - -static llvm::cl::list<Analyses> -AnalysisList(llvm::cl::desc("SCA Checks/Analyses:"), -llvm::cl::values( -#define ANALYSIS(NAME, CMDFLAG, DESC, SCOPE)\ -clEnumValN(NAME, CMDFLAG, DESC), -#include "Analyses.def" -clEnumValEnd)); - -static llvm::cl::opt<AnalysisStores> -AnalysisStoreOpt(llvm::cl::desc("SCA Low-Level Options (Store):"), - llvm::cl::init(BasicStoreModel), - llvm::cl::values( -#define ANALYSIS_STORE(NAME, CMDFLAG, DESC)\ -clEnumValN(NAME##Model, "analyzer-store-" CMDFLAG, DESC), -#include "Analyses.def" -clEnumValEnd)); - -static llvm::cl::opt<AnalysisDiagClients> -AnalysisDiagOpt(llvm::cl::desc("SCA Output Options:"), - llvm::cl::init(PD_HTML), - llvm::cl::values( -#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATFN, AUTOCREATE)\ -clEnumValN(PD_##NAME, "analyzer-output-" CMDFLAG, DESC), -#include "Analyses.def" -clEnumValEnd)); - -//===----------------------------------------------------------------------===// // Language Options //===----------------------------------------------------------------------===// @@ -683,7 +636,6 @@ void InitializeGCMode(LangOptions &Options) { Options.setGCMode(LangOptions::HybridGC); } - //===----------------------------------------------------------------------===// // Our DiagnosticClient implementation //===----------------------------------------------------------------------===// @@ -780,18 +732,6 @@ static void InitializeDiagnostics(Diagnostic &Diags) { } //===----------------------------------------------------------------------===// -// Analysis-specific options. -//===----------------------------------------------------------------------===// - -static llvm::cl::opt<std::string> -AnalyzeSpecificFunction("analyze-function", - llvm::cl::desc("Run analysis on specific function")); - -static llvm::cl::opt<bool> -TrimGraph("trim-egraph", - llvm::cl::desc("Only show error-related paths in the analysis graph")); - -//===----------------------------------------------------------------------===// // Target Triple Processing. //===----------------------------------------------------------------------===// @@ -1349,14 +1289,7 @@ static ASTConsumer* CreateASTConsumer(const std::string& InFile, return CreateBlockRewriter(InFile, OutputFile, Diag, LangOpts); case RunAnalysis: - return CreateAnalysisConsumer(&AnalysisList[0], - &AnalysisList[0]+AnalysisList.size(), - AnalysisStoreOpt, AnalysisDiagOpt, - Diag, PP, PPF, LangOpts, - AnalyzeSpecificFunction, - OutputFile, VisualizeEGDot, VisualizeEGUbi, - TrimGraph, AnalyzeAll, - AnalyzerDisplayProgress); + return CreateAnalysisConsumer(Diag, PP, PPF, LangOpts, OutputFile); } } |