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:
Rafael Espindola
2014-06-23 22:00:37 +00:00
parent 20732d55c2
commit b138caba43
16 changed files with 68 additions and 53 deletions

View File

@ -203,7 +203,7 @@ void llvm::DisassembleInputMachO(StringRef Filename) {
}
std::unique_ptr<MachOObjectFile> MachOOF(static_cast<MachOObjectFile *>(
ObjectFile::createMachOObjectFile(Buff.release()).get()));
ObjectFile::createMachOObjectFile(Buff).get()));
DisassembleInputMachO2(Filename, MachOOF.get());
}
@ -293,7 +293,7 @@ static void DisassembleInputMachO2(StringRef Filename,
errs() << "llvm-objdump: " << Filename << ": " << ec.message() << '\n';
return;
}
DbgObj = ObjectFile::createMachOObjectFile(Buf.release()).get();
DbgObj = ObjectFile::createMachOObjectFile(Buf).get();
}
// Setup the DIContext