struct Bar { int a; int b; }; struct Foo { int x; struct Bar y; }; int __attribute__((const)) foo (struct Bar);
int bar (int b) { struct Foo f; int c; while (b--) { c = foo(f.y); } return c; } ./cc1 -quiet -O2 t.i -fdump-tree-all-details t.i: In function 'bar': t.i:7: internal compiler error: vector VEC(vn_reference_op_s,base) index domain error, in create_component_ref_by_pieces at tree-ssa-pre.c:2413 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: [4.4 Regression] PRE/SCCVN do not handle aggregate function arguments correctly Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36945