Tried to find an existing bug for this (as always ...). (gdb) b foo::<tab><tab> (anonymous namespace)::bar b::foo_meth() foo_fn() ... (gdb) b foo::(anon<tab><tab> <nothing> (gdb) b foo::(<tab><tab> everything(?) I'm expecting "b foo::(anon<tab><tab>" to autocomplete "(anonymous namespace)" and so on. Plus, if we're going to have "(anonymous namespace)" then "b foo::(<tab><tab>" should we aware that the user isn't asking to start the search from the empty string.
The problem isn't specific to (anonymous namespace) of course. (gdb) b foo::foo<tab><tab> -> (gdb) b foo:foo_fn( then tab,tab again -> everything. foo_fn having multiple versions: namespace foo { void foo_fn() { ... } void foo_fn(int t) { ... } }
This series should fix it: https://sourceware.org/ml/gdb-patches/2017-06/msg00012.html
I think the existing bug was https://sourceware.org/bugzilla/show_bug.cgi?id=16874
That series was merged to master some time after I pointed at that series in 2017. I think we're good to close the bug now. Please reopen if you believe otherwise.