1 /* PR c/100550 - ICE: in fold_convert_loc with function call VLA argument
2    { dg-do compile }
3    { dg-options "-Wall" } */
4 
5 struct S { int i; };
6 
7 extern void v;
8 extern void *pv;
9 extern struct S s;
10 void vf (void);
11 
12 /* Verify that a function redeclaration with an invalid VLA doesn't ICE.  */
13 
14 void f0 (int[]);
15 void f0 (int[undeclared]);    // { dg-error "undeclared" }
16 
17 void f1 (int[]);
18 void f1 (int[-1]);            // { dg-error "size" }
19 
20 void f2 (int[]);
21 void f2 (int[v]);             // { dg-error "size" }
22 
23 void f3 (int[]);
24 void f3 (int b[s]);           // { dg-error "size" }
25 
26 void f4 (int[]);
27 void f4 (int c[pv]);          // { dg-error "size" }
28 
29 void f5 (int[]);
30 void f5 (int d[vf ()]);       // { dg-error "size" }
31