Update for llvm change.

llvm-svn: 317650
This commit is contained in:
Rafael Espindola 2017-11-08 01:05:52 +00:00
parent e0df357dbd
commit f7a57294d7
3 changed files with 8 additions and 7 deletions

View File

@ -81,5 +81,5 @@ void elf::unlinkAsync(StringRef Path) {
std::error_code elf::tryCreateFile(StringRef Path) {
if (Path.empty())
return std::error_code();
return FileOutputBuffer::create(Path, 1).getError();
return errorToErrorCode(FileOutputBuffer::create(Path, 1).takeError());
}

View File

@ -1798,12 +1798,13 @@ template <class ELFT> void Writer<ELFT>::openFile() {
}
unlinkAsync(Config->OutputFile);
ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
FileOutputBuffer::create(Config->OutputFile, FileSize,
FileOutputBuffer::F_executable);
if (auto EC = BufferOrErr.getError())
error("failed to open " + Config->OutputFile + ": " + EC.message());
if (!BufferOrErr)
error("failed to open " + Config->OutputFile + ": " +
llvm::toString(BufferOrErr.takeError()));
else
Buffer = std::move(*BufferOrErr);
}

View File

@ -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();