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

Reply via email to