On 11/23/2015 10:08 PM, Jason Merrill wrote:
On 11/23/2015 08:53 AM, Pierre-Marie de Rodat wrote:
Do you think the other patches could make it before the branch? (if
they could, I will rebase+retest them as quick as possible).
Probably, yes. I can't find the DW_AT_static_link patch, though; it
doesn't seem to have been attached to your initial mail.
Fantastic! I’ll rebase them and resubmit them.
The 'add' function returns whether or not the set already contained the
entry, so you don't need to also call 'contains'.
Oh indeed, thanks! Will fix.
Can you avoid the new hash table by counting the
DW_TAG_formal_parameters instead of the DECL_ARGUMENTS?
I’m not sure what you mean: DWARF procedures (DW_TAG_variable or
DW_TAG_dwarf_procedure, depending on the version) don’t have child DIEs,
so there is no DW_TAG_formal_parameters.
Actually, even though my patches introduce DWARF procedures for only one
case (size functions from stor-layout.c), they don’t necessarily come
from code generation (GENERIC): they are just a way to factorize common
DWARF operations. Thinking more about it, it may be more sound to store
stack slot diffs instead of FUNCTION_DECL nodes in dwarf_proc_decl_table.
--
Pierre-Marie de Rodat