mirror of
https://github.com/intel/llvm.git
synced 2026-01-19 09:31:59 +08:00
Since we use C++11, we should switch over to using std::unique_ptr when C++11 is being used. To do this, we follow what we have done for shared pointers and we define a STD_UNIQUE_PTR macro that can be used and it will "do the right thing". Due to some API differences in std::unique_ptr and due to the fact that we need to be able to compile without C++11, we can't use move semantics so some code needed to change so that it can compile with either C++.
Anyone wanting to use a unique_ptr or auto_ptr should now use the "STD_UNIQUE_PTR(TYPE)" macro. llvm-svn: 179779
This commit is contained in:
@@ -638,7 +638,7 @@ Instruction::Dump (lldb_private::Stream *s,
|
||||
bool
|
||||
Instruction::DumpEmulation (const ArchSpec &arch)
|
||||
{
|
||||
std::auto_ptr<EmulateInstruction> insn_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypeAny, NULL));
|
||||
STD_UNIQUE_PTR(EmulateInstruction) insn_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypeAny, NULL));
|
||||
if (insn_emulator_ap.get())
|
||||
{
|
||||
insn_emulator_ap->SetInstruction (GetOpcode(), GetAddress(), NULL);
|
||||
@@ -904,7 +904,7 @@ Instruction::TestEmulation (Stream *out_stream, const char *file_name)
|
||||
arch.SetTriple (llvm::Triple (value_sp->GetStringValue()));
|
||||
|
||||
bool success = false;
|
||||
std::auto_ptr<EmulateInstruction> insn_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypeAny, NULL));
|
||||
STD_UNIQUE_PTR(EmulateInstruction) insn_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypeAny, NULL));
|
||||
if (insn_emulator_ap.get())
|
||||
success = insn_emulator_ap->TestEmulation (out_stream, arch, data_dictionary);
|
||||
|
||||
@@ -925,7 +925,7 @@ Instruction::Emulate (const ArchSpec &arch,
|
||||
EmulateInstruction::ReadRegisterCallback read_reg_callback,
|
||||
EmulateInstruction::WriteRegisterCallback write_reg_callback)
|
||||
{
|
||||
std::auto_ptr<EmulateInstruction> insn_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypeAny, NULL));
|
||||
STD_UNIQUE_PTR(EmulateInstruction) insn_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypeAny, NULL));
|
||||
if (insn_emulator_ap.get())
|
||||
{
|
||||
insn_emulator_ap->SetBaton (baton);
|
||||
|
||||
Reference in New Issue
Block a user