diff options
Diffstat (limited to 'llvm/tools/dsymutil/BinaryHolder.cpp')
| -rw-r--r-- | llvm/tools/dsymutil/BinaryHolder.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/tools/dsymutil/BinaryHolder.cpp b/llvm/tools/dsymutil/BinaryHolder.cpp index 5b92bba1193..e45f7fefe08 100644 --- a/llvm/tools/dsymutil/BinaryHolder.cpp +++ b/llvm/tools/dsymutil/BinaryHolder.cpp @@ -102,10 +102,8 @@ BinaryHolder::GetArchiveMemberBuffers(StringRef Filename, Buffers.reserve(CurrentArchives.size()); for (const auto &CurrentArchive : CurrentArchives) { - for (auto ChildOrErr : CurrentArchive->children()) { - if (std::error_code Err = ChildOrErr.getError()) - return Err; - const auto &Child = *ChildOrErr; + Error Err; + for (auto Child : CurrentArchive->children(Err)) { if (auto NameOrErr = Child.getName()) { if (*NameOrErr == Filename) { if (Timestamp != sys::TimeValue::PosixZeroTime() && @@ -123,6 +121,8 @@ BinaryHolder::GetArchiveMemberBuffers(StringRef Filename, } } } + if (Err) + return errorToErrorCode(std::move(Err)); } if (Buffers.empty()) |

