diff options
author | Lang Hames <lhames@gmail.com> | 2014-03-27 02:39:01 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2014-03-27 02:39:01 +0000 |
commit | 7fd03c55f3a60a00c565a5458bf62d1d440f65ef (patch) | |
tree | 2251db0a4a54b54c59c9acd795a685b9db378158 /lib | |
parent | 7d3c316353d800381c5ba7b4451674496e6ce5f0 (diff) | |
download | llvm-7fd03c55f3a60a00c565a5458bf62d1d440f65ef.tar.gz llvm-7fd03c55f3a60a00c565a5458bf62d1d440f65ef.tar.bz2 llvm-7fd03c55f3a60a00c565a5458bf62d1d440f65ef.tar.xz |
Update MCSymbolizer and its subclasses' constructors to reflect the fact that
they take ownership of the RelocationInfo they're constructed with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204891 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MC/MCDisassembler.cpp | 5 | ||||
-rw-r--r-- | lib/MC/MCExternalSymbolizer.cpp | 6 | ||||
-rw-r--r-- | lib/MC/MCObjectSymbolizer.cpp | 21 | ||||
-rw-r--r-- | lib/MC/MCSymbolizer.cpp | 4 |
4 files changed, 19 insertions, 17 deletions
diff --git a/lib/MC/MCDisassembler.cpp b/lib/MC/MCDisassembler.cpp index 18f0f2f0b2..af426e2d01 100644 --- a/lib/MC/MCDisassembler.cpp +++ b/lib/MC/MCDisassembler.cpp @@ -25,8 +25,9 @@ void MCDisassembler::setupForSymbolicDisassembly( this->Ctx = Ctx; assert(Ctx != 0 && "No MCContext given for symbolic disassembly"); if (!Symbolizer) - Symbolizer.reset(new MCExternalSymbolizer(*Ctx, RelInfo, GetOpInfo, - SymbolLookUp, DisInfo)); + Symbolizer.reset(new MCExternalSymbolizer(*Ctx, std::move(RelInfo), + GetOpInfo, SymbolLookUp, + DisInfo)); } void MCDisassembler::setupForSymbolicDisassembly( diff --git a/lib/MC/MCExternalSymbolizer.cpp b/lib/MC/MCExternalSymbolizer.cpp index 660a11c274..839516e253 100644 --- a/lib/MC/MCExternalSymbolizer.cpp +++ b/lib/MC/MCExternalSymbolizer.cpp @@ -191,8 +191,8 @@ MCSymbolizer *createMCSymbolizer(StringRef TT, LLVMOpInfoCallback GetOpInfo, MCRelocationInfo *RelInfo) { assert(Ctx != 0 && "No MCContext given for symbolic disassembly"); - std::unique_ptr<MCRelocationInfo> RelInfoOwingPtr(RelInfo); - return new MCExternalSymbolizer(*Ctx, RelInfoOwingPtr, GetOpInfo, - SymbolLookUp, DisInfo); + return new MCExternalSymbolizer(*Ctx, + std::unique_ptr<MCRelocationInfo>(RelInfo), + GetOpInfo, SymbolLookUp, DisInfo); } } diff --git a/lib/MC/MCObjectSymbolizer.cpp b/lib/MC/MCObjectSymbolizer.cpp index dc1253d629..ba80d15653 100644 --- a/lib/MC/MCObjectSymbolizer.cpp +++ b/lib/MC/MCObjectSymbolizer.cpp @@ -35,7 +35,7 @@ class MCMachObjectSymbolizer : public MCObjectSymbolizer { public: MCMachObjectSymbolizer(MCContext &Ctx, - std::unique_ptr<MCRelocationInfo> &RelInfo, + std::unique_ptr<MCRelocationInfo> RelInfo, const MachOObjectFile *MOOF); StringRef findExternalFunctionAt(uint64_t Addr) override; @@ -46,10 +46,10 @@ public: } // End unnamed namespace MCMachObjectSymbolizer::MCMachObjectSymbolizer( - MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo, + MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo, const MachOObjectFile *MOOF) - : MCObjectSymbolizer(Ctx, RelInfo, MOOF), MOOF(MOOF), StubsStart(0), - StubsCount(0), StubSize(0), StubsIndSymIndex(0) { + : MCObjectSymbolizer(Ctx, std::move(RelInfo), MOOF), MOOF(MOOF), + StubsStart(0), StubsCount(0), StubSize(0), StubsIndSymIndex(0) { for (const SectionRef &Section : MOOF->sections()) { StringRef Name; @@ -121,9 +121,10 @@ tryAddingPcLoadReferenceComment(raw_ostream &cStream, int64_t Value, //===- MCObjectSymbolizer -------------------------------------------------===// MCObjectSymbolizer::MCObjectSymbolizer( - MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo, - const ObjectFile *Obj) - : MCSymbolizer(Ctx, RelInfo), Obj(Obj), SortedSections(), AddrToReloc() {} + MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo, + const ObjectFile *Obj) + : MCSymbolizer(Ctx, std::move(RelInfo)), Obj(Obj), SortedSections(), + AddrToReloc() {} bool MCObjectSymbolizer:: tryAddingSymbolicOperand(MCInst &MI, raw_ostream &cStream, @@ -191,11 +192,11 @@ StringRef MCObjectSymbolizer::findExternalFunctionAt(uint64_t Addr) { } MCObjectSymbolizer *MCObjectSymbolizer::createObjectSymbolizer( - MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo, + MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo, const ObjectFile *Obj) { if (const MachOObjectFile *MOOF = dyn_cast<MachOObjectFile>(Obj)) - return new MCMachObjectSymbolizer(Ctx, RelInfo, MOOF); - return new MCObjectSymbolizer(Ctx, RelInfo, Obj); + return new MCMachObjectSymbolizer(Ctx, std::move(RelInfo), MOOF); + return new MCObjectSymbolizer(Ctx, std::move(RelInfo), Obj); } // SortedSections implementation. diff --git a/lib/MC/MCSymbolizer.cpp b/lib/MC/MCSymbolizer.cpp index 6395b11351..bb1a1c7c51 100644 --- a/lib/MC/MCSymbolizer.cpp +++ b/lib/MC/MCSymbolizer.cpp @@ -13,8 +13,8 @@ using namespace llvm; MCSymbolizer::MCSymbolizer(MCContext &Ctx, - std::unique_ptr<MCRelocationInfo> &RelInfo) - : Ctx(Ctx), RelInfo(RelInfo.release()) {} + std::unique_ptr<MCRelocationInfo> RelInfo) + : Ctx(Ctx), RelInfo(std::move(RelInfo)) {} MCSymbolizer::~MCSymbolizer() { } |