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