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

Reply via email to