[llvm] r203223 - Change MCDisassembler::setSymbolizer to take unique_ptr by value.

Ahmed Charles ahmedcharles at gmail.com
Fri Mar 7 01:38:02 PST 2014


Author: ace2001ac
Date: Fri Mar  7 03:38:02 2014
New Revision: 203223

URL: http://llvm.org/viewvc/llvm-project?rev=203223&view=rev
Log:
Change MCDisassembler::setSymbolizer to take unique_ptr by value.

This changes the interface to be more explicit that ownership is being
transferred.

Modified:
    llvm/trunk/include/llvm/MC/MCDisassembler.h
    llvm/trunk/lib/MC/MCDisassembler.cpp
    llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp

Modified: llvm/trunk/include/llvm/MC/MCDisassembler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCDisassembler.h?rev=203223&r1=203222&r2=203223&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCDisassembler.h (original)
+++ llvm/trunk/include/llvm/MC/MCDisassembler.h Fri Mar  7 03:38:02 2014
@@ -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<MCSymbolizer> &Symzer);
+  void setSymbolizer(std::unique_ptr<MCSymbolizer> Symzer);
 
   /// Sets up an external symbolizer that uses the C API callbacks.
   void setupForSymbolicDisassembly(LLVMOpInfoCallback GetOpInfo,

Modified: llvm/trunk/lib/MC/MCDisassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler.cpp?rev=203223&r1=203222&r2=203223&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCDisassembler.cpp (original)
+++ llvm/trunk/lib/MC/MCDisassembler.cpp Fri Mar  7 03:38:02 2014
@@ -55,6 +55,6 @@ void MCDisassembler::tryAddingPcLoadRefe
     Symbolizer->tryAddingPcLoadReferenceComment(cStream, Value, Address);
 }
 
-void MCDisassembler::setSymbolizer(std::unique_ptr<MCSymbolizer> &Symzer) {
-  Symbolizer.reset(Symzer.release());
+void MCDisassembler::setSymbolizer(std::unique_ptr<MCSymbolizer> Symzer) {
+  Symbolizer = std::move(Symzer);
 }

Modified: llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp?rev=203223&r1=203222&r2=203223&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp (original)
+++ llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp Fri Mar  7 03:38:02 2014
@@ -84,7 +84,7 @@ LLVMDisasmContextRef LLVMCreateDisasmCPU
 
   std::unique_ptr<MCSymbolizer> 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.

Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=203223&r1=203222&r2=203223&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Fri Mar  7 03:38:02 2014
@@ -327,7 +327,7 @@ static void DisassembleObject(const Obje
       std::unique_ptr<MCSymbolizer> Symzer(
           MCObjectSymbolizer::createObjectSymbolizer(*Ctx.get(), RelInfo, Obj));
       if (Symzer)
-        DisAsm->setSymbolizer(Symzer);
+        DisAsm->setSymbolizer(std::move(Symzer));
     }
   }
 





More information about the llvm-commits mailing list