URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc3/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900121_05.C] - Rev 516
Compare with Previous | Blame | View Log
// { 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; }