diff options
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py | 3 | ||||
-rw-r--r-- | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py index 8df9ae3052a..b18bd7af9ad 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py @@ -48,15 +48,18 @@ class TestCPPBreakpointLocations(TestBase): { 'name' : 'func1', 'loc_names' : [ 'a::c::func1()', 'b::c::func1()'] }, { 'name' : 'func2', 'loc_names' : [ 'a::c::func2()', 'c::d::func2()'] }, { 'name' : 'func3', 'loc_names' : [ 'a::c::func3()', 'b::c::func3()', 'c::d::func3()'] }, + { 'name' : '~c', 'loc_names' : [ 'a::c::~c()', 'b::c::~c()', 'a::c::~c()', 'b::c::~c()'] }, { 'name' : 'c::func1', 'loc_names' : [ 'a::c::func1()', 'b::c::func1()'] }, { 'name' : 'c::func2', 'loc_names' : [ 'a::c::func2()'] }, { 'name' : 'c::func3', 'loc_names' : [ 'a::c::func3()', 'b::c::func3()'] }, + { 'name' : 'c::~c', 'loc_names' : [ 'a::c::~c()', 'b::c::~c()', 'a::c::~c()', 'b::c::~c()'] }, { 'name' : 'a::c::func1', 'loc_names' : [ 'a::c::func1()'] }, { 'name' : 'b::c::func1', 'loc_names' : [ 'b::c::func1()'] }, { 'name' : 'c::d::func2', 'loc_names' : [ 'c::d::func2()'] }, { 'name' : 'a::c::func1()', 'loc_names' : [ 'a::c::func1()'] }, { 'name' : 'b::c::func1()', 'loc_names' : [ 'b::c::func1()'] }, { 'name' : 'c::d::func2()', 'loc_names' : [ 'c::d::func2()'] }, + { 'name' : 'c::~c()', 'loc_names' : [ 'a::c::~c()', 'b::c::~c()', 'a::c::~c()', 'b::c::~c()'] }, ] for bp_dict in bp_dicts: 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)) { |