Fix completion for functions in anonymous namespaces
authorJonas Devlieghere <jonas@devlieghere.com>
Wed, 31 Jul 2019 17:58:00 +0000 (17:58 +0000)
committerJonas Devlieghere <jonas@devlieghere.com>
Wed, 31 Jul 2019 17:58:00 +0000 (17:58 +0000)
commit07b1a2b9ae12604566fd35f9f4f4a9230466b62b
tree8be790f80caa51a3743b8ea9f576ba592433e18c
parent14ebf723158e520a359c363378be3efb9e69027d
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
lldb/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
lldb/packages/Python/lldbsuite/test/functionalities/completion/main.cpp
lldb/source/Commands/CommandCompletions.cpp