struct A { // { dg-error "forward declaration" } A : A; // { dg-error "expected|incomplete" } A : B; // { dg-error "not declared|incomplete" } A : A(); // { dg-error "undefined type|incomplete" } A : B(); // { dg-error "function call|incomplete" } A : A[]; // { dg-error "expected|array reference|incomplete" } A : B[]; // { dg-error "not declared|expected|array reference|incomplete" } };