Compiling the following code snippet with today's mainline
(g++ -O -march=pentium4 -ftree-vectorize) I get an ICE:

======================================================================
struct A
{
    int a[4];
    A& foo() { for (int i=0; i<4; ++i) a[i]=0; return *this; }
    int bar();
};

struct B
{
    A* p;
    ~B() { ++p; }
};

struct C : B {};

struct X { int i; };

struct Y : virtual X
{
    Y& operator<<(X) { ++i; return *this; }
};

void baz()
{
    C c0, c1, c2, c3;
    A(*c0.p).foo().bar();

    X x;
    Y() << x << x << x << x;
}
======================================================================

bug.cc: In function 'void baz()':
bug.cc:23: internal compiler error: tree check: expected ssa_name, have var_decl
in verify_ssa, at tree-ssa.c:750
Please submit a full bug report, [etc.]

-- 
           Summary: [4.1 regression] ICE with -ftree-vectorize
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21933

Reply via email to