diff options
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/MachOObjectFile.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index 50f0dd3dc4e..864d76f7112 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -2421,21 +2421,18 @@ bool MachOObjectFile::isRelocatableObject() const { return getHeader().filetype == MachO::MH_OBJECT; } -ErrorOr<std::unique_ptr<MachOObjectFile>> +Expected<std::unique_ptr<MachOObjectFile>> ObjectFile::createMachOObjectFile(MemoryBufferRef Buffer) { StringRef Magic = Buffer.getBuffer().slice(0, 4); if (Magic == "\xFE\xED\xFA\xCE") - return expectedToErrorOr( - MachOObjectFile::create(Buffer, false, false)); + return MachOObjectFile::create(Buffer, false, false); else if (Magic == "\xCE\xFA\xED\xFE") - return expectedToErrorOr( - MachOObjectFile::create(Buffer, true, false)); + return MachOObjectFile::create(Buffer, true, false); else if (Magic == "\xFE\xED\xFA\xCF") - return expectedToErrorOr( - MachOObjectFile::create(Buffer, false, true)); + return MachOObjectFile::create(Buffer, false, true); else if (Magic == "\xCF\xFA\xED\xFE") - return expectedToErrorOr( - MachOObjectFile::create(Buffer, true, true)); + return MachOObjectFile::create(Buffer, true, true); //else - return object_error::parse_failed; + return malformedError(Buffer.getBufferIdentifier(), + "Unrecognized MachO magic number"); } |