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

Reply via email to