2 /* { dg-options "-std=c99 -pedantic-errors" } */
3 /* { dg-require-effective-target alloca } */
13 char b
[1][n
+3]; /* Variable length array. */
14 int d
[3][n
]; /* Variable length array. */
15 sizeof (b
[i
++ + sizeof(j
++)]); /* Outer sizeof is evaluated for vla, but not the inner one. */
18 __typeof__(b
[i
++]) c1
; /* typeof is evauluated when given a vm */
21 __typeof__(t
+ (i
++,0)) c2
; /* typeof is evauluated when given a vm */
24 __typeof__(i
+ (i
++,0)) c3
; /* typeof is not evauluated when not given a vm */
27 sizeof (d
[i
++]); /* sizeof is evaluated for vla. */
30 __alignof__(__typeof__(t
+ (i
++,0))); /* typeof is not evauluated when given a vm inside alignof*/
33 sizeof(__typeof__(t
+ (i
++,0))); /* typeof is not evauluated when given a vm inside sizeof*/
39 int foo6(int a
, int b
[a
][a
], int (*c
)[sizeof(*b
)]) {
45 int (*c
)[sizeof(int)*10];
46 if (foo6(10, b
, c
) != 10*sizeof(int)*sizeof(int))