summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2016-04-12 22:02:37 +0000
committerGreg Clayton <gclayton@apple.com>2016-04-12 22:02:37 +0000
commit08f5674bfe6152077b384529a9ddf236e77756fa (patch)
tree9c4865ecdcab4294ae18651fdcdd7c786bcb74a8 /lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
parentade56c3ea0805a9e97ea18924fd1ca5b14917edb (diff)
downloadbcm5719-llvm-08f5674bfe6152077b384529a9ddf236e77756fa.tar.gz
bcm5719-llvm-08f5674bfe6152077b384529a9ddf236e77756fa.zip
Fixed being able to set breakpoints on destructors when we don't fully specify the demangled name. So all of the following now work:
(lldb) b ~Foo (lldb) b Foo::~Foo (lldb) b Bar::Foo::~Foo Improved out C++ breakpoint locations tests as well to cover this issue. <rdar://problem/25577252> llvm-svn: 266139
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp')
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
index 232470c3755..829a79e33eb 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
@@ -330,7 +330,7 @@ CPlusPlusLanguage::IsCPPMangledName (const char *name)
bool
CPlusPlusLanguage::ExtractContextAndIdentifier (const char *name, llvm::StringRef &context, llvm::StringRef &identifier)
{
- static RegularExpression g_basename_regex("^(([A-Za-z_][A-Za-z_0-9]*::)*)([A-Za-z_][A-Za-z_0-9]*)$");
+ static RegularExpression g_basename_regex("^(([A-Za-z_][A-Za-z_0-9]*::)*)(~?[A-Za-z_~][A-Za-z_0-9]*)$");
RegularExpression::Match match(4);
if (g_basename_regex.Execute (name, &match))
{
OpenPOWER on IntegriCloud