summaryrefslogtreecommitdiffstats
path: root/clang/Driver/clang.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-02-17 04:27:41 +0000
committerTed Kremenek <kremenek@apple.com>2009-02-17 04:27:41 +0000
commitb5351811997c7a9dfc66b7180ba0dd698055df1b (patch)
tree22a32e28060cd14c1e147c2f0b1ba5fb55a90deb /clang/Driver/clang.cpp
parenta908e7fcccf038abcb665be9192a71a7ec0b8394 (diff)
downloadbcm5719-llvm-b5351811997c7a9dfc66b7180ba0dd698055df1b.tar.gz
bcm5719-llvm-b5351811997c7a9dfc66b7180ba0dd698055df1b.zip
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 llvm-svn: 64737
Diffstat (limited to 'clang/Driver/clang.cpp')
-rw-r--r--clang/Driver/clang.cpp69
1 files changed, 1 insertions, 68 deletions
diff --git a/clang/Driver/clang.cpp b/clang/Driver/clang.cpp
index deea08c3353..1fdfde4318e 100644
--- a/clang/Driver/clang.cpp
+++ b/clang/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);
}
}
OpenPOWER on IntegriCloud