diff options
author | Ahmed Charles <ahmedcharles@gmail.com> | 2014-03-13 16:20:38 +0000 |
---|---|---|
committer | Ahmed Charles <ahmedcharles@gmail.com> | 2014-03-13 16:20:38 +0000 |
commit | 13c70b6d4bc0103ee0eca170d44bdb183328a5b5 (patch) | |
tree | 7cf82b2fcb802d76e3e5acfc83709e7b8299166c /lld/lib/ReaderWriter/FileArchive.cpp | |
parent | 445a939db82713007c9b532144a405f05a587c52 (diff) | |
download | bcm5719-llvm-13c70b6d4bc0103ee0eca170d44bdb183328a5b5.tar.gz bcm5719-llvm-13c70b6d4bc0103ee0eca170d44bdb183328a5b5.zip |
Replace OwningPtr with std::unique_ptr.
This results in some simplifications to the code where an OwningPtr had to
be used with the previous api and then ownership moved to a unique_ptr for
the rest of lld.
llvm-svn: 203809
Diffstat (limited to 'lld/lib/ReaderWriter/FileArchive.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/FileArchive.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lld/lib/ReaderWriter/FileArchive.cpp b/lld/lib/ReaderWriter/FileArchive.cpp index a486ffb9c93..1749ed48d4e 100644 --- a/lld/lib/ReaderWriter/FileArchive.cpp +++ b/lld/lib/ReaderWriter/FileArchive.cpp @@ -11,7 +11,6 @@ #include "lld/Core/LLVM.h" #include "llvm/ADT/Hashing.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" #include "llvm/Object/Archive.h" #include "llvm/Object/ObjectFile.h" @@ -19,6 +18,7 @@ #include "llvm/Support/Format.h" #include "llvm/Support/MemoryBuffer.h" +#include <memory> #include <set> #include <unordered_map> @@ -51,10 +51,10 @@ public: return nullptr; if (dataSymbolOnly) { - OwningPtr<MemoryBuffer> buff; + std::unique_ptr<MemoryBuffer> buff; if (ci->getMemoryBuffer(buff, true)) return nullptr; - if (isDataSymbol(buff.take(), name)) + if (isDataSymbol(std::move(buff), name)) return nullptr; } @@ -101,20 +101,19 @@ protected: error_code instantiateMember(Archive::child_iterator member, std::vector<std::unique_ptr<File>> &result) const { - OwningPtr<MemoryBuffer> buff; - if (error_code ec = member->getMemoryBuffer(buff, true)) + std::unique_ptr<MemoryBuffer> mb; + if (error_code ec = member->getMemoryBuffer(mb, true)) return ec; if (_logLoading) - llvm::outs() << buff->getBufferIdentifier() << "\n"; - std::unique_ptr<MemoryBuffer> mb(buff.take()); + llvm::outs() << mb->getBufferIdentifier() << "\n"; _registry.parseFile(mb, result); const char *memberStart = member->getBuffer().data(); _membersInstantiated.insert(memberStart); return error_code::success(); } - error_code isDataSymbol(MemoryBuffer *mb, StringRef symbol) const { - auto objOrErr(ObjectFile::createObjectFile(mb)); + error_code isDataSymbol(std::unique_ptr<MemoryBuffer> mb, StringRef symbol) const { + auto objOrErr(ObjectFile::createObjectFile(mb.release())); if (auto ec = objOrErr.getError()) return ec; std::unique_ptr<ObjectFile> obj(objOrErr.get()); |