diff options
Diffstat (limited to 'lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp')
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp index bac41d2a52bf..7ef0237e8c36 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp +++ b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp @@ -23,8 +23,8 @@ #include "MachONormalizedFile.h" #include "MachONormalizedFileBinaryUtils.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" @@ -1523,10 +1523,10 @@ llvm::Error MachOFileLayout::writeBinary(StringRef path) { unsigned flags = 0; if (_file.fileType != llvm::MachO::MH_OBJECT) flags = llvm::FileOutputBuffer::F_executable; - ErrorOr<std::unique_ptr<llvm::FileOutputBuffer>> fobOrErr = + Expected<std::unique_ptr<llvm::FileOutputBuffer>> fobOrErr = llvm::FileOutputBuffer::create(path, size(), flags); - if (std::error_code ec = fobOrErr.getError()) - return llvm::errorCodeToError(ec); + if (Error E = fobOrErr.takeError()) + return E; std::unique_ptr<llvm::FileOutputBuffer> &fob = *fobOrErr; // Write content. _buffer = fob->getBufferStart(); @@ -1535,7 +1535,8 @@ llvm::Error MachOFileLayout::writeBinary(StringRef path) { return ec; writeSectionContent(); writeLinkEditContent(); - fob->commit(); + if (Error E = fob->commit()) + return E; return llvm::Error::success(); } |