summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objdump/llvm-objdump.h
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2016-05-31 20:35:34 +0000
committerKevin Enderby <enderby@apple.com>2016-05-31 20:35:34 +0000
commit9acb109930dd2584438f0d985a964ac3924faf0e (patch)
treee89a92630b53f358afe577b135a911fb57f315bd /llvm/tools/llvm-objdump/llvm-objdump.h
parent87ea3b05b9d1cc1f7512b53b191f265a93b1ec01 (diff)
downloadbcm5719-llvm-9acb109930dd2584438f0d985a964ac3924faf0e.tar.gz
bcm5719-llvm-9acb109930dd2584438f0d985a964ac3924faf0e.zip
Change llvm-objdump, llvm-nm and llvm-size when reporting an object file error
when the object is from a slice of a Mach-O Universal Binary use something like "foo.o (for architecture i386)" as part of the error message when expected. Also fixed places in these tools that were ignoring object file errors from MachOUniversalBinary::getAsObjectFile() when the code moved on to see if the slice was an archive. To do this MachOUniversalBinary::getAsObjectFile() and MachOUniversalBinary::getObjectForArch() were changed from returning ErrorOr<...> to Expected<...> then that was threaded up to its users. Converting these interfaces to Expected<> from ErrorOr<> does involve touching a number of places. To contain the changes for now the use of errorToErrorCode() is still used in two places yet to be fully converted. llvm-svn: 271332
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.h')
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.h b/llvm/tools/llvm-objdump/llvm-objdump.h
index 51a600d9a04..439018963cb 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.h
+++ b/llvm/tools/llvm-objdump/llvm-objdump.h
@@ -86,15 +86,20 @@ void printRawClangAST(const object::ObjectFile *o);
void PrintRelocations(const object::ObjectFile *o);
void PrintSectionHeaders(const object::ObjectFile *o);
void PrintSectionContents(const object::ObjectFile *o);
-void PrintSymbolTable(const object::ObjectFile *o, StringRef ArchiveName);
+void PrintSymbolTable(const object::ObjectFile *o, StringRef ArchiveName,
+ StringRef ArchitectureName = StringRef());
LLVM_ATTRIBUTE_NORETURN void report_error(StringRef File, std::error_code EC);
LLVM_ATTRIBUTE_NORETURN void report_error(StringRef File, llvm::Error E);
LLVM_ATTRIBUTE_NORETURN void report_error(StringRef FileName,
StringRef ArchiveName,
- llvm::Error E);
+ llvm::Error E,
+ StringRef ArchitectureName
+ = StringRef());
LLVM_ATTRIBUTE_NORETURN void report_error(StringRef ArchiveName,
const object::Archive::Child &C,
- llvm::Error E);
+ llvm::Error E,
+ StringRef ArchitectureName
+ = StringRef());
} // end namespace llvm
OpenPOWER on IntegriCloud