diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-12-09 21:05:36 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-12-09 21:05:36 +0000 |
commit | 0bfe828f7afb23d994317845d73c3eb4203acff8 (patch) | |
tree | d624234ab8efdc530243252b925213f502b18f6e /llvm/tools/llvm-objdump/MachODump.cpp | |
parent | 28737d8db99a7d7a14cdaeed6aeb28af7794f8e9 (diff) | |
download | bcm5719-llvm-0bfe828f7afb23d994317845d73c3eb4203acff8.tar.gz bcm5719-llvm-0bfe828f7afb23d994317845d73c3eb4203acff8.zip |
Return ErrorOr<std::unique_ptr<Archive>> form getAsArchive.
This is the same return type of Archive::create.
llvm-svn: 223827
Diffstat (limited to 'llvm/tools/llvm-objdump/MachODump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/MachODump.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp index 1539fc13419..c07fa3fcbec 100644 --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -340,7 +340,6 @@ void llvm::DisassembleInputMachO(StringRef Filename) { ArchFound = true; ErrorOr<std::unique_ptr<ObjectFile>> ObjOrErr = I->getAsObjectFile(); - std::unique_ptr<Archive> A; std::string ArchitectureName = ""; if (ArchFlags.size() > 1) ArchitectureName = I->getArchTypeName(); @@ -348,7 +347,9 @@ void llvm::DisassembleInputMachO(StringRef Filename) { ObjectFile &O = *ObjOrErr.get(); if (MachOObjectFile *MachOOF = dyn_cast<MachOObjectFile>(&O)) DisassembleInputMachO2(Filename, MachOOF, "", ArchitectureName); - } else if (!I->getAsArchive(A)) { + } else if (ErrorOr<std::unique_ptr<Archive>> AOrErr = + I->getAsArchive()) { + std::unique_ptr<Archive> &A = *AOrErr; outs() << "Archive : " << Filename; if (!ArchitectureName.empty()) outs() << " (architecture " << ArchitectureName << ")"; @@ -384,14 +385,15 @@ void llvm::DisassembleInputMachO(StringRef Filename) { I != E; ++I) { if (HostArchName == I->getArchTypeName()) { ErrorOr<std::unique_ptr<ObjectFile>> ObjOrErr = I->getAsObjectFile(); - std::unique_ptr<Archive> A; std::string ArchiveName; ArchiveName.clear(); if (ObjOrErr) { ObjectFile &O = *ObjOrErr.get(); if (MachOObjectFile *MachOOF = dyn_cast<MachOObjectFile>(&O)) DisassembleInputMachO2(Filename, MachOOF); - } else if (!I->getAsArchive(A)) { + } else if (ErrorOr<std::unique_ptr<Archive>> AOrErr = + I->getAsArchive()) { + std::unique_ptr<Archive> &A = *AOrErr; outs() << "Archive : " << Filename << "\n"; for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end(); @@ -415,7 +417,6 @@ void llvm::DisassembleInputMachO(StringRef Filename) { E = UB->end_objects(); I != E; ++I) { ErrorOr<std::unique_ptr<ObjectFile>> ObjOrErr = I->getAsObjectFile(); - std::unique_ptr<Archive> A; std::string ArchitectureName = ""; if (moreThanOneArch) ArchitectureName = I->getArchTypeName(); @@ -423,7 +424,8 @@ void llvm::DisassembleInputMachO(StringRef Filename) { ObjectFile &Obj = *ObjOrErr.get(); if (MachOObjectFile *MachOOF = dyn_cast<MachOObjectFile>(&Obj)) DisassembleInputMachO2(Filename, MachOOF, "", ArchitectureName); - } else if (!I->getAsArchive(A)) { + } else if (ErrorOr<std::unique_ptr<Archive>> AOrErr = I->getAsArchive()) { + std::unique_ptr<Archive> &A = *AOrErr; outs() << "Archive : " << Filename; if (!ArchitectureName.empty()) outs() << " (architecture " << ArchitectureName << ")"; |