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 | 3f6481d0d31674dd3e3e772ffa4dc6df1c9fdb3d (patch) | |
tree | f539546983e5b8acd1d9764c03f3caa909043bc3 /llvm/tools/llvm-ar/llvm-ar.cpp | |
parent | 5d457dede903aa484a1b478ca73188818c6d8c7d (diff) | |
download | bcm5719-llvm-3f6481d0d31674dd3e3e772ffa4dc6df1c9fdb3d.tar.gz bcm5719-llvm-3f6481d0d31674dd3e3e772ffa4dc6df1c9fdb3d.zip |
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.
llvm-svn: 214516
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
-rw-r--r-- | llvm/tools/llvm-ar/llvm-ar.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp index 3d5482df9de..3d87597f39b 100644 --- a/llvm/tools/llvm-ar/llvm-ar.cpp +++ b/llvm/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) { |