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 | |
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')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 9 | ||||
-rw-r--r-- | tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp | 8 | ||||
-rw-r--r-- | tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 6 | ||||
-rw-r--r-- | tools/llvm-nm/llvm-nm.cpp | 28 | ||||
-rw-r--r-- | tools/llvm-objdump/llvm-objdump.cpp | 6 | ||||
-rw-r--r-- | tools/llvm-readobj/llvm-readobj.cpp | 6 | ||||
-rw-r--r-- | tools/llvm-size/llvm-size.cpp | 8 | ||||
-rw-r--r-- | tools/llvm-symbolizer/LLVMSymbolize.cpp | 2 | ||||
-rw-r--r-- | tools/llvm-vtabledump/llvm-vtabledump.cpp | 6 | ||||
-rw-r--r-- | tools/macho-dump/macho-dump.cpp | 4 | ||||
-rw-r--r-- | tools/obj2yaml/obj2yaml.cpp | 4 | ||||
-rw-r--r-- | tools/verify-uselistorder/verify-uselistorder.cpp | 4 |
12 files changed, 45 insertions, 46 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) { diff --git a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp index 63145c087a6..24ebbc1cb80 100644 --- a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp +++ b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp @@ -483,13 +483,13 @@ static int AnalyzeBitcode() { MemoryBuffer::getFileOrSTDIN(InputFilename); if (std::error_code EC = MemBufOrErr.getError()) return Error("Error reading '" + InputFilename + "': " + EC.message()); - std::unique_ptr<MemoryBuffer> MemBuf = std::move(MemBufOrErr.get()); + MemoryBuffer &MemBuf = *MemBufOrErr.get(); - if (MemBuf->getBufferSize() & 3) + if (MemBuf.getBufferSize() & 3) return Error("Bitcode stream should be a multiple of 4 bytes in length"); - const unsigned char *BufPtr = (const unsigned char *)MemBuf->getBufferStart(); - const unsigned char *EndBufPtr = BufPtr+MemBuf->getBufferSize(); + const unsigned char *BufPtr = (const unsigned char *)MemBuf.getBufferStart(); + const unsigned char *EndBufPtr = BufPtr+MemBuf.getBufferSize(); // If we have a wrapper header, parse it and ignore the non-bc file contents. // The magic number is 0x0B17C0DE stored in little endian. diff --git a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp index 33bb766f200..4e65d444fc8 100644 --- a/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ b/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -80,12 +80,12 @@ static void DumpInput(const StringRef &Filename) { errs() << Filename << ": " << EC.message() << '\n'; return; } - std::unique_ptr<ObjectFile> Obj = std::move(ObjOrErr.get()); + ObjectFile &Obj = *ObjOrErr.get(); - std::unique_ptr<DIContext> DICtx(DIContext::getDWARFContext(*Obj)); + std::unique_ptr<DIContext> DICtx(DIContext::getDWARFContext(Obj)); outs() << Filename - << ":\tfile format " << Obj->getFileFormatName() << "\n\n"; + << ":\tfile format " << Obj.getFileFormatName() << "\n\n"; // Dump the complete DWARF structure. DICtx->dump(outs(), DumpType); } diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index a16135e0c7f..d7014264086 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -1013,9 +1013,9 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { createBinary(std::move(*BufferOrErr), &Context); if (error(BinaryOrErr.getError(), Filename)) return; - std::unique_ptr<Binary> Bin = std::move(BinaryOrErr.get()); + Binary &Bin = *BinaryOrErr.get(); - if (Archive *A = dyn_cast<Archive>(Bin.get())) { + if (Archive *A = dyn_cast<Archive>(&Bin)) { if (ArchiveMap) { Archive::symbol_iterator I = A->symbol_begin(); Archive::symbol_iterator E = A->symbol_end(); @@ -1056,7 +1056,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { } return; } - if (MachOUniversalBinary *UB = dyn_cast<MachOUniversalBinary>(Bin.get())) { + if (MachOUniversalBinary *UB = dyn_cast<MachOUniversalBinary>(&Bin)) { // If we have a list of architecture flags specified dump only those. if (!ArchAll && ArchFlags.size() != 0) { // Look for a slice in the universal binary that matches each ArchFlag. @@ -1076,16 +1076,16 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { ArchiveName.clear(); ArchitectureName.clear(); if (ObjOrErr) { - std::unique_ptr<ObjectFile> Obj = std::move(ObjOrErr.get()); + ObjectFile &Obj = *ObjOrErr.get(); if (ArchFlags.size() > 1) { if (PrintFileName) ArchitectureName = I->getArchTypeName(); else - outs() << "\n" << Obj->getFileName() << " (for architecture " + outs() << "\n" << Obj.getFileName() << " (for architecture " << I->getArchTypeName() << ")" << ":\n"; } - dumpSymbolNamesFromObject(*Obj, false, ArchiveName, + dumpSymbolNamesFromObject(Obj, false, ArchiveName, ArchitectureName); } else if (!I->getAsArchive(A)) { for (Archive::child_iterator AI = A->child_begin(), @@ -1138,8 +1138,8 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { std::string ArchiveName; ArchiveName.clear(); if (ObjOrErr) { - std::unique_ptr<ObjectFile> Obj = std::move(ObjOrErr.get()); - dumpSymbolNamesFromObject(*Obj, false); + ObjectFile &Obj = *ObjOrErr.get(); + dumpSymbolNamesFromObject(Obj, false); } else if (!I->getAsArchive(A)) { for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end(); @@ -1177,19 +1177,19 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { ArchiveName.clear(); ArchitectureName.clear(); if (ObjOrErr) { - std::unique_ptr<ObjectFile> Obj = std::move(ObjOrErr.get()); + ObjectFile &Obj = *ObjOrErr.get(); if (PrintFileName) { - if (isa<MachOObjectFile>(Obj.get()) && moreThanOneArch) + if (isa<MachOObjectFile>(Obj) && moreThanOneArch) ArchitectureName = I->getArchTypeName(); } else { if (moreThanOneArch) outs() << "\n"; - outs() << Obj->getFileName(); - if (isa<MachOObjectFile>(Obj.get()) && moreThanOneArch) + outs() << Obj.getFileName(); + if (isa<MachOObjectFile>(Obj) && moreThanOneArch) outs() << " (for architecture " << I->getArchTypeName() << ")"; outs() << ":\n"; } - dumpSymbolNamesFromObject(*Obj, false, ArchiveName, ArchitectureName); + dumpSymbolNamesFromObject(Obj, false, ArchiveName, ArchitectureName); } else if (!I->getAsArchive(A)) { for (Archive::child_iterator AI = A->child_begin(), AE = A->child_end(); AI != AE; ++AI) { @@ -1220,7 +1220,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { } return; } - if (SymbolicFile *O = dyn_cast<SymbolicFile>(Bin.get())) { + if (SymbolicFile *O = dyn_cast<SymbolicFile>(&Bin)) { if (!checkMachOAndArchFlags(O, Filename)) return; dumpSymbolNamesFromObject(*O, true); diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index 8041a88396a..9e9526aa3cc 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -891,11 +891,11 @@ static void DumpInput(StringRef file) { errs() << ToolName << ": '" << file << "': " << EC.message() << ".\n"; return; } - std::unique_ptr<Binary> binary = std::move(BinaryOrErr.get()); + Binary &Binary = *BinaryOrErr.get(); - if (Archive *a = dyn_cast<Archive>(binary.get())) + if (Archive *a = dyn_cast<Archive>(&Binary)) DumpArchive(a); - else if (ObjectFile *o = dyn_cast<ObjectFile>(binary.get())) + else if (ObjectFile *o = dyn_cast<ObjectFile>(&Binary)) DumpObject(o); else errs() << ToolName << ": '" << file << "': " << "Unrecognized file type.\n"; diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp index 837b71f05dc..6e5b835f511 100644 --- a/tools/llvm-readobj/llvm-readobj.cpp +++ b/tools/llvm-readobj/llvm-readobj.cpp @@ -292,11 +292,11 @@ static void dumpInput(StringRef File) { reportError(File, EC); return; } - std::unique_ptr<Binary> Binary = std::move(BinaryOrErr.get()); + Binary &Binary = *BinaryOrErr.get(); - if (Archive *Arc = dyn_cast<Archive>(Binary.get())) + if (Archive *Arc = dyn_cast<Archive>(&Binary)) dumpArchive(Arc); - else if (ObjectFile *Obj = dyn_cast<ObjectFile>(Binary.get())) + else if (ObjectFile *Obj = dyn_cast<ObjectFile>(&Binary)) dumpObject(Obj); else reportError(File, readobj_error::unrecognized_file_format); diff --git a/tools/llvm-size/llvm-size.cpp b/tools/llvm-size/llvm-size.cpp index 0664d535b8b..24c9cd862fe 100644 --- a/tools/llvm-size/llvm-size.cpp +++ b/tools/llvm-size/llvm-size.cpp @@ -458,9 +458,9 @@ static void PrintFileSectionSizes(StringRef file) { errs() << ToolName << ": " << file << ": " << EC.message() << ".\n"; return; } - std::unique_ptr<Binary> binary = std::move(BinaryOrErr.get()); + Binary &Bin = *BinaryOrErr.get(); - if (Archive *a = dyn_cast<Archive>(binary.get())) { + if (Archive *a = dyn_cast<Archive>(&Bin)) { // This is an archive. Iterate over each member and display its sizes. for (object::Archive::child_iterator i = a->child_begin(), e = a->child_end(); @@ -488,7 +488,7 @@ static void PrintFileSectionSizes(StringRef file) { } } } else if (MachOUniversalBinary *UB = - dyn_cast<MachOUniversalBinary>(binary.get())) { + dyn_cast<MachOUniversalBinary>(&Bin)) { // If we have a list of architecture flags specified dump only those. if (!ArchAll && ArchFlags.size() != 0) { // Look for a slice in the universal binary that matches each ArchFlag. @@ -692,7 +692,7 @@ static void PrintFileSectionSizes(StringRef file) { } } } - } else if (ObjectFile *o = dyn_cast<ObjectFile>(binary.get())) { + } else if (ObjectFile *o = dyn_cast<ObjectFile>(&Bin)) { if (!checkMachOAndArchFlags(o, file)) return; if (OutputFormat == sysv) diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp index 7c4743b5dfb..14e193a5373 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.cpp +++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp @@ -302,7 +302,7 @@ LLVMSymbolizer::getOrCreateBinary(const std::string &Path) { Binary *DbgBin = nullptr; ErrorOr<std::unique_ptr<Binary>> BinaryOrErr = createBinary(Path); if (!error(BinaryOrErr.getError())) { - std::unique_ptr<Binary> ParsedBinary = std::move(BinaryOrErr.get()); + std::unique_ptr<Binary> &ParsedBinary = BinaryOrErr.get(); // Check if it's a universal binary. Bin = ParsedBinary.get(); ParsedBinariesAndObjects.push_back(std::move(ParsedBinary)); diff --git a/tools/llvm-vtabledump/llvm-vtabledump.cpp b/tools/llvm-vtabledump/llvm-vtabledump.cpp index d1d8aa4082b..2f6ccb0620a 100644 --- a/tools/llvm-vtabledump/llvm-vtabledump.cpp +++ b/tools/llvm-vtabledump/llvm-vtabledump.cpp @@ -169,11 +169,11 @@ static void dumpInput(StringRef File) { reportError(File, EC); return; } - std::unique_ptr<Binary> Binary = std::move(BinaryOrErr.get()); + Binary &Binary = *BinaryOrErr.get(); - if (Archive *Arc = dyn_cast<Archive>(Binary.get())) + if (Archive *Arc = dyn_cast<Archive>(&Binary)) dumpArchive(Arc); - else if (ObjectFile *Obj = dyn_cast<ObjectFile>(Binary.get())) + else if (ObjectFile *Obj = dyn_cast<ObjectFile>(&Binary)) dumpVTables(Obj); else reportError(File, vtabledump_error::unrecognized_file_format); diff --git a/tools/macho-dump/macho-dump.cpp b/tools/macho-dump/macho-dump.cpp index bbc7aae9f44..787aebc058d 100644 --- a/tools/macho-dump/macho-dump.cpp +++ b/tools/macho-dump/macho-dump.cpp @@ -406,9 +406,9 @@ int main(int argc, char **argv) { ErrorOr<std::unique_ptr<Binary>> BinaryOrErr = createBinary(InputFile); if (std::error_code EC = BinaryOrErr.getError()) return Error("unable to read input: '" + EC.message() + "'"); - std::unique_ptr<Binary> Binary = std::move((BinaryOrErr.get())); + Binary &Binary = *BinaryOrErr.get(); - const MachOObjectFile *InputObject = dyn_cast<MachOObjectFile>(Binary.get()); + const MachOObjectFile *InputObject = dyn_cast<MachOObjectFile>(&Binary); if (!InputObject) return Error("Not a MachO object"); diff --git a/tools/obj2yaml/obj2yaml.cpp b/tools/obj2yaml/obj2yaml.cpp index 8d1c1409f18..dbf5a4acd16 100644 --- a/tools/obj2yaml/obj2yaml.cpp +++ b/tools/obj2yaml/obj2yaml.cpp @@ -36,9 +36,9 @@ static std::error_code dumpInput(StringRef File) { if (std::error_code EC = BinaryOrErr.getError()) return EC; - std::unique_ptr<Binary> Binary = std::move(BinaryOrErr.get()); + Binary &Binary = *BinaryOrErr.get(); // TODO: If this is an archive, then burst it and dump each entry - if (ObjectFile *Obj = dyn_cast<ObjectFile>(Binary.get())) + if (ObjectFile *Obj = dyn_cast<ObjectFile>(&Binary)) return dumpObject(*Obj); return obj2yaml_error::unrecognized_file_format; diff --git a/tools/verify-uselistorder/verify-uselistorder.cpp b/tools/verify-uselistorder/verify-uselistorder.cpp index f5699e40c9b..a9666ac5284 100644 --- a/tools/verify-uselistorder/verify-uselistorder.cpp +++ b/tools/verify-uselistorder/verify-uselistorder.cpp @@ -153,8 +153,8 @@ std::unique_ptr<Module> TempFile::readBitcode(LLVMContext &Context) const { return nullptr; } - std::unique_ptr<MemoryBuffer> Buffer = std::move(BufferOr.get()); - ErrorOr<Module *> ModuleOr = parseBitcodeFile(Buffer.get(), Context); + MemoryBuffer *Buffer = BufferOr.get().get(); + ErrorOr<Module *> ModuleOr = parseBitcodeFile(Buffer, Context); if (!ModuleOr) { DEBUG(dbgs() << "error: " << ModuleOr.getError().message() << "\n"); return nullptr; |