summaryrefslogtreecommitdiffstats
path: root/llvm/tools/obj2yaml/macho2yaml.cpp
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2016-05-12 01:52:33 +0000
committerChris Bieneman <beanz@apple.com>2016-05-12 01:52:33 +0000
commitde60ad33b37e19cbf73b53feed6428886d358f02 (patch)
treedebc8251e5d1c6a43bf33bd502318004fdad07f9 /llvm/tools/obj2yaml/macho2yaml.cpp
parent9926a5e31de0834d7a70bf1837777b94a72e5111 (diff)
downloadbcm5719-llvm-de60ad33b37e19cbf73b53feed6428886d358f02.tar.gz
bcm5719-llvm-de60ad33b37e19cbf73b53feed6428886d358f02.zip
[obj2yaml] Adding Error/Expected to macho2yaml
I figure if I'm adding Mach support I may as well use the new fancy Error model. llvm-svn: 269264
Diffstat (limited to 'llvm/tools/obj2yaml/macho2yaml.cpp')
-rw-r--r--llvm/tools/obj2yaml/macho2yaml.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/llvm/tools/obj2yaml/macho2yaml.cpp b/llvm/tools/obj2yaml/macho2yaml.cpp
index c3b972dcbe3..76f99c8dc36 100644
--- a/llvm/tools/obj2yaml/macho2yaml.cpp
+++ b/llvm/tools/obj2yaml/macho2yaml.cpp
@@ -14,22 +14,28 @@
using namespace llvm;
-std::error_code macho2yaml(raw_ostream &Out,
- const object::MachOObjectFile &Obj) {
- return obj2yaml_error::not_implemented;
+Error macho2yaml(raw_ostream &Out, const object::MachOObjectFile &Obj) {
+ return make_error<Obj2YamlError>(obj2yaml_error::not_implemented);
}
-std::error_code macho2yaml(raw_ostream &Out,
- const object::MachOUniversalBinary &Obj) {
- return obj2yaml_error::not_implemented;
+Error macho2yaml(raw_ostream &Out, const object::MachOUniversalBinary &Obj) {
+ return make_error<Obj2YamlError>(obj2yaml_error::not_implemented);
}
std::error_code macho2yaml(raw_ostream &Out, const object::ObjectFile &Obj) {
- if (const auto *MachOObj = dyn_cast<object::MachOUniversalBinary>(&Obj))
- return macho2yaml(Out, *MachOObj);
+ if (const auto *MachOObj = dyn_cast<object::MachOUniversalBinary>(&Obj)) {
+ if (auto Err = macho2yaml(Out, *MachOObj)) {
+ return errorToErrorCode(std::move(Err));
+ }
+ return obj2yaml_error::success;
+ }
- if (const auto *MachOObj = dyn_cast<object::MachOObjectFile>(&Obj))
- return macho2yaml(Out, *MachOObj);
+ if (const auto *MachOObj = dyn_cast<object::MachOObjectFile>(&Obj)) {
+ if (auto Err = macho2yaml(Out, *MachOObj)) {
+ return errorToErrorCode(std::move(Err));
+ }
+ return obj2yaml_error::success;
+ }
return obj2yaml_error::unsupported_obj_file_format;
}
OpenPOWER on IntegriCloud