unique_ptrify IRObjectFile::createIRObjectFile

I took a guess at the changes to the gold plugin, because that doesn't
seem to build by default for me. Not sure what dependencies I might be
missing for that.

llvm-svn: 217056
This commit is contained in:
David Blaikie 2014-09-03 17:59:23 +00:00
parent 94e46f3eb8
commit 10a27df8ff
4 changed files with 7 additions and 8 deletions

View File

@ -49,8 +49,8 @@ public:
return v->isIR(); return v->isIR();
} }
static ErrorOr<IRObjectFile *> createIRObjectFile(MemoryBufferRef Object, static ErrorOr<std::unique_ptr<IRObjectFile>>
LLVMContext &Context); createIRObjectFile(MemoryBufferRef Object, LLVMContext &Context);
}; };
} }
} }

View File

@ -264,7 +264,7 @@ basic_symbol_iterator IRObjectFile::symbol_end_impl() const {
return basic_symbol_iterator(BasicSymbolRef(Ret, this)); return basic_symbol_iterator(BasicSymbolRef(Ret, this));
} }
ErrorOr<IRObjectFile *> ErrorOr<std::unique_ptr<IRObjectFile>>
llvm::object::IRObjectFile::createIRObjectFile(MemoryBufferRef Object, llvm::object::IRObjectFile::createIRObjectFile(MemoryBufferRef Object,
LLVMContext &Context) { LLVMContext &Context) {
@ -275,5 +275,5 @@ llvm::object::IRObjectFile::createIRObjectFile(MemoryBufferRef Object,
return EC; return EC;
std::unique_ptr<Module> M(MOrErr.get()); std::unique_ptr<Module> M(MOrErr.get());
return new IRObjectFile(Object, std::move(M)); return llvm::make_unique<IRObjectFile>(Object, std::move(M));
} }

View File

@ -33,8 +33,7 @@ ErrorOr<std::unique_ptr<SymbolicFile>> SymbolicFile::createSymbolicFile(
switch (Type) { switch (Type) {
case sys::fs::file_magic::bitcode: case sys::fs::file_magic::bitcode:
if (Context) if (Context)
return ErrorOr<std::unique_ptr<SymbolicFile>>( return IRObjectFile::createIRObjectFile(Object, *Context);
IRObjectFile::createIRObjectFile(Object, *Context));
// Fallthrough // Fallthrough
case sys::fs::file_magic::unknown: case sys::fs::file_magic::unknown:
case sys::fs::file_magic::archive: case sys::fs::file_magic::archive:

View File

@ -296,7 +296,7 @@ static ld_plugin_status claim_file_hook(const ld_plugin_input_file *file,
BufferRef = Buffer->getMemBufferRef(); BufferRef = Buffer->getMemBufferRef();
} }
ErrorOr<object::IRObjectFile *> ObjOrErr = ErrorOr<std::unique_ptr<object::IRObjectFile>> ObjOrErr =
object::IRObjectFile::createIRObjectFile(BufferRef, Context); object::IRObjectFile::createIRObjectFile(BufferRef, Context);
std::error_code EC = ObjOrErr.getError(); std::error_code EC = ObjOrErr.getError();
if (EC == BitcodeError::InvalidBitcodeSignature) if (EC == BitcodeError::InvalidBitcodeSignature)
@ -309,7 +309,7 @@ static ld_plugin_status claim_file_hook(const ld_plugin_input_file *file,
EC.message().c_str()); EC.message().c_str());
return LDPS_ERR; return LDPS_ERR;
} }
std::unique_ptr<object::IRObjectFile> Obj(ObjOrErr.get()); std::unique_ptr<object::IRObjectFile> Obj = std::move(*ObjOrErr);
Modules.resize(Modules.size() + 1); Modules.resize(Modules.size() + 1);
claimed_file &cf = Modules.back(); claimed_file &cf = Modules.back();