The following valid testcase triggers an ICE on mainline when compiled with "-O":
=================================== inline void foo(int* p, int n) { for (; n > 0; --n, ++p) *p = 0; } struct A { int x[2]; A() { foo(x, 2); } }; inline A getA() { return A(); } struct B { A a; B(); }; B::B() : a(getA()) {} =================================== bug.cc: In constructor 'B::B()': bug.cc:20: error: PHI def is not a GIMPLE value p_2 = PHI <&this_1(D)->a.x[0](2), p_5(3)> &this_1(D)->a.x[0]; bug.cc:20: internal compiler error: verify_stmts failed Please submit a full bug report, [etc.] The regression was introduced between 2007-06-23 an 2007-07-02. -- Summary: [4.3 regression] ICE "PHI def is not a GIMPLE value" Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, monitored Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33458