summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2012-03-14 03:07:05 +0000
committerGreg Clayton <gclayton@apple.com>2012-03-14 03:07:05 +0000
commitd64afba584c9622f777f1b9910007b28e6c04da6 (patch)
treefd77bb4902db63051a1ebc04500f5b191fe05785
parenta9916d0296fc74bb40aa2e02a1f42bdf4b4239a4 (diff)
downloadbcm5719-llvm-d64afba584c9622f777f1b9910007b28e6c04da6.tar.gz
bcm5719-llvm-d64afba584c9622f777f1b9910007b28e6c04da6.zip
<rdar://problem/10434005>
Prepare LLDB to be built with C++11 by hiding all accesses to std::tr1 behind macros that allows us to easily compile for either C++. llvm-svn: 152698
-rw-r--r--lldb/include/lldb/API/SBFrame.h2
-rw-r--r--lldb/include/lldb/Breakpoint/Breakpoint.h2
-rw-r--r--lldb/include/lldb/Breakpoint/BreakpointLocation.h2
-rw-r--r--lldb/include/lldb/Breakpoint/BreakpointSite.h2
-rw-r--r--lldb/include/lldb/Core/Debugger.h2
-rw-r--r--lldb/include/lldb/Core/FormatClasses.h16
-rw-r--r--lldb/include/lldb/Core/FormatManager.h2
-rw-r--r--lldb/include/lldb/Core/FormatNavigator.h5
-rw-r--r--lldb/include/lldb/Core/Module.h2
-rw-r--r--lldb/include/lldb/Core/Section.h2
-rw-r--r--lldb/include/lldb/Core/SourceManager.h2
-rw-r--r--lldb/include/lldb/Core/UserSettingsController.h2
-rw-r--r--lldb/include/lldb/Expression/ClangExpressionVariable.h2
-rw-r--r--lldb/include/lldb/Expression/ClangUserExpression.h2
-rw-r--r--lldb/include/lldb/Interpreter/Args.h2
-rw-r--r--lldb/include/lldb/Symbol/ClangASTImporter.h6
-rw-r--r--lldb/include/lldb/Symbol/DWARFCallFrameInfo.h2
-rw-r--r--lldb/include/lldb/Symbol/ObjectFile.h2
-rw-r--r--lldb/include/lldb/Symbol/Type.h4
-rw-r--r--lldb/include/lldb/Target/Memory.h2
-rw-r--r--lldb/include/lldb/Target/Process.h2
-rw-r--r--lldb/include/lldb/Target/RegisterContext.h2
-rw-r--r--lldb/include/lldb/Target/StackFrame.h2
-rw-r--r--lldb/include/lldb/Target/Target.h4
-rw-r--r--lldb/include/lldb/Target/Thread.h2
-rw-r--r--lldb/include/lldb/Utility/PriorityPointerPair.h2
-rw-r--r--lldb/include/lldb/lldb-forward.h193
-rw-r--r--lldb/include/lldb/lldb-types.h1
-rw-r--r--lldb/source/API/SBTypeCategory.cpp8
-rw-r--r--lldb/source/API/SBValue.cpp4
-rw-r--r--lldb/source/Commands/CommandObjectType.cpp4
-rw-r--r--lldb/source/Expression/IRInterpreter.cpp6
-rw-r--r--lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h2
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h2
-rw-r--r--lldb/source/Plugins/Process/Utility/UnwindLLDB.h4
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h2
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h4
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h2
-rw-r--r--lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj2
-rw-r--r--lldb/tools/debugserver/source/DNB.cpp2
-rw-r--r--lldb/tools/debugserver/source/DNBDefs.h14
-rw-r--r--lldb/tools/debugserver/source/MacOSX/MachThread.h3
-rw-r--r--lldb/tools/debugserver/source/RNBDefs.h4
43 files changed, 181 insertions, 153 deletions
diff --git a/lldb/include/lldb/API/SBFrame.h b/lldb/include/lldb/API/SBFrame.h
index e1b93ddc3e6..04cd2d70776 100644
--- a/lldb/include/lldb/API/SBFrame.h
+++ b/lldb/include/lldb/API/SBFrame.h
@@ -19,7 +19,7 @@ namespace lldb {
class SBFrame
{
public:
- typedef SHARED_PTR(lldb_private::StackFrameImpl) StackFrameImplSP;
+ typedef STD_SHARED_PTR(lldb_private::StackFrameImpl) StackFrameImplSP;
SBFrame ();
SBFrame (const lldb::SBFrame &rhs);
diff --git a/lldb/include/lldb/Breakpoint/Breakpoint.h b/lldb/include/lldb/Breakpoint/Breakpoint.h
index d6427df544e..0a24f249aca 100644
--- a/lldb/include/lldb/Breakpoint/Breakpoint.h
+++ b/lldb/include/lldb/Breakpoint/Breakpoint.h
@@ -74,7 +74,7 @@ namespace lldb_private {
/// not by the breakpoint.
//----------------------------------------------------------------------
class Breakpoint:
- public std::tr1::enable_shared_from_this<Breakpoint>,
+ public STD_ENABLE_SHARED_FROM_THIS(Breakpoint),
public Stoppoint
{
public:
diff --git a/lldb/include/lldb/Breakpoint/BreakpointLocation.h b/lldb/include/lldb/Breakpoint/BreakpointLocation.h
index 492e029dd54..7ff062e9ddb 100644
--- a/lldb/include/lldb/Breakpoint/BreakpointLocation.h
+++ b/lldb/include/lldb/Breakpoint/BreakpointLocation.h
@@ -47,7 +47,7 @@ namespace lldb_private {
//----------------------------------------------------------------------
class BreakpointLocation :
- public std::tr1::enable_shared_from_this<BreakpointLocation>,
+ public STD_ENABLE_SHARED_FROM_THIS(BreakpointLocation),
public StoppointLocation
{
public:
diff --git a/lldb/include/lldb/Breakpoint/BreakpointSite.h b/lldb/include/lldb/Breakpoint/BreakpointSite.h
index 774aff822e0..d56feae8d37 100644
--- a/lldb/include/lldb/Breakpoint/BreakpointSite.h
+++ b/lldb/include/lldb/Breakpoint/BreakpointSite.h
@@ -39,7 +39,7 @@ namespace lldb_private {
//----------------------------------------------------------------------
class BreakpointSite :
- public std::tr1::enable_shared_from_this<BreakpointSite>,
+ public STD_ENABLE_SHARED_FROM_THIS(BreakpointSite),
public StoppointLocation
{
public:
diff --git a/lldb/include/lldb/Core/Debugger.h b/lldb/include/lldb/Core/Debugger.h
index f0bb08e4f08..cdba0d6da6b 100644
--- a/lldb/include/lldb/Core/Debugger.h
+++ b/lldb/include/lldb/Core/Debugger.h
@@ -252,7 +252,7 @@ private:
class Debugger :
- public std::tr1::enable_shared_from_this<Debugger>,
+ public STD_ENABLE_SHARED_FROM_THIS(Debugger),
public UserID,
public DebuggerInstanceSettings,
public BroadcasterManager
diff --git a/lldb/include/lldb/Core/FormatClasses.h b/lldb/include/lldb/Core/FormatClasses.h
index 8938e570c7a..527462dbf55 100644
--- a/lldb/include/lldb/Core/FormatClasses.h
+++ b/lldb/include/lldb/Core/FormatClasses.h
@@ -139,7 +139,7 @@ public:
TypeFormatImpl (lldb::Format f = lldb::eFormatInvalid,
const Flags& flags = Flags());
- typedef SHARED_PTR(TypeFormatImpl) SharedPointer;
+ typedef STD_SHARED_PTR(TypeFormatImpl) SharedPointer;
typedef bool(*ValueCallback)(void*, ConstString, const lldb::TypeFormatImplSP&);
~TypeFormatImpl ()
@@ -246,7 +246,7 @@ public:
virtual void
Update() = 0;
- typedef SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
+ typedef STD_SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
};
@@ -422,7 +422,7 @@ public:
virtual SyntheticChildrenFrontEnd::SharedPointer
GetFrontEnd (lldb::ValueObjectSP backend) = 0;
- typedef SHARED_PTR(SyntheticChildren) SharedPointer;
+ typedef STD_SHARED_PTR(SyntheticChildren) SharedPointer;
typedef bool(*SyntheticChildrenCallback)(void*, ConstString, const SyntheticChildren::SharedPointer&);
uint32_t&
@@ -565,7 +565,7 @@ public:
return UINT32_MAX;
}
- typedef SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
+ typedef STD_SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
};
@@ -674,7 +674,7 @@ public:
return m_interpreter->GetIndexOfChildWithName(m_wrapper_sp, name.GetCString());
}
- typedef SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
+ typedef STD_SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
};
@@ -871,7 +871,7 @@ public:
virtual uint32_t
GetIndexOfChildWithName (const ConstString &name_cs);
- typedef SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
+ typedef STD_SHARED_PTR(SyntheticChildrenFrontEnd) SharedPointer;
};
@@ -1174,7 +1174,7 @@ public:
return m_my_revision;
}
- typedef SHARED_PTR(TypeSummaryImpl) SharedPointer;
+ typedef STD_SHARED_PTR(TypeSummaryImpl) SharedPointer;
typedef bool(*SummaryCallback)(void*, ConstString, const lldb::TypeSummaryImplSP&);
typedef bool(*RegexSummaryCallback)(void*, lldb::RegularExpressionSP, const lldb::TypeSummaryImplSP&);
@@ -1289,7 +1289,7 @@ struct ScriptSummaryFormat : public TypeSummaryImpl
return true;
}
- typedef SHARED_PTR(ScriptSummaryFormat) SharedPointer;
+ typedef STD_SHARED_PTR(ScriptSummaryFormat) SharedPointer;
};
diff --git a/lldb/include/lldb/Core/FormatManager.h b/lldb/include/lldb/Core/FormatManager.h
index 2dec8c7ff6f..9b77ab13f4d 100644
--- a/lldb/include/lldb/Core/FormatManager.h
+++ b/lldb/include/lldb/Core/FormatManager.h
@@ -218,7 +218,7 @@ public:
const char** matching_category = NULL,
FormatCategoryItems* matching_type = NULL);
- typedef SHARED_PTR(TypeCategoryImpl) SharedPointer;
+ typedef STD_SHARED_PTR(TypeCategoryImpl) SharedPointer;
private:
SummaryNavigator::SharedPointer m_summary_nav;
diff --git a/lldb/include/lldb/Core/FormatNavigator.h b/lldb/include/lldb/Core/FormatNavigator.h
index 99c05c06df3..34409177962 100644
--- a/lldb/include/lldb/Core/FormatNavigator.h
+++ b/lldb/include/lldb/Core/FormatNavigator.h
@@ -260,8 +260,11 @@ public:
typedef typename MapType::key_type MapKeyType;
typedef typename MapType::mapped_type MapValueType;
typedef typename BackEndType::CallbackType CallbackType;
-
+#ifdef _LIBCPP_VERSION
+ typedef typename std::shared_ptr<FormatNavigator<KeyType, ValueType> > SharedPointer;
+#else
typedef typename std::tr1::shared_ptr<FormatNavigator<KeyType, ValueType> > SharedPointer;
+#endif
friend class TypeCategoryImpl;
diff --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h
index 6bbdfeb8b5a..08ac448639a 100644
--- a/lldb/include/lldb/Core/Module.h
+++ b/lldb/include/lldb/Core/Module.h
@@ -281,7 +281,7 @@ protected:
};
class Module :
- public std::tr1::enable_shared_from_this<Module>,
+ public STD_ENABLE_SHARED_FROM_THIS(Module),
public SymbolContextScope
{
public:
diff --git a/lldb/include/lldb/Core/Section.h b/lldb/include/lldb/Core/Section.h
index 4b21dd2cd0c..e07b7f8c6ea 100644
--- a/lldb/include/lldb/Core/Section.h
+++ b/lldb/include/lldb/Core/Section.h
@@ -92,7 +92,7 @@ protected:
class Section :
- public std::tr1::enable_shared_from_this<Section>,
+ public STD_ENABLE_SHARED_FROM_THIS(Section),
public ModuleChild,
public UserID,
public Flags
diff --git a/lldb/include/lldb/Core/SourceManager.h b/lldb/include/lldb/Core/SourceManager.h
index fbbb7f13e5c..29b6d913c00 100644
--- a/lldb/include/lldb/Core/SourceManager.h
+++ b/lldb/include/lldb/Core/SourceManager.h
@@ -79,7 +79,7 @@ public:
#endif // SWIG
- typedef std::tr1::shared_ptr<File> FileSP;
+ typedef STD_SHARED_PTR(File) FileSP;
#ifndef SWIG
diff --git a/lldb/include/lldb/Core/UserSettingsController.h b/lldb/include/lldb/Core/UserSettingsController.h
index a99457a775e..caa447dc219 100644
--- a/lldb/include/lldb/Core/UserSettingsController.h
+++ b/lldb/include/lldb/Core/UserSettingsController.h
@@ -50,7 +50,7 @@ typedef struct
} UserSettingDefinition;
class UserSettingsController :
- public std::tr1::enable_shared_from_this<UserSettingsController>
+ public STD_ENABLE_SHARED_FROM_THIS(UserSettingsController)
{
public:
diff --git a/lldb/include/lldb/Expression/ClangExpressionVariable.h b/lldb/include/lldb/Expression/ClangExpressionVariable.h
index 9467a78c393..6aadae52239 100644
--- a/lldb/include/lldb/Expression/ClangExpressionVariable.h
+++ b/lldb/include/lldb/Expression/ClangExpressionVariable.h
@@ -217,7 +217,7 @@ public:
void
TransferAddress (bool force = false);
- typedef SHARED_PTR(ValueObjectConstResult) ValueObjectConstResultSP;
+ typedef STD_SHARED_PTR(ValueObjectConstResult) ValueObjectConstResultSP;
//----------------------------------------------------------------------
/// Members
diff --git a/lldb/include/lldb/Expression/ClangUserExpression.h b/lldb/include/lldb/Expression/ClangUserExpression.h
index b51af2bb9b3..751f3a492f2 100644
--- a/lldb/include/lldb/Expression/ClangUserExpression.h
+++ b/lldb/include/lldb/Expression/ClangUserExpression.h
@@ -47,7 +47,7 @@ namespace lldb_private
class ClangUserExpression : public ClangExpression
{
public:
- typedef SHARED_PTR(ClangUserExpression) ClangUserExpressionSP;
+ typedef STD_SHARED_PTR(ClangUserExpression) ClangUserExpressionSP;
//------------------------------------------------------------------
/// Constructor
diff --git a/lldb/include/lldb/Interpreter/Args.h b/lldb/include/lldb/Interpreter/Args.h
index 07811405a81..d5d02785657 100644
--- a/lldb/include/lldb/Interpreter/Args.h
+++ b/lldb/include/lldb/Interpreter/Args.h
@@ -30,7 +30,7 @@ namespace lldb_private {
typedef std::pair<int, std::string> OptionArgValue;
typedef std::pair<std::string, OptionArgValue> OptionArgPair;
typedef std::vector<OptionArgPair> OptionArgVector;
-typedef SHARED_PTR(OptionArgVector) OptionArgVectorSP;
+typedef STD_SHARED_PTR(OptionArgVector) OptionArgVectorSP;
struct OptionArgElement
{
diff --git a/lldb/include/lldb/Symbol/ClangASTImporter.h b/lldb/include/lldb/Symbol/ClangASTImporter.h
index ef831448f89..fa98087faf1 100644
--- a/lldb/include/lldb/Symbol/ClangASTImporter.h
+++ b/lldb/include/lldb/Symbol/ClangASTImporter.h
@@ -89,7 +89,7 @@ public:
//
typedef std::vector < std::pair<lldb::ModuleSP, ClangNamespaceDecl> > NamespaceMap;
- typedef SHARED_PTR(NamespaceMap) NamespaceMapSP;
+ typedef STD_SHARED_PTR(NamespaceMap) NamespaceMapSP;
void RegisterNamespaceMap (const clang::NamespaceDecl *decl,
NamespaceMapSP &namespace_map);
@@ -196,7 +196,7 @@ private:
clang::ASTContext *m_source_ctx;
};
- typedef SHARED_PTR(Minion) MinionSP;
+ typedef STD_SHARED_PTR(Minion) MinionSP;
typedef std::map<clang::ASTContext *, MinionSP> MinionMap;
typedef std::map<const clang::NamespaceDecl *, NamespaceMapSP> NamespaceMetaMap;
@@ -219,7 +219,7 @@ private:
MapCompleter *m_map_completer;
};
- typedef SHARED_PTR(ASTContextMetadata) ASTContextMetadataSP;
+ typedef STD_SHARED_PTR(ASTContextMetadata) ASTContextMetadataSP;
typedef std::map<const clang::ASTContext *, ASTContextMetadataSP> ContextMetadataMap;
ContextMetadataMap m_metadata_map;
diff --git a/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h b/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
index e0ec07cc477..75a9f19f62c 100644
--- a/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
+++ b/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
@@ -78,7 +78,7 @@ private:
inst_length (0), ptr_encoding (0), initial_row() {}
};
- typedef SHARED_PTR(CIE) CIESP;
+ typedef STD_SHARED_PTR(CIE) CIESP;
struct FDEEntry
{
diff --git a/lldb/include/lldb/Symbol/ObjectFile.h b/lldb/include/lldb/Symbol/ObjectFile.h
index 01436cdf58a..6d7ccfb3d5a 100644
--- a/lldb/include/lldb/Symbol/ObjectFile.h
+++ b/lldb/include/lldb/Symbol/ObjectFile.h
@@ -50,7 +50,7 @@ namespace lldb_private {
/// this abstract class.
//----------------------------------------------------------------------
class ObjectFile:
- public std::tr1::enable_shared_from_this<ObjectFile>,
+ public STD_ENABLE_SHARED_FROM_THIS(ObjectFile),
public PluginInterface,
public ModuleChild
{
diff --git a/lldb/include/lldb/Symbol/Type.h b/lldb/include/lldb/Symbol/Type.h
index 18fea12d539..dc59bea74e8 100644
--- a/lldb/include/lldb/Symbol/Type.h
+++ b/lldb/include/lldb/Symbol/Type.h
@@ -21,7 +21,7 @@
namespace lldb_private {
class SymbolFileType :
- public std::tr1::enable_shared_from_this<SymbolFileType>,
+ public STD_ENABLE_SHARED_FROM_THIS(SymbolFileType),
public UserID
{
public:
@@ -50,7 +50,7 @@ class SymbolFileType :
};
class Type :
- public std::tr1::enable_shared_from_this<Type>,
+ public STD_ENABLE_SHARED_FROM_THIS(Type),
public UserID
{
public:
diff --git a/lldb/include/lldb/Target/Memory.h b/lldb/include/lldb/Target/Memory.h
index 8171a9862f0..d7f66433e51 100644
--- a/lldb/include/lldb/Target/Memory.h
+++ b/lldb/include/lldb/Target/Memory.h
@@ -170,7 +170,7 @@ namespace lldb_private {
DeallocateMemory (lldb::addr_t ptr);
protected:
- typedef std::tr1::shared_ptr<AllocatedBlock> AllocatedBlockSP;
+ typedef STD_SHARED_PTR(AllocatedBlock) AllocatedBlockSP;
AllocatedBlockSP
AllocatePage (uint32_t byte_size,
diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
index 8de608c9e0f..23e87d95d3e 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -1260,7 +1260,7 @@ protected:
/// @brief A plug-in interface definition class for debugging a process.
//----------------------------------------------------------------------
class Process :
- public std::tr1::enable_shared_from_this<Process>,
+ public STD_ENABLE_SHARED_FROM_THIS(Process),
public UserID,
public Broadcaster,
public ExecutionContextScope,
diff --git a/lldb/include/lldb/Target/RegisterContext.h b/lldb/include/lldb/Target/RegisterContext.h
index f08abe6ecc4..7c77146f492 100644
--- a/lldb/include/lldb/Target/RegisterContext.h
+++ b/lldb/include/lldb/Target/RegisterContext.h
@@ -20,7 +20,7 @@
namespace lldb_private {
class RegisterContext :
- public std::tr1::enable_shared_from_this<RegisterContext>,
+ public STD_ENABLE_SHARED_FROM_THIS(RegisterContext),
public ExecutionContextScope
{
public:
diff --git a/lldb/include/lldb/Target/StackFrame.h b/lldb/include/lldb/Target/StackFrame.h
index 9487ffedcb9..19671d0a520 100644
--- a/lldb/include/lldb/Target/StackFrame.h
+++ b/lldb/include/lldb/Target/StackFrame.h
@@ -27,7 +27,7 @@
namespace lldb_private {
class StackFrame :
- public std::tr1::enable_shared_from_this<StackFrame>,
+ public STD_ENABLE_SHARED_FROM_THIS(StackFrame),
public ExecutionContextScope
{
public:
diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h
index f06c72b9bf3..5d440adb61a 100644
--- a/lldb/include/lldb/Target/Target.h
+++ b/lldb/include/lldb/Target/Target.h
@@ -260,7 +260,7 @@ protected:
// Target
//----------------------------------------------------------------------
class Target :
- public std::tr1::enable_shared_from_this<Target>,
+ public STD_ENABLE_SHARED_FROM_THIS(Target),
public Broadcaster,
public ExecutionContextScope,
public TargetInstanceSettings
@@ -997,7 +997,7 @@ public:
StopHook (lldb::TargetSP target_sp, lldb::user_id_t uid);
friend class Target;
};
- typedef SHARED_PTR(StopHook) StopHookSP;
+ typedef STD_SHARED_PTR(StopHook) StopHookSP;
// Add an empty stop hook to the Target's stop hook list, and returns a shared pointer to it in new_hook.
// Returns the id of the new hook.
diff --git a/lldb/include/lldb/Target/Thread.h b/lldb/include/lldb/Target/Thread.h
index faebb11f77a..c03d298a268 100644
--- a/lldb/include/lldb/Target/Thread.h
+++ b/lldb/include/lldb/Target/Thread.h
@@ -85,7 +85,7 @@ private:
};
class Thread :
- public std::tr1::enable_shared_from_this<Thread>,
+ public STD_ENABLE_SHARED_FROM_THIS(Thread),
public UserID,
public ExecutionContextScope,
public ThreadInstanceSettings
diff --git a/lldb/include/lldb/Utility/PriorityPointerPair.h b/lldb/include/lldb/Utility/PriorityPointerPair.h
index 21e60bb2915..974047ad81a 100644
--- a/lldb/include/lldb/Utility/PriorityPointerPair.h
+++ b/lldb/include/lldb/Utility/PriorityPointerPair.h
@@ -30,7 +30,7 @@ public:
typedef T& reference_type;
typedef T* pointer_type;
- typedef typename SHARED_PTR(T) T_SP;
+ typedef typename STD_SHARED_PTR(T) T_SP;
PriorityPointerPair() :
m_high(),
diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h
index c7dd37e1445..f39f876cc30 100644
--- a/lldb/include/lldb/lldb-forward.h
+++ b/lldb/include/lldb/lldb-forward.h
@@ -12,7 +12,22 @@
#if defined(__cplusplus)
-#include <tr1/memory> // for std::tr1::shared_ptr, std::tr1::weak_ptr
+#include <ciso646> // detect C++ lib
+
+#ifdef _LIBCPP_VERSION
+#include <memory>
+#define STD_SHARED_PTR(T) std::shared_ptr<T>
+#define STD_WEAK_PTR(T) std::shared_ptr<T>
+#define STD_ENABLE_SHARED_FROM_THIS(T) std::enable_shared_from_this<T>
+#define STD_STATIC_POINTER_CAST(T,V) std::static_pointer_cast<T>(V)
+#else
+#include <tr1/memory>
+#define STD_SHARED_PTR(T) std::tr1::shared_ptr<T>
+#define STD_WEAK_PTR(T) std::tr1::weak_ptr<T>
+#define STD_ENABLE_SHARED_FROM_THIS(T) std::tr1::enable_shared_from_this<T>
+#define STD_STATIC_POINTER_CAST(T,V) std::tr1::static_pointer_cast<T>(V)
+#endif
+
#include "lldb/Utility/SharingPtr.h"
//----------------------------------------------------------------------
@@ -229,99 +244,99 @@ struct LineEntry;
//----------------------------------------------------------------------
namespace lldb {
- typedef std::tr1::shared_ptr<lldb_private::ABI> ABISP;
- typedef std::tr1::shared_ptr<lldb_private::Baton> BatonSP;
- typedef std::tr1::shared_ptr<lldb_private::Block> BlockSP;
- typedef std::tr1::shared_ptr<lldb_private::Breakpoint> BreakpointSP;
- typedef std::tr1::weak_ptr<lldb_private::Breakpoint> BreakpointWP;
- typedef std::tr1::shared_ptr<lldb_private::BreakpointSite> BreakpointSiteSP;
- typedef std::tr1::weak_ptr<lldb_private::BreakpointSite> BreakpointSiteWP;
- typedef std::tr1::shared_ptr<lldb_private::BreakpointLocation> BreakpointLocationSP;
- typedef std::tr1::weak_ptr<lldb_private::BreakpointLocation> BreakpointLocationWP;
- typedef std::tr1::shared_ptr<lldb_private::BreakpointResolver> BreakpointResolverSP;
- typedef std::tr1::shared_ptr<lldb_private::Broadcaster> BroadcasterSP;
- typedef std::tr1::shared_ptr<lldb_private::ClangExpressionVariable> ClangExpressionVariableSP;
- typedef std::tr1::shared_ptr<lldb_private::CommandObject> CommandObjectSP;
- typedef std::tr1::shared_ptr<lldb_private::Communication> CommunicationSP;
- typedef std::tr1::shared_ptr<lldb_private::Connection> ConnectionSP;
- typedef std::tr1::shared_ptr<lldb_private::CompileUnit> CompUnitSP;
- typedef std::tr1::shared_ptr<lldb_private::DataBuffer> DataBufferSP;
- typedef std::tr1::shared_ptr<lldb_private::DataExtractor> DataExtractorSP;
- typedef std::tr1::shared_ptr<lldb_private::Debugger> DebuggerSP;
- typedef std::tr1::weak_ptr<lldb_private::Debugger> DebuggerWP;
- typedef std::tr1::shared_ptr<lldb_private::Disassembler> DisassemblerSP;
- typedef std::tr1::shared_ptr<lldb_private::DynamicLoader> DynamicLoaderSP;
- typedef std::tr1::shared_ptr<lldb_private::Event> EventSP;
- typedef std::tr1::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
- typedef std::tr1::shared_ptr<lldb_private::Function> FunctionSP;
- typedef std::tr1::shared_ptr<lldb_private::InlineFunctionInfo> InlineFunctionInfoSP;
- typedef std::tr1::shared_ptr<lldb_private::InputReader> InputReaderSP;
- typedef std::tr1::shared_ptr<lldb_private::InstanceSettings> InstanceSettingsSP;
- typedef std::tr1::shared_ptr<lldb_private::Instruction> InstructionSP;
- typedef std::tr1::shared_ptr<lldb_private::LanguageRuntime> LanguageRuntimeSP;
- typedef std::tr1::shared_ptr<lldb_private::LineTable> LineTableSP;
- typedef std::tr1::shared_ptr<lldb_private::Listener> ListenerSP;
- typedef std::tr1::shared_ptr<lldb_private::Log> LogSP;
- typedef std::tr1::shared_ptr<lldb_private::LogChannel> LogChannelSP;
- typedef std::tr1::shared_ptr<lldb_private::Module> ModuleSP;
- typedef std::tr1::weak_ptr<lldb_private::Module> ModuleWP;
- typedef std::tr1::shared_ptr<lldb_private::ObjectFile> ObjectFileSP;
- typedef std::tr1::weak_ptr<lldb_private::ObjectFile> ObjectFileWP;
- typedef std::tr1::shared_ptr<lldb_private::OptionValue> OptionValueSP;
- typedef std::tr1::shared_ptr<lldb_private::Platform> PlatformSP;
- typedef std::tr1::shared_ptr<lldb_private::Process> ProcessSP;
- typedef std::tr1::shared_ptr<lldb_private::ProcessAttachInfo> ProcessAttachInfoSP;
- typedef std::tr1::shared_ptr<lldb_private::ProcessLaunchInfo> ProcessLaunchInfoSP;
- typedef std::tr1::weak_ptr<lldb_private::Process> ProcessWP;
- typedef std::tr1::shared_ptr<lldb_private::RegisterContext> RegisterContextSP;
- typedef std::tr1::shared_ptr<lldb_private::RegularExpression> RegularExpressionSP;
- typedef std::tr1::shared_ptr<lldb_private::Section> SectionSP;
- typedef std::tr1::weak_ptr<lldb_private::Section> SectionWP;
- typedef std::tr1::shared_ptr<lldb_private::SearchFilter> SearchFilterSP;
- typedef std::tr1::shared_ptr<lldb_private::ScriptInterpreterObject> ScriptInterpreterObjectSP;
+ typedef STD_SHARED_PTR(lldb_private::ABI) ABISP;
+ typedef STD_SHARED_PTR(lldb_private::Baton) BatonSP;
+ typedef STD_SHARED_PTR(lldb_private::Block) BlockSP;
+ typedef STD_SHARED_PTR(lldb_private::Breakpoint) BreakpointSP;
+ typedef STD_WEAK_PTR(lldb_private::Breakpoint) BreakpointWP;
+ typedef STD_SHARED_PTR(lldb_private::BreakpointSite) BreakpointSiteSP;
+ typedef STD_WEAK_PTR(lldb_private::BreakpointSite) BreakpointSiteWP;
+ typedef STD_SHARED_PTR(lldb_private::BreakpointLocation) BreakpointLocationSP;
+ typedef STD_WEAK_PTR(lldb_private::BreakpointLocation) BreakpointLocationWP;
+ typedef STD_SHARED_PTR(lldb_private::BreakpointResolver) BreakpointResolverSP;
+ typedef STD_SHARED_PTR(lldb_private::Broadcaster) BroadcasterSP;
+ typedef STD_SHARED_PTR(lldb_private::ClangExpressionVariable) ClangExpressionVariableSP;
+ typedef STD_SHARED_PTR(lldb_private::CommandObject) CommandObjectSP;
+ typedef STD_SHARED_PTR(lldb_private::Communication) CommunicationSP;
+ typedef STD_SHARED_PTR(lldb_private::Connection) ConnectionSP;
+ typedef STD_SHARED_PTR(lldb_private::CompileUnit) CompUnitSP;
+ typedef STD_SHARED_PTR(lldb_private::DataBuffer) DataBufferSP;
+ typedef STD_SHARED_PTR(lldb_private::DataExtractor) DataExtractorSP;
+ typedef STD_SHARED_PTR(lldb_private::Debugger) DebuggerSP;
+ typedef STD_WEAK_PTR(lldb_private::Debugger) DebuggerWP;
+ typedef STD_SHARED_PTR(lldb_private::Disassembler) DisassemblerSP;
+ typedef STD_SHARED_PTR(lldb_private::DynamicLoader) DynamicLoaderSP;
+ typedef STD_SHARED_PTR(lldb_private::Event) EventSP;
+ typedef STD_SHARED_PTR(lldb_private::TypeCategoryImpl) TypeCategoryImplSP;
+ typedef STD_SHARED_PTR(lldb_private::Function) FunctionSP;
+ typedef STD_SHARED_PTR(lldb_private::InlineFunctionInfo) InlineFunctionInfoSP;
+ typedef STD_SHARED_PTR(lldb_private::InputReader) InputReaderSP;
+ typedef STD_SHARED_PTR(lldb_private::InstanceSettings) InstanceSettingsSP;
+ typedef STD_SHARED_PTR(lldb_private::Instruction) InstructionSP;
+ typedef STD_SHARED_PTR(lldb_private::LanguageRuntime) LanguageRuntimeSP;
+ typedef STD_SHARED_PTR(lldb_private::LineTable) LineTableSP;
+ typedef STD_SHARED_PTR(lldb_private::Listener) ListenerSP;
+ typedef STD_SHARED_PTR(lldb_private::Log) LogSP;
+ typedef STD_SHARED_PTR(lldb_private::LogChannel) LogChannelSP;
+ typedef STD_SHARED_PTR(lldb_private::Module) ModuleSP;
+ typedef STD_WEAK_PTR(lldb_private::Module) ModuleWP;
+ typedef STD_SHARED_PTR(lldb_private::ObjectFile) ObjectFileSP;
+ typedef STD_WEAK_PTR(lldb_private::ObjectFile) ObjectFileWP;
+ typedef STD_SHARED_PTR(lldb_private::OptionValue) OptionValueSP;
+ typedef STD_SHARED_PTR(lldb_private::Platform) PlatformSP;
+ typedef STD_SHARED_PTR(lldb_private::Process) ProcessSP;
+ typedef STD_SHARED_PTR(lldb_private::ProcessAttachInfo) ProcessAttachInfoSP;
+ typedef STD_SHARED_PTR(lldb_private::ProcessLaunchInfo) ProcessLaunchInfoSP;
+ typedef STD_WEAK_PTR(lldb_private::Process) ProcessWP;
+ typedef STD_SHARED_PTR(lldb_private::RegisterContext) RegisterContextSP;
+ typedef STD_SHARED_PTR(lldb_private::RegularExpression) RegularExpressionSP;
+ typedef STD_SHARED_PTR(lldb_private::Section) SectionSP;
+ typedef STD_WEAK_PTR(lldb_private::Section) SectionWP;
+ typedef STD_SHARED_PTR(lldb_private::SearchFilter) SearchFilterSP;
+ typedef STD_SHARED_PTR(lldb_private::ScriptInterpreterObject) ScriptInterpreterObjectSP;
#ifndef LLDB_DISABLE_PYTHON
- typedef std::tr1::shared_ptr<lldb_private::ScriptSummaryFormat> ScriptSummaryFormatSP;
+ typedef STD_SHARED_PTR(lldb_private::ScriptSummaryFormat) ScriptSummaryFormatSP;
#endif // #ifndef LLDB_DISABLE_PYTHON
- typedef std::tr1::shared_ptr<lldb_private::StackFrame> StackFrameSP;
- typedef std::tr1::weak_ptr<lldb_private::StackFrame> StackFrameWP;
- typedef std::tr1::shared_ptr<lldb_private::StackFrameList> StackFrameListSP;
- typedef std::tr1::shared_ptr<lldb_private::StopInfo> StopInfoSP;
- typedef std::tr1::shared_ptr<lldb_private::StoppointLocation> StoppointLocationSP;
- typedef std::tr1::shared_ptr<lldb_private::Stream> StreamSP;
- typedef std::tr1::shared_ptr<lldb_private::StringSummaryFormat> StringTypeSummaryImplSP;
- typedef std::tr1::shared_ptr<lldb_private::TypeSummaryImpl> TypeSummaryImplSP;
- typedef std::tr1::shared_ptr<lldb_private::TypeNameSpecifierImpl> TypeNameSpecifierImplSP;
- typedef std::tr1::shared_ptr<lldb_private::SymbolFile> SymbolFileSP;
- typedef std::tr1::shared_ptr<lldb_private::SymbolFileType> SymbolFileTypeSP;
- typedef std::tr1::weak_ptr<lldb_private::SymbolFileType> SymbolFileTypeWP;
- typedef std::tr1::shared_ptr<lldb_private::SymbolContextSpecifier> SymbolContextSpecifierSP;
- typedef std::tr1::shared_ptr<lldb_private::SyntheticChildren> SyntheticChildrenSP;
- typedef std::tr1::shared_ptr<lldb_private::SyntheticChildrenFrontEnd> SyntheticChildrenFrontEndSP;
- typedef std::tr1::shared_ptr<lldb_private::TypeFilterImpl> TypeFilterImplSP;
+ typedef STD_SHARED_PTR(lldb_private::StackFrame) StackFrameSP;
+ typedef STD_WEAK_PTR(lldb_private::StackFrame) StackFrameWP;
+ typedef STD_SHARED_PTR(lldb_private::StackFrameList) StackFrameListSP;
+ typedef STD_SHARED_PTR(lldb_private::StopInfo) StopInfoSP;
+ typedef STD_SHARED_PTR(lldb_private::StoppointLocation) StoppointLocationSP;
+ typedef STD_SHARED_PTR(lldb_private::Stream) StreamSP;
+ typedef STD_SHARED_PTR(lldb_private::StringSummaryFormat) StringTypeSummaryImplSP;
+ typedef STD_SHARED_PTR(lldb_private::TypeSummaryImpl) TypeSummaryImplSP;
+ typedef STD_SHARED_PTR(lldb_private::TypeNameSpecifierImpl) TypeNameSpecifierImplSP;
+ typedef STD_SHARED_PTR(lldb_private::SymbolFile) SymbolFileSP;
+ typedef STD_SHARED_PTR(lldb_private::SymbolFileType) SymbolFileTypeSP;
+ typedef STD_WEAK_PTR(lldb_private::SymbolFileType) SymbolFileTypeWP;
+ typedef STD_SHARED_PTR(lldb_private::SymbolContextSpecifier) SymbolContextSpecifierSP;
+ typedef STD_SHARED_PTR(lldb_private::SyntheticChildren) SyntheticChildrenSP;
+ typedef STD_SHARED_PTR(lldb_private::SyntheticChildrenFrontEnd) SyntheticChildrenFrontEndSP;
+ typedef STD_SHARED_PTR(lldb_private::TypeFilterImpl) TypeFilterImplSP;
#ifndef LLDB_DISABLE_PYTHON
- typedef std::tr1::shared_ptr<lldb_private::TypeSyntheticImpl> TypeSyntheticImplSP;
+ typedef STD_SHARED_PTR(lldb_private::TypeSyntheticImpl) TypeSyntheticImplSP;
#endif
- typedef std::tr1::shared_ptr<lldb_private::Target> TargetSP;
- typedef std::tr1::weak_ptr<lldb_private::Target> TargetWP;
- typedef std::tr1::shared_ptr<lldb_private::Thread> ThreadSP;
- typedef std::tr1::weak_ptr<lldb_private::Thread> ThreadWP;
- typedef std::tr1::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
- typedef std::tr1::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
- typedef std::tr1::shared_ptr<lldb_private::Type> TypeSP;
- typedef std::tr1::weak_ptr<lldb_private::Type> TypeWP;
- typedef std::tr1::shared_ptr<lldb_private::TypeImpl> TypeImplSP;
- typedef std::tr1::shared_ptr<lldb_private::FuncUnwinders> FuncUnwindersSP;
- typedef std::tr1::shared_ptr<lldb_private::UserSettingsController> UserSettingsControllerSP;
- typedef std::tr1::weak_ptr<lldb_private::UserSettingsController> UserSettingsControllerWP;
- typedef std::tr1::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP;
+ typedef STD_SHARED_PTR(lldb_private::Target) TargetSP;
+ typedef STD_WEAK_PTR(lldb_private::Target) TargetWP;
+ typedef STD_SHARED_PTR(lldb_private::Thread) ThreadSP;
+ typedef STD_WEAK_PTR(lldb_private::Thread) ThreadWP;
+ typedef STD_SHARED_PTR(lldb_private::ThreadPlan) ThreadPlanSP;
+ typedef STD_SHARED_PTR(lldb_private::ThreadPlanTracer) ThreadPlanTracerSP;
+ typedef STD_SHARED_PTR(lldb_private::Type) TypeSP;
+ typedef STD_WEAK_PTR(lldb_private::Type) TypeWP;
+ typedef STD_SHARED_PTR(lldb_private::TypeImpl) TypeImplSP;
+ typedef STD_SHARED_PTR(lldb_private::FuncUnwinders) FuncUnwindersSP;
+ typedef STD_SHARED_PTR(lldb_private::UserSettingsController) UserSettingsControllerSP;
+ typedef STD_WEAK_PTR(lldb_private::UserSettingsController) UserSettingsControllerWP;
+ typedef STD_SHARED_PTR(lldb_private::UnwindPlan) UnwindPlanSP;
typedef lldb_private::SharingPtr<lldb_private::ValueObject> ValueObjectSP;
- typedef std::tr1::shared_ptr<lldb_private::Value> ValueSP;
- typedef std::tr1::shared_ptr<lldb_private::TypeFormatImpl> TypeFormatImplSP;
- typedef std::tr1::shared_ptr<lldb_private::ValueList> ValueListSP;
- typedef std::tr1::shared_ptr<lldb_private::Variable> VariableSP;
- typedef std::tr1::shared_ptr<lldb_private::VariableList> VariableListSP;
- typedef std::tr1::shared_ptr<lldb_private::ValueObjectList> ValueObjectListSP;
- typedef std::tr1::shared_ptr<lldb_private::Watchpoint> WatchpointSP;
+ typedef STD_SHARED_PTR(lldb_private::Value) ValueSP;
+ typedef STD_SHARED_PTR(lldb_private::TypeFormatImpl) TypeFormatImplSP;
+ typedef STD_SHARED_PTR(lldb_private::ValueList) ValueListSP;
+ typedef STD_SHARED_PTR(lldb_private::Variable) VariableSP;
+ typedef STD_SHARED_PTR(lldb_private::VariableList) VariableListSP;
+ typedef STD_SHARED_PTR(lldb_private::ValueObjectList) ValueObjectListSP;
+ typedef STD_SHARED_PTR(lldb_private::Watchpoint) WatchpointSP;
} // namespace lldb
diff --git a/lldb/include/lldb/lldb-types.h b/lldb/include/lldb/lldb-types.h
index b0a2011a7cc..aba69e16179 100644
--- a/lldb/include/lldb/lldb-types.h
+++ b/lldb/include/lldb/lldb-types.h
@@ -66,7 +66,6 @@ const lldb::thread_t lldb_invalid_host_thread_const = { NULL, 0 } ;
#endif
-#define SHARED_PTR(T) std::tr1::shared_ptr<T>
#define LLDB_INVALID_HOST_TIME { 0, 0 }
namespace lldb
diff --git a/lldb/source/API/SBTypeCategory.cpp b/lldb/source/API/SBTypeCategory.cpp
index 60d9ac1ede7..aad36f7f621 100644
--- a/lldb/source/API/SBTypeCategory.cpp
+++ b/lldb/source/API/SBTypeCategory.cpp
@@ -167,7 +167,7 @@ SBTypeCategory::GetFilterForType (SBTypeNameSpecifier spec)
if (!children_sp)
return lldb::SBTypeFilter();
- TypeFilterImplSP filter_sp = std::tr1::static_pointer_cast<TypeFilterImpl>(children_sp);
+ TypeFilterImplSP filter_sp = STD_STATIC_POINTER_CAST(TypeFilterImpl,children_sp);
return lldb::SBTypeFilter(filter_sp);
@@ -231,7 +231,7 @@ SBTypeCategory::GetSyntheticForType (SBTypeNameSpecifier spec)
if (!children_sp)
return lldb::SBTypeSynthetic();
- TypeSyntheticImplSP synth_sp = std::tr1::static_pointer_cast<TypeSyntheticImpl>(children_sp);
+ TypeSyntheticImplSP synth_sp = STD_STATIC_POINTER_CAST(TypeSyntheticImpl,children_sp);
return lldb::SBTypeSynthetic(synth_sp);
}
@@ -248,7 +248,7 @@ SBTypeCategory::GetFilterAtIndex (uint32_t index)
if (!children_sp.get())
return lldb::SBTypeFilter();
- TypeFilterImplSP filter_sp = std::tr1::static_pointer_cast<TypeFilterImpl>(children_sp);
+ TypeFilterImplSP filter_sp = STD_STATIC_POINTER_CAST(TypeFilterImpl,children_sp);
return lldb::SBTypeFilter(filter_sp);
}
@@ -283,7 +283,7 @@ SBTypeCategory::GetSyntheticAtIndex (uint32_t index)
if (!children_sp.get())
return lldb::SBTypeSynthetic();
- TypeSyntheticImplSP synth_sp = std::tr1::static_pointer_cast<TypeSyntheticImpl>(children_sp);
+ TypeSyntheticImplSP synth_sp = STD_STATIC_POINTER_CAST(TypeSyntheticImpl,children_sp);
return lldb::SBTypeSynthetic(synth_sp);
}
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index fa2fa778fe3..c3d966ff07e 100644
--- a/lldb/source/API/SBValue.cpp
+++ b/lldb/source/API/SBValue.cpp
@@ -442,7 +442,7 @@ SBValue::GetTypeFilter ()
if (synthetic_sp && !synthetic_sp->IsScripted())
{
- TypeFilterImplSP filter_sp = std::tr1::static_pointer_cast<TypeFilterImpl>(synthetic_sp);
+ TypeFilterImplSP filter_sp = STD_STATIC_POINTER_CAST(TypeFilterImpl,synthetic_sp);
filter.SetSP(filter_sp);
}
}
@@ -469,7 +469,7 @@ SBValue::GetTypeSynthetic ()
if (children_sp && children_sp->IsScripted())
{
- TypeSyntheticImplSP synth_sp = std::tr1::static_pointer_cast<TypeSyntheticImpl>(children_sp);
+ TypeSyntheticImplSP synth_sp = STD_STATIC_POINTER_CAST(TypeSyntheticImpl,children_sp);
synthetic.SetSP(synth_sp);
}
}
diff --git a/lldb/source/Commands/CommandObjectType.cpp b/lldb/source/Commands/CommandObjectType.cpp
index 0de6d9b4af7..2297138410b 100644
--- a/lldb/source/Commands/CommandObjectType.cpp
+++ b/lldb/source/Commands/CommandObjectType.cpp
@@ -59,7 +59,7 @@ public:
{
}
- typedef SHARED_PTR(ScriptAddOptions) SharedPointer;
+ typedef STD_SHARED_PTR(ScriptAddOptions) SharedPointer;
};
@@ -92,7 +92,7 @@ public:
{
}
- typedef SHARED_PTR(SynthAddOptions) SharedPointer;
+ typedef STD_SHARED_PTR(SynthAddOptions) SharedPointer;
};
diff --git a/lldb/source/Expression/IRInterpreter.cpp b/lldb/source/Expression/IRInterpreter.cpp
index 514db9d3f25..2deb87a5450 100644
--- a/lldb/source/Expression/IRInterpreter.cpp
+++ b/lldb/source/Expression/IRInterpreter.cpp
@@ -70,8 +70,8 @@ PrintType(const Type *type, bool truncate = false)
return s;
}
-typedef SHARED_PTR(lldb_private::DataEncoder) DataEncoderSP;
-typedef SHARED_PTR(lldb_private::DataExtractor) DataExtractorSP;
+typedef STD_SHARED_PTR(lldb_private::DataEncoder) DataEncoderSP;
+typedef STD_SHARED_PTR(lldb_private::DataExtractor) DataExtractorSP;
class Memory
{
@@ -128,7 +128,7 @@ public:
}
};
- typedef SHARED_PTR(Allocation) AllocationSP;
+ typedef STD_SHARED_PTR(Allocation) AllocationSP;
struct Region
{
diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
index a072119b893..3e893073d7e 100644
--- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
+++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
@@ -118,7 +118,7 @@ protected:
class Archive
{
public:
- typedef SHARED_PTR(Archive) shared_ptr;
+ typedef STD_SHARED_PTR(Archive) shared_ptr;
typedef std::multimap<lldb_private::FileSpec, shared_ptr> Map;
static Map &
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
index cdb0ccbc325..3a7aa67a8bb 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
@@ -25,7 +25,7 @@ class UnwindLLDB;
class RegisterContextLLDB : public lldb_private::RegisterContext
{
public:
- typedef SHARED_PTR(RegisterContextLLDB) SharedPtr;
+ typedef STD_SHARED_PTR(RegisterContextLLDB) SharedPtr;
RegisterContextLLDB (lldb_private::Thread &thread,
const SharedPtr& next_frame,
diff --git a/lldb/source/Plugins/Process/Utility/UnwindLLDB.h b/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
index ff4030f6364..7d1c8a1f146 100644
--- a/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
+++ b/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
@@ -70,7 +70,7 @@ protected:
lldb::RegisterContextSP
DoCreateRegisterContextForFrame (lldb_private::StackFrame *frame);
- typedef SHARED_PTR(RegisterContextLLDB) RegisterContextLLDBSP;
+ typedef STD_SHARED_PTR(RegisterContextLLDB) RegisterContextLLDBSP;
// Needed to retrieve the "next" frame (e.g. frame 2 needs to retrieve frame 1's RegisterContextLLDB)
// The RegisterContext for frame_num must already exist or this returns an empty shared pointer.
@@ -97,7 +97,7 @@ private:
DISALLOW_COPY_AND_ASSIGN (Cursor);
};
- typedef SHARED_PTR(Cursor) CursorSP;
+ typedef STD_SHARED_PTR(Cursor) CursorSP;
std::vector<CursorSP> m_frames;
bool m_unwind_complete; // If this is true, we've enumerated all the frames in the stack, and m_frames.size() is the
// number of frames, etc. Otherwise we've only gone as far as directly asked, and m_frames.size()
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
index f4ee96b7c7d..caa55857765 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
@@ -21,7 +21,7 @@ typedef std::multimap<const char*, dw_offset_t, CStringCompareFunctionObject> CS
typedef CStringToDIEMap::iterator CStringToDIEMapIter;
typedef CStringToDIEMap::const_iterator CStringToDIEMapConstIter;
-typedef SHARED_PTR(DWARFCompileUnit) DWARFCompileUnitSP;
+typedef STD_SHARED_PTR(DWARFCompileUnit) DWARFCompileUnitSP;
class DWARFDebugInfo
{
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
index 843d0812bef..b10c2c4cd01 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
@@ -68,7 +68,7 @@ public:
{
}
- typedef SHARED_PTR(Prologue) shared_ptr;
+ typedef STD_SHARED_PTR(Prologue) shared_ptr;
uint32_t total_length; // The size in bytes of the statement information for this compilation unit (not including the total_length field itself).
uint16_t version; // Version identifier for the statement information format.
@@ -135,7 +135,7 @@ public:
//------------------------------------------------------------------
struct LineTable
{
- typedef SHARED_PTR(LineTable) shared_ptr;
+ typedef STD_SHARED_PTR(LineTable) shared_ptr;
LineTable() :
prologue(),
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
index b82062b7b4c..d8259431eca 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
@@ -141,7 +141,7 @@ protected:
lldb_private::SymbolVendor *oso_symbol_vendor;
std::vector<uint32_t> function_indexes;
std::vector<uint32_t> static_indexes;
- SHARED_PTR(lldb_private::SectionList) debug_map_sections_sp;
+ STD_SHARED_PTR(lldb_private::SectionList) debug_map_sections_sp;
CompileUnitInfo() :
so_file (),
diff --git a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
index e77d6ca6494..5ce685754fe 100644
--- a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
+++ b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
@@ -87,7 +87,7 @@
26C637DA0C71334A0024798E /* DNBBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBBreakpoint.h; sourceTree = "<group>"; };
26C637DB0C71334A0024798E /* DNBDataRef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBDataRef.cpp; sourceTree = "<group>"; };
26C637DC0C71334A0024798E /* DNBDataRef.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBDataRef.h; sourceTree = "<group>"; };
- 26C637DD0C71334A0024798E /* DNBDefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBDefs.h; sourceTree = "<group>"; };
+ 26C637DD0C71334A0024798E /* DNBDefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DNBDefs.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
26C637DE0C71334A0024798E /* DNBError.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBError.cpp; sourceTree = "<group>"; };
26C637DF0C71334A0024798E /* DNBError.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBError.h; sourceTree = "<group>"; };
26C637E00C71334A0024798E /* DNBLog.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBLog.cpp; sourceTree = "<group>"; };
diff --git a/lldb/tools/debugserver/source/DNB.cpp b/lldb/tools/debugserver/source/DNB.cpp
index 6be22c7962f..f7b66c1c481 100644
--- a/lldb/tools/debugserver/source/DNB.cpp
+++ b/lldb/tools/debugserver/source/DNB.cpp
@@ -32,7 +32,7 @@
#include "DNBThreadResumeActions.h"
#include "DNBTimer.h"
-typedef std::tr1::shared_ptr<MachProcess> MachProcessSP;
+typedef STD_SHARED_PTR(MachProcess) MachProcessSP;
typedef std::map<nub_process_t, MachProcessSP> ProcessMap;
typedef ProcessMap::iterator ProcessMapIter;
typedef ProcessMap::const_iterator ProcessMapConstIter;
diff --git a/lldb/tools/debugserver/source/DNBDefs.h b/lldb/tools/debugserver/source/DNBDefs.h
index fce2cac052a..1fa06a3b58e 100644
--- a/lldb/tools/debugserver/source/DNBDefs.h
+++ b/lldb/tools/debugserver/source/DNBDefs.h
@@ -20,6 +20,20 @@
#include <sys/syslimits.h>
#include <unistd.h>
+#include <ciso646> // detect C++ lib
+
+#ifdef _LIBCPP_VERSION
+#include <memory>
+#define STD_SHARED_PTR(T) std::shared_ptr<T>
+#define STD_WEAK_PTR(T) std::shared_ptr<T>
+#define STD_ENABLE_SHARED_FROM_THIS(T) std::enable_shared_from_this<T>
+#else
+#include <tr1/memory>
+#define STD_SHARED_PTR(T) std::tr1::shared_ptr<T>
+#define STD_WEAK_PTR(T) std::tr1::weak_ptr<T>
+#define STD_ENABLE_SHARED_FROM_THIS(T) std::tr1::enable_shared_from_this<T>
+#endif
+
//----------------------------------------------------------------------
// Define nub_addr_t and the invalid address value from the architecture
//----------------------------------------------------------------------
diff --git a/lldb/tools/debugserver/source/MacOSX/MachThread.h b/lldb/tools/debugserver/source/MacOSX/MachThread.h
index b76e84872de..7aa299b2439 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachThread.h
+++ b/lldb/tools/debugserver/source/MacOSX/MachThread.h
@@ -16,7 +16,6 @@
#include <string>
#include <vector>
-#include <tr1/memory> // for std::tr1::shared_ptr
#include <libproc.h>
#include <mach/mach.h>
@@ -137,6 +136,6 @@ private:
void HardwareWatchpointStateChanged(); // Provide a chance to update the global view of the hardware watchpoint state
};
-typedef std::tr1::shared_ptr<MachThread> MachThreadSP;
+typedef STD_SHARED_PTR(MachThread) MachThreadSP;
#endif
diff --git a/lldb/tools/debugserver/source/RNBDefs.h b/lldb/tools/debugserver/source/RNBDefs.h
index bf3549747d3..bb4f06d33b0 100644
--- a/lldb/tools/debugserver/source/RNBDefs.h
+++ b/lldb/tools/debugserver/source/RNBDefs.h
@@ -16,8 +16,6 @@
#include "DNBDefs.h"
-#include <tr1/memory> // for std::tr1::shared_ptr
-
extern "C" const unsigned char debugserverVersionString[];
extern "C" const double debugserverVersionNumber;
#define DEBUGSERVER_PROGRAM_NAME "debugserver"
@@ -51,7 +49,7 @@ extern "C" const double debugserverVersionNumber;
#endif
class RNBRemote;
-typedef std::tr1::shared_ptr<RNBRemote> RNBRemoteSP;
+typedef STD_SHARED_PTR(RNBRemote) RNBRemoteSP;
typedef enum
{
OpenPOWER on IntegriCloud