/* PR c/100550 - ICE: in fold_convert_loc with function call VLA argument { dg-do compile } { dg-options "-Wall" } */ struct S { int i; }; extern void v; extern void *pv; extern struct S s; void vf (void); /* Verify that a function redeclaration with an invalid VLA doesn't ICE. */ void f0 (int[]); void f0 (int[undeclared]); // { dg-error "undeclared" } void f1 (int[]); void f1 (int[-1]); // { dg-error "size" } void f2 (int[]); void f2 (int[v]); // { dg-error "size" } void f3 (int[]); void f3 (int b[s]); // { dg-error "size" } void f4 (int[]); void f4 (int c[pv]); // { dg-error "size" } void f5 (int[]); void f5 (int d[vf ()]); // { dg-error "size" }