/* PR c/65050 */ /* { dg-do compile } */ typedef int A[]; struct S { int i; A a[5]; } s; /* { dg-error "array type has incomplete element type .A {aka int\\\[\\\]}." } */ extern void foo (int p[2][]); /* { dg-error "array type has incomplete element type .int\\\[\\\]." } */ extern void bar (A p[2]); /* { dg-error "array type has incomplete element type .A {aka int\\\[\\\]}." } */ void foo (int p[2][]) /* { dg-error "array type has incomplete element type .int\\\[\\\]." } */ { } void bar (A p[2]) /* { dg-error "array type has incomplete element type .A {aka int\\\[\\\]}." } */ { } struct T; struct T t[5]; /* { dg-error "array type has incomplete element type .struct T." } */ struct U u[] = { { "abc" } }; /* { dg-error "array type has incomplete element type .struct U." } */ typedef struct T TT; TT tt[5]; /* { dg-error "array type has incomplete element type .TT {aka struct T}." } */