diff options
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index c293919fd95..ad97dea2d02 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -295,17 +295,6 @@ static void reportError(StringRef Input, StringRef Message) { reportError(Twine(Input) + ": " + Message); } -static void reportError(StringRef Input, Error Err) { - if (Input == "-") - Input = "<stdin>"; - std::string ErrMsg; - { - raw_string_ostream ErrStream(ErrMsg); - logAllUnhandledErrors(std::move(Err), ErrStream, Input + ": "); - } - reportError(ErrMsg); -} - static bool isMipsArch(unsigned Arch) { switch (Arch) { case llvm::Triple::mips: @@ -435,8 +424,10 @@ static void dumpObject(const ObjectFile *Obj) { /// @brief Dumps each object file in \a Arc; static void dumpArchive(const Archive *Arc) { - Error Err; - for (auto &Child : Arc->children(Err)) { + for (auto &ErrorOrChild : Arc->children()) { + if (std::error_code EC = ErrorOrChild.getError()) + reportError(Arc->getFileName(), EC.message()); + const auto &Child = *ErrorOrChild; Expected<std::unique_ptr<Binary>> ChildOrErr = Child.getAsBinary(); if (!ChildOrErr) { if (auto E = isNotObjectErrorInvalidFileType(ChildOrErr.takeError())) { @@ -453,8 +444,6 @@ static void dumpArchive(const Archive *Arc) { else reportError(Arc->getFileName(), readobj_error::unrecognized_file_format); } - if (Err) - reportError(Arc->getFileName(), std::move(Err)); } /// @brief Dumps each object file in \a MachO Universal Binary; |