summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-10-14 14:44:26 +0000
committerNico Weber <nicolasweber@gmx.de>2019-10-14 14:44:26 +0000
commit961c34d5f452b07ccd289fe54a8aff8404c9bc59 (patch)
tree4f0a8282790d58855694e7fd99c42ae4b2c9ee0f
parent03462bbe7d549e1cbe0d38fbf0b195bb78456a80 (diff)
downloadbcm5719-llvm-961c34d5f452b07ccd289fe54a8aff8404c9bc59.tar.gz
bcm5719-llvm-961c34d5f452b07ccd289fe54a8aff8404c9bc59.zip
Revert r374771 "[llvm-size] Tidy up error messages (PR42970)"
This reverts commit 83e52f5e1150018329b8907bb014c77ac382d611. Makes Object/macho-invalid.test fail everywhere, e.g. here: http://lab.llvm.org:8011/builders/llvm-hexagon-elf/builds/23669/steps/test-llvm/logs/FAIL%3A%20LLVM%3A%3Amacho-invalid.test llvm-svn: 374780
-rw-r--r--llvm/test/tools/llvm-size/invalid-input.test10
-rw-r--r--llvm/test/tools/llvm-size/no-input.test2
-rw-r--r--llvm/tools/llvm-size/llvm-size.cpp44
3 files changed, 30 insertions, 26 deletions
diff --git a/llvm/test/tools/llvm-size/invalid-input.test b/llvm/test/tools/llvm-size/invalid-input.test
index 568bd8201c2..a27c7806ab0 100644
--- a/llvm/test/tools/llvm-size/invalid-input.test
+++ b/llvm/test/tools/llvm-size/invalid-input.test
@@ -1,15 +1,19 @@
## Show that llvm-size reports an error when passed an input file in an
## unknown format.
+## FIXME: The error messages tested here are not consistently formatted, and the
+## second one doesn't even return with a non-zero exit code.
+## See https://bugs.llvm.org/show_bug.cgi?id=42970.
+
# RUN: not llvm-size %s 2>&1 | FileCheck %s -DFILE=%s --check-prefix=UNRECOGNIZED
-# UNRECOGNIZED: {{.*}}llvm-size{{(.*)}}: error: '[[FILE]]': The file was not recognized as a valid object file
+# UNRECOGNIZED: {{.*}}llvm-size{{(.*)}}: [[FILE]] The file was not recognized as a valid object file
## Show that llvm-size reports an error when passed an input file in an
## unsupported format.
# RUN: yaml2obj %s -o %t
-# RUN: not llvm-size %t 2>&1 | FileCheck %s -DFILE=%t --check-prefix=NOTSUPPORTED
-# NOTSUPPORTED: {{.*}}llvm-size{{(.*)}}: error: '[[FILE]]': unsupported file type
+# RUN: llvm-size %t 2>&1 | FileCheck %s -DFILE=%t --check-prefix=NOTSUPPORTED
+# NOTSUPPORTED: {{.*}}llvm-size{{(.*)}}: [[FILE]]: Unrecognized file type.
--- !minidump
Streams:
diff --git a/llvm/test/tools/llvm-size/no-input.test b/llvm/test/tools/llvm-size/no-input.test
index 37e5745bf17..d4a145ff270 100644
--- a/llvm/test/tools/llvm-size/no-input.test
+++ b/llvm/test/tools/llvm-size/no-input.test
@@ -1,7 +1,7 @@
## Show that llvm-size emits an error if passed in a non-existent file.
# RUN: not llvm-size %t.blah 2>&1 | FileCheck %s -DFILE=%t.blah --check-prefix=ENOENT
-# ENOENT: {{.*}}llvm-size{{.*}}: error: '[[FILE]]': {{[Nn]}}o such file or directory
+# ENOENT: {{.*}}llvm-size{{.*}}: [[FILE]] {{[Nn]}}o such file or directory
## Show that llvm-size reads a.out if not passed any file.
diff --git a/llvm/tools/llvm-size/llvm-size.cpp b/llvm/tools/llvm-size/llvm-size.cpp
index 7c63bc291f1..da56199fe3c 100644
--- a/llvm/tools/llvm-size/llvm-size.cpp
+++ b/llvm/tools/llvm-size/llvm-size.cpp
@@ -24,7 +24,6 @@
#include "llvm/Support/Format.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/WithColor.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <string>
@@ -107,9 +106,11 @@ static bool HadError = false;
static std::string ToolName;
-static void error(const Twine &Message, StringRef File) {
+static bool error(Twine Message) {
HadError = true;
- WithColor::error(errs(), ToolName) << "'" << File << "': " << Message << "\n";
+ errs() << ToolName << ": " << Message << ".\n";
+ errs().flush();
+ return true;
}
// This version of error() prints the archive name and member name, for example:
@@ -118,7 +119,7 @@ static void error(const Twine &Message, StringRef File) {
static void error(llvm::Error E, StringRef FileName, const Archive::Child &C,
StringRef ArchitectureName = StringRef()) {
HadError = true;
- WithColor::error(errs(), ToolName) << "'" << FileName << "'";
+ errs() << ToolName << ": " << FileName;
Expected<StringRef> NameOrErr = C.getName();
// TODO: if we have a error getting the name then it would be nice to print
@@ -137,7 +138,7 @@ static void error(llvm::Error E, StringRef FileName, const Archive::Child &C,
raw_string_ostream OS(Buf);
logAllUnhandledErrors(std::move(E), OS);
OS.flush();
- errs() << ": " << Buf << "\n";
+ errs() << " " << Buf << "\n";
}
// This version of error() prints the file name and which architecture slice it // is from, for example: "foo.o (for architecture i386)" after the ToolName
@@ -146,7 +147,7 @@ static void error(llvm::Error E, StringRef FileName, const Archive::Child &C,
static void error(llvm::Error E, StringRef FileName,
StringRef ArchitectureName = StringRef()) {
HadError = true;
- WithColor::error(errs(), ToolName) << "'" << FileName << "'";
+ errs() << ToolName << ": " << FileName;
if (!ArchitectureName.empty())
errs() << " (for architecture " << ArchitectureName << ") ";
@@ -155,7 +156,7 @@ static void error(llvm::Error E, StringRef FileName,
raw_string_ostream OS(Buf);
logAllUnhandledErrors(std::move(E), OS);
OS.flush();
- errs() << ": " << Buf << "\n";
+ errs() << " " << Buf << "\n";
}
/// Get the length of the string that represents @p num in Radix including the
@@ -528,7 +529,7 @@ static bool checkMachOAndArchFlags(ObjectFile *O, StringRef Filename) {
if (none_of(ArchFlags, [&](const std::string &Name) {
return Name == T.getArchName();
})) {
- error("no architecture specified", Filename);
+ error(Filename + ": No architecture specified");
return false;
}
return true;
@@ -657,15 +658,15 @@ static void printFileSectionSizes(StringRef file) {
error(std::move(Err), UA->getFileName());
} else {
consumeError(AOrErr.takeError());
- error("mach-o universal file for architecture " +
- StringRef(I->getArchFlagName()) +
- " is not a mach-o file or an archive file",
- file);
+ error("Mach-O universal file: " + file + " for architecture " +
+ StringRef(I->getArchFlagName()) +
+ " is not a Mach-O file or an archive file");
}
}
}
if (!ArchFound) {
- error("file does not contain architecture " + ArchFlags[i], file);
+ errs() << ToolName << ": file: " << file
+ << " does not contain architecture" << ArchFlags[i] << ".\n";
return;
}
}
@@ -739,10 +740,9 @@ static void printFileSectionSizes(StringRef file) {
error(std::move(Err), UA->getFileName());
} else {
consumeError(AOrErr.takeError());
- error("mach-o universal file for architecture " +
- StringRef(I->getArchFlagName()) +
- " is not a mach-o file or an archive file",
- file);
+ error("Mach-O universal file: " + file + " for architecture " +
+ StringRef(I->getArchFlagName()) +
+ " is not a Mach-O file or an archive file");
}
return;
}
@@ -816,10 +816,9 @@ static void printFileSectionSizes(StringRef file) {
error(std::move(Err), UA->getFileName());
} else {
consumeError(AOrErr.takeError());
- error("mach-o universal file for architecture " +
- StringRef(I->getArchFlagName()) +
- " is not a mach-o file or an archive file",
- file);
+ error("Mach-O universal file: " + file + " for architecture " +
+ StringRef(I->getArchFlagName()) +
+ " is not a Mach-O file or an archive file");
}
}
} else if (ObjectFile *o = dyn_cast<ObjectFile>(&Bin)) {
@@ -837,7 +836,8 @@ static void printFileSectionSizes(StringRef file) {
outs() << "\n";
}
} else {
- error("unsupported file type", file);
+ errs() << ToolName << ": " << file << ": "
+ << "Unrecognized file type.\n";
}
// System V adds an extra newline at the end of each file.
if (OutputFormat == sysv)
OpenPOWER on IntegriCloud