summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/dsymutil/BinaryHolder.cpp5
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp32
-rw-r--r--llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp7
-rw-r--r--llvm/tools/llvm-nm/llvm-nm.cpp27
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp37
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp7
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp7
-rw-r--r--llvm/tools/llvm-size/llvm-size.cpp32
8 files changed, 30 insertions, 124 deletions
diff --git a/llvm/tools/dsymutil/BinaryHolder.cpp b/llvm/tools/dsymutil/BinaryHolder.cpp
index 01a49c9b1ee..7ff4fd69957 100644
--- a/llvm/tools/dsymutil/BinaryHolder.cpp
+++ b/llvm/tools/dsymutil/BinaryHolder.cpp
@@ -109,10 +109,7 @@ BinaryHolder::GetArchiveMemberBuffers(StringRef Filename,
Buffers.reserve(CurrentArchives.size());
for (const auto &CurrentArchive : CurrentArchives) {
- for (auto ChildOrErr : CurrentArchive->children()) {
- if (auto Err = ChildOrErr.getError())
- return Err;
- const auto &Child = *ChildOrErr;
+ for (const auto &Child : CurrentArchive->children()) {
if (auto NameOrErr = Child.getName()) {
if (*NameOrErr == Filename) {
if (Timestamp != sys::TimeValue::PosixZeroTime() &&
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index ec81421b4ae..ec3cfcb5cad 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -338,11 +338,7 @@ static void doDisplayTable(StringRef Name, const object::Archive::Child &C) {
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 @@ static void performReadOperation(ArchiveOperation Operation,
}
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, StringRef FileName,
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 @@ static InsertAction computeInsertAction(ArchiveOperation Operation,
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 @@ static InsertAction computeInsertAction(ArchiveOperation Operation,
// 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 @@ computeNewArchiveMembers(ArchiveOperation Operation,
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 @@ static void runMRIScript() {
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);
diff --git a/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
index 96526c4ea45..d45a28a3b0f 100644
--- a/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
+++ b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
@@ -482,12 +482,7 @@ static void dumpCXXData(const ObjectFile *Obj) {
}
static void dumpArchive(const Archive *Arc) {
- for (auto &ErrorOrChild : Arc->children()) {
- if (std::error_code EC = ErrorOrChild.getError()) {
- reportError(Arc->getFileName(), EC.message());
- break;
- }
- const Archive::Child &ArcC = *ErrorOrChild;
+ for (const Archive::Child &ArcC : Arc->children()) {
ErrorOr<std::unique_ptr<Binary>> ChildOrErr = ArcC.getAsBinary();
if (std::error_code EC = ChildOrErr.getError()) {
// Ignore non-object files.
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp
index fad9e582df0..a0b5e9b4eaa 100644
--- a/llvm/tools/llvm-nm/llvm-nm.cpp
+++ b/llvm/tools/llvm-nm/llvm-nm.cpp
@@ -945,11 +945,10 @@ static void dumpSymbolNamesFromFile(std::string &Filename) {
if (I != E) {
outs() << "Archive map\n";
for (; I != E; ++I) {
- ErrorOr<Archive::child_iterator> ErrorOrChild = I->getMember();
- if (error(ErrorOrChild.getError()))
+ ErrorOr<Archive::child_iterator> C = I->getMember();
+ if (error(C.getError()))
return;
- auto &C = *(ErrorOrChild.get());
- ErrorOr<StringRef> FileNameOrErr = C.get().getName();
+ ErrorOr<StringRef> FileNameOrErr = C.get()->getName();
if (error(FileNameOrErr.getError()))
return;
StringRef SymName = I->getName();
@@ -961,10 +960,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) {
for (Archive::child_iterator I = A->child_begin(), E = A->child_end();
I != E; ++I) {
- if (I->getError())
- break;
- auto &C = I->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary(&Context);
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = I->getAsBinary(&Context);
if (ChildOrErr.getError())
continue;
if (SymbolicFile *O = dyn_cast<SymbolicFile>(&*ChildOrErr.get())) {
@@ -1019,11 +1015,8 @@ static void dumpSymbolNamesFromFile(std::string &Filename) {
for (Archive::child_iterator AI = A->child_begin(),
AE = A->child_end();
AI != AE; ++AI) {
- if(AI->getError())
- break;
- auto &C = AI->get();
ErrorOr<std::unique_ptr<Binary>> ChildOrErr =
- C.getAsBinary(&Context);
+ AI->getAsBinary(&Context);
if (ChildOrErr.getError())
continue;
if (SymbolicFile *O =
@@ -1076,11 +1069,8 @@ static void dumpSymbolNamesFromFile(std::string &Filename) {
for (Archive::child_iterator AI = A->child_begin(),
AE = A->child_end();
AI != AE; ++AI) {
- if(AI->getError())
- break;
- auto &C = AI->get();
ErrorOr<std::unique_ptr<Binary>> ChildOrErr =
- C.getAsBinary(&Context);
+ AI->getAsBinary(&Context);
if (ChildOrErr.getError())
continue;
if (SymbolicFile *O =
@@ -1128,11 +1118,8 @@ static void dumpSymbolNamesFromFile(std::string &Filename) {
std::unique_ptr<Archive> &A = *AOrErr;
for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end();
AI != AE; ++AI) {
- if(AI->getError())
- continue;
- auto &C = AI->get();
ErrorOr<std::unique_ptr<Binary>> ChildOrErr =
- C.getAsBinary(&Context);
+ AI->getAsBinary(&Context);
if (ChildOrErr.getError())
continue;
if (SymbolicFile *O = dyn_cast<SymbolicFile>(&*ChildOrErr.get())) {
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 95869f2b952..6b70c011c02 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -1417,11 +1417,8 @@ static void printArchiveChild(Archive::Child &C, bool verbose,
outs() << format("%3d/", UID);
unsigned GID = C.getGID();
outs() << format("%-3d ", GID);
- ErrorOr<uint64_t> Size = C.getRawSize();
- if (Size.getError())
- outs() << "bad size" << " ";
- else
- outs() << format("%5" PRId64, Size.get()) << " ";
+ uint64_t Size = C.getRawSize();
+ outs() << format("%5" PRId64, Size) << " ";
StringRef RawLastModified = C.getRawLastModified();
if (verbose) {
@@ -1457,16 +1454,12 @@ static void printArchiveChild(Archive::Child &C, bool verbose,
static void printArchiveHeaders(Archive *A, bool verbose, bool print_offset) {
if (A->hasSymbolTable()) {
Archive::child_iterator S = A->getSymbolTableChild();
- if (!S->getError()) {
- Archive::Child C = S->get();
- printArchiveChild(C, verbose, print_offset);
- }
+ Archive::Child C = *S;
+ printArchiveChild(C, verbose, print_offset);
}
for (Archive::child_iterator I = A->child_begin(), E = A->child_end(); I != E;
++I) {
- if(I->getError())
- break;
- Archive::Child C = I->get();
+ Archive::Child C = *I;
printArchiveChild(C, verbose, print_offset);
}
}
@@ -1503,10 +1496,7 @@ void llvm::ParseInputMachO(StringRef Filename) {
printArchiveHeaders(A, !NonVerbose, ArchiveMemberOffsets);
for (Archive::child_iterator I = A->child_begin(), E = A->child_end();
I != E; ++I) {
- if (I->getError())
- break;
- auto &C = I->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = I->getAsBinary();
if (ChildOrErr.getError())
continue;
if (MachOObjectFile *O = dyn_cast<MachOObjectFile>(&*ChildOrErr.get())) {
@@ -1554,10 +1544,7 @@ void llvm::ParseInputMachO(StringRef Filename) {
for (Archive::child_iterator AI = A->child_begin(),
AE = A->child_end();
AI != AE; ++AI) {
- if (AI->getError())
- break;
- auto &C = AI->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = AI->getAsBinary();
if (ChildOrErr.getError())
continue;
if (MachOObjectFile *O =
@@ -1599,10 +1586,7 @@ void llvm::ParseInputMachO(StringRef Filename) {
for (Archive::child_iterator AI = A->child_begin(),
AE = A->child_end();
AI != AE; ++AI) {
- if (AI->getError())
- break;
- auto &C = AI->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = AI->getAsBinary();
if (ChildOrErr.getError())
continue;
if (MachOObjectFile *O =
@@ -1638,10 +1622,7 @@ void llvm::ParseInputMachO(StringRef Filename) {
printArchiveHeaders(A.get(), !NonVerbose, ArchiveMemberOffsets);
for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end();
AI != AE; ++AI) {
- if (AI->getError())
- break;
- auto &C = AI->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = AI->getAsBinary();
if (ChildOrErr.getError())
continue;
if (MachOObjectFile *O =
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 34401937bd8..7292841c55a 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -1536,12 +1536,7 @@ static void DumpObject(const ObjectFile *o) {
/// @brief Dump each object file in \a a;
static void DumpArchive(const Archive *a) {
- for (auto &ErrorOrChild : a->children()) {
- if (std::error_code EC = ErrorOrChild.getError()) {
- report_error(a->getFileName(), EC);
- break;
- }
- const Archive::Child &C = *ErrorOrChild;
+ for (const Archive::Child &C : a->children()) {
ErrorOr<std::unique_ptr<Binary>> ChildOrErr = C.getAsBinary();
if (std::error_code EC = ChildOrErr.getError())
if (EC != object_error::invalid_file_type)
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index b59579de49d..cb0c9c6418e 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -377,12 +377,7 @@ static void dumpObject(const ObjectFile *Obj) {
/// @brief Dumps each object file in \a Arc;
static void dumpArchive(const Archive *Arc) {
- for (auto &ErrorOrChild : Arc->children()) {
- if (std::error_code EC = ErrorOrChild.getError()) {
- reportError(Arc->getFileName(), EC.message());
- break;
- }
- const auto &Child = *ErrorOrChild;
+ for (const auto &Child : Arc->children()) {
ErrorOr<std::unique_ptr<Binary>> ChildOrErr = Child.getAsBinary();
if (std::error_code EC = ChildOrErr.getError()) {
// Ignore non-object files.
diff --git a/llvm/tools/llvm-size/llvm-size.cpp b/llvm/tools/llvm-size/llvm-size.cpp
index cc857624548..de2b0450523 100644
--- a/llvm/tools/llvm-size/llvm-size.cpp
+++ b/llvm/tools/llvm-size/llvm-size.cpp
@@ -427,13 +427,7 @@ static void PrintFileSectionSizes(StringRef file) {
for (object::Archive::child_iterator i = a->child_begin(),
e = a->child_end();
i != e; ++i) {
- if (i->getError()) {
- errs() << ToolName << ": " << file << ": " << i->getError().message()
- << ".\n";
- break;
- }
- auto &c = i->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = c.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = i->getAsBinary();
if (std::error_code EC = ChildOrErr.getError()) {
errs() << ToolName << ": " << file << ": " << EC.message() << ".\n";
continue;
@@ -495,13 +489,7 @@ static void PrintFileSectionSizes(StringRef file) {
for (object::Archive::child_iterator i = UA->child_begin(),
e = UA->child_end();
i != e; ++i) {
- if (std::error_code EC = i->getError()) {
- errs() << ToolName << ": " << file << ": " << EC.message()
- << ".\n";
- break;
- }
- auto &c = i->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = c.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = i->getAsBinary();
if (std::error_code EC = ChildOrErr.getError()) {
errs() << ToolName << ": " << file << ": " << EC.message()
<< ".\n";
@@ -578,13 +566,7 @@ static void PrintFileSectionSizes(StringRef file) {
for (object::Archive::child_iterator i = UA->child_begin(),
e = UA->child_end();
i != e; ++i) {
- if (std::error_code EC = i->getError()) {
- errs() << ToolName << ": " << file << ": " << EC.message()
- << ".\n";
- break;
- }
- auto &c = i->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = c.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = i->getAsBinary();
if (std::error_code EC = ChildOrErr.getError()) {
errs() << ToolName << ": " << file << ": " << EC.message()
<< ".\n";
@@ -648,13 +630,7 @@ static void PrintFileSectionSizes(StringRef file) {
for (object::Archive::child_iterator i = UA->child_begin(),
e = UA->child_end();
i != e; ++i) {
- if (std::error_code EC = i->getError()) {
- errs() << ToolName << ": " << file << ": " << EC.message()
- << ".\n";
- break;
- }
- auto &c = i->get();
- ErrorOr<std::unique_ptr<Binary>> ChildOrErr = c.getAsBinary();
+ ErrorOr<std::unique_ptr<Binary>> ChildOrErr = i->getAsBinary();
if (std::error_code EC = ChildOrErr.getError()) {
errs() << ToolName << ": " << file << ": " << EC.message() << ".\n";
continue;
OpenPOWER on IntegriCloud