1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
int N = 1; void foo() {} /* Necessary to trigger the original ICE. */ void bar (char a[2][N]) { a[1][0] = N; } int main (void) { void *x; N = 4; x = alloca (2 * N); memset (x, 0, 2 * N); bar (x); if (N[(char *) x] != N) abort (); exit (0); }