diff options
author | Ahmed Charles <ahmedcharles@gmail.com> | 2014-03-06 05:51:42 +0000 |
---|---|---|
committer | Ahmed Charles <ahmedcharles@gmail.com> | 2014-03-06 05:51:42 +0000 |
commit | 56440fd8203f581b9aded68db3631ea11a72ccf2 (patch) | |
tree | 7f80c03b91a2d762573379b2624e3f1de93e6ab6 /llvm/lib/MC | |
parent | 47c254beb732a4434f814c4415cbc60503dd331a (diff) | |
download | bcm5719-llvm-56440fd8203f581b9aded68db3631ea11a72ccf2.tar.gz bcm5719-llvm-56440fd8203f581b9aded68db3631ea11a72ccf2.zip |
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes
overloads to various functions which are used by those projects and llvm
which have OwningPtr's as parameters. This should allow out of tree
projects some time to move. There are also no changes to libs/Target,
which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/MC/MCAsmStreamer.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/MC/MCDisassembler.cpp | 26 | ||||
-rw-r--r-- | llvm/lib/MC/MCDisassembler/Disassembler.cpp | 9 | ||||
-rw-r--r-- | llvm/lib/MC/MCDisassembler/Disassembler.h | 17 | ||||
-rw-r--r-- | llvm/lib/MC/MCExternalSymbolizer.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/MC/MCModuleYAML.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/MC/MCObjectSymbolizer.cpp | 30 | ||||
-rw-r--r-- | llvm/lib/MC/MCSymbolizer.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/MC/WinCOFFObjectWriter.cpp | 3 |
10 files changed, 45 insertions, 60 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 8b2ab02bec5..edece8b63d4 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/MC/MCELFObjectWriter.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallString.h" @@ -79,7 +78,7 @@ class ELFObjectWriter : public MCObjectWriter { }; /// The target specific ELF writer instance. - llvm::OwningPtr<MCELFObjectTargetWriter> TargetObjectWriter; + std::unique_ptr<MCELFObjectTargetWriter> TargetObjectWriter; SmallPtrSet<const MCSymbol *, 16> UsedInReloc; SmallPtrSet<const MCSymbol *, 16> WeakrefUsedInReloc; diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index 8f0a702fb1c..d9a04575ff1 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/MC/MCStreamer.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Twine.h" @@ -41,9 +40,9 @@ protected: formatted_raw_ostream &OS; const MCAsmInfo *MAI; private: - OwningPtr<MCInstPrinter> InstPrinter; - OwningPtr<MCCodeEmitter> Emitter; - OwningPtr<MCAsmBackend> AsmBackend; + std::unique_ptr<MCInstPrinter> InstPrinter; + std::unique_ptr<MCCodeEmitter> Emitter; + std::unique_ptr<MCAsmBackend> AsmBackend; SmallString<128> CommentToEmit; raw_svector_ostream CommentStream; diff --git a/llvm/lib/MC/MCDisassembler.cpp b/llvm/lib/MC/MCDisassembler.cpp index e365c37c32b..afd3cb7ff04 100644 --- a/llvm/lib/MC/MCDisassembler.cpp +++ b/llvm/lib/MC/MCDisassembler.cpp @@ -16,13 +16,9 @@ using namespace llvm; MCDisassembler::~MCDisassembler() { } -void -MCDisassembler::setupForSymbolicDisassembly( - LLVMOpInfoCallback GetOpInfo, - LLVMSymbolLookupCallback SymbolLookUp, - void *DisInfo, - MCContext *Ctx, - OwningPtr<MCRelocationInfo> &RelInfo) { +void MCDisassembler::setupForSymbolicDisassembly( + LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, + void *DisInfo, MCContext *Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo) { this->GetOpInfo = GetOpInfo; this->SymbolLookUp = SymbolLookUp; this->DisInfo = DisInfo; @@ -33,16 +29,12 @@ MCDisassembler::setupForSymbolicDisassembly( SymbolLookUp, DisInfo)); } -void -MCDisassembler::setupForSymbolicDisassembly( - LLVMOpInfoCallback GetOpInfo, - LLVMSymbolLookupCallback SymbolLookUp, - void *DisInfo, - MCContext *Ctx, - std::unique_ptr<MCRelocationInfo> &RelInfo) { - OwningPtr<MCRelocationInfo> MCRI; +void MCDisassembler::setupForSymbolicDisassembly( + LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, + void *DisInfo, MCContext *Ctx, OwningPtr<MCRelocationInfo> &RelInfo) { + std::unique_ptr<MCRelocationInfo> MCRI; setupForSymbolicDisassembly(GetOpInfo, SymbolLookUp, DisInfo, Ctx, MCRI); - RelInfo = MCRI.take_unique(); + RelInfo = std::move(MCRI); } bool MCDisassembler::tryAddingSymbolicOperand(MCInst &Inst, int64_t Value, @@ -63,6 +55,6 @@ void MCDisassembler::tryAddingPcLoadReferenceComment(int64_t Value, Symbolizer->tryAddingPcLoadReferenceComment(cStream, Value, Address); } -void MCDisassembler::setSymbolizer(OwningPtr<MCSymbolizer> &Symzer) { +void MCDisassembler::setSymbolizer(std::unique_ptr<MCSymbolizer> &Symzer) { Symbolizer.reset(Symzer.release()); } diff --git a/llvm/lib/MC/MCDisassembler/Disassembler.cpp b/llvm/lib/MC/MCDisassembler/Disassembler.cpp index 3302f8c8abc..4e4bad14308 100644 --- a/llvm/lib/MC/MCDisassembler/Disassembler.cpp +++ b/llvm/lib/MC/MCDisassembler/Disassembler.cpp @@ -77,14 +77,13 @@ LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU, if (!DisAsm) return 0; - OwningPtr<MCRelocationInfo> RelInfo( - TheTarget->createMCRelocationInfo(Triple, *Ctx)); + std::unique_ptr<MCRelocationInfo> RelInfo( + TheTarget->createMCRelocationInfo(Triple, *Ctx)); if (!RelInfo) return 0; - OwningPtr<MCSymbolizer> Symbolizer( - TheTarget->createMCSymbolizer(Triple, GetOpInfo, SymbolLookUp, DisInfo, - Ctx, RelInfo.release())); + std::unique_ptr<MCSymbolizer> Symbolizer(TheTarget->createMCSymbolizer( + Triple, GetOpInfo, SymbolLookUp, DisInfo, Ctx, RelInfo.release())); DisAsm->setSymbolizer(Symbolizer); DisAsm->setupForSymbolicDisassembly(GetOpInfo, SymbolLookUp, DisInfo, Ctx, RelInfo); diff --git a/llvm/lib/MC/MCDisassembler/Disassembler.h b/llvm/lib/MC/MCDisassembler/Disassembler.h index 4855af27dd2..d1d40cd2387 100644 --- a/llvm/lib/MC/MCDisassembler/Disassembler.h +++ b/llvm/lib/MC/MCDisassembler/Disassembler.h @@ -18,7 +18,6 @@ #define LLVM_MC_DISASSEMBLER_H #include "llvm-c/Disassembler.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/raw_ostream.h" #include <string> @@ -56,23 +55,23 @@ private: // LLVMDisasmInstruction(). // // The LLVM target corresponding to the disassembler. - // FIXME: using llvm::OwningPtr<const llvm::Target> causes a malloc error + // FIXME: using std::unique_ptr<const llvm::Target> causes a malloc error // when this LLVMDisasmContext is deleted. const Target *TheTarget; // The assembly information for the target architecture. - llvm::OwningPtr<const llvm::MCAsmInfo> MAI; + std::unique_ptr<const llvm::MCAsmInfo> MAI; // The register information for the target architecture. - llvm::OwningPtr<const llvm::MCRegisterInfo> MRI; + std::unique_ptr<const llvm::MCRegisterInfo> MRI; // The subtarget information for the target architecture. - llvm::OwningPtr<const llvm::MCSubtargetInfo> MSI; + std::unique_ptr<const llvm::MCSubtargetInfo> MSI; // The instruction information for the target architecture. - llvm::OwningPtr<const llvm::MCInstrInfo> MII; + std::unique_ptr<const llvm::MCInstrInfo> MII; // The assembly context for creating symbols and MCExprs. - llvm::OwningPtr<const llvm::MCContext> Ctx; + std::unique_ptr<const llvm::MCContext> Ctx; // The disassembler for the target architecture. - llvm::OwningPtr<const llvm::MCDisassembler> DisAsm; + std::unique_ptr<const llvm::MCDisassembler> DisAsm; // The instruction printer for the target architecture. - llvm::OwningPtr<llvm::MCInstPrinter> IP; + std::unique_ptr<llvm::MCInstPrinter> IP; // The options used to set up the disassembler. uint64_t Options; // The CPU string. diff --git a/llvm/lib/MC/MCExternalSymbolizer.cpp b/llvm/lib/MC/MCExternalSymbolizer.cpp index 9cd5f6b68ca..660a11c2742 100644 --- a/llvm/lib/MC/MCExternalSymbolizer.cpp +++ b/llvm/lib/MC/MCExternalSymbolizer.cpp @@ -191,7 +191,7 @@ MCSymbolizer *createMCSymbolizer(StringRef TT, LLVMOpInfoCallback GetOpInfo, MCRelocationInfo *RelInfo) { assert(Ctx != 0 && "No MCContext given for symbolic disassembly"); - OwningPtr<MCRelocationInfo> RelInfoOwingPtr(RelInfo); + std::unique_ptr<MCRelocationInfo> RelInfoOwingPtr(RelInfo); return new MCExternalSymbolizer(*Ctx, RelInfoOwingPtr, GetOpInfo, SymbolLookUp, DisInfo); } diff --git a/llvm/lib/MC/MCModuleYAML.cpp b/llvm/lib/MC/MCModuleYAML.cpp index e2de57849b9..102971b7320 100644 --- a/llvm/lib/MC/MCModuleYAML.cpp +++ b/llvm/lib/MC/MCModuleYAML.cpp @@ -442,7 +442,7 @@ StringRef mcmodule2yaml(raw_ostream &OS, const MCModule &MCM, return ""; } -StringRef yaml2mcmodule(OwningPtr<MCModule> &MCM, StringRef YamlContent, +StringRef yaml2mcmodule(std::unique_ptr<MCModule> &MCM, StringRef YamlContent, const MCInstrInfo &MII, const MCRegisterInfo &MRI) { MCM.reset(new MCModule); YAML2MCModule Parser(*MCM); diff --git a/llvm/lib/MC/MCObjectSymbolizer.cpp b/llvm/lib/MC/MCObjectSymbolizer.cpp index 7653fece419..8aafcf6ee7c 100644 --- a/llvm/lib/MC/MCObjectSymbolizer.cpp +++ b/llvm/lib/MC/MCObjectSymbolizer.cpp @@ -34,7 +34,8 @@ class MCMachObjectSymbolizer : public MCObjectSymbolizer { uint64_t StubsIndSymIndex; public: - MCMachObjectSymbolizer(MCContext &Ctx, OwningPtr<MCRelocationInfo> &RelInfo, + MCMachObjectSymbolizer(MCContext &Ctx, + std::unique_ptr<MCRelocationInfo> &RelInfo, const MachOObjectFile *MOOF); StringRef findExternalFunctionAt(uint64_t Addr) override; @@ -44,12 +45,11 @@ public: }; } // End unnamed namespace - -MCMachObjectSymbolizer:: -MCMachObjectSymbolizer(MCContext &Ctx, OwningPtr<MCRelocationInfo> &RelInfo, - const MachOObjectFile *MOOF) - : MCObjectSymbolizer(Ctx, RelInfo, MOOF), MOOF(MOOF), - StubsStart(0), StubsCount(0), StubSize(0), StubsIndSymIndex(0) { +MCMachObjectSymbolizer::MCMachObjectSymbolizer( + MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo, + const MachOObjectFile *MOOF) + : MCObjectSymbolizer(Ctx, RelInfo, MOOF), MOOF(MOOF), StubsStart(0), + StubsCount(0), StubSize(0), StubsIndSymIndex(0) { for (section_iterator SI = MOOF->section_begin(), SE = MOOF->section_end(); SI != SE; ++SI) { @@ -120,11 +120,10 @@ tryAddingPcLoadReferenceComment(raw_ostream &cStream, int64_t Value, //===- MCObjectSymbolizer -------------------------------------------------===// -MCObjectSymbolizer::MCObjectSymbolizer(MCContext &Ctx, - OwningPtr<MCRelocationInfo> &RelInfo, - const ObjectFile *Obj) - : MCSymbolizer(Ctx, RelInfo), Obj(Obj), SortedSections(), AddrToReloc() { -} +MCObjectSymbolizer::MCObjectSymbolizer( + MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo, + const ObjectFile *Obj) + : MCSymbolizer(Ctx, RelInfo), Obj(Obj), SortedSections(), AddrToReloc() {} bool MCObjectSymbolizer:: tryAddingSymbolicOperand(MCInst &MI, raw_ostream &cStream, @@ -188,10 +187,9 @@ StringRef MCObjectSymbolizer::findExternalFunctionAt(uint64_t Addr) { return StringRef(); } -MCObjectSymbolizer * -MCObjectSymbolizer::createObjectSymbolizer(MCContext &Ctx, - OwningPtr<MCRelocationInfo> &RelInfo, - const ObjectFile *Obj) { +MCObjectSymbolizer *MCObjectSymbolizer::createObjectSymbolizer( + 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); diff --git a/llvm/lib/MC/MCSymbolizer.cpp b/llvm/lib/MC/MCSymbolizer.cpp index d3c7311e015..6395b113512 100644 --- a/llvm/lib/MC/MCSymbolizer.cpp +++ b/llvm/lib/MC/MCSymbolizer.cpp @@ -12,9 +12,9 @@ using namespace llvm; -MCSymbolizer::MCSymbolizer(MCContext &Ctx, OwningPtr<MCRelocationInfo> &RelInfo) - : Ctx(Ctx), RelInfo(RelInfo.release()) { -} +MCSymbolizer::MCSymbolizer(MCContext &Ctx, + std::unique_ptr<MCRelocationInfo> &RelInfo) + : Ctx(Ctx), RelInfo(RelInfo.release()) {} MCSymbolizer::~MCSymbolizer() { } diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp index 381fe0ee03c..d0a014cca96 100644 --- a/llvm/lib/MC/WinCOFFObjectWriter.cpp +++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp @@ -15,7 +15,6 @@ #include "llvm/MC/MCWinCOFFObjectWriter.h" #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Twine.h" @@ -125,7 +124,7 @@ public: typedef DenseMap<MCSymbol const *, COFFSymbol *> symbol_map; typedef DenseMap<MCSection const *, COFFSection *> section_map; - llvm::OwningPtr<MCWinCOFFObjectTargetWriter> TargetObjectWriter; + std::unique_ptr<MCWinCOFFObjectTargetWriter> TargetObjectWriter; // Root level file contents. COFF::header Header; |