summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/IRObjectFile.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-06-24 13:56:32 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-06-24 13:56:32 +0000
commit2e60ca964ccb6a8531559238b28658e1aa4b0d75 (patch)
tree5842ce349e814931985e4734f521de90e0b90913 /llvm/lib/Object/IRObjectFile.cpp
parente8b1f91afb850bdfcd4770caeb6ff9897c33ccbe (diff)
downloadbcm5719-llvm-2e60ca964ccb6a8531559238b28658e1aa4b0d75.tar.gz
bcm5719-llvm-2e60ca964ccb6a8531559238b28658e1aa4b0d75.zip
Pass a unique_ptr<MemoryBuffer> to the constructors in the Binary hierarchy.
Once the objects are constructed, they own the buffer. Passing a unique_ptr makes that clear. llvm-svn: 211595
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
-rw-r--r--llvm/lib/Object/IRObjectFile.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/lib/Object/IRObjectFile.cpp b/llvm/lib/Object/IRObjectFile.cpp
index ef544aa13b5..f20ce6cf665 100644
--- a/llvm/lib/Object/IRObjectFile.cpp
+++ b/llvm/lib/Object/IRObjectFile.cpp
@@ -17,14 +17,15 @@
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/Object/IRObjectFile.h"
+#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
using namespace object;
-IRObjectFile::IRObjectFile(MemoryBuffer *Object, std::error_code &EC,
- LLVMContext &Context)
- : SymbolicFile(Binary::ID_IR, Object) {
- ErrorOr<Module *> MOrErr = getLazyBitcodeModule(Object, Context);
+IRObjectFile::IRObjectFile(std::unique_ptr<MemoryBuffer> Object,
+ std::error_code &EC, LLVMContext &Context)
+ : SymbolicFile(Binary::ID_IR, std::move(Object)) {
+ ErrorOr<Module *> MOrErr = getLazyBitcodeModule(Data.get(), Context);
if ((EC = MOrErr.getError()))
return;
@@ -153,11 +154,11 @@ basic_symbol_iterator IRObjectFile::symbol_end_impl() const {
return basic_symbol_iterator(BasicSymbolRef(Ret, this));
}
-ErrorOr<SymbolicFile *>
-llvm::object::SymbolicFile::createIRObjectFile(MemoryBuffer *Object,
- LLVMContext &Context) {
+ErrorOr<SymbolicFile *> llvm::object::SymbolicFile::createIRObjectFile(
+ std::unique_ptr<MemoryBuffer> Object, LLVMContext &Context) {
std::error_code EC;
- std::unique_ptr<IRObjectFile> Ret(new IRObjectFile(Object, EC, Context));
+ std::unique_ptr<IRObjectFile> Ret(
+ new IRObjectFile(std::move(Object), EC, Context));
if (EC)
return EC;
return Ret.release();
OpenPOWER on IntegriCloud