summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/FileArchive.cpp
diff options
context:
space:
mode:
authorAhmed Charles <ahmedcharles@gmail.com>2014-03-13 16:20:38 +0000
committerAhmed Charles <ahmedcharles@gmail.com>2014-03-13 16:20:38 +0000
commit13c70b6d4bc0103ee0eca170d44bdb183328a5b5 (patch)
tree7cf82b2fcb802d76e3e5acfc83709e7b8299166c /lld/lib/ReaderWriter/FileArchive.cpp
parent445a939db82713007c9b532144a405f05a587c52 (diff)
downloadbcm5719-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.cpp17
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());
OpenPOWER on IntegriCloud