mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Pass a std::unique_ptr& to the create??? methods is lib/Object.
This makes the buffer ownership on error conditions very natural. The buffer is only moved out of the argument if an object is constructed that now owns the buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211546 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -59,7 +59,9 @@ wrap(const relocation_iterator *SI) {
|
||||
|
||||
// ObjectFile creation
|
||||
LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf) {
|
||||
ErrorOr<ObjectFile*> ObjOrErr(ObjectFile::createObjectFile(unwrap(MemBuf)));
|
||||
std::unique_ptr<MemoryBuffer> Buf(unwrap(MemBuf));
|
||||
ErrorOr<ObjectFile *> ObjOrErr(ObjectFile::createObjectFile(Buf));
|
||||
Buf.release();
|
||||
ObjectFile *Obj = ObjOrErr ? ObjOrErr.get() : nullptr;
|
||||
return wrap(Obj);
|
||||
}
|
||||
|
Reference in New Issue
Block a user