The following C++ code ICES in simple_cst_equal: union foo { unsigned long dword; struct { int a : 1; int b : 2; int c : 13; int d : 16; } bar; };
typedef union foo foobar; class A { public: A(foobar f = ((foobar) {bar: {1,2,4,8}})); ~A() {}; }; class B : public A { public: B(foobar f = ((foobar) {bar: {1,2,4,8}})); ~B() {}; }; B::B(foobar f) : A(f) { }; ---- >From http://gcc.gnu.org/ml/gcc-bugs/2005-09/msg03492.html -- Summary: [3.4 Regression] Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: minor Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24103