From: Ahmed Charles Date: Fri, 7 Mar 2014 09:38:02 +0000 (+0000) Subject: Change MCDisassembler::setSymbolizer to take unique_ptr by value. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=cd68cff830c88778ff01997565d6a776e9ed4194;p=oota-llvm.git Change MCDisassembler::setSymbolizer to take unique_ptr by value. This changes the interface to be more explicit that ownership is being transferred. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203223 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/MC/MCDisassembler.h b/include/llvm/MC/MCDisassembler.h index de6020b6101..3d3a1bf4bad 100644 --- a/include/llvm/MC/MCDisassembler.h +++ b/include/llvm/MC/MCDisassembler.h @@ -114,7 +114,7 @@ public: /// Set \p Symzer as the current symbolizer. /// This takes ownership of \p Symzer, and deletes the previously set one. - void setSymbolizer(std::unique_ptr &Symzer); + void setSymbolizer(std::unique_ptr Symzer); /// Sets up an external symbolizer that uses the C API callbacks. void setupForSymbolicDisassembly(LLVMOpInfoCallback GetOpInfo, diff --git a/lib/MC/MCDisassembler.cpp b/lib/MC/MCDisassembler.cpp index afd3cb7ff04..18f0f2f0b2b 100644 --- a/lib/MC/MCDisassembler.cpp +++ b/lib/MC/MCDisassembler.cpp @@ -55,6 +55,6 @@ void MCDisassembler::tryAddingPcLoadReferenceComment(int64_t Value, Symbolizer->tryAddingPcLoadReferenceComment(cStream, Value, Address); } -void MCDisassembler::setSymbolizer(std::unique_ptr &Symzer) { - Symbolizer.reset(Symzer.release()); +void MCDisassembler::setSymbolizer(std::unique_ptr Symzer) { + Symbolizer = std::move(Symzer); } diff --git a/lib/MC/MCDisassembler/Disassembler.cpp b/lib/MC/MCDisassembler/Disassembler.cpp index 4e4bad14308..f3c7f115e81 100644 --- a/lib/MC/MCDisassembler/Disassembler.cpp +++ b/lib/MC/MCDisassembler/Disassembler.cpp @@ -84,7 +84,7 @@ LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU, std::unique_ptr Symbolizer(TheTarget->createMCSymbolizer( Triple, GetOpInfo, SymbolLookUp, DisInfo, Ctx, RelInfo.release())); - DisAsm->setSymbolizer(Symbolizer); + DisAsm->setSymbolizer(std::move(Symbolizer)); DisAsm->setupForSymbolicDisassembly(GetOpInfo, SymbolLookUp, DisInfo, Ctx, RelInfo); // Set up the instruction printer. diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index d93e477b5c1..3e16ca0b327 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -327,7 +327,7 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { std::unique_ptr Symzer( MCObjectSymbolizer::createObjectSymbolizer(*Ctx.get(), RelInfo, Obj)); if (Symzer) - DisAsm->setSymbolizer(Symzer); + DisAsm->setSymbolizer(std::move(Symzer)); } }