[cfe-dev] DebugInfo: Template names

David Blaikie via cfe-dev cfe-dev at lists.llvm.org
Fri Nov 19 11:34:11 PST 2021


Hey Paul - you mentioned the SCE debugger always rebuilds names from the
DWARF tags (after stripping the <...> suffix from the DW_AT_name in the
DWARF, I guess/assume?) - I was curious if you (or others you could cc on
this thread) know how that solution deals with some of the more difficult
issues I've punted on so far with the Simplified Template Names work.

The specific one that comes to mind is any pointer non-type template
parameters. (eg: "template<int*> void f1(); int g; ... f1<&g>()" - so far
as I know there's not enough data in the DWARF to reconstruct that name.

The other one I came across was unnamed struct types V lambda types - they
have distinct manglings & so need different naming I think? But the DWARF
has no record of that, and probably doesn't have enough data to reconstruct
the original naming (because the naming is based on the number of lambdas
seen so far - and the DWARF isn't adequately/guaranteed to be ordered like
the source and also may omit some types if they're unused leading to holes
in the numbering)

If there are nice solutions to these things, be great to get them upstream
and allow the Simplified Template Names work to take advantage of them &
perhaps be more (maybe even fully) general.

- Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20211119/e5ccf779/attachment.html>


More information about the cfe-dev mailing list