summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/COFF/Driver.cpp8
-rw-r--r--lld/COFF/DriverUtils.cpp8
-rw-r--r--lld/Common/ErrorHandler.cpp2
-rw-r--r--lld/ELF/Driver.cpp8
-rw-r--r--lld/ELF/DriverUtils.cpp8
-rw-r--r--lld/MinGW/Driver.cpp3
-rw-r--r--lld/include/lld/Common/ErrorHandler.h2
-rw-r--r--lld/lib/Driver/DarwinLdDriver.cpp8
-rw-r--r--lld/wasm/Driver.cpp16
9 files changed, 30 insertions, 33 deletions
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp
index 8a9ba92899c..f770fff80bc 100644
--- a/lld/COFF/Driver.cpp
+++ b/lld/COFF/Driver.cpp
@@ -64,15 +64,15 @@ LinkerDriver *driver;
bool link(ArrayRef<const char *> args, bool canExitEarly, raw_ostream &stdoutOS,
raw_ostream &stderrOS) {
+ lld::stdoutOS = &stdoutOS;
+ lld::stderrOS = &stderrOS;
+
errorHandler().logName = args::getFilenameWithoutExe(args[0]);
errorHandler().errorLimitExceededMsg =
"too many errors emitted, stopping now"
" (use /errorlimit:0 to see all errors)";
errorHandler().exitEarly = canExitEarly;
- enableColors(stderrOS.has_colors());
-
- lld::stdoutOS = &stdoutOS;
- lld::stderrOS = &stderrOS;
+ stderrOS.enable_colors(stderrOS.has_colors());
config = make<Configuration>();
symtab = make<SymbolTable>();
diff --git a/lld/COFF/DriverUtils.cpp b/lld/COFF/DriverUtils.cpp
index cb23c9bf734..301a5c5efa8 100644
--- a/lld/COFF/DriverUtils.cpp
+++ b/lld/COFF/DriverUtils.cpp
@@ -773,15 +773,15 @@ static void handleColorDiagnostics(opt::InputArgList &args) {
if (!arg)
return;
if (arg->getOption().getID() == OPT_color_diagnostics) {
- enableColors(true);
+ lld::errs().enable_colors(true);
} else if (arg->getOption().getID() == OPT_no_color_diagnostics) {
- enableColors(false);
+ lld::errs().enable_colors(false);
} else {
StringRef s = arg->getValue();
if (s == "always")
- enableColors(true);
+ lld::errs().enable_colors(true);
else if (s == "never")
- enableColors(false);
+ lld::errs().enable_colors(false);
else if (s != "auto")
error("unknown option: --color-diagnostics=" + s);
}
diff --git a/lld/Common/ErrorHandler.cpp b/lld/Common/ErrorHandler.cpp
index e26d78c2871..91ea6799907 100644
--- a/lld/Common/ErrorHandler.cpp
+++ b/lld/Common/ErrorHandler.cpp
@@ -51,8 +51,6 @@ ErrorHandler &lld::errorHandler() {
return handler;
}
-void lld::enableColors(bool enable) { lld::errs().enable_colors(enable); }
-
void lld::exitLld(int val) {
// Delete any temporary file, while keeping the memory mapping open.
if (errorHandler().outputBuffer)
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp
index 25a9b292054..f7ce7358bb7 100644
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -77,15 +77,15 @@ static void readConfigs(opt::InputArgList &args);
bool link(ArrayRef<const char *> args, bool canExitEarly, raw_ostream &stdoutOS,
raw_ostream &stderrOS) {
+ lld::stdoutOS = &stdoutOS;
+ lld::stderrOS = &stderrOS;
+
errorHandler().logName = args::getFilenameWithoutExe(args[0]);
errorHandler().errorLimitExceededMsg =
"too many errors emitted, stopping now (use "
"-error-limit=0 to see all errors)";
errorHandler().exitEarly = canExitEarly;
- enableColors(stderrOS.has_colors());
-
- lld::stdoutOS = &stdoutOS;
- lld::stderrOS = &stderrOS;
+ stderrOS.enable_colors(stderrOS.has_colors());
inputSections.clear();
outputSections.clear();
diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp
index 53134d0cbfe..9fcb36e8167 100644
--- a/lld/ELF/DriverUtils.cpp
+++ b/lld/ELF/DriverUtils.cpp
@@ -59,15 +59,15 @@ static void handleColorDiagnostics(opt::InputArgList &args) {
if (!arg)
return;
if (arg->getOption().getID() == OPT_color_diagnostics) {
- enableColors(true);
+ lld::errs().enable_colors(true);
} else if (arg->getOption().getID() == OPT_no_color_diagnostics) {
- enableColors(false);
+ lld::errs().enable_colors(false);
} else {
StringRef s = arg->getValue();
if (s == "always")
- enableColors(true);
+ lld::errs().enable_colors(true);
else if (s == "never")
- enableColors(false);
+ lld::errs().enable_colors(false);
else if (s != "auto")
error("unknown option: --color-diagnostics=" + s);
}
diff --git a/lld/MinGW/Driver.cpp b/lld/MinGW/Driver.cpp
index 950156a8a8f..1a256b44efb 100644
--- a/lld/MinGW/Driver.cpp
+++ b/lld/MinGW/Driver.cpp
@@ -161,10 +161,11 @@ searchLibrary(StringRef name, ArrayRef<StringRef> searchPaths, bool bStatic) {
// then call coff::link.
bool mingw::link(ArrayRef<const char *> argsArr, bool canExitEarly,
raw_ostream &stdoutOS, raw_ostream &stderrOS) {
- enableColors(stderrOS.has_colors());
lld::stdoutOS = &stdoutOS;
lld::stderrOS = &stderrOS;
+ stderrOS.enable_colors(stderrOS.has_colors());
+
MinGWOptTable parser;
opt::InputArgList args = parser.parse(argsArr.slice(1));
diff --git a/lld/include/lld/Common/ErrorHandler.h b/lld/include/lld/Common/ErrorHandler.h
index ac6f93fc088..8eed38af8c8 100644
--- a/lld/include/lld/Common/ErrorHandler.h
+++ b/lld/include/lld/Common/ErrorHandler.h
@@ -117,8 +117,6 @@ private:
/// Returns the default error handler.
ErrorHandler &errorHandler();
-void enableColors(bool enable);
-
inline void error(const Twine &msg) { errorHandler().error(msg); }
inline LLVM_ATTRIBUTE_NORETURN void fatal(const Twine &msg) {
errorHandler().fatal(msg);
diff --git a/lld/lib/Driver/DarwinLdDriver.cpp b/lld/lib/Driver/DarwinLdDriver.cpp
index d372e6c94c5..10e0aa3d9fe 100644
--- a/lld/lib/Driver/DarwinLdDriver.cpp
+++ b/lld/lib/Driver/DarwinLdDriver.cpp
@@ -1145,15 +1145,15 @@ static void createFiles(MachOLinkingContext &ctx, bool Implicit) {
/// This is where the link is actually performed.
bool link(llvm::ArrayRef<const char *> args, bool CanExitEarly,
raw_ostream &StdoutOS, raw_ostream &StderrOS) {
+ lld::stdoutOS = &StdoutOS;
+ lld::stderrOS = &StderrOS;
+
errorHandler().logName = args::getFilenameWithoutExe(args[0]);
errorHandler().errorLimitExceededMsg =
"too many errors emitted, stopping now (use "
"'-error-limit 0' to see all errors)";
errorHandler().exitEarly = CanExitEarly;
- enableColors(StderrOS.has_colors());
-
- lld::stdoutOS = &StdoutOS;
- lld::stderrOS = &StderrOS;
+ StderrOS.enable_colors(StderrOS.has_colors());
MachOLinkingContext ctx;
if (!parse(args, ctx))
diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp
index d1e81caf2c5..80a717a533c 100644
--- a/lld/wasm/Driver.cpp
+++ b/lld/wasm/Driver.cpp
@@ -80,14 +80,14 @@ private:
bool link(ArrayRef<const char *> args, bool canExitEarly, raw_ostream &stdoutOS,
raw_ostream &stderrOS) {
+ lld::stdoutOS = &stdoutOS;
+ lld::stderrOS = &stderrOS;
+
errorHandler().logName = args::getFilenameWithoutExe(args[0]);
errorHandler().errorLimitExceededMsg =
"too many errors emitted, stopping now (use "
"-error-limit=0 to see all errors)";
- enableColors(stderrOS.has_colors());
-
- lld::stdoutOS = &stdoutOS;
- lld::stderrOS = &stderrOS;
+ stderrOS.enable_colors(stderrOS.has_colors());
config = make<Configuration>();
symtab = make<SymbolTable>();
@@ -135,15 +135,15 @@ static void handleColorDiagnostics(opt::InputArgList &args) {
if (!arg)
return;
if (arg->getOption().getID() == OPT_color_diagnostics) {
- enableColors(true);
+ lld::errs().enable_colors(true);
} else if (arg->getOption().getID() == OPT_no_color_diagnostics) {
- enableColors(false);
+ lld::errs().enable_colors(false);
} else {
StringRef s = arg->getValue();
if (s == "always")
- enableColors(true);
+ lld::errs().enable_colors(true);
else if (s == "never")
- enableColors(false);
+ lld::errs().enable_colors(false);
else if (s != "auto")
error("unknown option: --color-diagnostics=" + s);
}
OpenPOWER on IntegriCloud