https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101838
--- Comment #1 from Martin Uecker <muecker at gwdg dot de> --- Actually, the example before might have been fixed already, but these two are still wrong: int bar( struct f { int a[*]; } v, int (*b)[sizeof(struct f)] // folded to zero ); int foo(void) { int n = 0; return sizeof(typeof(*({ n = 10; struct foo { int x[n]; } x; &x; }))); } int main() { if (sizeof(struct foo { int x[10]; }) != foo()) __builtin_abort(); return 0; } ~