From d0a333612bfb7faf8d61210c831165388e758768 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sat, 1 Jul 2023 10:52:48 -0700 Subject: [PATCH] Use chain_next on eh_landing_pad_d for GTY (PR middle-end/110510) 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. 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;