https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108375
--- Comment #5 from Martin Uecker <muecker at gwdg dot de> --- Recursing into arrays is simple and does not seem to cause any problems, but this not enough for GNU C, we can also have VLA or variably modified types as member of structs. At least the later is sometimes useful. void bar(int a) { struct foo { char (*p)[a]; }; goto x; struct foo B; x: ; } Unfortunately, recursing into structs is too expensive. We could use walk_tree_without_duplicates but this still seems expensive. I think we should simply add a bit which is set by the C FE for such structs. The question is whether this is also needed by Ada or other languages?