Failure to bootstrap gcc cvs HEAD 20031025 on cygwin: gcc/unwind-dw2-fde.c:762: internal compiler error: in emit_move_insn, at expr.c:2792

Graham Stott graham.stott@btinternet.com
Sat Oct 25 23:28:00 GMT 2003


All,

I've just committed the following patch pre-approved by Zack offline which
gets i686-pc-linux-gnu back to bootstrap all languages with no obvious
regressions  in the testsuites.

Cheers
Graham

ChangeLog:

2003-10-26  Graham Stott  <graham.stott@btinternet.com>

         Fix bootstrap failure.
         * expmed.c (store_bit_field): Don't compare bitsize against
         modes with zero bit-size.

         (extract_bit_field): Likewise

---------------------------------------------------------------------------
Index: expmed.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/expmed.c,v
retrieving revision 1.144
diff -c -p -r1.144 expmed.c
*** expmed.c    25 Oct 2003 02:03:33 -0000      1.144
--- expmed.c    25 Oct 2003 19:50:49 -0000
*************** store_bit_field (rtx str_rtx, unsigned H
*** 335,340 ****
--- 335,341 ----
                   + (offset * UNITS_PER_WORD);

     if (bitpos == 0
+       && GET_MODE_BITSIZE (fieldmode) != 0
         && bitsize >= GET_MODE_BITSIZE (fieldmode)
         && (GET_CODE (op0) != MEM
           ? ((GET_MODE_SIZE (fieldmode) >= UNITS_PER_WORD
*************** extract_bit_field (rtx str_rtx, unsigned
*** 1032,1037 ****
--- 1033,1039 ----
     if (GET_CODE (op0) == REG
         && mode == GET_MODE (op0)
         && bitnum == 0
+       && GET_MODE_BITSIZE (GET_MODE (op0)) != 0
         && bitsize >= GET_MODE_BITSIZE (GET_MODE (op0)))
       {
         /* We're trying to extract a full register from itself.
-------------------------------------------------------------------



More information about the Gcc-patches mailing list