| /* 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'}" } */ |