| /* { dg-require-effective-target alloca } */ | |
| 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); | |
| } |