summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp44
1 files changed, 19 insertions, 25 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index ec67bd52600..8e89cccf2a8 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -375,52 +375,46 @@ namespace opts {
namespace llvm {
-LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg) {
+LLVM_ATTRIBUTE_NORETURN static void error(Twine Msg) {
+ // Flush the standard output to print the error at a
+ // proper place.
fouts().flush();
errs() << "\n";
WithColor::error(errs()) << Msg << "\n";
exit(1);
}
-void reportError(Error Err, StringRef Input) {
+LLVM_ATTRIBUTE_NORETURN void reportError(Error Err, StringRef Input) {
assert(Err);
if (Input == "-")
Input = "<stdin>";
handleAllErrors(createFileError(Input, std::move(Err)),
- [&](const ErrorInfoBase &EI) { reportError(EI.message()); });
+ [&](const ErrorInfoBase &EI) { error(EI.message()); });
+ llvm_unreachable("error() call should never return");
}
-void reportWarning(Twine Msg) {
- fouts().flush();
- errs() << "\n";
- WithColor::warning(errs()) << Msg << "\n";
-}
-
-void reportWarning(StringRef Input, Error Err) {
+void reportWarning(Error Err, StringRef Input) {
+ assert(Err);
if (Input == "-")
Input = "<stdin>";
- warn(createFileError(Input, std::move(Err)));
-}
-void warn(Error Err) {
- handleAllErrors(std::move(Err), [&](const ErrorInfoBase &EI) {
- reportWarning(EI.message());
- });
-}
-
-void error(std::error_code EC) {
- if (!EC)
- return;
- reportError(EC.message());
+ handleAllErrors(createFileError(Input, std::move(Err)),
+ [&](const ErrorInfoBase &EI) {
+ // Flush the standard output to print the warning at a
+ // proper place.
+ fouts().flush();
+ errs() << "\n";
+ WithColor::warning(errs()) << EI.message() << "\n";
+ });
}
-} // namespace llvm
-
-static void reportError(std::error_code EC, StringRef Input) {
+LLVM_ATTRIBUTE_NORETURN void reportError(std::error_code EC, StringRef Input) {
assert(EC != readobj_error::success);
reportError(errorCodeToError(EC), Input);
}
+} // namespace llvm
+
static bool isMipsArch(unsigned Arch) {
switch (Arch) {
case llvm::Triple::mips:
OpenPOWER on IntegriCloud