diff options
Diffstat (limited to 'llvm/tools/obj2yaml/macho2yaml.cpp')
-rw-r--r-- | llvm/tools/obj2yaml/macho2yaml.cpp | 26 |
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; } |