summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Mangled.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2010-09-14 22:03:00 +0000
committerJim Ingham <jingham@apple.com>2010-09-14 22:03:00 +0000
commit08b87e0dedc4bf9939190a61c81200c0ea97c3c7 (patch)
treebd2b9d09ea807a49b675974826737576ba968060 /lldb/source/Core/Mangled.cpp
parent1aad5c61f82b8c8032f66bf22a39408a8c3bfd53 (diff)
downloadbcm5719-llvm-08b87e0dedc4bf9939190a61c81200c0ea97c3c7.tar.gz
bcm5719-llvm-08b87e0dedc4bf9939190a61c81200c0ea97c3c7.zip
Add the ability for "ThreadPlanRunToAddress" to run to multiple addresses.
Added the ability to specify a preference for mangled or demangled to Mangled::GetName. Changed one place where mangled was prefered in GetName. The Dynamic loader should look up the target of a stub by mangled name if it exists. llvm-svn: 113869
Diffstat (limited to 'lldb/source/Core/Mangled.cpp')
-rw-r--r--lldb/source/Core/Mangled.cpp28
1 files changed, 22 insertions, 6 deletions
diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp
index c3657952c16..95fff224846 100644
--- a/lldb/source/Core/Mangled.cpp
+++ b/lldb/source/Core/Mangled.cpp
@@ -95,7 +95,7 @@ Mangled::Clear ()
int
Mangled::Compare (const Mangled& a, const Mangled& b)
{
- return ConstString::Compare(a.GetName(), a.GetName());
+ return ConstString::Compare(a.GetName(ePreferDemangled), a.GetName(ePreferDemangled));
}
@@ -214,12 +214,28 @@ Mangled::GetMangledName () const
// Get the demangled name if there is one, else return the mangled name.
//----------------------------------------------------------------------
const ConstString&
-Mangled::GetName () const
+Mangled::GetName (Mangled::NamePreference preference) const
{
- const ConstString& name = GetDemangledName();
- if (name && !name.IsEmpty())
- return name;
- return m_mangled;
+ switch (preference)
+ {
+ case ePreferDemangled:
+ {
+ const ConstString& name = GetDemangledName();
+ if (name && !name.IsEmpty())
+ return name;
+ return m_mangled;
+ }
+ break;
+ case ePreferMangled:
+ {
+ const ConstString& name = GetMangledName();
+ if (name && !name.IsEmpty())
+ return name;
+ return m_demangled;
+
+ }
+ break;
+ }
}
//----------------------------------------------------------------------
OpenPOWER on IntegriCloud