On Sat, Jul 1, 2023 at 11:29 PM Andrew Pinski via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > The backtrace in the bug report suggest there is a running out of > stack during GC collection, because of a long chain of eh_landing_pad_d. > This might fix that by adding chain_next onto eh_landing_pad_d's GTY marker. > > OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.
OK. Richard. > gcc/ChangeLog: > > PR middle-end/110510 > * except.h (struct eh_landing_pad_d): Add chain_next GTY. > --- > gcc/except.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/except.h b/gcc/except.h > index 378a9e4cb77..173b0f026db 100644 > --- a/gcc/except.h > +++ b/gcc/except.h > @@ -66,7 +66,7 @@ enum eh_region_type > /* A landing pad for a given exception region. Any transfer of control > from the EH runtime to the function happens at a landing pad. */ > > -struct GTY(()) eh_landing_pad_d > +struct GTY((chain_next("%h.next_lp"))) eh_landing_pad_d > { > /* The linked list of all landing pads associated with the region. */ > struct eh_landing_pad_d *next_lp; > -- > 2.31.1 >