Since eh_catch_d is double linked list, let's add chain_next
and chain_prev preemptively just in case there is another GC
issue where we get a huge recursion for this struct.
Pushed as obvious after bootstrap/test on x86_64-linux-gnu.
PR middle-end/127602
gcc/ChangeLog:
* except.h (struct eh_catch_d): Add chain_next and chain_prev
GTY.
Signed-off-by: Andrea Pinski <[email protected]>
---
gcc/except.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/except.h b/gcc/except.h
index 1988d9f4ad7..657b019b8af 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -92,7 +92,7 @@ struct GTY((chain_next("%h.next_lp"))) eh_landing_pad_d
/* A catch handler associated with an ERT_TRY region. */
-struct GTY(()) eh_catch_d
+struct GTY((chain_next("%h.next_catch"), chain_prev("%h.prev_catch")))
eh_catch_d
{
/* The double-linked list of all catch handlers for the region. */
struct eh_catch_d *next_catch;
--
2.43.0