[lld] r235741 - Return an ErrorOr<std::unique_ptr<File>>. NFC.
Rafael Espindola
rafael.espindola at gmail.com
Fri Apr 24 11:33:51 PDT 2015
Author: rafael
Date: Fri Apr 24 13:33:50 2015
New Revision: 235741
URL: http://llvm.org/viewvc/llvm-project?rev=235741&view=rev
Log:
Return an ErrorOr<std::unique_ptr<File>>. NFC.
Modified:
lld/trunk/include/lld/Core/Reader.h
lld/trunk/lib/Core/Reader.cpp
lld/trunk/lib/ReaderWriter/ELF/ELFReader.h
lld/trunk/lib/ReaderWriter/FileArchive.cpp
lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
Modified: lld/trunk/include/lld/Core/Reader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/Reader.h?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/Reader.h (original)
+++ lld/trunk/include/lld/Core/Reader.h Fri Apr 24 13:33:50 2015
@@ -51,9 +51,8 @@ public:
/// \brief Parse a supplied buffer (already filled with the contents of a
/// file) and create a File object.
/// The resulting File object takes ownership of the MemoryBuffer.
- virtual std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const class Registry &,
- std::unique_ptr<File> &result) const = 0;
+ virtual ErrorOr<std::unique_ptr<File>>
+ loadFile(std::unique_ptr<MemoryBuffer> mb, const class Registry &) const = 0;
};
Modified: lld/trunk/lib/Core/Reader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/Reader.cpp?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/Core/Reader.cpp (original)
+++ lld/trunk/lib/Core/Reader.cpp Fri Apr 24 13:33:50 2015
@@ -38,8 +38,11 @@ std::error_code Registry::loadFile(std::
for (const std::unique_ptr<Reader> &reader : _readers) {
if (!reader->canParse(fileType, *mb))
continue;
- if (std::error_code ec = reader->loadFile(std::move(mb), *this, result))
+ ErrorOr<std::unique_ptr<File>> fileOrErr =
+ reader->loadFile(std::move(mb), *this);
+ if (std::error_code ec = fileOrErr.getError())
return ec;
+ result = std::move(fileOrErr.get());
return std::error_code();
}
Modified: lld/trunk/lib/ReaderWriter/ELF/ELFReader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFReader.h?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ELFReader.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ELFReader.h Fri Apr 24 13:33:50 2015
@@ -28,13 +28,13 @@ public:
return FileT::canParse(magic);
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const class Registry &,
- std::unique_ptr<File> &result) const override {
+ ErrorOr<std::unique_ptr<File>>
+ loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const class Registry &) const override {
if (std::error_code ec = FileT::isCompatible(*mb, _ctx))
return ec;
- result = llvm::make_unique<FileT>(std::move(mb), _ctx);
- return std::error_code();
+ std::unique_ptr<File> ret = llvm::make_unique<FileT>(std::move(mb), _ctx);
+ return std::move(ret);
}
private:
Modified: lld/trunk/lib/ReaderWriter/FileArchive.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/FileArchive.cpp?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/FileArchive.cpp (original)
+++ lld/trunk/lib/ReaderWriter/FileArchive.cpp Fri Apr 24 13:33:50 2015
@@ -267,13 +267,12 @@ public:
return magic == llvm::sys::fs::file_magic::archive;
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const Registry ®,
- std::unique_ptr<File> &result) const override {
+ ErrorOr<std::unique_ptr<File>> loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const Registry ®) const override {
StringRef path = mb->getBufferIdentifier();
- result =
+ std::unique_ptr<File> ret =
llvm::make_unique<FileArchive>(std::move(mb), reg, path, _logLoading);
- return std::error_code();
+ return std::move(ret);
}
private:
Modified: lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp Fri Apr 24 13:33:50 2015
@@ -522,11 +522,12 @@ public:
mb.getBufferSize() > 32);
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const Registry ®istry,
- std::unique_ptr<File> &result) const override {
- result = llvm::make_unique<MachOFile>(std::move(mb), &_ctx);
- return std::error_code();
+ ErrorOr<std::unique_ptr<File>>
+ loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const Registry ®istry) const override {
+ std::unique_ptr<File> ret =
+ llvm::make_unique<MachOFile>(std::move(mb), &_ctx);
+ return std::move(ret);
}
private:
@@ -547,11 +548,12 @@ public:
}
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const Registry ®istry,
- std::unique_ptr<File> &result) const override {
- result = llvm::make_unique<MachODylibFile>(std::move(mb), &_ctx);
- return std::error_code();
+ ErrorOr<std::unique_ptr<File>>
+ loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const Registry ®istry) const override {
+ std::unique_ptr<File> ret =
+ llvm::make_unique<MachODylibFile>(std::move(mb), &_ctx);
+ return std::move(ret);
}
private:
Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Fri Apr 24 13:33:50 2015
@@ -1052,11 +1052,12 @@ public:
return magic == llvm::sys::fs::file_magic::coff_object;
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &,
- std::unique_ptr<File> &result) const override {
+ ErrorOr<std::unique_ptr<File>> loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const Registry &) const override {
// Parse the memory buffer as PECOFF file.
- result = llvm::make_unique<FileCOFF>(std::move(mb), _ctx);
- return std::error_code();
+ std::unique_ptr<File> ret =
+ llvm::make_unique<FileCOFF>(std::move(mb), _ctx);
+ return std::move(ret);
}
private:
Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp Fri Apr 24 13:33:50 2015
@@ -367,12 +367,12 @@ public:
return magic == llvm::sys::fs::file_magic::coff_import_library;
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const class Registry &,
- std::unique_ptr<File> &result) const override {
- result = llvm::make_unique<FileImportLibrary>(std::move(mb),
- _ctx.getMachineType());
- return std::error_code();
+ ErrorOr<std::unique_ptr<File>>
+ loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const class Registry &) const override {
+ std::unique_ptr<File> ret = llvm::make_unique<FileImportLibrary>(
+ std::move(mb), _ctx.getMachineType());
+ return std::move(ret);
}
private:
Modified: lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp?rev=235741&r1=235740&r2=235741&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp (original)
+++ lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp Fri Apr 24 13:33:50 2015
@@ -1294,9 +1294,9 @@ public:
return ext.equals(".objtxt") || ext.equals(".yaml");
}
- std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
- const class Registry &,
- std::unique_ptr<File> &result) const override {
+ ErrorOr<std::unique_ptr<File>>
+ loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const class Registry &) const override {
// Create YAML Input Reader.
YamlContext yamlContext;
yamlContext._registry = &_registry;
@@ -1318,8 +1318,7 @@ public:
File *f = const_cast<File *>(file);
f->setLastError(std::error_code());
f->setSharedMemoryBuffer(smb);
- result = std::unique_ptr<File>(f);
- return make_error_code(lld::YamlReaderError::success);
+ return std::unique_ptr<File>(f);
}
private:
More information about the llvm-commits
mailing list