summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/clang-cc')
-rw-r--r--clang/tools/clang-cc/Options.cpp16
-rw-r--r--clang/tools/clang-cc/clang-cc.cpp25
2 files changed, 20 insertions, 21 deletions
diff --git a/clang/tools/clang-cc/Options.cpp b/clang/tools/clang-cc/Options.cpp
index e2b493148bc..7c716406ce0 100644
--- a/clang/tools/clang-cc/Options.cpp
+++ b/clang/tools/clang-cc/Options.cpp
@@ -221,6 +221,11 @@ PhonyDependencyTarget("MP",
namespace diagnosticoptions {
+static llvm::cl::opt<std::string>
+DumpBuildInformation("dump-build-information",
+ llvm::cl::value_desc("filename"),
+ llvm::cl::desc("output a dump of some build information to a file"));
+
static llvm::cl::opt<bool>
NoShowColumn("fno-show-column",
llvm::cl::desc("Do not include column number on diagnostics"));
@@ -659,14 +664,15 @@ void clang::InitializeDependencyOutputOptions(DependencyOutputOptions &Opts) {
void clang::InitializeDiagnosticOptions(DiagnosticOptions &Opts) {
using namespace diagnosticoptions;
- Opts.ShowColumn = !NoShowColumn;
- Opts.ShowLocation = !NoShowLocation;
+ Opts.DumpBuildInformation = DumpBuildInformation;
+ Opts.MessageLength = MessageLength;
Opts.ShowCarets = !NoCaretDiagnostics;
+ Opts.ShowColors = PrintColorDiagnostic;
+ Opts.ShowColumn = !NoShowColumn;
Opts.ShowFixits = !NoDiagnosticsFixIt;
- Opts.ShowSourceRanges = PrintSourceRangeInfo;
+ Opts.ShowLocation = !NoShowLocation;
Opts.ShowOptionNames = PrintDiagnosticOption;
- Opts.ShowColors = PrintColorDiagnostic;
- Opts.MessageLength = MessageLength;
+ Opts.ShowSourceRanges = PrintSourceRangeInfo;
}
void clang::InitializeHeaderSearchOptions(HeaderSearchOptions &Opts,
diff --git a/clang/tools/clang-cc/clang-cc.cpp b/clang/tools/clang-cc/clang-cc.cpp
index cb00ae3b9ee..f2b38401e7b 100644
--- a/clang/tools/clang-cc/clang-cc.cpp
+++ b/clang/tools/clang-cc/clang-cc.cpp
@@ -341,9 +341,10 @@ RelocatablePCH("relocatable-pch",
llvm::cl::desc("Whether to build a relocatable precompiled "
"header"));
-// Finally, implement the code that groks the options above.
+//===----------------------------------------------------------------------===//
+// Preprocessor construction
+//===----------------------------------------------------------------------===//
-// Add the clang headers, which are relative to the clang binary.
std::string GetBuiltinIncludePath(const char *Argv0) {
llvm::sys::Path P =
llvm::sys::Path::GetMainExecutable(Argv0,
@@ -363,10 +364,6 @@ std::string GetBuiltinIncludePath(const char *Argv0) {
return P.str();
}
-//===----------------------------------------------------------------------===//
-// Preprocessor construction
-//===----------------------------------------------------------------------===//
-
static Preprocessor *
CreatePreprocessor(Diagnostic &Diags, const LangOptions &LangInfo,
const PreprocessorOptions &PPOpts,
@@ -433,6 +430,7 @@ FixItAtLocations("fixit-at", llvm::cl::value_desc("source-location"),
//===----------------------------------------------------------------------===//
// ObjC Rewriter Options
//===----------------------------------------------------------------------===//
+
static llvm::cl::opt<bool>
SilenceRewriteMacroWarning("Wno-rewrite-macros", llvm::cl::init(false),
llvm::cl::desc("Silence ObjC rewriting warnings"));
@@ -452,23 +450,18 @@ static llvm::cl::opt<bool> OptPedanticErrors("pedantic-errors");
static llvm::cl::opt<bool> OptNoWarnings("w");
//===----------------------------------------------------------------------===//
-// -dump-build-information Stuff
+// Dump Build Information
//===----------------------------------------------------------------------===//
-static llvm::cl::opt<std::string>
-DumpBuildInformation("dump-build-information",
- llvm::cl::value_desc("filename"),
- llvm::cl::desc("output a dump of some build information to a file"));
-
static void SetUpBuildDumpLog(const DiagnosticOptions &DiagOpts,
unsigned argc, char **argv,
llvm::OwningPtr<DiagnosticClient> &DiagClient) {
std::string ErrorInfo;
- llvm::raw_ostream *OS = new llvm::raw_fd_ostream(DumpBuildInformation.c_str(),
- ErrorInfo);
+ llvm::raw_ostream *OS =
+ new llvm::raw_fd_ostream(DiagOpts.DumpBuildInformation.c_str(), ErrorInfo);
if (!ErrorInfo.empty()) {
llvm::errs() << "error opening -dump-build-information file '"
- << DumpBuildInformation << "', option ignored!\n";
+ << DiagOpts.DumpBuildInformation << "', option ignored!\n";
delete OS;
return;
}
@@ -1081,7 +1074,7 @@ static Diagnostic *CreateDiagnosticEngine(const DiagnosticOptions &Opts,
DiagClient.reset(new TextDiagnosticPrinter(llvm::errs(), Opts));
}
- if (!DumpBuildInformation.empty())
+ if (!Opts.DumpBuildInformation.empty())
SetUpBuildDumpLog(Opts, argc, argv, DiagClient);
// Configure our handling of diagnostics.
OpenPOWER on IntegriCloud