Consider a reduced version of gcc.c-torture/compile/calls.c: typedef void *(*T)(void);
void f1 (void) { ((T) 0)(); } arm-none-eabi-gcc -O2 triggers an ICE /home/kazu/calls.c: In function 'f1': /home/kazu/calls.c:7: error: unrecognizable insn: (call_insn 12 11 13 1 (parallel [ (set (reg:SI 0 r0) (call (mem:SI (plus:SI (reg/f:SI 101) (const_int 0 [0x0])) [0 S4 A32]) (const_int 0 [0x0]))) (use (const_int 0 [0x0])) (clobber (reg:SI 14 lr)) ]) -1 (nil) (nil) (nil)) /home/kazu/calls.c:7: internal compiler error: in extract_insn, at recog.c:2084 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. This failure started happening sometime between 2005-08-30 07:00UTC and 2005-09-02 07:00UTC. FWIW, the only change to the arm target in this time interval is: 2005-09-01 Nicolas Pitre <[EMAIL PROTECTED]> * config/arm/arm.c (arm_legitimize_address): Split absolute addresses to alow matching ARM pre-indexed addressing mode. (arm_override_options): Remove now irrelevant comment. -- Summary: gcc.c-torture/compile/calls.c triggers an ICE Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: arm-none-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23783