From 07b1a2b9ae12604566fd35f9f4f4a9230466b62b Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 31 Jul 2019 17:58:00 +0000 Subject: Fix completion for functions in anonymous namespaces I was going through some of the old bugs and came across PR21069 which I was able to reproduce. The issue is that we match the regex `^foo` against the `DW_AT_name` in the DWARF, which for our anonymous function is indeed `foo`. However, when we get the function name from the symbol context, the result is `(anonymous namespace)::foo()`. This throws off completions, which assumes that it's appending to whatever is already present on the input, resulting in a bogus `b fooonymous\ namespace)::foo()`. Bug report: https://llvm.org/PR21069 Differential revision: https://reviews.llvm.org/D65498 llvm-svn: 367455 --- .../packages/Python/lldbsuite/test/functionalities/completion/main.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/completion/main.cpp') diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/completion/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/completion/main.cpp index 0814bb9cc0a..eba81dc4c54 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/completion/main.cpp +++ b/lldb/packages/Python/lldbsuite/test/functionalities/completion/main.cpp @@ -7,6 +7,8 @@ public: } }; +namespace { int Quux (void) { return 0; } } + struct Container { int MemberVar; }; int main() @@ -17,5 +19,6 @@ int main() Container container; Container *ptr_container = &container; + int q = Quux(); return container.MemberVar = 3; // Break here } -- cgit v1.2.3