Yea that seems reasonable to me. Thinking from a debugger's perspective, separate tags might even be desirable here because that way we don't have to look inside the pack to distinguish between a pack of parameters versus a pack of local variables. Not a big deal, but may simplify things slightly
Happy to draft up a separate proposal for it once discussion settles. > On 18 Sep 2025, at 14:47, Jakub Jelinek <[email protected]> wrote: > > On Thu, Sep 18, 2025 at 01:39:11PM +0100, Michael Buch via Dwarf-discuss > wrote: >>> This is not a valid structured binding pack, it needs to be used in a >> template. >> >> Good catch, thanks for the correction! >> >>> Are there other places where the type pack would show up, other than as a >> template parameter? Might help inform the design a bit more. >> >> Not that I’m aware of (in C++). Maybe other languages have additional uses >> of “type packs”. Haven’t checked that. Though “type” may be not the >> most accurate name since one might have non-type template parameters in >> that list. > > I'm not sure I like using DW_TAG_variable_pack to hold > DW_TAG_formal_parameter_ref DIEs, DWARF has always differentiated between > variables and formal parameters, even when in C++ a function parameter > is a variable too. > So, I'd keep the existing 250516.1 and just add DW_TAG_variable_pack which > would be used for both structured binding packs and lambda capture packs > (where in both cases there would be DW_TAG_variable DIEs inside of it). > > Jakub > -- Dwarf-discuss mailing list [email protected] https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss
