summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-08-13 00:31:46 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-08-13 00:31:46 +0000
commitbdc8f2fb83706d8e38b8c879194ebba772e1f17c (patch)
treea71e306fbb89c17915085a8a3fbe24087569fd4a
parent169284a67b1632a161e4970d06f2636cccb9005c (diff)
downloadbcm5719-llvm-bdc8f2fb83706d8e38b8c879194ebba772e1f17c.tar.gz
bcm5719-llvm-bdc8f2fb83706d8e38b8c879194ebba772e1f17c.zip
Update for llvm api change.
llvm-svn: 244849
-rw-r--r--lld/COFF/Writer.cpp7
-rw-r--r--lld/ELF/Writer.cpp7
-rw-r--r--lld/lib/ReaderWriter/ELF/OutputELFWriter.cpp9
-rw-r--r--lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp11
4 files changed, 19 insertions, 15 deletions
diff --git a/lld/COFF/Writer.cpp b/lld/COFF/Writer.cpp
index abb72f10888..e10ac9d87b8 100644
--- a/lld/COFF/Writer.cpp
+++ b/lld/COFF/Writer.cpp
@@ -688,9 +688,10 @@ template <typename PEHeaderTy> void Writer::writeHeader() {
}
void Writer::openFile(StringRef Path) {
- std::error_code EC = FileOutputBuffer::create(Path, FileSize, Buffer,
- FileOutputBuffer::F_executable);
- error(EC, Twine("failed to open ") + Path);
+ ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
+ FileOutputBuffer::create(Path, FileSize, FileOutputBuffer::F_executable);
+ error(BufferOrErr, Twine("failed to open ") + Path);
+ Buffer = std::move(*BufferOrErr);
}
void Writer::fixSafeSEHSymbols() {
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 6c38c80d834..2f435101b3b 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -255,9 +255,10 @@ template <class ELFT> void Writer<ELFT>::writeHeader() {
}
template <class ELFT> void Writer<ELFT>::openFile(StringRef Path) {
- std::error_code EC = FileOutputBuffer::create(Path, FileSize, Buffer,
- FileOutputBuffer::F_executable);
- error(EC, Twine("failed to open ") + Path);
+ ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
+ FileOutputBuffer::create(Path, FileSize, FileOutputBuffer::F_executable);
+ error(BufferOrErr, Twine("failed to open ") + Path);
+ Buffer = std::move(*BufferOrErr);
}
// Write section contents to a mmap'ed file.
diff --git a/lld/lib/ReaderWriter/ELF/OutputELFWriter.cpp b/lld/lib/ReaderWriter/ELF/OutputELFWriter.cpp
index 78729393393..5d1addd304b 100644
--- a/lld/lib/ReaderWriter/ELF/OutputELFWriter.cpp
+++ b/lld/lib/ReaderWriter/ELF/OutputELFWriter.cpp
@@ -422,11 +422,14 @@ template <class ELFT> uint64_t OutputELFWriter<ELFT>::outputFileSize() const {
template <class ELFT>
std::error_code OutputELFWriter<ELFT>::writeOutput(const File &file,
StringRef path) {
- std::unique_ptr<FileOutputBuffer> buffer;
+
ScopedTask createOutputTask(getDefaultDomain(), "ELF Writer Create Output");
- if (std::error_code ec = FileOutputBuffer::create(
- path, outputFileSize(), buffer, FileOutputBuffer::F_executable))
+ ErrorOr<std::unique_ptr<FileOutputBuffer>> bufferOrErr =
+ FileOutputBuffer::create(path, outputFileSize(),
+ FileOutputBuffer::F_executable);
+ if (std::error_code ec = bufferOrErr.getError())
return ec;
+ std::unique_ptr<FileOutputBuffer> &buffer = *bufferOrErr;
createOutputTask.end();
ScopedTask writeTask(getDefaultDomain(), "ELF Writer write to memory");
diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp
index 550051871b7..908945d7f8a 100644
--- a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp
+++ b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp
@@ -1309,19 +1309,18 @@ std::error_code MachOFileLayout::writeBinary(StringRef path) {
if (_ec)
return _ec;
// Create FileOutputBuffer with calculated size.
- std::unique_ptr<llvm::FileOutputBuffer> fob;
unsigned flags = 0;
if (_file.fileType != llvm::MachO::MH_OBJECT)
flags = llvm::FileOutputBuffer::F_executable;
- std::error_code ec;
- ec = llvm::FileOutputBuffer::create(path, size(), fob, flags);
- if (ec)
+ ErrorOr<std::unique_ptr<llvm::FileOutputBuffer>> fobOrErr =
+ llvm::FileOutputBuffer::create(path, size(), flags);
+ if (std::error_code ec = fobOrErr.getError())
return ec;
-
+ std::unique_ptr<llvm::FileOutputBuffer> &fob = *fobOrErr;
// Write content.
_buffer = fob->getBufferStart();
writeMachHeader();
- ec = writeLoadCommands();
+ std::error_code ec = writeLoadCommands();
if (ec)
return ec;
writeSectionContent();
OpenPOWER on IntegriCloud