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