mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Return an ErrorOr<Binary *> from createBinary.
I did write a version returning ErrorOr<OwningPtr<Binary> >, but it is too cumbersome to use without std::move. I will keep the patch locally and submit when we switch to c++11. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199326 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -187,9 +187,10 @@ error_code Archive::Child::getAsBinary(OwningPtr<Binary> &Result) const {
|
||||
OwningPtr<MemoryBuffer> Buff;
|
||||
if (error_code ec = getMemoryBuffer(Buff))
|
||||
return ec;
|
||||
if (error_code ec = createBinary(Buff.take(), ret))
|
||||
return ec;
|
||||
Result.swap(ret);
|
||||
ErrorOr<Binary *> BinaryOrErr = createBinary(Buff.take());
|
||||
if (error_code EC = BinaryOrErr.getError())
|
||||
return EC;
|
||||
Result.reset(BinaryOrErr.get());
|
||||
return object_error::success;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user