summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Mangled.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-09-14 23:48:44 +0000
committerGreg Clayton <gclayton@apple.com>2010-09-14 23:48:44 +0000
commitd0b89f8cc25120629054085ba38d0601190720c1 (patch)
tree13b24ff889806a58585a8421dcd408b4568c6c42 /lldb/source/Core/Mangled.cpp
parent87425435911dff79d3ebd701ac9558f0644f5496 (diff)
downloadbcm5719-llvm-d0b89f8cc25120629054085ba38d0601190720c1.tar.gz
bcm5719-llvm-d0b89f8cc25120629054085ba38d0601190720c1.zip
Fixed a case where Mangled::GetName(...) could return a invalid demangled name when one could be calculated.
llvm-svn: 113900
Diffstat (limited to 'lldb/source/Core/Mangled.cpp')
-rw-r--r--lldb/source/Core/Mangled.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp
index 48abc26e863..47fbe128e75 100644
--- a/lldb/source/Core/Mangled.cpp
+++ b/lldb/source/Core/Mangled.cpp
@@ -218,17 +218,17 @@ Mangled::GetName (Mangled::NamePreference preference) const
{
if (preference == ePreferDemangled)
{
- const ConstString& name = GetDemangledName();
- if (name && !name.IsEmpty())
- return name;
+ // Call the accessor to make sure we get a demangled name in case
+ // it hasn't been demangled yet...
+ if (GetDemangledName())
+ return m_demangled;
return m_mangled;
}
else
{
- const ConstString& name = GetMangledName();
- if (name && !name.IsEmpty())
- return name;
- return m_demangled;
+ if (m_mangled)
+ return m_mangled;
+ return GetDemangledName();
}
}
OpenPOWER on IntegriCloud