Backing out commit r250906 as it broke lld.
llvm-svn: 250908
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index ec81421..ec3cfcb 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -338,11 +338,7 @@
printMode(Mode & 007);
outs() << ' ' << C.getUID();
outs() << '/' << C.getGID();
- ErrorOr<uint32_t> Size = C.getSize();
- if (Size.getError())
- outs() << ' ' << "bad size";
- else
- outs() << ' ' << format("%6llu", Size.get());
+ outs() << ' ' << format("%6llu", C.getSize());
outs() << ' ' << C.getLastModified().str();
outs() << ' ';
}
@@ -407,14 +403,7 @@
}
bool Filter = !Members.empty();
- for (auto &ChildOrErr : OldArchive->children()) {
- if (ChildOrErr.getError()) {
- errs() << ToolName << ": error reading '" << ArchiveName
- << "': " << ChildOrErr.getError().message() << "!\n";
- return;
- }
- const object::Archive::Child &C = *ChildOrErr;
-
+ for (const object::Archive::Child &C : OldArchive->children()) {
ErrorOr<StringRef> NameOrErr = C.getName();
failIfError(NameOrErr.getError());
StringRef Name = NameOrErr.get();
@@ -459,9 +448,7 @@
void addMember(std::vector<NewArchiveIterator> &Members,
object::Archive::child_iterator I, StringRef Name,
int Pos = -1) {
- if (I->getError())
- fail("New member is not valid: " + I->getError().message());
- if (Thin && !(*I)->getParent()->isThin())
+ if (Thin && !I->getParent()->isThin())
fail("Cannot convert a regular archive to a thin one");
NewArchiveIterator NI(I, Name);
if (Pos == -1)
@@ -482,9 +469,6 @@
object::Archive::child_iterator I,
StringRef Name,
std::vector<StringRef>::iterator &Pos) {
- if (I->getError())
- fail("Invalid member: " + I->getError().message());
-
if (Operation == QuickAppend || Members.empty())
return IA_AddOldMember;
@@ -516,7 +500,7 @@
// operation.
sys::fs::file_status Status;
failIfError(sys::fs::status(*MI, Status), *MI);
- if (Status.getLastModificationTime() < (*I)->getLastModified()) {
+ if (Status.getLastModificationTime() < I->getLastModified()) {
if (PosName.empty())
return IA_AddOldMember;
return IA_MoveOldMember;
@@ -539,9 +523,7 @@
int InsertPos = -1;
StringRef PosName = sys::path::filename(RelPos);
if (OldArchive) {
- for (auto &ChildOrErr : OldArchive->children()) {
- failIfError(ChildOrErr.getError());
- auto &Child = ChildOrErr.get();
+ for (auto &Child : OldArchive->children()) {
int Pos = Ret.size();
ErrorOr<StringRef> NameOrErr = Child.getName();
failIfError(NameOrErr.getError());
@@ -744,9 +726,7 @@
failIfError(LibOrErr.getError(), "Could not parse library");
Archives.push_back(std::move(*LibOrErr));
object::Archive &Lib = *Archives.back();
- for (auto &MemberOrErr : Lib.children()) {
- failIfError(MemberOrErr.getError());
- auto &Member = MemberOrErr.get();
+ for (auto &Member : Lib.children()) {
ErrorOr<StringRef> NameOrErr = Member.getName();
failIfError(NameOrErr.getError());
addMember(NewMembers, Member, *NameOrErr);