Consider: struct d_print_mod { int type; int dummy0; int dummy1; }; struct d_print_info { struct d_print_mod *modifiers; } d_print_comp (struct d_print_info *dpi, struct d_print_mod *pdpm, int a) { struct d_print_mod adpm[4]; unsigned int i = 0; dpi->modifiers = &adpm[0]; while (pdpm->type) { if (a) { adpm[i] = *pdpm; ++i; } } }
Compiling this with arm-none-eabi-gcc causes an ICE like so: min.c: In function 'd_print_comp': min.c:24: internal compiler error: in loop_givs_rescan, at loop.c:5517 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Reverting http://gcc.gnu.org/ml/gcc-cvs/2005-07/msg00296.html cures the problem. Because of this problem, arm-none-eabi does not build currently. -- Summary: compiling cp-mangle.c causes an ICE Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at gcc dot gnu dot org CC: danglin at gcc dot gnu dot org,gcc-bugs at gcc dot gnu dot org GCC target triplet: arm-none-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22384