From e01e07b6e76ad6f571cefe679d112fede88cf1db Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Thu, 18 Apr 2013 18:10:51 +0000 Subject: [PATCH] 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 --- lldb/include/lldb/API/SBAddress.h | 2 +- lldb/include/lldb/API/SBCommandReturnObject.h | 2 +- lldb/include/lldb/API/SBDeclaration.h | 2 +- lldb/include/lldb/API/SBError.h | 2 +- lldb/include/lldb/API/SBExpressionOptions.h | 3 +- lldb/include/lldb/API/SBFileSpec.h | 2 +- lldb/include/lldb/API/SBFileSpecList.h | 2 +- lldb/include/lldb/API/SBLineEntry.h | 2 +- lldb/include/lldb/API/SBSourceManager.h | 2 +- lldb/include/lldb/API/SBStream.h | 2 +- lldb/include/lldb/API/SBStringList.h | 2 +- lldb/include/lldb/API/SBSymbolContext.h | 2 +- lldb/include/lldb/API/SBSymbolContextList.h | 2 +- lldb/include/lldb/API/SBType.h | 4 +- .../lldb/Breakpoint/BreakpointLocation.h | 3 +- .../lldb/Breakpoint/BreakpointOptions.h | 5 +- lldb/include/lldb/Breakpoint/Watchpoint.h | 2 +- .../lldb/Breakpoint/WatchpointOptions.h | 3 +- lldb/include/lldb/Core/Debugger.h | 4 +- lldb/include/lldb/Core/Event.h | 2 +- lldb/include/lldb/Core/Module.h | 9 +--- lldb/include/lldb/Core/Timer.h | 1 - .../lldb/Core/ValueObjectSyntheticFilter.h | 2 +- .../lldb/DataFormatters/TypeSynthetic.h | 2 +- .../include/lldb/Expression/ClangExpression.h | 1 - .../lldb/Expression/ClangExpressionDeclMap.h | 6 +-- .../lldb/Expression/ClangExpressionParser.h | 23 ++++----- lldb/include/lldb/Expression/ClangFunction.h | 4 +- .../lldb/Expression/ClangUserExpression.h | 11 ++-- .../lldb/Expression/ClangUtilityFunction.h | 5 +- .../include/lldb/Expression/IRDynamicChecks.h | 4 +- .../include/lldb/Expression/IRExecutionUnit.h | 12 ++--- lldb/include/lldb/Expression/IRForTarget.h | 2 +- lldb/include/lldb/Host/Terminal.h | 2 +- .../lldb/Interpreter/CommandInterpreter.h | 2 +- .../lldb/Interpreter/ScriptInterpreter.h | 2 +- .../Interpreter/ScriptInterpreterPython.h | 2 +- lldb/include/lldb/Symbol/ClangASTContext.h | 34 ++++++------- .../Symbol/ClangExternalASTSourceCallbacks.h | 1 - lldb/include/lldb/Symbol/CompileUnit.h | 2 +- lldb/include/lldb/Symbol/FuncUnwinders.h | 3 -- lldb/include/lldb/Symbol/ObjectFile.h | 4 +- lldb/include/lldb/Symbol/SymbolContext.h | 4 +- lldb/include/lldb/Symbol/SymbolVendor.h | 2 +- lldb/include/lldb/Target/Process.h | 8 +-- lldb/include/lldb/Target/StackFrameList.h | 2 +- lldb/include/lldb/Target/Target.h | 10 ++-- lldb/include/lldb/Target/Thread.h | 2 +- .../lldb/Target/ThreadPlanStepInRange.h | 2 +- lldb/include/lldb/Utility/PythonPointer.h | 1 - lldb/include/lldb/lldb-forward.h | 2 + .../Python/interface/SBExpressionOptions.i | 2 +- lldb/scripts/Python/interface/SBSection.i | 2 +- lldb/scripts/Python/interface/SBType.i | 2 +- lldb/scripts/Python/python-wrapper.swig | 4 +- lldb/source/Breakpoint/BreakpointOptions.cpp | 6 +-- lldb/source/Breakpoint/WatchpointOptions.cpp | 4 +- .../CommandObjectBreakpointCommand.cpp | 4 +- .../source/Commands/CommandObjectCommands.cpp | 2 +- lldb/source/Commands/CommandObjectTarget.cpp | 2 +- .../CommandObjectWatchpointCommand.cpp | 4 +- lldb/source/Core/Communication.cpp | 2 +- lldb/source/Core/Disassembler.cpp | 6 +-- lldb/source/Core/DynamicLoader.cpp | 4 +- lldb/source/Core/Module.cpp | 11 +++- lldb/source/Core/StreamAsynchronousIO.cpp | 2 +- .../Expression/ClangExpressionDeclMap.cpp | 12 ++--- .../Expression/ClangExpressionParser.cpp | 24 ++++----- lldb/source/Expression/ClangFunction.cpp | 1 + .../source/Expression/ClangUserExpression.cpp | 2 +- .../Expression/ClangUtilityFunction.cpp | 1 + lldb/source/Expression/DWARFExpression.cpp | 4 +- lldb/source/Expression/IRExecutionUnit.cpp | 8 +-- lldb/source/Expression/IRInterpreter.cpp | 2 +- lldb/source/Host/common/File.cpp | 2 +- lldb/source/Host/common/FileSpec.cpp | 5 +- lldb/source/Host/common/Host.cpp | 4 +- lldb/source/Host/freebsd/Host.cpp | 2 +- lldb/source/Host/linux/Host.cpp | 2 +- .../source/Interpreter/CommandInterpreter.cpp | 24 ++++----- lldb/source/Interpreter/Options.cpp | 2 +- lldb/source/Interpreter/ScriptInterpreter.cpp | 4 +- .../Interpreter/ScriptInterpreterPython.cpp | 12 ++--- .../Disassembler/llvm/DisassemblerLLVMC.cpp | 6 ++- .../Disassembler/llvm/DisassemblerLLVMC.h | 22 ++++---- .../POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp | 2 +- .../POSIX-DYLD/DynamicLoaderPOSIXDYLD.h | 2 +- .../Instruction/ARM/EmulateInstructionARM.cpp | 4 +- .../ObjC/AppleObjCRuntime/AppleObjCRuntime.h | 10 ++-- .../AppleObjCRuntime/AppleObjCRuntimeV1.cpp | 2 +- .../AppleObjCRuntime/AppleObjCRuntimeV1.h | 2 +- .../AppleObjCRuntime/AppleObjCRuntimeV2.cpp | 50 +++++++++---------- .../AppleObjCRuntime/AppleObjCRuntimeV2.h | 12 ++--- .../AppleObjCTrampolineHandler.h | 6 +-- .../BSD-Archive/ObjectContainerBSDArchive.cpp | 14 +++--- .../ObjectContainerUniversalMachO.cpp | 2 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 2 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.h | 2 +- .../ObjectFile/Mach-O/ObjectFileMachO.cpp | 4 +- .../ObjectFile/PECOFF/ObjectFilePECOFF.cpp | 2 +- .../OperatingSystemDarwinKernel.h | 2 +- .../Python/OperatingSystemPython.cpp | 2 +- .../Python/OperatingSystemPython.h | 2 +- .../Process/FreeBSD/ProcessMonitor.cpp | 4 +- .../Plugins/Process/Linux/ProcessMonitor.cpp | 4 +- .../Process/MacOSX-Kernel/ProcessKDP.cpp | 2 +- .../Plugins/Process/POSIX/POSIXThread.h | 2 +- .../Process/gdb-remote/ProcessGDBRemote.cpp | 2 +- .../SymbolFile/DWARF/DWARFCompileUnit.h | 2 +- .../Plugins/SymbolFile/DWARF/DWARFDebugInfo.h | 2 +- .../SymbolFile/DWARF/SymbolFileDWARF.cpp | 12 ++--- .../SymbolFile/DWARF/SymbolFileDWARF.h | 19 ++++--- .../UnwindAssemblyInstEmulation.cpp | 2 +- .../UnwindAssemblyInstEmulation.h | 2 +- lldb/source/Symbol/FuncUnwinders.cpp | 16 +++--- lldb/source/Symbol/LineTable.cpp | 2 +- lldb/source/Symbol/ObjectFile.cpp | 8 +-- lldb/source/Symbol/SymbolFile.cpp | 6 +-- lldb/source/Symbol/SymbolVendor.cpp | 2 +- lldb/source/Target/LanguageRuntime.cpp | 2 +- lldb/source/Target/Memory.cpp | 2 +- lldb/source/Target/OperatingSystem.cpp | 4 +- lldb/source/Target/Platform.cpp | 4 +- lldb/source/Target/Process.cpp | 2 +- lldb/source/Target/StackFrameList.cpp | 2 +- lldb/source/Target/Target.cpp | 10 ++-- lldb/source/Target/UnwindAssembly.cpp | 2 +- lldb/tools/debugserver/source/DNBDefs.h | 2 + lldb/tools/debugserver/source/DNBTimer.h | 4 +- .../debugserver/source/MacOSX/MachThread.h | 2 +- lldb/tools/driver/Driver.h | 2 +- lldb/tools/lldb-platform/lldb-platform.cpp | 2 +- 132 files changed, 330 insertions(+), 332 deletions(-) diff --git a/lldb/include/lldb/API/SBAddress.h b/lldb/include/lldb/API/SBAddress.h index 48626c7af890..a89ab8d5635e 100644 --- a/lldb/include/lldb/API/SBAddress.h +++ b/lldb/include/lldb/API/SBAddress.h @@ -141,7 +141,7 @@ protected: private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::Address) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBCommandReturnObject.h b/lldb/include/lldb/API/SBCommandReturnObject.h index 70ff27215929..9071a44aaee2 100644 --- a/lldb/include/lldb/API/SBCommandReturnObject.h +++ b/lldb/include/lldb/API/SBCommandReturnObject.h @@ -118,7 +118,7 @@ protected: SetLLDBObjectPtr (lldb_private::CommandReturnObject *ptr); private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::CommandReturnObject) m_opaque_ap; }; } // namespace lldb diff --git a/lldb/include/lldb/API/SBDeclaration.h b/lldb/include/lldb/API/SBDeclaration.h index e00e707d1325..36a1cc0dca10 100644 --- a/lldb/include/lldb/API/SBDeclaration.h +++ b/lldb/include/lldb/API/SBDeclaration.h @@ -80,7 +80,7 @@ namespace lldb { void SetDeclaration (const lldb_private::Declaration &lldb_object_ref); - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::Declaration) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBError.h b/lldb/include/lldb/API/SBError.h index 89617c4ccabc..6fd160ddb164 100644 --- a/lldb/include/lldb/API/SBError.h +++ b/lldb/include/lldb/API/SBError.h @@ -93,7 +93,7 @@ protected: SetError (const lldb_private::Error &lldb_error); private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::Error) m_opaque_ap; void CreateIfNeeded (); diff --git a/lldb/include/lldb/API/SBExpressionOptions.h b/lldb/include/lldb/API/SBExpressionOptions.h index c2909e50514f..b6a90c6e9f94 100644 --- a/lldb/include/lldb/API/SBExpressionOptions.h +++ b/lldb/include/lldb/API/SBExpressionOptions.h @@ -12,7 +12,6 @@ #include "lldb/API/SBDefines.h" -#include #include namespace lldb { @@ -82,7 +81,7 @@ protected: private: // This auto_pointer is made in the constructor and is always valid. - mutable std::auto_ptr m_opaque_ap; + mutable STD_UNIQUE_PTR(lldb_private::EvaluateExpressionOptions) m_opaque_ap; }; } // namespace lldb diff --git a/lldb/include/lldb/API/SBFileSpec.h b/lldb/include/lldb/API/SBFileSpec.h index ead27289cf5c..1bcc93cfb103 100644 --- a/lldb/include/lldb/API/SBFileSpec.h +++ b/lldb/include/lldb/API/SBFileSpec.h @@ -84,7 +84,7 @@ private: const lldb_private::FileSpec & ref() const; - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::FileSpec) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBFileSpecList.h b/lldb/include/lldb/API/SBFileSpecList.h index 08635bcd00da..d7630736c16d 100644 --- a/lldb/include/lldb/API/SBFileSpecList.h +++ b/lldb/include/lldb/API/SBFileSpecList.h @@ -63,7 +63,7 @@ friend class SBTarget; const lldb_private::FileSpecList & ref() const; - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::FileSpecList) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBLineEntry.h b/lldb/include/lldb/API/SBLineEntry.h index 58dada07beab..2b6a66b635ab 100644 --- a/lldb/include/lldb/API/SBLineEntry.h +++ b/lldb/include/lldb/API/SBLineEntry.h @@ -90,7 +90,7 @@ private: void SetLineEntry (const lldb_private::LineEntry &lldb_object_ref); - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::LineEntry) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBSourceManager.h b/lldb/include/lldb/API/SBSourceManager.h index b353b71b1171..3221b6abc3b5 100644 --- a/lldb/include/lldb/API/SBSourceManager.h +++ b/lldb/include/lldb/API/SBSourceManager.h @@ -45,7 +45,7 @@ protected: private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::SourceManagerImpl) m_opaque_ap; }; } // namespace lldb diff --git a/lldb/include/lldb/API/SBStream.h b/lldb/include/lldb/API/SBStream.h index 23155c5c76a3..9c21ade1b0a5 100644 --- a/lldb/include/lldb/API/SBStream.h +++ b/lldb/include/lldb/API/SBStream.h @@ -100,7 +100,7 @@ protected: private: DISALLOW_COPY_AND_ASSIGN (SBStream); - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::Stream) m_opaque_ap; bool m_is_file; }; diff --git a/lldb/include/lldb/API/SBStringList.h b/lldb/include/lldb/API/SBStringList.h index a1f0db359c73..4b8696a88275 100644 --- a/lldb/include/lldb/API/SBStringList.h +++ b/lldb/include/lldb/API/SBStringList.h @@ -62,7 +62,7 @@ protected: private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::StringList) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBSymbolContext.h b/lldb/include/lldb/API/SBSymbolContext.h index 4ffd0ff13611..640d4aed237c 100644 --- a/lldb/include/lldb/API/SBSymbolContext.h +++ b/lldb/include/lldb/API/SBSymbolContext.h @@ -85,7 +85,7 @@ protected: SetSymbolContext (const lldb_private::SymbolContext *sc_ptr); private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::SymbolContext) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBSymbolContextList.h b/lldb/include/lldb/API/SBSymbolContextList.h index 352522d43ab0..f2241e0da0d2 100644 --- a/lldb/include/lldb/API/SBSymbolContextList.h +++ b/lldb/include/lldb/API/SBSymbolContextList.h @@ -60,7 +60,7 @@ protected: operator*() const; private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::SymbolContextList) m_opaque_ap; }; diff --git a/lldb/include/lldb/API/SBType.h b/lldb/include/lldb/API/SBType.h index 9775c9af0dc5..a96dec221424 100644 --- a/lldb/include/lldb/API/SBType.h +++ b/lldb/include/lldb/API/SBType.h @@ -65,7 +65,7 @@ protected: const lldb_private::TypeMemberImpl & ref () const; - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::TypeMemberImpl) m_opaque_ap; }; class SBType @@ -234,7 +234,7 @@ public: private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::TypeListImpl) m_opaque_ap; }; diff --git a/lldb/include/lldb/Breakpoint/BreakpointLocation.h b/lldb/include/lldb/Breakpoint/BreakpointLocation.h index e9b912d3c574..7aa5b3916648 100644 --- a/lldb/include/lldb/Breakpoint/BreakpointLocation.h +++ b/lldb/include/lldb/Breakpoint/BreakpointLocation.h @@ -14,7 +14,6 @@ // C++ Includes #include -#include // Other libraries and framework includes @@ -380,7 +379,7 @@ private: bool m_being_created; Address m_address; ///< The address defining this location. Breakpoint &m_owner; ///< The breakpoint that produced this object. - std::auto_ptr m_options_ap; ///< Breakpoint options pointer, NULL if we're using our breakpoint's options. + STD_UNIQUE_PTR(BreakpointOptions) m_options_ap; ///< Breakpoint options pointer, NULL if we're using our breakpoint's options. lldb::BreakpointSiteSP m_bp_site_sp; ///< Our breakpoint site (it may be shared by more than one location.) void diff --git a/lldb/include/lldb/Breakpoint/BreakpointOptions.h b/lldb/include/lldb/Breakpoint/BreakpointOptions.h index b4ccfac06302..ac862e634178 100644 --- a/lldb/include/lldb/Breakpoint/BreakpointOptions.h +++ b/lldb/include/lldb/Breakpoint/BreakpointOptions.h @@ -12,7 +12,6 @@ // C Includes // C++ Includes -#include // Other libraries and framework includes // Project includes #include "lldb/lldb-private.h" @@ -349,8 +348,8 @@ private: bool m_enabled; bool m_one_shot; uint32_t m_ignore_count; // Number of times to ignore this breakpoint - std::auto_ptr m_thread_spec_ap; // Thread for which this breakpoint will take - std::auto_ptr m_condition_ap; // The condition to test. + STD_UNIQUE_PTR(ThreadSpec) m_thread_spec_ap; // Thread for which this breakpoint will take + STD_UNIQUE_PTR(ClangUserExpression) m_condition_ap; // The condition to test. }; diff --git a/lldb/include/lldb/Breakpoint/Watchpoint.h b/lldb/include/lldb/Breakpoint/Watchpoint.h index a5dbf0593c8b..c9cc5b664f39 100644 --- a/lldb/include/lldb/Breakpoint/Watchpoint.h +++ b/lldb/include/lldb/Breakpoint/Watchpoint.h @@ -234,7 +234,7 @@ private: // the callback machinery. bool m_being_created; - std::auto_ptr m_condition_ap; // The condition to test. + STD_UNIQUE_PTR(ClangUserExpression) m_condition_ap; // The condition to test. void SetID(lldb::watch_id_t id) { m_loc_id = id; } diff --git a/lldb/include/lldb/Breakpoint/WatchpointOptions.h b/lldb/include/lldb/Breakpoint/WatchpointOptions.h index c533f613952e..2e6fcd130d46 100644 --- a/lldb/include/lldb/Breakpoint/WatchpointOptions.h +++ b/lldb/include/lldb/Breakpoint/WatchpointOptions.h @@ -12,7 +12,6 @@ // C Includes // C++ Includes -#include // Other libraries and framework includes // Project includes #include "lldb/lldb-private.h" @@ -248,7 +247,7 @@ private: WatchpointHitCallback m_callback; // This is the callback function pointer lldb::BatonSP m_callback_baton_sp; // This is the client data for the callback bool m_callback_is_synchronous; - std::auto_ptr m_thread_spec_ap; // Thread for which this watchpoint will take + STD_UNIQUE_PTR(ThreadSpec) m_thread_spec_ap; // Thread for which this watchpoint will take }; } // namespace lldb_private diff --git a/lldb/include/lldb/Core/Debugger.h b/lldb/include/lldb/Core/Debugger.h index cd977bc6a5a9..823474b0cace 100644 --- a/lldb/include/lldb/Core/Debugger.h +++ b/lldb/include/lldb/Core/Debugger.h @@ -359,10 +359,10 @@ protected: TargetList m_target_list; PlatformList m_platform_list; Listener m_listener; - std::auto_ptr m_source_manager_ap; // This is a scratch source manager that we return if we have no targets. + STD_UNIQUE_PTR(SourceManager) m_source_manager_ap; // This is a scratch source manager that we return if we have no targets. SourceManager::SourceFileCache m_source_file_cache; // All the source managers for targets created in this debugger used this shared // source file cache. - std::auto_ptr m_command_interpreter_ap; + STD_UNIQUE_PTR(CommandInterpreter) m_command_interpreter_ap; InputReaderStack m_input_reader_stack; std::string m_input_reader_data; diff --git a/lldb/include/lldb/Core/Event.h b/lldb/include/lldb/Core/Event.h index 0fb6c67b08f1..4f945deb2ee4 100644 --- a/lldb/include/lldb/Core/Event.h +++ b/lldb/include/lldb/Core/Event.h @@ -205,7 +205,7 @@ private: Broadcaster * m_broadcaster; // The broadcaster that sent this event uint32_t m_type; // The bit describing this event - std::auto_ptr m_data_ap; // User specific data for this event + STD_UNIQUE_PTR(EventData) m_data_ap; // User specific data for this event DISALLOW_COPY_AND_ASSIGN (Event); diff --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h index 3759b28a3f0a..34b9f6c42dd9 100644 --- a/lldb/include/lldb/Core/Module.h +++ b/lldb/include/lldb/Core/Module.h @@ -526,12 +526,7 @@ public: } void - SetSymbolFileFileSpec (const FileSpec &file) - { - m_symfile_spec = file; - m_symfile_ap.reset(); - m_did_load_symbol_vendor = false; - } + SetSymbolFileFileSpec (const FileSpec &file); const TimeValue & GetModificationTime () const; @@ -946,7 +941,7 @@ protected: ConstString m_object_name; ///< The name an object within this module that is selected, or empty of the module is represented by \a m_file. uint64_t m_object_offset; lldb::ObjectFileSP m_objfile_sp; ///< A shared pointer to the object file parser for this module as it may or may not be shared with the SymbolFile - std::auto_ptr m_symfile_ap; ///< A pointer to the symbol vendor for this module. + STD_UNIQUE_PTR(SymbolVendor) m_symfile_ap; ///< A pointer to the symbol vendor for this module. ClangASTContext m_ast; ///< The AST context for this module. PathMappingList m_source_mappings; ///< Module specific source remappings for when you have debug info for a module that doesn't match where the sources currently are diff --git a/lldb/include/lldb/Core/Timer.h b/lldb/include/lldb/Core/Timer.h index 8bc68cf54e36..e354d91be442 100644 --- a/lldb/include/lldb/Core/Timer.h +++ b/lldb/include/lldb/Core/Timer.h @@ -13,7 +13,6 @@ #include #include -#include #include #include "lldb/lldb-private.h" #include "lldb/Host/TimeValue.h" diff --git a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h index 20dde078cbca..67486a23f9b3 100644 --- a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h +++ b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h @@ -151,7 +151,7 @@ protected: // we need to hold on to the SyntheticChildren because someone might delete the type binding while we are alive lldb::SyntheticChildrenSP m_synth_sp; - std::auto_ptr m_synth_filter_ap; + STD_UNIQUE_PTR(SyntheticChildrenFrontEnd) m_synth_filter_ap; typedef std::map ByIndexMap; typedef std::map NameToIndexMap; diff --git a/lldb/include/lldb/DataFormatters/TypeSynthetic.h b/lldb/include/lldb/DataFormatters/TypeSynthetic.h index 3c6a87b92ec8..ede4847ad1c9 100644 --- a/lldb/include/lldb/DataFormatters/TypeSynthetic.h +++ b/lldb/include/lldb/DataFormatters/TypeSynthetic.h @@ -69,7 +69,7 @@ namespace lldb_private { MightHaveChildren () = 0; typedef STD_SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer; - typedef std::auto_ptr AutoPointer; + typedef STD_UNIQUE_PTR(SyntheticChildrenFrontEnd) AutoPointer; private: DISALLOW_COPY_AND_ASSIGN(SyntheticChildrenFrontEnd); diff --git a/lldb/include/lldb/Expression/ClangExpression.h b/lldb/include/lldb/Expression/ClangExpression.h index bf5ed23b2d93..6e831e4471e8 100644 --- a/lldb/include/lldb/Expression/ClangExpression.h +++ b/lldb/include/lldb/Expression/ClangExpression.h @@ -14,7 +14,6 @@ // C++ Includes #include #include -#include #include // Other libraries and framework includes diff --git a/lldb/include/lldb/Expression/ClangExpressionDeclMap.h b/lldb/include/lldb/Expression/ClangExpressionDeclMap.h index 023447f619e2..f01f27ced9d3 100644 --- a/lldb/include/lldb/Expression/ClangExpressionDeclMap.h +++ b/lldb/include/lldb/Expression/ClangExpressionDeclMap.h @@ -714,7 +714,7 @@ private: DISALLOW_COPY_AND_ASSIGN (ParserVars); }; - std::auto_ptr m_parser_vars; + STD_UNIQUE_PTR(ParserVars) m_parser_vars; //---------------------------------------------------------------------- /// Activate parser-specific variables @@ -756,7 +756,7 @@ private: TypeFromUser m_object_pointer_type; ///< The type of the "this" variable, if one exists }; - std::auto_ptr m_struct_vars; + STD_UNIQUE_PTR(StructVars) m_struct_vars; //---------------------------------------------------------------------- /// Activate struct variables @@ -795,7 +795,7 @@ private: lldb::addr_t m_materialized_location; ///< The address at which the struct is placed. Falls inside the allocated area. }; - std::auto_ptr m_material_vars; + STD_UNIQUE_PTR(MaterialVars) m_material_vars; //---------------------------------------------------------------------- /// Activate materialization-specific variables diff --git a/lldb/include/lldb/Expression/ClangExpressionParser.h b/lldb/include/lldb/Expression/ClangExpressionParser.h index 57a7205a2ea0..d462015648bb 100644 --- a/lldb/include/lldb/Expression/ClangExpressionParser.h +++ b/lldb/include/lldb/Expression/ClangExpressionParser.h @@ -86,7 +86,7 @@ public: /// /// @param[in] execution_unit_ap /// After parsing, ownership of the execution unit for - /// for the expression is handed to this auto_ptr. + /// for the expression is handed to this unique pointer. /// /// @param[in] exe_ctx /// The execution context to write the function into. @@ -112,7 +112,7 @@ public: Error PrepareForExecution (lldb::addr_t &func_addr, lldb::addr_t &func_end, - std::auto_ptr &execution_unit_ap, + STD_UNIQUE_PTR(IRExecutionUnit) &execution_unit_ap, ExecutionContext &exe_ctx, bool &evaluated_statically, lldb::ClangExpressionVariableSP &const_result, @@ -136,16 +136,15 @@ public: ExecutionContext &exe_ctx); private: - ClangExpression &m_expr; ///< The expression to be parsed - - std::auto_ptr m_llvm_context; ///< The LLVM context to generate IR into - std::auto_ptr m_file_manager; ///< The Clang file manager object used by the compiler - std::auto_ptr m_compiler; ///< The Clang compiler used to parse expressions into IR - std::auto_ptr m_builtin_context; ///< Context for Clang built-ins - std::auto_ptr m_selector_table; ///< Selector table for Objective-C methods - std::auto_ptr m_ast_context; ///< The AST context used to hold types and names for the parser - std::auto_ptr m_code_generator; ///< The Clang object that generates IR - std::auto_ptr m_execution_unit; ///< The container for the finished Module + ClangExpression & m_expr; ///< The expression to be parsed + STD_UNIQUE_PTR(llvm::LLVMContext) m_llvm_context; ///< The LLVM context to generate IR into + STD_UNIQUE_PTR(clang::FileManager) m_file_manager; ///< The Clang file manager object used by the compiler + STD_UNIQUE_PTR(clang::CompilerInstance) m_compiler; ///< The Clang compiler used to parse expressions into IR + STD_UNIQUE_PTR(clang::Builtin::Context) m_builtin_context; ///< Context for Clang built-ins + STD_UNIQUE_PTR(clang::SelectorTable) m_selector_table; ///< Selector table for Objective-C methods + STD_UNIQUE_PTR(clang::ASTContext) m_ast_context; ///< The AST context used to hold types and names for the parser + STD_UNIQUE_PTR(clang::CodeGenerator) m_code_generator; ///< The Clang object that generates IR + STD_UNIQUE_PTR(IRExecutionUnit) m_execution_unit; ///< The container for the finished Module }; } diff --git a/lldb/include/lldb/Expression/ClangFunction.h b/lldb/include/lldb/Expression/ClangFunction.h index b8663dd06d4b..9404f0ddc5f0 100644 --- a/lldb/include/lldb/Expression/ClangFunction.h +++ b/lldb/include/lldb/Expression/ClangFunction.h @@ -619,8 +619,8 @@ private: // For ClangFunction only //------------------------------------------------------------------ - std::auto_ptr m_parser; ///< The parser responsible for compiling the function. - std::auto_ptr m_execution_unit_ap; + STD_UNIQUE_PTR(ClangExpressionParser) m_parser; ///< The parser responsible for compiling the function. + STD_UNIQUE_PTR(IRExecutionUnit) m_execution_unit_ap; Function *m_function_ptr; ///< The function we're going to call. May be NULL if we don't have debug info for the function. Address m_function_addr; ///< If we don't have the FunctionSP, we at least need the address & return type. diff --git a/lldb/include/lldb/Expression/ClangUserExpression.h b/lldb/include/lldb/Expression/ClangUserExpression.h index 8d87fa8ac55b..553722c2a710 100644 --- a/lldb/include/lldb/Expression/ClangUserExpression.h +++ b/lldb/include/lldb/Expression/ClangUserExpression.h @@ -14,7 +14,6 @@ // C++ Includes #include #include -#include #include // Other libraries and framework includes @@ -420,12 +419,10 @@ private: std::string m_transformed_text; ///< The text of the expression, as send to the parser ResultType m_desired_type; ///< The type to coerce the expression's result to. If eResultTypeAny, inferred from the expression. - std::auto_ptr m_expr_decl_map; ///< The map to use when parsing the expression. - - std::auto_ptr m_execution_unit_ap; ///< The execution unit the expression is stored in. - std::auto_ptr m_materializer_ap; ///< The materializer to use when running the expression. - - std::auto_ptr m_result_synthesizer; ///< The result synthesizer, if one is needed. + STD_UNIQUE_PTR(ClangExpressionDeclMap) m_expr_decl_map; ///< The map to use when parsing the expression. + STD_UNIQUE_PTR(IRExecutionUnit) m_execution_unit_ap; ///< The execution unit the expression is stored in. + STD_UNIQUE_PTR(Materializer) m_materializer_ap; ///< The materializer to use when running the expression. + STD_UNIQUE_PTR(ASTResultSynthesizer) m_result_synthesizer; ///< The result synthesizer, if one is needed. bool m_enforce_valid_object; ///< True if the expression parser should enforce the presence of a valid class pointer in order to generate the expression as a method. bool m_cplusplus; ///< True if the expression is compiled as a C++ member function (true if it was parsed when exe_ctx was in a C++ method). diff --git a/lldb/include/lldb/Expression/ClangUtilityFunction.h b/lldb/include/lldb/Expression/ClangUtilityFunction.h index b89f390e21c4..b1ed4b6d0ea7 100644 --- a/lldb/include/lldb/Expression/ClangUtilityFunction.h +++ b/lldb/include/lldb/Expression/ClangUtilityFunction.h @@ -14,7 +14,6 @@ // C++ Includes #include #include -#include #include // Other libraries and framework includes @@ -168,8 +167,8 @@ public: } private: - std::auto_ptr m_expr_decl_map; ///< The map to use when parsing and materializing the expression. - std::auto_ptr m_execution_unit_ap; + STD_UNIQUE_PTR(ClangExpressionDeclMap) m_expr_decl_map; ///< The map to use when parsing and materializing the expression. + STD_UNIQUE_PTR(IRExecutionUnit) m_execution_unit_ap; std::string m_function_text; ///< The text of the function. Must be a well-formed translation unit. std::string m_function_name; ///< The name of the function. diff --git a/lldb/include/lldb/Expression/IRDynamicChecks.h b/lldb/include/lldb/Expression/IRDynamicChecks.h index 5a3b05f91f13..761d1c04b326 100644 --- a/lldb/include/lldb/Expression/IRDynamicChecks.h +++ b/lldb/include/lldb/Expression/IRDynamicChecks.h @@ -77,8 +77,8 @@ public: bool DoCheckersExplainStop (lldb::addr_t addr, Stream &message); - std::auto_ptr m_valid_pointer_check; - std::auto_ptr m_objc_object_check; + STD_UNIQUE_PTR(ClangUtilityFunction) m_valid_pointer_check; + STD_UNIQUE_PTR(ClangUtilityFunction) m_objc_object_check; }; //---------------------------------------------------------------------- diff --git a/lldb/include/lldb/Expression/IRExecutionUnit.h b/lldb/include/lldb/Expression/IRExecutionUnit.h index f9cd4bb22fa8..37012e7f226b 100644 --- a/lldb/include/lldb/Expression/IRExecutionUnit.h +++ b/lldb/include/lldb/Expression/IRExecutionUnit.h @@ -66,8 +66,8 @@ public: //------------------------------------------------------------------ /// Constructor //------------------------------------------------------------------ - IRExecutionUnit (std::auto_ptr &context_ap, - std::auto_ptr &module_ap, + IRExecutionUnit (STD_UNIQUE_PTR(llvm::LLVMContext) &context_ap, + STD_UNIQUE_PTR(llvm::Module) &module_ap, ConstString &name, const lldb::TargetSP &target_sp, std::vector &cpu_features); @@ -422,7 +422,7 @@ private: return m_default_mm_ap->getPointerToNamedFunction(Name, AbortOnFailure); } private: - std::auto_ptr m_default_mm_ap; ///< The memory allocator to use in actually creating space. All calls are passed through to it. + STD_UNIQUE_PTR(JITMemoryManager) m_default_mm_ap; ///< The memory allocator to use in actually creating space. All calls are passed through to it. IRExecutionUnit &m_parent; ///< The execution unit this is a proxy for. }; @@ -502,9 +502,9 @@ private: typedef std::vector RecordVector; RecordVector m_records; - std::auto_ptr m_context_ap; - std::auto_ptr m_execution_engine_ap; - std::auto_ptr m_module_ap; ///< Holder for the module until it's been handed off + STD_UNIQUE_PTR(llvm::LLVMContext) m_context_ap; + STD_UNIQUE_PTR(llvm::ExecutionEngine) m_execution_engine_ap; + STD_UNIQUE_PTR(llvm::Module) m_module_ap; ///< Holder for the module until it's been handed off llvm::Module *m_module; ///< Owned by the execution engine std::vector m_cpu_features; llvm::SmallVector m_jitted_functions; ///< A vector of all functions that have been JITted into machine code diff --git a/lldb/include/lldb/Expression/IRForTarget.h b/lldb/include/lldb/Expression/IRForTarget.h index 2a3fbf67db9f..49a1cb52cbf8 100644 --- a/lldb/include/lldb/Expression/IRForTarget.h +++ b/lldb/include/lldb/Expression/IRForTarget.h @@ -670,7 +670,7 @@ private: lldb_private::ConstString m_result_name; ///< The name of the result variable ($0, $1, ...) lldb_private::TypeFromParser m_result_type; ///< The type of the result variable. llvm::Module *m_module; ///< The module being processed, or NULL if that has not been determined yet. - std::auto_ptr m_target_data; ///< The target data for the module being processed, or NULL if there is no module. + STD_UNIQUE_PTR(llvm::DataLayout) m_target_data; ///< The target data for the module being processed, or NULL if there is no module. lldb_private::ClangExpressionDeclMap *m_decl_map; ///< The DeclMap containing the Decls StaticDataAllocator m_data_allocator; ///< The allocator to use for constant strings lldb_private::IRMemoryMap &m_memory_map; ///< The memory map to pass to the IR interpreter diff --git a/lldb/include/lldb/Host/Terminal.h b/lldb/include/lldb/Host/Terminal.h index 201f07a8a5e1..d0208f57658e 100644 --- a/lldb/include/lldb/Host/Terminal.h +++ b/lldb/include/lldb/Host/Terminal.h @@ -173,7 +173,7 @@ protected: //------------------------------------------------------------------ Terminal m_tty; ///< A terminal int m_tflags; ///< Cached tflags information. - std::auto_ptr m_termios_ap; ///< Cached terminal state information. + STD_UNIQUE_PTR(struct termios) m_termios_ap; ///< Cached terminal state information. lldb::pid_t m_process_group;///< Cached process group information. }; diff --git a/lldb/include/lldb/Interpreter/CommandInterpreter.h b/lldb/include/lldb/Interpreter/CommandInterpreter.h index 1a95c9fddcd7..ebcd60a19eee 100644 --- a/lldb/include/lldb/Interpreter/CommandInterpreter.h +++ b/lldb/include/lldb/Interpreter/CommandInterpreter.h @@ -463,7 +463,7 @@ private: OptionArgMap m_alias_options; // Stores any options (with or without arguments) that go with any alias. std::vector m_command_history; std::string m_repeat_command; // Stores the command that will be executed for an empty command string. - std::auto_ptr m_script_interpreter_ap; + STD_UNIQUE_PTR(ScriptInterpreter) m_script_interpreter_ap; char m_comment_char; char m_repeat_char; bool m_batch_command_mode; diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreter.h b/lldb/include/lldb/Interpreter/ScriptInterpreter.h index 417c79fde323..b2e8570d74bb 100644 --- a/lldb/include/lldb/Interpreter/ScriptInterpreter.h +++ b/lldb/include/lldb/Interpreter/ScriptInterpreter.h @@ -425,7 +425,7 @@ public: return lldb::ScriptInterpreterObjectSP(new ScriptInterpreterObject(object)); } - virtual std::auto_ptr + virtual STD_UNIQUE_PTR(ScriptInterpreterLocker) AcquireInterpreterLock (); const char * diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h index 31e958362512..c2073e531006 100644 --- a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h +++ b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h @@ -181,7 +181,7 @@ public: virtual lldb::ScriptInterpreterObjectSP MakeScriptObject (void* object); - virtual std::auto_ptr + virtual STD_UNIQUE_PTR(ScriptInterpreterLocker) AcquireInterpreterLock (); void diff --git a/lldb/include/lldb/Symbol/ClangASTContext.h b/lldb/include/lldb/Symbol/ClangASTContext.h index 4df93f4c132f..10d45a572940 100644 --- a/lldb/include/lldb/Symbol/ClangASTContext.h +++ b/lldb/include/lldb/Symbol/ClangASTContext.h @@ -11,11 +11,11 @@ #define liblldb_ClangASTContext_h_ // C Includes +#include + // C++ Includes #include #include -#include -#include // Other libraries and framework includes #include "llvm/ADT/OwningPtr.h" @@ -1013,22 +1013,22 @@ protected: //------------------------------------------------------------------ // Classes that inherit from ClangASTContext can see and modify these //------------------------------------------------------------------ - std::string m_target_triple; - std::auto_ptr m_ast_ap; - std::auto_ptr m_language_options_ap; - std::auto_ptr m_file_manager_ap; - std::auto_ptr m_file_system_options_ap; - std::auto_ptr m_source_manager_ap; - std::auto_ptr m_diagnostics_engine_ap; - std::auto_ptr m_diagnostic_consumer_ap; + std::string m_target_triple; + STD_UNIQUE_PTR(clang::ASTContext) m_ast_ap; + STD_UNIQUE_PTR(clang::LangOptions) m_language_options_ap; + STD_UNIQUE_PTR(clang::FileManager) m_file_manager_ap; + STD_UNIQUE_PTR(clang::FileSystemOptions) m_file_system_options_ap; + STD_UNIQUE_PTR(clang::SourceManager) m_source_manager_ap; + STD_UNIQUE_PTR(clang::DiagnosticsEngine) m_diagnostics_engine_ap; + STD_UNIQUE_PTR(clang::DiagnosticConsumer) m_diagnostic_consumer_ap; llvm::IntrusiveRefCntPtr m_target_options_rp; - std::auto_ptr m_target_info_ap; - std::auto_ptr m_identifier_table_ap; - std::auto_ptr m_selector_table_ap; - std::auto_ptr m_builtins_ap; - CompleteTagDeclCallback m_callback_tag_decl; - CompleteObjCInterfaceDeclCallback m_callback_objc_decl; - void * m_callback_baton; + STD_UNIQUE_PTR(clang::TargetInfo) m_target_info_ap; + STD_UNIQUE_PTR(clang::IdentifierTable) m_identifier_table_ap; + STD_UNIQUE_PTR(clang::SelectorTable) m_selector_table_ap; + STD_UNIQUE_PTR(clang::Builtin::Context) m_builtins_ap; + CompleteTagDeclCallback m_callback_tag_decl; + CompleteObjCInterfaceDeclCallback m_callback_objc_decl; + void * m_callback_baton; private: //------------------------------------------------------------------ // For ClangASTContext only diff --git a/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h b/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h index 5fc4b0bad0d9..0c8121135ef0 100644 --- a/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h +++ b/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h @@ -14,7 +14,6 @@ // C++ Includes #include #include -#include #include // Other libraries and framework includes diff --git a/lldb/include/lldb/Symbol/CompileUnit.h b/lldb/include/lldb/Symbol/CompileUnit.h index 2f209dd55cca..8468187eaa14 100644 --- a/lldb/include/lldb/Symbol/CompileUnit.h +++ b/lldb/include/lldb/Symbol/CompileUnit.h @@ -401,7 +401,7 @@ protected: std::vector m_functions; ///< The sparsely populated list of shared pointers to functions ///< that gets populated as functions get partially parsed. FileSpecList m_support_files; ///< Files associated with this compile unit's line table and declarations. - std::auto_ptr m_line_table_ap; ///< Line table that will get parsed on demand. + STD_UNIQUE_PTR(LineTable) m_line_table_ap; ///< Line table that will get parsed on demand. lldb::VariableListSP m_variables; ///< Global and static variable list that will get parsed on demand. private: diff --git a/lldb/include/lldb/Symbol/FuncUnwinders.h b/lldb/include/lldb/Symbol/FuncUnwinders.h index 6c4acb1be825..fa48dc27e123 100644 --- a/lldb/include/lldb/Symbol/FuncUnwinders.h +++ b/lldb/include/lldb/Symbol/FuncUnwinders.h @@ -1,9 +1,6 @@ #ifndef liblldb_FuncUnwinders_h #define liblldb_FuncUnwinders_h - -#include - #include "lldb/Core/AddressRange.h" #include "lldb/Core/ArchSpec.h" #include "lldb/Core/AddressRange.h" diff --git a/lldb/include/lldb/Symbol/ObjectFile.h b/lldb/include/lldb/Symbol/ObjectFile.h index fb6799b34703..fe8d4621ece2 100644 --- a/lldb/include/lldb/Symbol/ObjectFile.h +++ b/lldb/include/lldb/Symbol/ObjectFile.h @@ -621,8 +621,8 @@ protected: lldb_private::UnwindTable m_unwind_table; /// < Table of FuncUnwinders objects created for this ObjectFile's functions lldb::ProcessWP m_process_wp; const lldb::addr_t m_memory_addr; - std::auto_ptr m_sections_ap; - std::auto_ptr m_symtab_ap; + STD_UNIQUE_PTR(lldb_private::SectionList) m_sections_ap; + STD_UNIQUE_PTR(lldb_private::Symtab) m_symtab_ap; //------------------------------------------------------------------ /// Sets the architecture for a module. At present the architecture diff --git a/lldb/include/lldb/Symbol/SymbolContext.h b/lldb/include/lldb/Symbol/SymbolContext.h index c1086af9fea1..e7fe9742ee09 100644 --- a/lldb/include/lldb/Symbol/SymbolContext.h +++ b/lldb/include/lldb/Symbol/SymbolContext.h @@ -367,12 +367,12 @@ private: lldb::TargetSP m_target_sp; std::string m_module_spec; lldb::ModuleSP m_module_sp; - std::auto_ptr m_file_spec_ap; + STD_UNIQUE_PTR(FileSpec) m_file_spec_ap; size_t m_start_line; size_t m_end_line; std::string m_function_spec; std::string m_class_name; - std::auto_ptr m_address_range_ap; + STD_UNIQUE_PTR(AddressRange) m_address_range_ap; uint32_t m_type; // Or'ed bits from SpecificationType }; diff --git a/lldb/include/lldb/Symbol/SymbolVendor.h b/lldb/include/lldb/Symbol/SymbolVendor.h index d466e1dde493..f08012f84a45 100644 --- a/lldb/include/lldb/Symbol/SymbolVendor.h +++ b/lldb/include/lldb/Symbol/SymbolVendor.h @@ -191,7 +191,7 @@ protected: TypeList m_type_list; // Uniqued types for all parsers owned by this module CompileUnits m_compile_units; // The current compile units lldb::ObjectFileSP m_objfile_sp; // Keep a reference to the object file in case it isn't the same as the module object file (debug symbols in a separate file) - std::auto_ptr m_sym_file_ap; // A single symbol file. Suclasses can add more of these if needed. + STD_UNIQUE_PTR(SymbolFile) m_sym_file_ap; // A single symbol file. Suclasses can add more of these if needed. private: //------------------------------------------------------------------ diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h index 16343858a778..41a03e54b779 100644 --- a/lldb/include/lldb/Target/Process.h +++ b/lldb/include/lldb/Target/Process.h @@ -3588,9 +3588,9 @@ protected: std::vector m_image_tokens; Listener &m_listener; BreakpointSiteList m_breakpoint_site_list; ///< This is the list of breakpoint locations we intend to insert in the target. - std::auto_ptr m_dyld_ap; - std::auto_ptr m_dynamic_checkers_ap; ///< The functions used by the expression parser to validate data that expressions use. - std::auto_ptr m_os_ap; + STD_UNIQUE_PTR(DynamicLoader) m_dyld_ap; + STD_UNIQUE_PTR(DynamicCheckerFunctions) m_dynamic_checkers_ap; ///< The functions used by the expression parser to validate data that expressions use. + STD_UNIQUE_PTR(OperatingSystem) m_os_ap; UnixSignals m_unix_signals; /// This is the current signal set for this process. lldb::ABISP m_abi_sp; lldb::InputReaderSP m_process_input_reader; @@ -3604,7 +3604,7 @@ protected: AllocatedMemoryCache m_allocated_memory_cache; bool m_should_detach; /// Should we detach if the process object goes away with an explicit call to Kill or Detach? LanguageRuntimeCollection m_language_runtimes; - std::auto_ptr m_next_event_action_ap; + STD_UNIQUE_PTR(NextEventAction) m_next_event_action_ap; std::vector m_pre_resume_actions; ReadWriteLock m_public_run_lock; #if defined(__APPLE__) diff --git a/lldb/include/lldb/Target/StackFrameList.h b/lldb/include/lldb/Target/StackFrameList.h index 2b2ade9f2283..03c930875016 100644 --- a/lldb/include/lldb/Target/StackFrameList.h +++ b/lldb/include/lldb/Target/StackFrameList.h @@ -98,7 +98,7 @@ protected: SetFrameAtIndex (uint32_t idx, lldb::StackFrameSP &frame_sp); static void - Merge (std::auto_ptr& curr_ap, + Merge (STD_UNIQUE_PTR(StackFrameList)& curr_ap, lldb::StackFrameListSP& prev_sp); void diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h index ae782c3d2d4c..d50d5fac7477 100644 --- a/lldb/include/lldb/Target/Target.h +++ b/lldb/include/lldb/Target/Target.h @@ -1023,7 +1023,7 @@ public: lldb::TargetSP m_target_sp; StringList m_commands; lldb::SymbolContextSpecifierSP m_specifier_sp; - std::auto_ptr m_thread_spec_ap; + STD_UNIQUE_PTR(ThreadSpec) m_thread_spec_ap; bool m_active; // Use AddStopHook to make a new empty stop hook. The GetCommandPointer and fill it with commands, @@ -1159,12 +1159,12 @@ protected: bool m_valid; lldb::SearchFilterSP m_search_filter_sp; PathMappingList m_image_search_paths; - std::auto_ptr m_scratch_ast_context_ap; - std::auto_ptr m_scratch_ast_source_ap; - std::auto_ptr m_ast_importer_ap; + STD_UNIQUE_PTR(ClangASTContext) m_scratch_ast_context_ap; + STD_UNIQUE_PTR(ClangASTSource) m_scratch_ast_source_ap; + STD_UNIQUE_PTR(ClangASTImporter) m_ast_importer_ap; ClangPersistentVariables m_persistent_variables; ///< These are the persistent variables associated with this process for the expression parser. - std::auto_ptr m_source_manager_ap; + STD_UNIQUE_PTR(SourceManager) m_source_manager_ap; typedef std::map StopHookCollection; StopHookCollection m_stop_hooks; diff --git a/lldb/include/lldb/Target/Thread.h b/lldb/include/lldb/Target/Thread.h index 631a999ea15d..ebd4958158db 100644 --- a/lldb/include/lldb/Target/Thread.h +++ b/lldb/include/lldb/Target/Thread.h @@ -966,7 +966,7 @@ protected: lldb::StateType m_resume_state; ///< This state is used to force a thread to be suspended from outside the ThreadPlan logic. lldb::StateType m_temporary_resume_state; ///< This state records what the thread was told to do by the thread plan logic for the current resume. /// It gets set in Thread::WillResume. - std::auto_ptr m_unwinder_ap; + STD_UNIQUE_PTR(lldb_private::Unwind) m_unwinder_ap; bool m_destroy_called; // This is used internally to make sure derived Thread classes call DestroyThread. uint32_t m_thread_stop_reason_stop_id; // This is the stop id for which the StopInfo is valid. Can use this so you know that // the thread's m_actual_stop_info_sp is current and you don't have to fetch it again diff --git a/lldb/include/lldb/Target/ThreadPlanStepInRange.h b/lldb/include/lldb/Target/ThreadPlanStepInRange.h index 1c5574e19527..97a59bdf6029 100644 --- a/lldb/include/lldb/Target/ThreadPlanStepInRange.h +++ b/lldb/include/lldb/Target/ThreadPlanStepInRange.h @@ -93,7 +93,7 @@ private: // from step in. static uint32_t s_default_flag_values; - std::auto_ptr m_avoid_regexp_ap; + STD_UNIQUE_PTR(RegularExpression) m_avoid_regexp_ap; bool m_step_past_prologue; // FIXME: For now hard-coded to true, we could put a switch in for this if there's // demand for that. bool m_virtual_step; // true if we've just done a "virtual step", i.e. just moved the inline stack depth. diff --git a/lldb/include/lldb/Utility/PythonPointer.h b/lldb/include/lldb/Utility/PythonPointer.h index 05852117a29e..f782f7f1313c 100644 --- a/lldb/include/lldb/Utility/PythonPointer.h +++ b/lldb/include/lldb/Utility/PythonPointer.h @@ -11,7 +11,6 @@ #define utility_PythonPointer_h_ #include -#include #if defined (__APPLE__) #include diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h index 0baf3aa7744f..4701c697f6ae 100644 --- a/lldb/include/lldb/lldb-forward.h +++ b/lldb/include/lldb/lldb-forward.h @@ -18,12 +18,14 @@ #include #define STD_SHARED_PTR(T) std::shared_ptr #define STD_WEAK_PTR(T) std::weak_ptr +#define STD_UNIQUE_PTR(T) std::unique_ptr #define STD_ENABLE_SHARED_FROM_THIS(T) std::enable_shared_from_this #define STD_STATIC_POINTER_CAST(T,V) std::static_pointer_cast(V) #else #include #define STD_SHARED_PTR(T) std::tr1::shared_ptr #define STD_WEAK_PTR(T) std::tr1::weak_ptr +#define STD_UNIQUE_PTR(T) std::auto_ptr #define STD_ENABLE_SHARED_FROM_THIS(T) std::tr1::enable_shared_from_this #define STD_STATIC_POINTER_CAST(T,V) std::tr1::static_pointer_cast(V) #endif diff --git a/lldb/scripts/Python/interface/SBExpressionOptions.i b/lldb/scripts/Python/interface/SBExpressionOptions.i index 1f11862b3621..881903d588df 100644 --- a/lldb/scripts/Python/interface/SBExpressionOptions.i +++ b/lldb/scripts/Python/interface/SBExpressionOptions.i @@ -83,7 +83,7 @@ protected: private: // This auto_pointer is made in the constructor and is always valid. - mutable std::auto_ptr m_opaque_ap; + mutable STD_UNIQUE_PTR(lldb_private::EvaluateExpressionOptions) m_opaque_ap; }; } // namespace lldb diff --git a/lldb/scripts/Python/interface/SBSection.i b/lldb/scripts/Python/interface/SBSection.i index 1ea362b59038..e4966acd18a8 100644 --- a/lldb/scripts/Python/interface/SBSection.i +++ b/lldb/scripts/Python/interface/SBSection.i @@ -122,7 +122,7 @@ public: private: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::SectionImpl) m_opaque_ap; }; } // namespace lldb diff --git a/lldb/scripts/Python/interface/SBType.i b/lldb/scripts/Python/interface/SBType.i index 99a71598e236..bf1baab37859 100644 --- a/lldb/scripts/Python/interface/SBType.i +++ b/lldb/scripts/Python/interface/SBType.i @@ -65,7 +65,7 @@ public: %} protected: - std::auto_ptr m_opaque_ap; + STD_UNIQUE_PTR(lldb_private::TypeMemberImpl) m_opaque_ap; }; %feature("docstring", diff --git a/lldb/scripts/Python/python-wrapper.swig b/lldb/scripts/Python/python-wrapper.swig index 2189193cfbbe..9834f0f2b632 100644 --- a/lldb/scripts/Python/python-wrapper.swig +++ b/lldb/scripts/Python/python-wrapper.swig @@ -652,11 +652,11 @@ LLDBSWIGPython_CastPyObjectToSBValue return sb_ptr; } -// Currently, SBCommandReturnObjectReleaser wraps an std::auto_ptr to an +// Currently, SBCommandReturnObjectReleaser wraps a unique pointer to an // lldb_private::CommandReturnObject. This means that the destructor for the // SB object will deallocate its contained CommandReturnObject. Because that // object is used as the real return object for Python-based commands, we want -// it to stay around. Thus, we release the auto_ptr before returning from +// it to stay around. Thus, we release the unique pointer before returning from // LLDBSwigPythonCallCommand, and to guarantee that the release will occur no // matter how we exit from the function, we have a releaser object whose // destructor does the right thing for us diff --git a/lldb/source/Breakpoint/BreakpointOptions.cpp b/lldb/source/Breakpoint/BreakpointOptions.cpp index 60679c94a767..11335fb1db9d 100644 --- a/lldb/source/Breakpoint/BreakpointOptions.cpp +++ b/lldb/source/Breakpoint/BreakpointOptions.cpp @@ -41,7 +41,7 @@ BreakpointOptions::BreakpointOptions() : m_enabled (true), m_one_shot (false), m_ignore_count (0), - m_thread_spec_ap (NULL), + m_thread_spec_ap (), m_condition_ap() { } @@ -56,8 +56,8 @@ BreakpointOptions::BreakpointOptions(const BreakpointOptions& rhs) : m_enabled (rhs.m_enabled), m_one_shot (rhs.m_one_shot), m_ignore_count (rhs.m_ignore_count), - m_thread_spec_ap (NULL), - m_condition_ap (NULL) + m_thread_spec_ap (), + m_condition_ap () { if (rhs.m_thread_spec_ap.get() != NULL) m_thread_spec_ap.reset (new ThreadSpec(*rhs.m_thread_spec_ap.get())); diff --git a/lldb/source/Breakpoint/WatchpointOptions.cpp b/lldb/source/Breakpoint/WatchpointOptions.cpp index 86ea411e4af4..c2c9696c4ce7 100644 --- a/lldb/source/Breakpoint/WatchpointOptions.cpp +++ b/lldb/source/Breakpoint/WatchpointOptions.cpp @@ -38,7 +38,7 @@ WatchpointOptions::WatchpointOptions() : m_callback (WatchpointOptions::NullCallback), m_callback_baton_sp (), m_callback_is_synchronous (false), - m_thread_spec_ap (NULL) + m_thread_spec_ap () { } @@ -49,7 +49,7 @@ WatchpointOptions::WatchpointOptions(const WatchpointOptions& rhs) : m_callback (rhs.m_callback), m_callback_baton_sp (rhs.m_callback_baton_sp), m_callback_is_synchronous (rhs.m_callback_is_synchronous), - m_thread_spec_ap (NULL) + m_thread_spec_ap () { if (rhs.m_thread_spec_ap.get() != NULL) m_thread_spec_ap.reset (new ThreadSpec(*rhs.m_thread_spec_ap.get())); diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp index b1402c8bc61f..da73ec64677c 100644 --- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp +++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp @@ -206,7 +206,7 @@ one command per line.\n" ); CommandReturnObject &result) { InputReaderSP reader_sp (new InputReader(m_interpreter.GetDebugger())); - std::auto_ptr data_ap(new BreakpointOptions::CommandData()); + STD_UNIQUE_PTR(BreakpointOptions::CommandData) data_ap(new BreakpointOptions::CommandData()); if (reader_sp && data_ap.get()) { BatonSP baton_sp (new BreakpointOptions::CommandBaton (data_ap.release())); @@ -242,7 +242,7 @@ one command per line.\n" ); SetBreakpointCommandCallback (BreakpointOptions *bp_options, const char *oneliner) { - std::auto_ptr data_ap(new BreakpointOptions::CommandData()); + STD_UNIQUE_PTR(BreakpointOptions::CommandData) data_ap(new BreakpointOptions::CommandData()); // It's necessary to set both user_source and script_source to the oneliner. // The former is used to generate callback description (as in breakpoint command list) diff --git a/lldb/source/Commands/CommandObjectCommands.cpp b/lldb/source/Commands/CommandObjectCommands.cpp index 7448a871dbdd..d322d8c36f95 100644 --- a/lldb/source/Commands/CommandObjectCommands.cpp +++ b/lldb/source/Commands/CommandObjectCommands.cpp @@ -1066,7 +1066,7 @@ protected: } private: - std::auto_ptr m_regex_cmd_ap; + STD_UNIQUE_PTR(CommandObjectRegexCommand) m_regex_cmd_ap; class CommandOptions : public Options { diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp index 19b788258bb9..ff0b04e40829 100644 --- a/lldb/source/Commands/CommandObjectTarget.cpp +++ b/lldb/source/Commands/CommandObjectTarget.cpp @@ -4882,7 +4882,7 @@ protected: target->AddStopHook (new_hook_sp); // First step, make the specifier. - std::auto_ptr specifier_ap; + STD_UNIQUE_PTR(SymbolContextSpecifier) specifier_ap; if (m_options.m_sym_ctx_specified) { specifier_ap.reset(new SymbolContextSpecifier(m_interpreter.GetDebugger().GetSelectedTarget())); diff --git a/lldb/source/Commands/CommandObjectWatchpointCommand.cpp b/lldb/source/Commands/CommandObjectWatchpointCommand.cpp index 18c31616a16b..86bab6b19fda 100644 --- a/lldb/source/Commands/CommandObjectWatchpointCommand.cpp +++ b/lldb/source/Commands/CommandObjectWatchpointCommand.cpp @@ -190,7 +190,7 @@ but do NOT enter more than one command per line. \n" ); CommandReturnObject &result) { InputReaderSP reader_sp (new InputReader(m_interpreter.GetDebugger())); - std::auto_ptr data_ap(new WatchpointOptions::CommandData()); + STD_UNIQUE_PTR(WatchpointOptions::CommandData) data_ap(new WatchpointOptions::CommandData()); if (reader_sp && data_ap.get()) { BatonSP baton_sp (new WatchpointOptions::CommandBaton (data_ap.release())); @@ -226,7 +226,7 @@ but do NOT enter more than one command per line. \n" ); SetWatchpointCommandCallback (WatchpointOptions *wp_options, const char *oneliner) { - std::auto_ptr data_ap(new WatchpointOptions::CommandData()); + STD_UNIQUE_PTR(WatchpointOptions::CommandData) data_ap(new WatchpointOptions::CommandData()); // It's necessary to set both user_source and script_source to the oneliner. // The former is used to generate callback description (as in watchpoint command list) diff --git a/lldb/source/Core/Communication.cpp b/lldb/source/Core/Communication.cpp index 51bf4c397061..6e1c545f0664 100644 --- a/lldb/source/Core/Communication.cpp +++ b/lldb/source/Core/Communication.cpp @@ -108,7 +108,7 @@ Communication::Disconnect (Error *error_ptr) // don't want to pay for the overhead it might cause if every time we // access the connection we have to take a lock. // - // This auto_ptr will cleanup after itself when this object goes away, + // This unique pointer will cleanup after itself when this object goes away, // so there is no need to currently have it destroy itself immediately // upon disconnnect. //connection_sp.reset(); diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp index 2a67f1db165f..f2782bc49add 100644 --- a/lldb/source/Core/Disassembler.cpp +++ b/lldb/source/Core/Disassembler.cpp @@ -638,7 +638,7 @@ Instruction::Dump (lldb_private::Stream *s, bool Instruction::DumpEmulation (const ArchSpec &arch) { - std::auto_ptr 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 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 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); diff --git a/lldb/source/Core/DynamicLoader.cpp b/lldb/source/Core/DynamicLoader.cpp index 17a796fee9de..1e52acce38cc 100644 --- a/lldb/source/Core/DynamicLoader.cpp +++ b/lldb/source/Core/DynamicLoader.cpp @@ -24,7 +24,7 @@ DynamicLoader::FindPlugin (Process *process, const char *plugin_name) create_callback = PluginManager::GetDynamicLoaderCreateCallbackForPluginName (plugin_name); if (create_callback) { - std::auto_ptr instance_ap(create_callback(process, true)); + STD_UNIQUE_PTR(DynamicLoader) instance_ap(create_callback(process, true)); if (instance_ap.get()) return instance_ap.release(); } @@ -33,7 +33,7 @@ DynamicLoader::FindPlugin (Process *process, const char *plugin_name) { for (uint32_t idx = 0; (create_callback = PluginManager::GetDynamicLoaderCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr instance_ap(create_callback(process, false)); + STD_UNIQUE_PTR(DynamicLoader) instance_ap(create_callback(process, false)); if (instance_ap.get()) return instance_ap.release(); } diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index 151e611b71b9..3c1dfbfb3c64 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -254,7 +254,7 @@ Module::GetMemoryObjectFile (const lldb::ProcessSP &process_sp, lldb::addr_t hea if (process_sp) { m_did_load_objfile = true; - std::auto_ptr data_ap (new DataBufferHeap (512, 0)); + STD_UNIQUE_PTR(DataBufferHeap) data_ap (new DataBufferHeap (512, 0)); Error readmem_error; const size_t bytes_read = process_sp->ReadMemory (header_addr, data_ap->GetBytes(), @@ -1185,6 +1185,15 @@ Module::GetModificationTime () const return m_mod_time; } +void +Module::SetSymbolFileFileSpec (const FileSpec &file) +{ + m_symfile_spec = file; + m_symfile_ap.reset(); + m_did_load_symbol_vendor = false; +} + + bool Module::IsExecutable () { diff --git a/lldb/source/Core/StreamAsynchronousIO.cpp b/lldb/source/Core/StreamAsynchronousIO.cpp index d6ab0d857252..5e14d13e9a67 100644 --- a/lldb/source/Core/StreamAsynchronousIO.cpp +++ b/lldb/source/Core/StreamAsynchronousIO.cpp @@ -35,7 +35,7 @@ StreamAsynchronousIO::Flush () { if (m_accumulated_data.GetSize() > 0) { - std::auto_ptr data_bytes_ap (new EventDataBytes); + STD_UNIQUE_PTR(EventDataBytes) data_bytes_ap (new EventDataBytes); // Let's swap the bytes to avoid LARGE string copies. data_bytes_ap->SwapBytes (m_accumulated_data.GetString()); EventSP new_event_sp (new Event (m_broadcast_event_type, data_bytes_ap.release())); diff --git a/lldb/source/Expression/ClangExpressionDeclMap.cpp b/lldb/source/Expression/ClangExpressionDeclMap.cpp index f72feb4835a5..ec2dbf6b8a03 100644 --- a/lldb/source/Expression/ClangExpressionDeclMap.cpp +++ b/lldb/source/Expression/ClangExpressionDeclMap.cpp @@ -1117,7 +1117,7 @@ ClangExpressionDeclMap::LookupDecl (clang::NamedDecl *decl, ClangExpressionVaria if (parser_vars->m_lldb_var) { - std::auto_ptr value(GetVariableValue(parser_vars->m_lldb_var, NULL)); + STD_UNIQUE_PTR(Value) value(GetVariableValue(parser_vars->m_lldb_var, NULL)); if (is_reference && value.get() && value->GetValueType() == Value::eValueTypeLoadAddress) { @@ -1252,7 +1252,7 @@ ClangExpressionDeclMap::GetSpecialValue (const ConstString &name) !var->LocationIsValidForFrame (frame)) return Value(); - std::auto_ptr value(GetVariableValue(var, NULL)); + STD_UNIQUE_PTR(Value) value(GetVariableValue(var, NULL)); if (value.get() && value->GetValueType() == Value::eValueTypeLoadAddress) { @@ -1347,7 +1347,7 @@ ClangExpressionDeclMap::GetObjectPointer return false; } - std::auto_ptr location_value(GetVariableValue(object_ptr_var, + STD_UNIQUE_PTR(lldb_private::Value) location_value(GetVariableValue(object_ptr_var, NULL)); if (!location_value.get()) @@ -2534,7 +2534,7 @@ ClangExpressionDeclMap::GetVariableValue DWARFExpression &var_location_expr = var->LocationExpression(); - std::auto_ptr var_location(new Value); + STD_UNIQUE_PTR(Value) var_location(new Value); lldb::addr_t loclist_base_load_addr = LLDB_INVALID_ADDRESS; @@ -2756,7 +2756,7 @@ ClangExpressionDeclMap::AddOneGenericVariable(NameSearchContext &context, m_parser_vars->m_target_info.address_byte_size)); assert (entity.get()); - std::auto_ptr symbol_location(new Value); + STD_UNIQUE_PTR(Value) symbol_location(new Value); const Address &symbol_address = symbol.GetAddress(); lldb::addr_t symbol_load_addr = symbol_address.GetLoadAddress(target); @@ -2900,7 +2900,7 @@ ClangExpressionDeclMap::AddOneFunction (NameSearchContext &context, Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_EXPRESSIONS)); NamedDecl *fun_decl = NULL; - std::auto_ptr fun_location(new Value); + STD_UNIQUE_PTR(Value) fun_location(new Value); const Address *fun_address = NULL; // only valid for Functions, not for Symbols diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index 59b00bf5f04b..2922898a0ca4 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -188,7 +188,7 @@ ClangExpressionParser::ClangExpressionParser (ExecutionContextScope *exe_scope, ClangExpression &expr) : m_expr (expr), m_compiler (), - m_code_generator (NULL) + m_code_generator () { // Initialize targets first, so that --version shows registered targets. static struct InitializeLLVM { @@ -351,13 +351,13 @@ ClangExpressionParser::ClangExpressionParser (ExecutionContextScope *exe_scope, m_selector_table.reset(new SelectorTable()); m_builtin_context.reset(new Builtin::Context()); - std::auto_ptr ast_context(new ASTContext(m_compiler->getLangOpts(), - m_compiler->getSourceManager(), - &m_compiler->getTarget(), - m_compiler->getPreprocessor().getIdentifierTable(), - *m_selector_table.get(), - *m_builtin_context.get(), - 0)); + STD_UNIQUE_PTR(clang::ASTContext) ast_context(new ASTContext(m_compiler->getLangOpts(), + m_compiler->getSourceManager(), + &m_compiler->getTarget(), + m_compiler->getPreprocessor().getIdentifierTable(), + *m_selector_table.get(), + *m_builtin_context.get(), + 0)); ClangExpressionDeclMap *decl_map = m_expr.DeclMap(); @@ -462,7 +462,7 @@ static bool FindFunctionInModule (ConstString &mangled_name, Error ClangExpressionParser::PrepareForExecution (lldb::addr_t &func_addr, lldb::addr_t &func_end, - std::auto_ptr &execution_unit_ap, + STD_UNIQUE_PTR(IRExecutionUnit) &execution_unit_ap, ExecutionContext &exe_ctx, bool &evaluated_statically, lldb::ClangExpressionVariableSP &const_result, @@ -472,11 +472,11 @@ ClangExpressionParser::PrepareForExecution (lldb::addr_t &func_addr, func_end = LLDB_INVALID_ADDRESS; Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_EXPRESSIONS)); - std::auto_ptr execution_engine_ap; + STD_UNIQUE_PTR(llvm::ExecutionEngine) execution_engine_ap; Error err; - std::auto_ptr module_ap (m_code_generator->ReleaseModule()); + STD_UNIQUE_PTR(llvm::Module) module_ap (m_code_generator->ReleaseModule()); if (!module_ap.get()) { @@ -596,7 +596,7 @@ ClangExpressionParser::PrepareForExecution (lldb::addr_t &func_addr, m_execution_unit->GetRunnableInfo(err, func_addr, func_end); - execution_unit_ap = m_execution_unit; + execution_unit_ap.reset (m_execution_unit.release()); return err; } diff --git a/lldb/source/Expression/ClangFunction.cpp b/lldb/source/Expression/ClangFunction.cpp index 74fb0c0e8064..c0131b06a582 100644 --- a/lldb/source/Expression/ClangFunction.cpp +++ b/lldb/source/Expression/ClangFunction.cpp @@ -25,6 +25,7 @@ #include "lldb/Expression/ASTStructExtractor.h" #include "lldb/Expression/ClangExpressionParser.h" #include "lldb/Expression/ClangFunction.h" +#include "lldb/Expression/IRExecutionUnit.h" #include "lldb/Symbol/Type.h" #include "lldb/Core/DataExtractor.h" #include "lldb/Core/State.h" diff --git a/lldb/source/Expression/ClangUserExpression.cpp b/lldb/source/Expression/ClangUserExpression.cpp index 1a11b9778384..6f65b11a6869 100644 --- a/lldb/source/Expression/ClangUserExpression.cpp +++ b/lldb/source/Expression/ClangUserExpression.cpp @@ -396,7 +396,7 @@ ClangUserExpression::Parse (Stream &error_stream, ApplyObjcCastHack(m_expr_text); //ApplyUnicharHack(m_expr_text); - std::auto_ptr source_code (ExpressionSourceCode::CreateWrapped(m_expr_prefix.c_str(), m_expr_text.c_str())); + STD_UNIQUE_PTR(ExpressionSourceCode) source_code (ExpressionSourceCode::CreateWrapped(m_expr_prefix.c_str(), m_expr_text.c_str())); lldb::LanguageType lang_type; diff --git a/lldb/source/Expression/ClangUtilityFunction.cpp b/lldb/source/Expression/ClangUtilityFunction.cpp index 3fcc24907257..aed0e244e7f8 100644 --- a/lldb/source/Expression/ClangUtilityFunction.cpp +++ b/lldb/source/Expression/ClangUtilityFunction.cpp @@ -23,6 +23,7 @@ #include "lldb/Expression/ClangExpressionParser.h" #include "lldb/Expression/ClangUtilityFunction.h" #include "lldb/Expression/ExpressionSourceCode.h" +#include "lldb/Expression/IRExecutionUnit.h" #include "lldb/Host/Host.h" #include "lldb/Target/ExecutionContext.h" #include "lldb/Target/Target.h" diff --git a/lldb/source/Expression/DWARFExpression.cpp b/lldb/source/Expression/DWARFExpression.cpp index c9e035194490..c3451a495905 100644 --- a/lldb/source/Expression/DWARFExpression.cpp +++ b/lldb/source/Expression/DWARFExpression.cpp @@ -1062,8 +1062,8 @@ DWARFExpression::Update_DW_OP_addr (lldb::addr_t file_addr) // we then replace the data for this expression // So first we copy the data into a heap buffer - std::auto_ptr head_data_ap (new DataBufferHeap (m_data.GetDataStart(), - m_data.GetByteSize())); + STD_UNIQUE_PTR(DataBufferHeap) head_data_ap (new DataBufferHeap (m_data.GetDataStart(), + m_data.GetByteSize())); // Make en encoder so we can write the address into the buffer using // the correct byte order (endianness) diff --git a/lldb/source/Expression/IRExecutionUnit.cpp b/lldb/source/Expression/IRExecutionUnit.cpp index 206a6a394f26..d6dfe9497319 100644 --- a/lldb/source/Expression/IRExecutionUnit.cpp +++ b/lldb/source/Expression/IRExecutionUnit.cpp @@ -25,14 +25,14 @@ using namespace lldb_private; -IRExecutionUnit::IRExecutionUnit (std::auto_ptr &context_ap, - std::auto_ptr &module_ap, +IRExecutionUnit::IRExecutionUnit (STD_UNIQUE_PTR(llvm::LLVMContext) &context_ap, + STD_UNIQUE_PTR(llvm::Module) &module_ap, ConstString &name, const lldb::TargetSP &target_sp, std::vector &cpu_features) : IRMemoryMap(target_sp), - m_context_ap(context_ap), - m_module_ap(module_ap), + m_context_ap(context_ap.release()), + m_module_ap(module_ap.release()), m_module(m_module_ap.get()), m_cpu_features(cpu_features), m_name(name), diff --git a/lldb/source/Expression/IRInterpreter.cpp b/lldb/source/Expression/IRInterpreter.cpp index 419165c79b14..622156302ae7 100644 --- a/lldb/source/Expression/IRInterpreter.cpp +++ b/lldb/source/Expression/IRInterpreter.cpp @@ -817,7 +817,7 @@ IRInterpreter::maybeRunOnFunction (lldb_private::ClangExpressionDeclMap *decl_ma } static const char *unsupported_opcode_error = "Interpreter doesn't handle one of the expression's opcodes"; -static const char *interpreter_initialization_error = "Interpreter couldn't be initialized"; +//static const char *interpreter_initialization_error = "Interpreter couldn't be initialized"; static const char *interpreter_internal_error = "Interpreter encountered an internal error"; static const char *bad_value_error = "Interpreter couldn't resolve a value during execution"; static const char *memory_allocation_error = "Interpreter couldn't allocate memory"; diff --git a/lldb/source/Host/common/File.cpp b/lldb/source/Host/common/File.cpp index ae0bf8879740..f818123c2964 100644 --- a/lldb/source/Host/common/File.cpp +++ b/lldb/source/Host/common/File.cpp @@ -556,7 +556,7 @@ File::Read (size_t &num_bytes, off_t &offset, bool null_terminate, DataBufferSP if (num_bytes > bytes_left) num_bytes = bytes_left; - std::auto_ptr data_heap_ap; + STD_UNIQUE_PTR(DataBufferHeap) data_heap_ap; data_heap_ap.reset(new DataBufferHeap(num_bytes + (null_terminate ? 1 : 0), '\0')); if (data_heap_ap.get()) diff --git a/lldb/source/Host/common/FileSpec.cpp b/lldb/source/Host/common/FileSpec.cpp index c8cb96cc5655..fab7ea1eccb5 100644 --- a/lldb/source/Host/common/FileSpec.cpp +++ b/lldb/source/Host/common/FileSpec.cpp @@ -35,7 +35,6 @@ using namespace lldb; using namespace lldb_private; -using namespace std; static bool GetFileStats (const FileSpec *file_spec, struct stat *stats_ptr) @@ -745,7 +744,7 @@ DataBufferSP FileSpec::MemoryMapFileContents(off_t file_offset, size_t file_size) const { DataBufferSP data_sp; - auto_ptr mmap_data(new DataBufferMemoryMap()); + STD_UNIQUE_PTR(DataBufferMemoryMap) mmap_data(new DataBufferMemoryMap()); if (mmap_data.get()) { if (mmap_data->MemoryMapFromFileSpec (this, file_offset, file_size) >= file_size) @@ -863,7 +862,7 @@ FileSpec::ReadFileLines (STLStringArray &lines) char path[PATH_MAX]; if (GetPath(path, sizeof(path))) { - ifstream file_stream (path); + std::ifstream file_stream (path); if (file_stream) { diff --git a/lldb/source/Host/common/Host.cpp b/lldb/source/Host/common/Host.cpp index 61386b5833b3..90de94cf10c6 100644 --- a/lldb/source/Host/common/Host.cpp +++ b/lldb/source/Host/common/Host.cpp @@ -1313,7 +1313,7 @@ Host::RunShellCommand (const char *command, } // The process monitor callback will delete the 'shell_info_ptr' below... - std::auto_ptr shell_info_ap (new ShellInfo()); + STD_UNIQUE_PTR(ShellInfo) shell_info_ap (new ShellInfo()); const bool monitor_signals = false; launch_info.SetMonitorProcessCallback(MonitorShellCommand, shell_info_ap.get(), monitor_signals); @@ -1324,7 +1324,7 @@ Host::RunShellCommand (const char *command, { // The process successfully launched, so we can defer ownership of // "shell_info" to the MonitorShellCommand callback function that will - // get called when the process dies. We release the std::auto_ptr as it + // get called when the process dies. We release the unique pointer as it // doesn't need to delete the ShellInfo anymore. ShellInfo *shell_info = shell_info_ap.release(); TimeValue timeout_time(TimeValue::Now()); diff --git a/lldb/source/Host/freebsd/Host.cpp b/lldb/source/Host/freebsd/Host.cpp index 3e787cfba02e..453bcf5f1cf5 100644 --- a/lldb/source/Host/freebsd/Host.cpp +++ b/lldb/source/Host/freebsd/Host.cpp @@ -294,7 +294,7 @@ Host::GetAuxvData(lldb_private::Process *process) struct ps_strings ps_strings; struct ptrace_io_desc pid; DataBufferSP buf_sp; - std::auto_ptr buf_ap(new DataBufferHeap(1024, 0)); + STD_UNIQUE_PTR(DataBufferHeap) buf_ap(new DataBufferHeap(1024, 0)); if (::sysctl(mib, 2, &ps_strings_addr, &ps_strings_size, NULL, 0) == 0) { pid.piod_op = PIOD_READ_D; diff --git a/lldb/source/Host/linux/Host.cpp b/lldb/source/Host/linux/Host.cpp index a418f38eb08d..f90345e13aab 100644 --- a/lldb/source/Host/linux/Host.cpp +++ b/lldb/source/Host/linux/Host.cpp @@ -72,7 +72,7 @@ Host::GetAuxvData(lldb_private::Process *process) return buf_sp; size_t bytes_read = 0; - std::auto_ptr buf_ap(new DataBufferHeap(1024, 0)); + STD_UNIQUE_PTR(DataBufferHeap) buf_ap(new DataBufferHeap(1024, 0)); for (;;) { size_t avail = buf_ap->GetByteSize() - bytes_read; diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index 72a9df910507..661512c222b2 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -391,7 +391,7 @@ CommandInterpreter::LoadCommandDictionary () size_t num_regexes = sizeof break_regexes/sizeof(char *[2]); - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) break_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-break", "Set a breakpoint using a regular expression to specify the location, where is in decimal and
is in hex.", @@ -418,7 +418,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) tbreak_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-tbreak", "Set a one shot breakpoint using a regular expression to specify the location, where is in decimal and
is in hex.", @@ -449,7 +449,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) attach_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-attach", "Attach to a process id if in decimal, otherwise treat the argument as a process name to attach to.", @@ -467,7 +467,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) down_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-down", "Go down \"n\" frames in the stack (1 frame by default).", @@ -482,7 +482,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) up_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-up", "Go up \"n\" frames in the stack (1 frame by default).", @@ -497,7 +497,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) display_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-display", "Add an expression evaluation stop-hook.", @@ -511,7 +511,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) undisplay_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-undisplay", "Remove an expression evaluation stop-hook.", @@ -525,7 +525,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) connect_gdb_remote_cmd_ap(new CommandObjectRegexCommand (*this, "gdb-remote", "Connect to a remote GDB server. If no hostname is provided, localhost is assumed.", @@ -540,7 +540,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) connect_kdp_remote_cmd_ap(new CommandObjectRegexCommand (*this, "kdp-remote", "Connect to a remote KDP server. udp port 41139 is the default port number.", @@ -555,7 +555,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) bt_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-bt", "Show a backtrace. An optional argument is accepted; if that argument is a number, it specifies the number of frames to display. If that argument is 'all', full backtraces of all threads are displayed.", @@ -575,7 +575,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) list_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-list", "Implements the GDB 'list' command in all of its forms except FILE:FUNCTION and maps them to the appropriate 'source list' commands.", @@ -597,7 +597,7 @@ CommandInterpreter::LoadCommandDictionary () } } - std::auto_ptr + STD_UNIQUE_PTR(CommandObjectRegexCommand) env_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-env", "Implements a shortcut to viewing and setting environment variables.", diff --git a/lldb/source/Interpreter/Options.cpp b/lldb/source/Interpreter/Options.cpp index 6b509d40ef87..9b4211bd508a 100644 --- a/lldb/source/Interpreter/Options.cpp +++ b/lldb/source/Interpreter/Options.cpp @@ -901,7 +901,7 @@ Options::HandleOptionArgumentCompletion ) { const OptionDefinition *opt_defs = GetDefinitions(); - std::auto_ptr filter_ap; + STD_UNIQUE_PTR(SearchFilter) filter_ap; int opt_arg_pos = opt_element_vector[opt_element_index].opt_arg_pos; int opt_defs_index = opt_element_vector[opt_element_index].opt_defs_index; diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp index 0e85902cff2c..0609cf9978fb 100644 --- a/lldb/source/Interpreter/ScriptInterpreter.cpp +++ b/lldb/source/Interpreter/ScriptInterpreter.cpp @@ -81,10 +81,10 @@ ScriptInterpreter::LanguageToString (lldb::ScriptLanguage language) return return_value; } -std::auto_ptr +STD_UNIQUE_PTR(ScriptInterpreterLocker) ScriptInterpreter::AcquireInterpreterLock () { - return std::auto_ptr(new ScriptInterpreterLocker()); + return STD_UNIQUE_PTR(ScriptInterpreterLocker)(new ScriptInterpreterLocker()); } void diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp index d56f21eed1d8..260a6c3ad3fc 100644 --- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp +++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp @@ -1321,7 +1321,7 @@ ScriptInterpreterPython::GenerateBreakpointOptionsCommandCallback case eInputReaderDone: { BreakpointOptions *bp_options = (BreakpointOptions *)baton; - std::auto_ptr data_ap(new BreakpointOptions::CommandData()); + STD_UNIQUE_PTR(BreakpointOptions::CommandData) data_ap(new BreakpointOptions::CommandData()); data_ap->user_source.AppendList (commands_in_progress); if (data_ap.get()) { @@ -1427,7 +1427,7 @@ ScriptInterpreterPython::GenerateWatchpointOptionsCommandCallback case eInputReaderDone: { WatchpointOptions *wp_options = (WatchpointOptions *)baton; - std::auto_ptr data_ap(new WatchpointOptions::CommandData()); + STD_UNIQUE_PTR(WatchpointOptions::CommandData) data_ap(new WatchpointOptions::CommandData()); data_ap->user_source.AppendList (commands_in_progress); if (data_ap.get()) { @@ -1534,7 +1534,7 @@ void ScriptInterpreterPython::SetBreakpointCommandCallback (BreakpointOptions *bp_options, const char *oneliner) { - std::auto_ptr data_ap(new BreakpointOptions::CommandData()); + STD_UNIQUE_PTR(BreakpointOptions::CommandData) data_ap(new BreakpointOptions::CommandData()); // It's necessary to set both user_source and script_source to the oneliner. // The former is used to generate callback description (as in breakpoint command list) @@ -1557,7 +1557,7 @@ void ScriptInterpreterPython::SetWatchpointCommandCallback (WatchpointOptions *wp_options, const char *oneliner) { - std::auto_ptr data_ap(new WatchpointOptions::CommandData()); + STD_UNIQUE_PTR(WatchpointOptions::CommandData) data_ap(new WatchpointOptions::CommandData()); // It's necessary to set both user_source and script_source to the oneliner. // The former is used to generate callback description (as in watchpoint command list) @@ -2807,10 +2807,10 @@ ScriptInterpreterPython::GetDocumentationForItem(const char* item, std::string& } } -std::auto_ptr +STD_UNIQUE_PTR(ScriptInterpreterLocker) ScriptInterpreterPython::AcquireInterpreterLock () { - std::auto_ptr py_lock(new Locker(this, + STD_UNIQUE_PTR(ScriptInterpreterLocker) py_lock(new Locker(this, Locker::AcquireLock | Locker::InitSession, Locker::FreeLock | Locker::TearDownSession)); return py_lock; diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp index 9eb22fdf4b52..b9f7936c4e0b 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp @@ -472,6 +472,10 @@ DisassemblerLLVMC::LLVMCDisassembler::LLVMCDisassembler (const char *triple, uns m_is_valid = false; } +DisassemblerLLVMC::LLVMCDisassembler::~LLVMCDisassembler() +{ +} + namespace { // This is the memory object we use in GetInstruction. class LLDBDisasmMemoryObject : public llvm::MemoryObject { @@ -563,7 +567,7 @@ DisassemblerLLVMC::CreateInstance (const ArchSpec &arch, const char *flavor) { if (arch.GetTriple().getArch() != llvm::Triple::UnknownArch) { - std::auto_ptr disasm_ap (new DisassemblerLLVMC(arch, flavor)); + STD_UNIQUE_PTR(DisassemblerLLVMC) disasm_ap (new DisassemblerLLVMC(arch, flavor)); if (disasm_ap.get() && disasm_ap->IsValid()) return disasm_ap.release(); diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h index 7428b6b13e25..4b9cee2a608e 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h @@ -43,7 +43,7 @@ class DisassemblerLLVMC : public lldb_private::Disassembler public: LLVMCDisassembler (const char *triple, unsigned flavor, DisassemblerLLVMC &owner); - ~LLVMCDisassembler() {}; + ~LLVMCDisassembler(); uint64_t GetMCInst (const uint8_t *opcode_data, size_t opcode_data_len, lldb::addr_t pc, llvm::MCInst &mc_inst); uint64_t PrintMCInst (llvm::MCInst &mc_inst, char *output_buffer, size_t out_buffer_len); @@ -54,14 +54,14 @@ class DisassemblerLLVMC : public lldb_private::Disassembler } private: - bool m_is_valid; - std::auto_ptr m_context_ap; - std::auto_ptr m_asm_info_ap; - std::auto_ptr m_subtarget_info_ap; - std::auto_ptr m_instr_info_ap; - std::auto_ptr m_reg_info_ap; - std::auto_ptr m_instr_printer_ap; - std::auto_ptr m_disasm_ap; + bool m_is_valid; + STD_UNIQUE_PTR(llvm::MCContext) m_context_ap; + STD_UNIQUE_PTR(llvm::MCAsmInfo) m_asm_info_ap; + STD_UNIQUE_PTR(llvm::MCSubtargetInfo) m_subtarget_info_ap; + STD_UNIQUE_PTR(llvm::MCInstrInfo) m_instr_info_ap; + STD_UNIQUE_PTR(llvm::MCRegisterInfo) m_reg_info_ap; + STD_UNIQUE_PTR(llvm::MCInstPrinter) m_instr_printer_ap; + STD_UNIQUE_PTR(llvm::MCDisassembler) m_disasm_ap; }; public: @@ -164,8 +164,8 @@ protected: lldb_private::Mutex m_mutex; bool m_data_from_file; - std::auto_ptr m_disasm_ap; - std::auto_ptr m_alternate_disasm_ap; + STD_UNIQUE_PTR(LLVMCDisassembler) m_disasm_ap; + STD_UNIQUE_PTR(LLVMCDisassembler) m_alternate_disasm_ap; }; #endif // liblldb_DisassemblerLLVM_h_ diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp index 2f3c4e4e06c4..889419558477 100644 --- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp +++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp @@ -98,7 +98,7 @@ DynamicLoaderPOSIXDYLD::DynamicLoaderPOSIXDYLD(Process *process) m_rendezvous(process), m_load_offset(LLDB_INVALID_ADDRESS), m_entry_point(LLDB_INVALID_ADDRESS), - m_auxv(NULL) + m_auxv() { } diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h index 4c9cbe534f2b..3402afbc5859 100644 --- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h +++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h @@ -93,7 +93,7 @@ protected: lldb::addr_t m_entry_point; /// Auxiliary vector of the inferior process. - std::auto_ptr m_auxv; + STD_UNIQUE_PTR(AuxVector) m_auxv; /// Enables a breakpoint on a function called by the runtime /// linker each time a module is loaded or unloaded. diff --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp index 5aadfe3e26c9..8bceba69f400 100644 --- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp +++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp @@ -193,14 +193,14 @@ EmulateInstructionARM::CreateInstance (const ArchSpec &arch, InstructionType ins { if (arch.GetTriple().getArch() == llvm::Triple::arm) { - std::auto_ptr emulate_insn_ap (new EmulateInstructionARM (arch)); + STD_UNIQUE_PTR(EmulateInstructionARM) emulate_insn_ap (new EmulateInstructionARM (arch)); if (emulate_insn_ap.get()) return emulate_insn_ap.release(); } else if (arch.GetTriple().getArch() == llvm::Triple::thumb) { - std::auto_ptr emulate_insn_ap (new EmulateInstructionARM (arch)); + STD_UNIQUE_PTR(EmulateInstructionARM) emulate_insn_ap (new EmulateInstructionARM (arch)); if (emulate_insn_ap.get()) return emulate_insn_ap.release(); diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h index d9dd5a69be9d..7eaf5ac04d45 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h @@ -104,17 +104,19 @@ protected: Address * GetPrintForDebuggerAddr(); - std::auto_ptr
m_PrintForDebugger_addr; + STD_UNIQUE_PTR(Address) m_PrintForDebugger_addr; bool m_read_objc_library; - std::auto_ptr m_objc_trampoline_handler_ap; + STD_UNIQUE_PTR(lldb_private::AppleObjCTrampolineHandler) m_objc_trampoline_handler_ap; lldb::BreakpointSP m_objc_exception_bp_sp; lldb::ModuleWP m_objc_module_wp; AppleObjCRuntime(Process *process) : lldb_private::ObjCLanguageRuntime(process), m_read_objc_library (false), - m_objc_trampoline_handler_ap(NULL) - { } // Call CreateInstance instead. + m_objc_trampoline_handler_ap () + { + // Call CreateInstance instead. + } }; } // namespace lldb_private diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp index 944cc3507ac9..ca239db43bb8 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp @@ -150,7 +150,7 @@ struct BufStruct { ClangUtilityFunction * AppleObjCRuntimeV1::CreateObjectChecker(const char *name) { - std::auto_ptr buf(new BufStruct); + STD_UNIQUE_PTR(BufStruct) buf(new BufStruct); assert(snprintf(&buf->contents[0], sizeof(buf->contents), "struct __objc_class \n" diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h index 419bae998b29..e84f5ff42ecf 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h @@ -184,7 +184,7 @@ protected: HashTableSignature m_hash_signature; lldb::addr_t m_isa_hash_table_ptr; - std::auto_ptr m_type_vendor_ap; + STD_UNIQUE_PTR(TypeVendor) m_type_vendor_ap; private: AppleObjCRuntimeV1(Process *process); }; diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp index 31916937c0b7..7ab38f91770b 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -11,7 +11,6 @@ #include #include -#include #include #include "lldb/lldb-enumerations.h" @@ -309,6 +308,10 @@ AppleObjCRuntimeV2::AppleObjCRuntimeV2 (Process *process, m_has_object_getClass = (objc_module_sp->FindFirstSymbolWithNameAndType(g_gdb_object_getClass, eSymbolTypeCode) != NULL); } +AppleObjCRuntimeV2::~AppleObjCRuntimeV2() +{ +} + bool AppleObjCRuntimeV2::GetDynamicTypeAndAddress (ValueObject &in_value, DynamicValueType use_dynamic, @@ -817,9 +820,9 @@ public: if (process) { - std::auto_ptr objc_class; - std::auto_ptr class_ro; - std::auto_ptr class_rw; + STD_UNIQUE_PTR(objc_class_t) objc_class; + STD_UNIQUE_PTR(class_ro_t) class_ro; + STD_UNIQUE_PTR(class_rw_t) class_rw; if (!Read_objc_class(process, objc_class)) return m_name; @@ -840,7 +843,7 @@ public: if (!process) return ObjCLanguageRuntime::ClassDescriptorSP(); - std::auto_ptr objc_class; + STD_UNIQUE_PTR(objc_class_t) objc_class; if (!Read_objc_class(process, objc_class)) return ObjCLanguageRuntime::ClassDescriptorSP(); @@ -869,9 +872,9 @@ public: if (process) { - std::auto_ptr objc_class; - std::auto_ptr class_ro; - std::auto_ptr class_rw; + STD_UNIQUE_PTR(objc_class_t) objc_class; + STD_UNIQUE_PTR(class_ro_t) class_ro; + STD_UNIQUE_PTR(class_rw_t) class_rw; if (!Read_objc_class(process, objc_class)) return 0; @@ -898,9 +901,9 @@ public: { lldb_private::Process *process = m_runtime.GetProcess(); - std::auto_ptr objc_class; - std::auto_ptr class_ro; - std::auto_ptr class_rw; + STD_UNIQUE_PTR(objc_class_t) objc_class; + STD_UNIQUE_PTR(class_ro_t) class_ro; + STD_UNIQUE_PTR(class_rw_t) class_rw; if (!Read_objc_class(process, objc_class)) return 0; @@ -914,7 +917,7 @@ public: if (instance_method_func) { - std::auto_ptr base_method_list; + STD_UNIQUE_PTR(method_list_t) base_method_list; base_method_list.reset(new method_list_t); if (!base_method_list->Read(process, class_ro->m_baseMethods_ptr)) @@ -923,7 +926,7 @@ public: if (base_method_list->m_entsize != method_t::GetSize(process)) return false; - std::auto_ptr method; + STD_UNIQUE_PTR(method_t) method; method.reset(new method_t); for (uint32_t i = 0, e = base_method_list->m_count; i < e; ++i) @@ -950,23 +953,20 @@ public: if (ivar_func) { - std::auto_ptr ivar_list; - - ivar_list.reset(new ivar_list_t); - if (!ivar_list->Read(process, class_ro->m_ivars_ptr)) + ivar_list_t ivar_list; + if (!ivar_list.Read(process, class_ro->m_ivars_ptr)) return false; - if (ivar_list->m_entsize != ivar_t::GetSize(process)) + if (ivar_list.m_entsize != ivar_t::GetSize(process)) return false; - std::auto_ptr ivar; - ivar.reset(new ivar_t); + ivar_t ivar; - for (uint32_t i = 0, e = ivar_list->m_count; i < e; ++i) + for (uint32_t i = 0, e = ivar_list.m_count; i < e; ++i) { - ivar->Read(process, ivar_list->m_first_ptr + (i * ivar_list->m_entsize)); + ivar.Read(process, ivar_list.m_first_ptr + (i * ivar_list.m_entsize)); - if (ivar_func(ivar->m_name.c_str(), ivar->m_type.c_str(), ivar->m_offset_ptr, ivar->m_size)) + if (ivar_func(ivar.m_name.c_str(), ivar.m_type.c_str(), ivar.m_offset_ptr, ivar.m_size)) break; } } @@ -1354,7 +1354,7 @@ private: } }; - bool Read_objc_class (Process* process, std::auto_ptr &objc_class) + bool Read_objc_class (Process* process, STD_UNIQUE_PTR(objc_class_t) &objc_class) { objc_class.reset(new objc_class_t); @@ -1366,7 +1366,7 @@ private: return ret; } - bool Read_class_row (Process* process, const objc_class_t &objc_class, std::auto_ptr &class_ro, std::auto_ptr &class_rw) + bool Read_class_row (Process* process, const objc_class_t &objc_class, STD_UNIQUE_PTR(class_ro_t) &class_ro, STD_UNIQUE_PTR(class_rw_t) &class_rw) { class_ro.reset(); class_rw.reset(); diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h index 8e801249d028..07a38fe7d750 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h @@ -29,7 +29,7 @@ class AppleObjCRuntimeV2 : public AppleObjCRuntime { public: - virtual ~AppleObjCRuntimeV2() { } + virtual ~AppleObjCRuntimeV2(); // These are generic runtime functions: virtual bool @@ -150,17 +150,17 @@ private: lldb::addr_t GetSharedCacheReadOnlyAddress(); - std::auto_ptr m_get_class_info_function; - std::auto_ptr m_get_class_info_code; + STD_UNIQUE_PTR(ClangFunction) m_get_class_info_function; + STD_UNIQUE_PTR(ClangUtilityFunction) m_get_class_info_code; lldb::addr_t m_get_class_info_args; Mutex m_get_class_info_args_mutex; - std::auto_ptr m_get_shared_cache_class_info_function; - std::auto_ptr m_get_shared_cache_class_info_code; + STD_UNIQUE_PTR(ClangFunction) m_get_shared_cache_class_info_function; + STD_UNIQUE_PTR(ClangUtilityFunction) m_get_shared_cache_class_info_code; lldb::addr_t m_get_shared_cache_class_info_args; Mutex m_get_shared_cache_class_info_args_mutex; - std::auto_ptr m_type_vendor_ap; + STD_UNIQUE_PTR(TypeVendor) m_type_vendor_ap; lldb::addr_t m_isa_hash_table_ptr; HashTableSignature m_hash_signature; bool m_has_object_getClass; diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h index a50651431e79..0ee4d48d30cf 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h @@ -197,14 +197,14 @@ private: MsgsendMap m_msgSend_map; lldb::ProcessSP m_process_sp; lldb::ModuleSP m_objc_module_sp; - std::auto_ptr m_impl_function; - std::auto_ptr m_impl_code; + STD_UNIQUE_PTR(ClangFunction) m_impl_function; + STD_UNIQUE_PTR(ClangUtilityFunction) m_impl_code; Mutex m_impl_function_mutex; lldb::addr_t m_impl_fn_addr; lldb::addr_t m_impl_stret_fn_addr; lldb::addr_t m_msg_forward_addr; lldb::addr_t m_msg_forward_stret_addr; - std::auto_ptr m_vtables_ap; + STD_UNIQUE_PTR(AppleObjCVTables) m_vtables_ap; }; diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp index 443eeb963885..5c87ec276f4c 100644 --- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp +++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp @@ -296,12 +296,12 @@ ObjectContainerBSDArchive::CreateInstance lldb::offset_t archive_data_offset = 0; Archive::shared_ptr archive_sp (Archive::FindCachedArchive (*file, module_sp->GetArchitecture(), module_sp->GetModificationTime())); - std::auto_ptr container_ap(new ObjectContainerBSDArchive (module_sp, - archive_data_sp, - archive_data_offset, - file, - file_offset, - length)); + STD_UNIQUE_PTR(ObjectContainerBSDArchive) container_ap(new ObjectContainerBSDArchive (module_sp, + archive_data_sp, + archive_data_offset, + file, + file_offset, + length)); if (container_ap.get()) { @@ -322,7 +322,7 @@ ObjectContainerBSDArchive::CreateInstance Archive::shared_ptr archive_sp (Archive::FindCachedArchive (*file, module_sp->GetArchitecture(), module_sp->GetModificationTime())); if (archive_sp) { - std::auto_ptr container_ap(new ObjectContainerBSDArchive (module_sp, data_sp, data_offset, file, file_offset, length)); + STD_UNIQUE_PTR(ObjectContainerBSDArchive) container_ap(new ObjectContainerBSDArchive (module_sp, data_sp, data_offset, file, file_offset, length)); if (container_ap.get()) { diff --git a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp index ad833ff3c311..fbc64a19b90b 100644 --- a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp +++ b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp @@ -67,7 +67,7 @@ ObjectContainerUniversalMachO::CreateInstance data.SetData (data_sp, data_offset, length); if (ObjectContainerUniversalMachO::MagicBytesMatch(data)) { - std::auto_ptr container_ap(new ObjectContainerUniversalMachO (module_sp, data_sp, data_offset, file, file_offset, length)); + STD_UNIQUE_PTR(ObjectContainerUniversalMachO) container_ap(new ObjectContainerUniversalMachO (module_sp, data_sp, data_offset, file, file_offset, length)); if (container_ap->ParseHeader()) { return container_ap.release(); diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index 517c8a1b869a..cfe9b877d78b 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -198,7 +198,7 @@ ObjectFileELF::CreateInstance (const lldb::ModuleSP &module_sp, unsigned address_size = ELFHeader::AddressSizeInBytes(magic); if (address_size == 4 || address_size == 8) { - std::auto_ptr objfile_ap(new ObjectFileELF(module_sp, data_sp, data_offset, file, file_offset, length)); + STD_UNIQUE_PTR(ObjectFileELF) objfile_ap(new ObjectFileELF(module_sp, data_sp, data_offset, file, file_offset, length)); ArchSpec spec; if (objfile_ap->GetArchitecture(spec) && objfile_ap->SetModulesArchitecture(spec)) diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index ba4057c5f3d0..0870d90b6bc6 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -155,7 +155,7 @@ private: /// List of file specifications corresponding to the modules (shared /// libraries) on which this object file depends. - mutable std::auto_ptr m_filespec_ap; + mutable STD_UNIQUE_PTR(lldb_private::FileSpecList) m_filespec_ap; /// Data extractor holding the string table used to resolve section names. lldb_private::DataExtractor m_shstr_data; diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp index 49441f45ce98..46d63bc84783 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -411,7 +411,7 @@ ObjectFileMachO::CreateInstance (const lldb::ModuleSP &module_sp, data_sp = file->MemoryMapFileContents(file_offset, length); data_offset = 0; } - std::auto_ptr objfile_ap(new ObjectFileMachO (module_sp, data_sp, data_offset, file, file_offset, length)); + STD_UNIQUE_PTR(ObjectFile) objfile_ap(new ObjectFileMachO (module_sp, data_sp, data_offset, file, file_offset, length)); if (objfile_ap.get() && objfile_ap->ParseHeader()) return objfile_ap.release(); } @@ -426,7 +426,7 @@ ObjectFileMachO::CreateMemoryInstance (const lldb::ModuleSP &module_sp, { if (ObjectFileMachO::MagicBytesMatch(data_sp, 0, data_sp->GetByteSize())) { - std::auto_ptr objfile_ap(new ObjectFileMachO (module_sp, data_sp, process_sp, header_addr)); + STD_UNIQUE_PTR(ObjectFile) objfile_ap(new ObjectFileMachO (module_sp, data_sp, process_sp, header_addr)); if (objfile_ap.get() && objfile_ap->ParseHeader()) return objfile_ap.release(); } diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp index 78af6619975e..5982874ad270 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -163,7 +163,7 @@ ObjectFilePECOFF::CreateInstance (const lldb::ModuleSP &module_sp, // Update the data to contain the entire file if it doesn't already if (data_sp->GetByteSize() < length) data_sp = file->MemoryMapFileContents(file_offset, length); - std::auto_ptr objfile_ap(new ObjectFilePECOFF (module_sp, data_sp, data_offset, file, file_offset, length)); + STD_UNIQUE_PTR(ObjectFile) objfile_ap(new ObjectFilePECOFF (module_sp, data_sp, data_offset, file, file_offset, length)); if (objfile_ap.get() && objfile_ap->ParseHeader()) return objfile_ap.release(); } diff --git a/lldb/source/Plugins/OperatingSystem/Darwin-Kernel/OperatingSystemDarwinKernel.h b/lldb/source/Plugins/OperatingSystem/Darwin-Kernel/OperatingSystemDarwinKernel.h index 8427f5659332..de781d5d17f4 100644 --- a/lldb/source/Plugins/OperatingSystem/Darwin-Kernel/OperatingSystemDarwinKernel.h +++ b/lldb/source/Plugins/OperatingSystem/Darwin-Kernel/OperatingSystemDarwinKernel.h @@ -84,7 +84,7 @@ protected: GetDynamicRegisterInfo (); lldb::ValueObjectSP m_thread_list_valobj_sp; - std::auto_ptr m_register_info_ap; + STD_UNIQUE_PTR(DynamicRegisterInfo) m_register_info_ap; }; diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp index acacea455497..4127506d6a4a 100644 --- a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp +++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp @@ -60,7 +60,7 @@ OperatingSystemPython::CreateInstance (Process *process, bool force) FileSpec python_os_plugin_spec (process->GetPythonOSPluginPath()); if (python_os_plugin_spec && python_os_plugin_spec.Exists()) { - std::auto_ptr os_ap (new OperatingSystemPython (process, python_os_plugin_spec)); + STD_UNIQUE_PTR(OperatingSystemPython) os_ap (new OperatingSystemPython (process, python_os_plugin_spec)); if (os_ap.get() && os_ap->IsValid()) return os_ap.release(); } diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h index bcc90c686a5b..f55cc514f413 100644 --- a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h +++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h @@ -101,7 +101,7 @@ protected: GetDynamicRegisterInfo (); lldb::ValueObjectSP m_thread_list_valobj_sp; - std::auto_ptr m_register_info_ap; + STD_UNIQUE_PTR(DynamicRegisterInfo) m_register_info_ap; lldb_private::ScriptInterpreter *m_interpreter; lldb::ScriptInterpreterObjectSP m_python_object_sp; diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp index bcc8c77faa48..f80e5e0967e9 100644 --- a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp @@ -691,7 +691,7 @@ ProcessMonitor::ProcessMonitor(ProcessPOSIX *process, m_client_fd(-1), m_server_fd(-1) { - std::auto_ptr args; + STD_UNIQUE_PTR(LaunchArgs) args; args.reset(new LaunchArgs(this, module, argv, envp, stdin_path, stdout_path, stderr_path, working_dir)); @@ -752,7 +752,7 @@ ProcessMonitor::ProcessMonitor(ProcessPOSIX *process, m_client_fd(-1), m_server_fd(-1) { - std::auto_ptr args; + STD_UNIQUE_PTR(AttachArgs) args; args.reset(new AttachArgs(this, pid)); diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp index 381f4be68dfc..269a41ef1023 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp @@ -924,7 +924,7 @@ ProcessMonitor::ProcessMonitor(ProcessPOSIX *process, m_client_fd(-1), m_server_fd(-1) { - std::auto_ptr args; + STD_UNIQUE_PTR(LaunchArgs) args; args.reset(new LaunchArgs(this, module, argv, envp, stdin_path, stdout_path, stderr_path, working_dir)); @@ -984,7 +984,7 @@ ProcessMonitor::ProcessMonitor(ProcessPOSIX *process, m_client_fd(-1), m_server_fd(-1) { - std::auto_ptr args; + STD_UNIQUE_PTR(AttachArgs) args; args.reset(new AttachArgs(this, pid)); diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp index 4a57b433099a..4d4e5f4876e4 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp @@ -196,7 +196,7 @@ ProcessKDP::DoConnectRemote (Stream *strm, const char *remote_url) return error; } - std::auto_ptr conn_ap(new ConnectionFileDescriptor()); + STD_UNIQUE_PTR(ConnectionFileDescriptor) conn_ap(new ConnectionFileDescriptor()); if (conn_ap.get()) { // Only try once for now. diff --git a/lldb/source/Plugins/Process/POSIX/POSIXThread.h b/lldb/source/Plugins/Process/POSIX/POSIXThread.h index 7aad6719385b..d75146e5e172 100644 --- a/lldb/source/Plugins/Process/POSIX/POSIXThread.h +++ b/lldb/source/Plugins/Process/POSIX/POSIXThread.h @@ -81,7 +81,7 @@ private: return (RegisterContextPOSIX *)m_reg_context_sp.get(); } - std::auto_ptr m_frame_ap; + STD_UNIQUE_PTR(lldb_private::StackFrame) m_frame_ap; lldb::BreakpointSiteSP m_breakpoint; lldb::StopInfoSP m_stop_info; diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 008619511168..1d1a0951cbcf 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -738,7 +738,7 @@ ProcessGDBRemote::ConnectToDebugserver (const char *connect_url) { Error error; // Sleep and wait a bit for debugserver to start to listen... - std::auto_ptr conn_ap(new ConnectionFileDescriptor()); + STD_UNIQUE_PTR(ConnectionFileDescriptor) conn_ap(new ConnectionFileDescriptor()); if (conn_ap.get()) { const uint32_t max_retry_count = 50; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h index acbbdf1c2a6d..08fe68c22314 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h @@ -190,7 +190,7 @@ protected: const DWARFAbbreviationDeclarationSet *m_abbrevs; void * m_user_data; DWARFDebugInfoEntry::collection m_die_array; // The compile unit debug information entry item - std::auto_ptr m_func_aranges_ap; // A table similar to the .debug_aranges table, but this one points to the exact DW_TAG_subprogram DIEs + STD_UNIQUE_PTR(DWARFDebugAranges) m_func_aranges_ap; // A table similar to the .debug_aranges table, but this one points to the exact DW_TAG_subprogram DIEs dw_addr_t m_base_addr; dw_offset_t m_offset; uint32_t m_length; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h index c716fa423ffe..58c295abc24d 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h @@ -77,7 +77,7 @@ protected: SymbolFileDWARF* m_dwarf2Data; typedef std::vector CompileUnitColl; CompileUnitColl m_compile_units; - std::auto_ptr m_cu_aranges_ap; // A quick address to compile unit table + STD_UNIQUE_PTR(DWARFDebugAranges) m_cu_aranges_ap; // A quick address to compile unit table private: // All parsing needs to be done partially any managed by this class as accessors are called. diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index 625f62e775a2..778f9e252a7a 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -880,7 +880,7 @@ SymbolFileDWARF::ParseCompileUnitFunction (const SymbolContext& sc, DWARFCompile func_name.SetValue(ConstString(name), false); FunctionSP func_sp; - std::auto_ptr decl_ap; + STD_UNIQUE_PTR(Declaration) decl_ap; if (decl_file != 0 || decl_line != 0 || decl_column != 0) decl_ap.reset(new Declaration (sc.comp_unit->GetSupportFiles().GetFileSpecAtIndex(decl_file), decl_line, @@ -995,7 +995,7 @@ SymbolFileDWARF::ParseCompileUnitSupportFiles (const SymbolContext& sc, FileSpec struct ParseDWARFLineTableCallbackInfo { LineTable* line_table; - std::auto_ptr sequence_ap; + STD_UNIQUE_PTR(LineSequence) sequence_ap; }; //---------------------------------------------------------------------- @@ -1060,7 +1060,7 @@ SymbolFileDWARF::ParseCompileUnitLineTable (const SymbolContext &sc) const dw_offset_t cu_line_offset = dwarf_cu_die->GetAttributeValueAsUnsigned(this, dwarf_cu, DW_AT_stmt_list, DW_INVALID_OFFSET); if (cu_line_offset != DW_INVALID_OFFSET) { - std::auto_ptr line_table_ap(new LineTable(sc.comp_unit)); + STD_UNIQUE_PTR(LineTable) line_table_ap(new LineTable(sc.comp_unit)); if (line_table_ap.get()) { ParseDWARFLineTableCallbackInfo info; @@ -1170,12 +1170,12 @@ SymbolFileDWARF::ParseFunctionBlocks if (tag != DW_TAG_subprogram && (name != NULL || mangled_name != NULL)) { - std::auto_ptr decl_ap; + STD_UNIQUE_PTR(Declaration) decl_ap; if (decl_file != 0 || decl_line != 0 || decl_column != 0) decl_ap.reset(new Declaration(sc.comp_unit->GetSupportFiles().GetFileSpecAtIndex(decl_file), decl_line, decl_column)); - std::auto_ptr call_ap; + STD_UNIQUE_PTR(Declaration) call_ap; if (call_file != 0 || call_line != 0 || call_column != 0) call_ap.reset(new Declaration(sc.comp_unit->GetSupportFiles().GetFileSpecAtIndex(call_file), call_line, call_column)); @@ -1435,7 +1435,7 @@ private: const char *m_property_setter_name; const char *m_property_getter_name; uint32_t m_property_attributes; - std::auto_ptr m_metadata_ap; + STD_UNIQUE_PTR(ClangASTMetadata) m_metadata_ap; }; struct BitfieldInfo diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h index b4bbf93a1cd9..4fd0ba00d132 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h @@ -13,7 +13,6 @@ // C Includes // C++ Includes #include -#include #include #include @@ -567,15 +566,15 @@ protected: lldb_private::DataExtractor m_data_apple_namespaces; lldb_private::DataExtractor m_data_apple_objc; - // The auto_ptr items below are generated on demand if and when someone accesses + // The unique pointer items below are generated on demand if and when someone accesses // them through a non const version of this class. - std::auto_ptr m_abbr; - std::auto_ptr m_info; - std::auto_ptr m_line; - std::auto_ptr m_apple_names_ap; - std::auto_ptr m_apple_types_ap; - std::auto_ptr m_apple_namespaces_ap; - std::auto_ptr m_apple_objc_ap; + STD_UNIQUE_PTR(DWARFDebugAbbrev) m_abbr; + STD_UNIQUE_PTR(DWARFDebugInfo) m_info; + STD_UNIQUE_PTR(DWARFDebugLine) m_line; + STD_UNIQUE_PTR(DWARFMappedHash::MemoryTable) m_apple_names_ap; + STD_UNIQUE_PTR(DWARFMappedHash::MemoryTable) m_apple_types_ap; + STD_UNIQUE_PTR(DWARFMappedHash::MemoryTable) m_apple_namespaces_ap; + STD_UNIQUE_PTR(DWARFMappedHash::MemoryTable) m_apple_objc_ap; NameToDIE m_function_basename_index; // All concrete functions NameToDIE m_function_fullname_index; // All concrete functions NameToDIE m_function_method_index; // All inlined functions @@ -589,7 +588,7 @@ protected: m_using_apple_tables:1; lldb_private::LazyBool m_supports_DW_AT_APPLE_objc_complete_type; - std::auto_ptr m_ranges; + STD_UNIQUE_PTR(DWARFDebugRanges) m_ranges; UniqueDWARFASTTypeMap m_unique_ast_type_map; typedef llvm::SmallPtrSet DIEPointerSet; typedef llvm::DenseMap DIEToDeclContextMap; diff --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp index 55eb7037192f..0510b743039e 100644 --- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp +++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp @@ -298,7 +298,7 @@ UnwindAssemblyInstEmulation::FirstNonPrologueInsn (AddressRange& func, UnwindAssembly * UnwindAssemblyInstEmulation::CreateInstance (const ArchSpec &arch) { - std::auto_ptr inst_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypePrologueEpilogue, NULL)); + STD_UNIQUE_PTR(EmulateInstruction) inst_emulator_ap (EmulateInstruction::FindPlugin (arch, eInstructionTypePrologueEpilogue, NULL)); // Make sure that all prologue instructions are handled if (inst_emulator_ap.get()) return new UnwindAssemblyInstEmulation (arch, inst_emulator_ap.release()); diff --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h index 2afa6bd06cfe..deff8b03228b 100644 --- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h +++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h @@ -160,7 +160,7 @@ private: GetRegisterValue (const lldb_private::RegisterInfo ®_info, lldb_private::RegisterValue ®_value); - std::auto_ptr m_inst_emulator_ap; + STD_UNIQUE_PTR(lldb_private::EmulateInstruction) m_inst_emulator_ap; lldb_private::AddressRange* m_range_ptr; lldb_private::Thread* m_thread_ptr; lldb_private::UnwindPlan* m_unwind_plan_ptr; diff --git a/lldb/source/Symbol/FuncUnwinders.cpp b/lldb/source/Symbol/FuncUnwinders.cpp index 07b2144e5286..3de06179ee07 100644 --- a/lldb/source/Symbol/FuncUnwinders.cpp +++ b/lldb/source/Symbol/FuncUnwinders.cpp @@ -102,8 +102,8 @@ FuncUnwinders::GetUnwindPlanAtNonCallSite (Thread& thread) // information. We want to make sure if someone requests an unwind // plan, that they get one and don't run into a race condition where one // thread has started to create the unwind plan and has put it into - // the auto_ptr member variable, and have another thread enter this function - // and return the partially filled pointer contained in the auto_ptr. + // the unique pointer member variable, and have another thread enter this function + // and return the partially filled pointer contained in the unique pointer. // We also want to make sure that we lock out other unwind plans from // being accessed until this one is done creating itself in case someone // had some code like: @@ -128,8 +128,8 @@ FuncUnwinders::GetUnwindPlanFastUnwind (Thread& thread) // information. We want to make sure if someone requests an unwind // plan, that they get one and don't run into a race condition where one // thread has started to create the unwind plan and has put it into - // the auto_ptr member variable, and have another thread enter this function - // and return the partially filled pointer contained in the auto_ptr. + // the unique pointer member variable, and have another thread enter this function + // and return the partially filled pointer contained in the unique pointer. // We also want to make sure that we lock out other unwind plans from // being accessed until this one is done creating itself in case someone // had some code like: @@ -154,8 +154,8 @@ FuncUnwinders::GetUnwindPlanArchitectureDefault (Thread& thread) // information. We want to make sure if someone requests an unwind // plan, that they get one and don't run into a race condition where one // thread has started to create the unwind plan and has put it into - // the auto_ptr member variable, and have another thread enter this function - // and return the partially filled pointer contained in the auto_ptr. + // the unique pointer member variable, and have another thread enter this function + // and return the partially filled pointer contained in the unique pointer. // We also want to make sure that we lock out other unwind plans from // being accessed until this one is done creating itself in case someone // had some code like: @@ -190,8 +190,8 @@ FuncUnwinders::GetUnwindPlanArchitectureDefaultAtFunctionEntry (Thread& thread) // information. We want to make sure if someone requests an unwind // plan, that they get one and don't run into a race condition where one // thread has started to create the unwind plan and has put it into - // the auto_ptr member variable, and have another thread enter this function - // and return the partially filled pointer contained in the auto_ptr. + // the unique pointer member variable, and have another thread enter this function + // and return the partially filled pointer contained in the unique pointer. // We also want to make sure that we lock out other unwind plans from // being accessed until this one is done creating itself in case someone // had some code like: diff --git a/lldb/source/Symbol/LineTable.cpp b/lldb/source/Symbol/LineTable.cpp index ce9b8598070a..98f7e127ca3f 100644 --- a/lldb/source/Symbol/LineTable.cpp +++ b/lldb/source/Symbol/LineTable.cpp @@ -489,7 +489,7 @@ LineTable::GetContiguousFileAddressRanges (FileAddressRanges &file_ranges, bool LineTable * LineTable::LinkLineTable (const FileRangeMap &file_range_map) { - std::auto_ptr line_table_ap (new LineTable (m_comp_unit)); + STD_UNIQUE_PTR(LineTable) line_table_ap (new LineTable (m_comp_unit)); LineSequenceImpl sequence; const size_t count = m_entries.size(); LineEntry line_entry; diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp index 1187e7996b3f..78c644562319 100644 --- a/lldb/source/Symbol/ObjectFile.cpp +++ b/lldb/source/Symbol/ObjectFile.cpp @@ -59,7 +59,7 @@ ObjectFile::FindPlugin (const lldb::ModuleSP &module_sp, { for (uint32_t idx = 0; (create_object_container_callback = PluginManager::GetObjectContainerCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr object_container_ap(create_object_container_callback(module_sp, data_sp, data_offset, file, file_offset, file_size)); + STD_UNIQUE_PTR(ObjectContainer) object_container_ap(create_object_container_callback(module_sp, data_sp, data_offset, file, file_offset, file_size)); if (object_container_ap.get()) object_file_sp = object_container_ap->GetObjectFile(file); @@ -101,7 +101,7 @@ ObjectFile::FindPlugin (const lldb::ModuleSP &module_sp, // (like BSD archives caching the contained objects within an file). for (uint32_t idx = 0; (create_object_container_callback = PluginManager::GetObjectContainerCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr object_container_ap(create_object_container_callback(module_sp, data_sp, data_offset, file, file_offset, file_size)); + STD_UNIQUE_PTR(ObjectContainer) object_container_ap(create_object_container_callback(module_sp, data_sp, data_offset, file, file_offset, file_size)); if (object_container_ap.get()) object_file_sp = object_container_ap->GetObjectFile(file); @@ -133,7 +133,7 @@ ObjectFile::FindPlugin (const lldb::ModuleSP &module_sp, // an object file from the container. for (uint32_t idx = 0; (create_object_container_callback = PluginManager::GetObjectContainerCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr object_container_ap(create_object_container_callback(module_sp, data_sp, data_offset, file, file_offset, file_size)); + STD_UNIQUE_PTR(ObjectContainer) object_container_ap(create_object_container_callback(module_sp, data_sp, data_offset, file, file_offset, file_size)); if (object_container_ap.get()) object_file_sp = object_container_ap->GetObjectFile(file); @@ -392,7 +392,7 @@ ObjectFile::ReadMemory (const ProcessSP &process_sp, lldb::addr_t addr, size_t b DataBufferSP data_sp; if (process_sp) { - std::auto_ptr data_ap (new DataBufferHeap (byte_size, 0)); + STD_UNIQUE_PTR(DataBufferHeap) data_ap (new DataBufferHeap (byte_size, 0)); Error error; const size_t bytes_read = process_sp->ReadMemory (addr, data_ap->GetBytes(), diff --git a/lldb/source/Symbol/SymbolFile.cpp b/lldb/source/Symbol/SymbolFile.cpp index 808830e1f155..a3d2c0e07733 100644 --- a/lldb/source/Symbol/SymbolFile.cpp +++ b/lldb/source/Symbol/SymbolFile.cpp @@ -21,7 +21,7 @@ using namespace lldb_private; SymbolFile* SymbolFile::FindPlugin (ObjectFile* obj_file) { - std::auto_ptr best_symfile_ap; + STD_UNIQUE_PTR(SymbolFile) best_symfile_ap; if (obj_file != NULL) { // TODO: Load any plug-ins in the appropriate plug-in search paths and @@ -32,7 +32,7 @@ SymbolFile::FindPlugin (ObjectFile* obj_file) SymbolFileCreateInstance create_callback; for (uint32_t idx = 0; (create_callback = PluginManager::GetSymbolFileCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr curr_symfile_ap(create_callback(obj_file)); + STD_UNIQUE_PTR(SymbolFile) curr_symfile_ap(create_callback(obj_file)); if (curr_symfile_ap.get()) { @@ -40,7 +40,7 @@ SymbolFile::FindPlugin (ObjectFile* obj_file) if (sym_file_abilities > best_symfile_abilities) { best_symfile_abilities = sym_file_abilities; - best_symfile_ap = curr_symfile_ap; + best_symfile_ap.reset (curr_symfile_ap.release()); // If any symbol file parser has all of the abilities, then // we should just stop looking. if ((kAllAbilities & sym_file_abilities) == kAllAbilities) diff --git a/lldb/source/Symbol/SymbolVendor.cpp b/lldb/source/Symbol/SymbolVendor.cpp index 343a4b1e8ca6..e3a2ca3ebf6e 100644 --- a/lldb/source/Symbol/SymbolVendor.cpp +++ b/lldb/source/Symbol/SymbolVendor.cpp @@ -34,7 +34,7 @@ using namespace lldb_private; SymbolVendor* SymbolVendor::FindPlugin (const lldb::ModuleSP &module_sp, lldb_private::Stream *feedback_strm) { - std::auto_ptr instance_ap; + STD_UNIQUE_PTR(SymbolVendor) instance_ap; //---------------------------------------------------------------------- // We currently only have one debug symbol parser... //---------------------------------------------------------------------- diff --git a/lldb/source/Target/LanguageRuntime.cpp b/lldb/source/Target/LanguageRuntime.cpp index 7a6bfbe46a8c..d3d3fe1f0bd2 100644 --- a/lldb/source/Target/LanguageRuntime.cpp +++ b/lldb/source/Target/LanguageRuntime.cpp @@ -228,7 +228,7 @@ protected: LanguageRuntime* LanguageRuntime::FindPlugin (Process *process, lldb::LanguageType language) { - std::auto_ptr language_runtime_ap; + STD_UNIQUE_PTR(LanguageRuntime) language_runtime_ap; LanguageRuntimeCreateInstance create_callback; for (uint32_t idx = 0; diff --git a/lldb/source/Target/Memory.cpp b/lldb/source/Target/Memory.cpp index ae8d034f77b0..f9aaca1e356b 100644 --- a/lldb/source/Target/Memory.cpp +++ b/lldb/source/Target/Memory.cpp @@ -178,7 +178,7 @@ MemoryCache::Read (addr_t addr, if (bytes_left > 0) { assert ((curr_addr % cache_line_byte_size) == 0); - std::auto_ptr data_buffer_heap_ap(new DataBufferHeap (cache_line_byte_size, 0)); + STD_UNIQUE_PTR(DataBufferHeap) data_buffer_heap_ap(new DataBufferHeap (cache_line_byte_size, 0)); size_t process_bytes_read = m_process.ReadMemoryFromInferior (curr_addr, data_buffer_heap_ap->GetBytes(), data_buffer_heap_ap->GetByteSize(), diff --git a/lldb/source/Target/OperatingSystem.cpp b/lldb/source/Target/OperatingSystem.cpp index 2c725d3b1991..543488561428 100644 --- a/lldb/source/Target/OperatingSystem.cpp +++ b/lldb/source/Target/OperatingSystem.cpp @@ -28,7 +28,7 @@ OperatingSystem::FindPlugin (Process *process, const char *plugin_name) create_callback = PluginManager::GetOperatingSystemCreateCallbackForPluginName (plugin_name); if (create_callback) { - std::auto_ptr instance_ap(create_callback(process, true)); + STD_UNIQUE_PTR(OperatingSystem) instance_ap(create_callback(process, true)); if (instance_ap.get()) return instance_ap.release(); } @@ -37,7 +37,7 @@ OperatingSystem::FindPlugin (Process *process, const char *plugin_name) { for (uint32_t idx = 0; (create_callback = PluginManager::GetOperatingSystemCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr instance_ap(create_callback(process, false)); + STD_UNIQUE_PTR(OperatingSystem) instance_ap(create_callback(process, false)); if (instance_ap.get()) return instance_ap.release(); } diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp index bc3656037749..e58618e36d40 100644 --- a/lldb/source/Target/Platform.cpp +++ b/lldb/source/Target/Platform.cpp @@ -109,7 +109,7 @@ Platform::FindPlugin (Process *process, const char *plugin_name) { arch = process->GetTarget().GetArchitecture(); } - std::auto_ptr instance_ap(create_callback(process, &arch)); + STD_UNIQUE_PTR(Platform) instance_ap(create_callback(process, &arch)); if (instance_ap.get()) return instance_ap.release(); } @@ -118,7 +118,7 @@ Platform::FindPlugin (Process *process, const char *plugin_name) { for (uint32_t idx = 0; (create_callback = PluginManager::GetPlatformCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr instance_ap(create_callback(process, false)); + STD_UNIQUE_PTR(Platform) instance_ap(create_callback(process, false)); if (instance_ap.get()) return instance_ap.release(); } diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index c65ceb1d575f..9ab9bc313f72 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -4440,7 +4440,7 @@ Process::SetSTDIOFileDescriptor (int file_descriptor) { // First set up the Read Thread for reading/handling process I/O - std::auto_ptr conn_ap (new ConnectionFileDescriptor (file_descriptor, true)); + STD_UNIQUE_PTR(ConnectionFileDescriptor) conn_ap (new ConnectionFileDescriptor (file_descriptor, true)); if (conn_ap.get()) { diff --git a/lldb/source/Target/StackFrameList.cpp b/lldb/source/Target/StackFrameList.cpp index dad67dc51d80..41f57658e639 100644 --- a/lldb/source/Target/StackFrameList.cpp +++ b/lldb/source/Target/StackFrameList.cpp @@ -717,7 +717,7 @@ StackFrameList::InvalidateFrames (uint32_t start_idx) } void -StackFrameList::Merge (std::auto_ptr& curr_ap, lldb::StackFrameListSP& prev_sp) +StackFrameList::Merge (STD_UNIQUE_PTR(StackFrameList)& curr_ap, lldb::StackFrameListSP& prev_sp) { Mutex::Locker curr_locker (curr_ap.get() ? &curr_ap->m_mutex : NULL); Mutex::Locker prev_locker (prev_sp.get() ? &prev_sp->m_mutex : NULL); diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index ea97fd7d6416..8d3e19e7d28b 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -76,9 +76,9 @@ Target::Target(Debugger &debugger, const ArchSpec &target_arch, const lldb::Plat m_valid (true), m_search_filter_sp (), m_image_search_paths (ImageSearchPathsChanged, this), - m_scratch_ast_context_ap (NULL), - m_scratch_ast_source_ap (NULL), - m_ast_importer_ap (NULL), + m_scratch_ast_context_ap (), + m_scratch_ast_source_ap (), + m_ast_importer_ap (), m_persistent_variables (), m_source_manager_ap(), m_stop_hooks (), @@ -2143,7 +2143,7 @@ Target::StopHook::StopHook (lldb::TargetSP target_sp, lldb::user_id_t uid) : m_target_sp (target_sp), m_commands (), m_specifier_sp (), - m_thread_spec_ap(NULL), + m_thread_spec_ap(), m_active (true) { } @@ -2153,7 +2153,7 @@ Target::StopHook::StopHook (const StopHook &rhs) : m_target_sp (rhs.m_target_sp), m_commands (rhs.m_commands), m_specifier_sp (rhs.m_specifier_sp), - m_thread_spec_ap (NULL), + m_thread_spec_ap (), m_active (rhs.m_active) { if (rhs.m_thread_spec_ap.get() != NULL) diff --git a/lldb/source/Target/UnwindAssembly.cpp b/lldb/source/Target/UnwindAssembly.cpp index af662b97c744..4901f6d91aed 100644 --- a/lldb/source/Target/UnwindAssembly.cpp +++ b/lldb/source/Target/UnwindAssembly.cpp @@ -24,7 +24,7 @@ UnwindAssembly::FindPlugin (const ArchSpec &arch) (create_callback = PluginManager::GetUnwindAssemblyCreateCallbackAtIndex(idx)) != NULL; ++idx) { - std::auto_ptr assembly_profiler_ap (create_callback (arch)); + STD_UNIQUE_PTR(UnwindAssembly) assembly_profiler_ap (create_callback (arch)); if (assembly_profiler_ap.get ()) return assembly_profiler_ap.release (); } diff --git a/lldb/tools/debugserver/source/DNBDefs.h b/lldb/tools/debugserver/source/DNBDefs.h index de8b99a2f04a..98b7310ca5a1 100644 --- a/lldb/tools/debugserver/source/DNBDefs.h +++ b/lldb/tools/debugserver/source/DNBDefs.h @@ -26,11 +26,13 @@ #include #define STD_SHARED_PTR(T) std::shared_ptr #define STD_WEAK_PTR(T) std::weak_ptr +#define STD_UNIQUE_PTR(T) std::unique_ptr #define STD_ENABLE_SHARED_FROM_THIS(T) std::enable_shared_from_this #else #include #define STD_SHARED_PTR(T) std::tr1::shared_ptr #define STD_WEAK_PTR(T) std::tr1::weak_ptr +#define STD_UNIQUE_PTR(T) std::auto_ptr #define STD_ENABLE_SHARED_FROM_THIS(T) std::tr1::enable_shared_from_this #endif diff --git a/lldb/tools/debugserver/source/DNBTimer.h b/lldb/tools/debugserver/source/DNBTimer.h index a78b80f606d5..ac69d9a36a1a 100644 --- a/lldb/tools/debugserver/source/DNBTimer.h +++ b/lldb/tools/debugserver/source/DNBTimer.h @@ -16,7 +16,7 @@ #include #include -#include +#include "DNBDefs.h" #include "PThreadMutex.h" class DNBTimer @@ -155,7 +155,7 @@ protected: //------------------------------------------------------------------ // Classes that inherit from DNBTimer can see and modify these //------------------------------------------------------------------ - std::auto_ptr m_mutexAP; + STD_UNIQUE_PTR(PThreadMutex) m_mutexAP; struct timeval m_timeval; }; diff --git a/lldb/tools/debugserver/source/MacOSX/MachThread.h b/lldb/tools/debugserver/source/MacOSX/MachThread.h index 87643d9cc53f..27573c5c8ec0 100644 --- a/lldb/tools/debugserver/source/MacOSX/MachThread.h +++ b/lldb/tools/debugserver/source/MacOSX/MachThread.h @@ -130,7 +130,7 @@ protected: int32_t m_suspend_count; // The current suspend count > 0 means we have suspended m_suspendCount times, // < 0 means we have resumed it m_suspendCount times. MachException::Data m_stop_exception; // The best exception that describes why this thread is stopped - std::auto_ptr m_arch_ap; // Arch specific information for register state and more + STD_UNIQUE_PTR(DNBArchProtocol) m_arch_ap; // Arch specific information for register state and more const DNBRegisterSetInfo * m_reg_sets; // Register set information for this thread nub_size_t m_num_reg_sets; thread_identifier_info_data_t m_ident_info; diff --git a/lldb/tools/driver/Driver.h b/lldb/tools/driver/Driver.h index 357940be8e2c..cb69edcae1fa 100644 --- a/lldb/tools/driver/Driver.h +++ b/lldb/tools/driver/Driver.h @@ -160,7 +160,7 @@ private: lldb_utility::PseudoTerminal m_editline_pty; FILE *m_editline_slave_fh; lldb::SBInputReader m_editline_reader; - std::auto_ptr m_io_channel_ap; + STD_UNIQUE_PTR(IOChannel) m_io_channel_ap; OptionData m_option_data; bool m_waiting_for_command; bool m_done; diff --git a/lldb/tools/lldb-platform/lldb-platform.cpp b/lldb/tools/lldb-platform/lldb-platform.cpp index dd3c537b3620..9d8a7167b6ca 100644 --- a/lldb/tools/lldb-platform/lldb-platform.cpp +++ b/lldb/tools/lldb-platform/lldb-platform.cpp @@ -185,7 +185,7 @@ main (int argc, char *argv[]) GDBRemoteCommunicationServer gdb_server (true); if (!listen_host_port.empty()) { - std::auto_ptr conn_ap(new ConnectionFileDescriptor()); + STD_UNIQUE_PTR(ConnectionFileDescriptor) conn_ap(new ConnectionFileDescriptor()); if (conn_ap.get()) { std::string connect_url ("listen://");