summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2014-03-27 02:39:01 +0000
committerLang Hames <lhames@gmail.com>2014-03-27 02:39:01 +0000
commit7fd03c55f3a60a00c565a5458bf62d1d440f65ef (patch)
tree2251db0a4a54b54c59c9acd795a685b9db378158 /lib
parent7d3c316353d800381c5ba7b4451674496e6ce5f0 (diff)
downloadllvm-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.cpp5
-rw-r--r--lib/MC/MCExternalSymbolizer.cpp6
-rw-r--r--lib/MC/MCObjectSymbolizer.cpp21
-rw-r--r--lib/MC/MCSymbolizer.cpp4
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() {
}