https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122955

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2025-12-03
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

gt_ggc_mx_symtab_node used to be:
void
gt_ggc_mx_symtab_node (void *x_p)
{
  struct symtab_node * x = (struct symtab_node *)x_p;
  struct symtab_node * xlimit = x;
  while (ggc_test_and_set_mark (xlimit))
   xlimit = ((*xlimit).next);
  if (x != xlimit)

And then use gt_ggc_m_11symtab_node (gt_ggc_mx_symtab_node) so it would mark to
the limit first and then do the correct thing. as that was the only marker
function called it would be good.

BUT now we have:
gt_ggc_mx_toplevel_node which does not do the whole chain_next.
And it uses gt_ggc_m_13toplevel_node (even for symtab_node * types fields).

So chain_next is never used here.

Reply via email to