3 /* { dg-options "-O0 -Wunused-variable" } */
4 /* { dg-require-effective-target alloca } */
6 int foo3b(void) // should not return 0
9 return sizeof *({ n
= 10; int x
[n
]; &x
; });
12 int foo4(void) // should not ICE
16 char (*x
)[n
][n
] = __builtin_malloc(n
* n
);
22 int foo5(void) // should return 1, returns 0
27 char (*x
)[n
][n
] = __builtin_malloc(n
* n
);
34 int foo5c(void) // should return 400
39 char (*x
)[n
][n
] = __builtin_malloc(n
* n
);
46 int foo5b(void) // should return 1, returns 0
48 int n
= 0; /* { dg-warning "unused variable" } */
51 char (*x
)[n
][n
] = __builtin_malloc(n
* n
);
58 int foo5a(void) // should return 1, returns 0
62 char (*x
)[n
][n
] = __builtin_malloc(n
* n
);
74 if (sizeof(int[10]) != foo3b())
86 if (1 != foo5b()) // -O0