blob: 62db5b343afed32430aaae18e27b75861ab894ec [file] [log] [blame]
// { dg-do assemble }
// g++ 1.36.1 bug 900121_05
// g++ allows unions to have base types (i.e. to be "derived") and it allows
// other types to have unions as base types. Both cases are illegal.
// g++ curently does not detect such errors.
// Cfront 2.0 passes this test.
// keywords: unions, inheritance
struct s0 {
int s0_member;
};
union u0 : public s0 { /* { dg-error "" } union has base class */
int u0_member_0;
int u0_member_1;
};
union u1 {
int u1_member_0;
int u1_member_1;
};
struct s1 : public u1 { /* { dg-error "base type" } */
int s1_member_0;
};
int main () { return 0; }