diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-01 14:31:55 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-01 14:31:55 +0000 |
commit | 9aa0b5e11e4827c21883e2054600968db8d6a54d (patch) | |
tree | ecc45b4420ca070db57cf17dd2bce935c37b9ad9 /tools/llvm-ar | |
parent | a36429f26d0b7a8eccdb27c649baa58926881cd8 (diff) |
Remove some calls to std::move.
Instead of moving out the data in a ErrorOr<std::unique_ptr<Foo>>, get
a reference to it.
Thanks to David Blaikie for the suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214516 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-ar')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 3d5482df9de..3d87597f39b 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -703,7 +703,7 @@ writeSymbolTable(raw_fd_ostream &Out, ArrayRef<NewArchiveIterator> Members, MemberBuffer, sys::fs::file_magic::unknown, &Context); if (!ObjOrErr) continue; // FIXME: check only for "not an object file" errors. - std::unique_ptr<object::SymbolicFile> Obj = std::move(ObjOrErr.get()); + object::SymbolicFile &Obj = *ObjOrErr.get(); if (!StartOffset) { printMemberHeader(Out, "", sys::TimeValue::now(), 0, 0, 0, 0); @@ -711,7 +711,7 @@ writeSymbolTable(raw_fd_ostream &Out, ArrayRef<NewArchiveIterator> Members, print32BE(Out, 0); } - for (const object::BasicSymbolRef &S : Obj->symbols()) { + for (const object::BasicSymbolRef &S : Obj.symbols()) { uint32_t Symflags = S.getFlags(); if (Symflags & object::SymbolRef::SF_FormatSpecific) continue; @@ -725,7 +725,7 @@ writeSymbolTable(raw_fd_ostream &Out, ArrayRef<NewArchiveIterator> Members, MemberOffsetRefs.push_back(std::make_pair(Out.tell(), MemberNum)); print32BE(Out, 0); } - MemberBuffer.reset(Obj->releaseBuffer()); + MemberBuffer.reset(Obj.releaseBuffer()); } Out << NameOS.str(); @@ -763,7 +763,7 @@ static void performWriteOperation(ArchiveOperation Operation, MemberBuffers.resize(NewMembers.size()); for (unsigned I = 0, N = NewMembers.size(); I < N; ++I) { - std::unique_ptr<MemoryBuffer> MemberBuffer; + std::unique_ptr<MemoryBuffer> &MemberBuffer = MemberBuffers[I]; NewArchiveIterator &Member = NewMembers[I]; if (Member.isNewMember()) { @@ -781,7 +781,6 @@ static void performWriteOperation(ArchiveOperation Operation, failIfError(MemberBufferOrErr.getError()); MemberBuffer = std::move(MemberBufferOrErr.get()); } - MemberBuffers[I].reset(MemberBuffer.release()); } if (Symtab) { |