[Lldb-commits] [PATCH] D135921: [WIP][lldb][Breakpoint] Fix setting breakpoints on templates by basename
Michael Buch via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Oct 14 03:14:18 PDT 2022
Michael137 added inline comments.
================
Comment at: lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py:63
+ 'auto ns::Foo<double>::func<ns::Foo<int>>()']},
+ # {'name': 'func<ns::Foo<int>>', 'loc_names': ['auto ns::Foo<double>::func<ns::Foo<int>>()']}, # FIXME
+
----------------
Michael137 wrote:
> Michael137 wrote:
> > These didn't work before this patch (or in lldb-14) either. So may xfail them for now
> This turns out to be a discrepancy between how we parse basenames for templates and the `DW_AT_name` that gets generated for these nested templates. In DWARF, the name contains a space between angle brackets (i.e., `func<ns::Foo<int> >`). So setting a breakpoint without the space fails to find the function name in the DWARF index. However, adding the space still doesn't work because it trips over something around the parser, haven't checked what exactly yet. Will try address this in a separate patch
Ah, the demangler gives us back a string without the space between angle brackets. So we don't match.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D135921/new/
https://reviews.llvm.org/D135921
More information about the lldb-commits
mailing list