[llvm] a23d1e9 - [llvm-objdump] Simplify reportError() and prepend outs().flush()
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sat May 30 17:26:12 PDT 2020
Author: Fangrui Song
Date: 2020-05-30T17:25:59-07:00
New Revision: a23d1e9aff4d8cb752e227b3e16f887cf49c15d4
URL: https://github.com/llvm/llvm-project/commit/a23d1e9aff4d8cb752e227b3e16f887cf49c15d4
DIFF: https://github.com/llvm/llvm-project/commit/a23d1e9aff4d8cb752e227b3e16f887cf49c15d4.diff
LOG: [llvm-objdump] Simplify reportError() and prepend outs().flush()
As noticed by dblaikie.
I don't know what code paths using reportError can cause stdout output
to be interleaved with stderr, so no test is added now.
Also drop an unneeded use of errs().fflush() in reportWarning().
I requested this in D64165.
Added:
Modified:
llvm/tools/llvm-objdump/llvm-objdump.cpp
Removed:
################################################################################
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 6eebf98744aa..d62839a8686c 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -420,10 +420,10 @@ void reportWarning(Twine Message, StringRef File) {
outs().flush();
WithColor::warning(errs(), ToolName)
<< "'" << File << "': " << Message << "\n";
- errs().flush();
}
LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Twine Message) {
+ outs().flush();
WithColor::error(errs(), ToolName) << "'" << File << "': " << Message << "\n";
exit(1);
}
@@ -432,6 +432,7 @@ LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef FileName,
StringRef ArchiveName,
StringRef ArchitectureName) {
assert(E);
+ outs().flush();
WithColor::error(errs(), ToolName);
if (ArchiveName != "")
errs() << ArchiveName << "(" << FileName << ")";
@@ -439,11 +440,8 @@ LLVM_ATTRIBUTE_NORETURN void reportError(Error E, StringRef FileName,
errs() << "'" << FileName << "'";
if (!ArchitectureName.empty())
errs() << " (for architecture " << ArchitectureName << ")";
- std::string Buf;
- raw_string_ostream OS(Buf);
- logAllUnhandledErrors(std::move(E), OS);
- OS.flush();
- errs() << ": " << Buf;
+ errs() << ": ";
+ logAllUnhandledErrors(std::move(E), errs());
exit(1);
}
More information about the llvm-commits
mailing list