summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ReaderArchive.cpp
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2013-04-05 21:08:30 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2013-04-05 21:08:30 +0000
commitce1e53e19c7b619f45c0d684656fa6e5d39eb574 (patch)
treebe649703ef832451c606b2beed73f183cd41f1ca /lld/lib/ReaderWriter/ReaderArchive.cpp
parent096ea03f312ad0eaefaf78609eb103d2d2adb566 (diff)
downloadbcm5719-llvm-ce1e53e19c7b619f45c0d684656fa6e5d39eb574.tar.gz
bcm5719-llvm-ce1e53e19c7b619f45c0d684656fa6e5d39eb574.zip
Correctly pass ownership of MemoryBuffers.
llvm-svn: 178914
Diffstat (limited to 'lld/lib/ReaderWriter/ReaderArchive.cpp')
-rw-r--r--lld/lib/ReaderWriter/ReaderArchive.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lld/lib/ReaderWriter/ReaderArchive.cpp b/lld/lib/ReaderWriter/ReaderArchive.cpp
index 1928e2fa0f7..c59a04de927 100644
--- a/lld/lib/ReaderWriter/ReaderArchive.cpp
+++ b/lld/lib/ReaderWriter/ReaderArchive.cpp
@@ -48,7 +48,7 @@ public:
if (_targetInfo.logInputFiles())
llvm::outs() << buff->getBufferIdentifier() << "\n";
std::unique_ptr<MemoryBuffer> mb(buff.take());
- if (_targetInfo.parseFile(mb, result))
+ if (_targetInfo.parseFile(std::move(mb), result))
return nullptr;
assert(result.size() == 1);
@@ -159,8 +159,9 @@ public:
// Returns a vector of Files that are contained in the archive file
// pointed to by the MemoryBuffer
-error_code ReaderArchive::parseFile(std::unique_ptr<llvm::MemoryBuffer> &mb,
- std::vector<std::unique_ptr<File>> &result) const {
+error_code
+ReaderArchive::parseFile(std::unique_ptr<llvm::MemoryBuffer> mb,
+ std::vector<std::unique_ptr<File>> &result) const {
error_code ec;
if (_targetInfo.forceLoadAllArchives()) {
@@ -176,7 +177,7 @@ error_code ReaderArchive::parseFile(std::unique_ptr<llvm::MemoryBuffer> &mb,
std::unique_ptr<MemoryBuffer> mbc(buff.take());
if (_targetInfo.logInputFiles())
llvm::outs() << buff->getBufferIdentifier() << "\n";
- if ((ec = _targetInfo.parseFile(mbc, result)))
+ if ((ec = _targetInfo.parseFile(std::move(mbc), result)))
return ec;
}
} else {
OpenPOWER on IntegriCloud