diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-07-31 03:12:45 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-07-31 03:12:45 +0000 |
commit | 437b0d588703adbfb01e7c77ec8f40d85ddd573b (patch) | |
tree | f7e01d94b89564ba63da611328bf9fd32f0465a8 /llvm/lib | |
parent | db9552f4a4ca7cd8edf786037b2db948dfac1b1e (diff) | |
download | bcm5719-llvm-437b0d588703adbfb01e7c77ec8f40d85ddd573b.tar.gz bcm5719-llvm-437b0d588703adbfb01e7c77ec8f40d85ddd573b.zip |
Use std::unique_ptr to make the ownership explicit.
llvm-svn: 214377
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/DebugInfo/DWARFUnit.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h | 2 | ||||
-rw-r--r-- | llvm/lib/Object/Binary.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/Object/COFFObjectFile.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Object/ELFObjectFile.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Object/MachOObjectFile.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Object/Object.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/Object/ObjectFile.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/Object/SymbolicFile.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/ProfileData/CoverageMappingReader.cpp | 4 |
10 files changed, 24 insertions, 19 deletions
diff --git a/llvm/lib/DebugInfo/DWARFUnit.cpp b/llvm/lib/DebugInfo/DWARFUnit.cpp index 39d0a0ff5a4..4ec3bdd5823 100644 --- a/llvm/lib/DebugInfo/DWARFUnit.cpp +++ b/llvm/lib/DebugInfo/DWARFUnit.cpp @@ -260,12 +260,12 @@ bool DWARFUnit::parseDWO() { sys::path::append(AbsolutePath, CompilationDir); } sys::path::append(AbsolutePath, DWOFileName); - ErrorOr<object::ObjectFile *> DWOFile = + ErrorOr<std::unique_ptr<object::ObjectFile>> DWOFile = object::ObjectFile::createObjectFile(AbsolutePath); if (!DWOFile) return false; // Reset DWOHolder. - DWO.reset(new DWOHolder(DWOFile.get())); + DWO.reset(new DWOHolder(DWOFile.get().get())); DWARFUnit *DWOCU = DWO->getUnit(); // Verify that compile unit in .dwo file is valid. if (!DWOCU || DWOCU->getDWOId() != getDWOId()) { diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h b/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h index c3a21823bbc..51e39e32e7a 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h @@ -49,7 +49,7 @@ public: // FIXME: error checking? createObjectFile returns an ErrorOr<ObjectFile*> // and should probably be checked for failure. std::unique_ptr<MemoryBuffer> Buf(Buffer->getMemBuffer()); - ObjFile.reset(object::ObjectFile::createObjectFile(Buf).get()); + ObjFile = std::move(object::ObjectFile::createObjectFile(Buf).get()); } ObjectImageCommon(std::unique_ptr<object::ObjectFile> Input) : ObjectImage(nullptr), ObjFile(std::move(Input)) {} diff --git a/llvm/lib/Object/Binary.cpp b/llvm/lib/Object/Binary.cpp index 552d5db89c5..89e9d732ce9 100644 --- a/llvm/lib/Object/Binary.cpp +++ b/llvm/lib/Object/Binary.cpp @@ -38,8 +38,9 @@ StringRef Binary::getFileName() const { return Data->getBufferIdentifier(); } -ErrorOr<Binary *> object::createBinary(std::unique_ptr<MemoryBuffer> Buffer, - LLVMContext *Context) { +ErrorOr<std::unique_ptr<Binary>> +object::createBinary(std::unique_ptr<MemoryBuffer> Buffer, + LLVMContext *Context) { sys::fs::file_magic Type = sys::fs::identify_magic(Buffer->getBuffer()); switch (Type) { @@ -74,7 +75,7 @@ ErrorOr<Binary *> object::createBinary(std::unique_ptr<MemoryBuffer> Buffer, llvm_unreachable("Unexpected Binary File Type"); } -ErrorOr<Binary *> object::createBinary(StringRef Path) { +ErrorOr<std::unique_ptr<Binary>> object::createBinary(StringRef Path) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = MemoryBuffer::getFileOrSTDIN(Path); if (std::error_code EC = FileOrErr.getError()) diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index 46ef87d1568..5ba3b781c3f 100644 --- a/llvm/lib/Object/COFFObjectFile.cpp +++ b/llvm/lib/Object/COFFObjectFile.cpp @@ -1112,12 +1112,12 @@ ExportDirectoryEntryRef::getSymbolName(StringRef &Result) const { return object_error::success; } -ErrorOr<ObjectFile *> +ErrorOr<std::unique_ptr<COFFObjectFile>> ObjectFile::createCOFFObjectFile(std::unique_ptr<MemoryBuffer> Object) { std::error_code EC; std::unique_ptr<COFFObjectFile> Ret( new COFFObjectFile(std::move(Object), EC)); if (EC) return EC; - return Ret.release(); + return std::move(Ret); } diff --git a/llvm/lib/Object/ELFObjectFile.cpp b/llvm/lib/Object/ELFObjectFile.cpp index 4f0f60b6242..199ea35d9e7 100644 --- a/llvm/lib/Object/ELFObjectFile.cpp +++ b/llvm/lib/Object/ELFObjectFile.cpp @@ -17,7 +17,7 @@ namespace llvm { using namespace object; -ErrorOr<ObjectFile *> +ErrorOr<std::unique_ptr<ObjectFile>> ObjectFile::createELFObjectFile(std::unique_ptr<MemoryBuffer> &Obj) { std::pair<unsigned char, unsigned char> Ident = getElfArchType(Obj->getBuffer()); @@ -80,7 +80,7 @@ ObjectFile::createELFObjectFile(std::unique_ptr<MemoryBuffer> &Obj) { if (EC) return EC; - return R.release(); + return std::move(R); } } // end namespace llvm diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index fe5c29d873e..613364d52e5 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -1721,7 +1721,7 @@ void MachOObjectFile::ReadULEB128s(uint64_t Index, } } -ErrorOr<ObjectFile *> +ErrorOr<std::unique_ptr<MachOObjectFile>> ObjectFile::createMachOObjectFile(std::unique_ptr<MemoryBuffer> &Buffer) { StringRef Magic = Buffer->getBuffer().slice(0, 4); std::error_code EC; @@ -1739,6 +1739,6 @@ ObjectFile::createMachOObjectFile(std::unique_ptr<MemoryBuffer> &Buffer) { if (EC) return EC; - return Ret.release(); + return std::move(Ret); } diff --git a/llvm/lib/Object/Object.cpp b/llvm/lib/Object/Object.cpp index 567d87f7a0e..2b3861b4bdc 100644 --- a/llvm/lib/Object/Object.cpp +++ b/llvm/lib/Object/Object.cpp @@ -60,9 +60,10 @@ wrap(const relocation_iterator *SI) { // ObjectFile creation LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf) { std::unique_ptr<MemoryBuffer> Buf(unwrap(MemBuf)); - ErrorOr<ObjectFile *> ObjOrErr(ObjectFile::createObjectFile(Buf)); + ErrorOr<std::unique_ptr<ObjectFile>> ObjOrErr( + ObjectFile::createObjectFile(Buf)); Buf.release(); - ObjectFile *Obj = ObjOrErr ? ObjOrErr.get() : nullptr; + ObjectFile *Obj = ObjOrErr ? ObjOrErr.get().release() : nullptr; return wrap(Obj); } diff --git a/llvm/lib/Object/ObjectFile.cpp b/llvm/lib/Object/ObjectFile.cpp index f5488c6d52d..0e77541dec5 100644 --- a/llvm/lib/Object/ObjectFile.cpp +++ b/llvm/lib/Object/ObjectFile.cpp @@ -11,6 +11,8 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Object/COFF.h" +#include "llvm/Object/MachO.h" #include "llvm/Object/ObjectFile.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FileSystem.h" @@ -45,7 +47,7 @@ section_iterator ObjectFile::getRelocatedSection(DataRefImpl Sec) const { return section_iterator(SectionRef(Sec, this)); } -ErrorOr<ObjectFile *> +ErrorOr<std::unique_ptr<ObjectFile>> ObjectFile::createObjectFile(std::unique_ptr<MemoryBuffer> &Object, sys::fs::file_magic Type) { if (Type == sys::fs::file_magic::unknown) @@ -82,7 +84,8 @@ ObjectFile::createObjectFile(std::unique_ptr<MemoryBuffer> &Object, llvm_unreachable("Unexpected Object File Type"); } -ErrorOr<ObjectFile *> ObjectFile::createObjectFile(StringRef ObjectPath) { +ErrorOr<std::unique_ptr<ObjectFile>> +ObjectFile::createObjectFile(StringRef ObjectPath) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = MemoryBuffer::getFile(ObjectPath); if (std::error_code EC = FileOrErr.getError()) diff --git a/llvm/lib/Object/SymbolicFile.cpp b/llvm/lib/Object/SymbolicFile.cpp index 30cf1a03f41..790d5a75ba7 100644 --- a/llvm/lib/Object/SymbolicFile.cpp +++ b/llvm/lib/Object/SymbolicFile.cpp @@ -25,7 +25,7 @@ SymbolicFile::SymbolicFile(unsigned int Type, SymbolicFile::~SymbolicFile() {} -ErrorOr<SymbolicFile *> +ErrorOr<std::unique_ptr<SymbolicFile>> SymbolicFile::createSymbolicFile(std::unique_ptr<MemoryBuffer> &Object, sys::fs::file_magic Type, LLVMContext *Context) { diff --git a/llvm/lib/ProfileData/CoverageMappingReader.cpp b/llvm/lib/ProfileData/CoverageMappingReader.cpp index 75ade55e2ed..c58df0fc093 100644 --- a/llvm/lib/ProfileData/CoverageMappingReader.cpp +++ b/llvm/lib/ProfileData/CoverageMappingReader.cpp @@ -282,7 +282,7 @@ ObjectFileCoverageMappingReader::ObjectFileCoverageMappingReader( if (!File) error(File.getError()); else - Object.reset(File.get()); + Object = std::move(File.get()); } ObjectFileCoverageMappingReader::ObjectFileCoverageMappingReader( @@ -292,7 +292,7 @@ ObjectFileCoverageMappingReader::ObjectFileCoverageMappingReader( if (!File) error(File.getError()); else - Object.reset(File.get()); + Object = std::move(File.get()); } namespace { |