summaryrefslogtreecommitdiffstats
path: root/llvm/tools/obj2yaml/macho2yaml.cpp
diff options
context:
space:
mode:
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