summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-07-14 00:37:04 +0000
committerLang Hames <lhames@gmail.com>2016-07-14 00:37:04 +0000
commitae610ab528a382a393aae26d2d67cee05cabe634 (patch)
treebb4178e75d234c71dac75810b4662a0f979227f0 /llvm/tools/llvm-readobj/llvm-readobj.cpp
parent7f781aba9755633c53210db02d51f6f56d11ea48 (diff)
downloadbcm5719-llvm-ae610ab528a382a393aae26d2d67cee05cabe634.tar.gz
bcm5719-llvm-ae610ab528a382a393aae26d2d67cee05cabe634.zip
[Object] Revert r275316, Archive::child_iterator changes, while I update lld.
Should fix the bots broken by r275316. llvm-svn: 275353
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp19
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;
OpenPOWER on IntegriCloud