Index: llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp =================================================================== --- llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -263,29 +263,15 @@ /// @} //===----------------------------------------------------------------------===// -static void error(StringRef Prefix, std::error_code EC, - llvm::Optional Msg = {}) { - if (!EC) +static void error(StringRef Prefix, Error Err) { + if (!Err) return; - WithColor::error() << Prefix << ": " << (Msg ? *Msg : EC.message()) << '\n'; - exit(1); + WithColor::error() << Prefix << ": " << toString(std::move(Err)) << "\n"; + exit(1); } -static void error(StringRef Prefix, Error Err) { - std::error_code EC; - llvm::Optional Msg; - handleAllErrors( - std::move(Err), - [&](const GenericBinaryError &E) { - Msg = E.getMessage(); - EC = E.convertToErrorCode(); - }, - [&](const StringError &E) { - Msg = E.getMessage(); - EC = E.convertToErrorCode(); - }, - [&](const ECError &E) { EC = E.convertToErrorCode(); }); - error(Prefix, EC, Msg); +static void error(StringRef Prefix, std::error_code EC) { + error(Prefix, errorCodeToError(EC)); } static DIDumpOptions getDumpOpts(DWARFContext &C) {