20000117 chk-ICE at jump.c:3767 compiling gcc/libgcc2.c(_muldi3) on i586-pc-linux-gnu
Rodney Brown
rdb@localhost
Wed Jan 19 14:46:00 GMT 2000
i586-pc-linux-gnu --enable-checking
also on
alpha-dec-osf4.0e --enable-checking
i586-sco-sysv5uw7.1.0 --enable-checking
./xgcc -B/usr/local/i586-pc-linux-gnu/bin/ -B./ -I/usr/local/i586-pc-linux-gnu/include -O2 -DIN_GCC -g -W -Wall -Wtraditional -I./include -fPIC -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I../../egcs-20000117/gcc -I../../egcs-20000117/gcc/config -I../../egcs-20000117/gcc/../include -c -DL${name} \
../../egcs-20000117/gcc/libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
` if [ -f /home/rdb/src/egcs-20000117.chk/gcc/../binutils/ar ] ; then echo /home/rdb/src/egcs-20000117.chk/gcc/../binutils/ar ; else if [ "i586-pc-linux-gnu" = "i586-pc-linux-gnu" ] ; then echo ar; else t='s,^,i586-pc-linux-gnu-,'; echo ar | sed -e $t ; fi; fi` rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
../../egcs-20000117/gcc/libgcc2.c: In function `__muldi3':
../../egcs-20000117/gcc/libgcc2.c:401: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note)
../../egcs-20000117/gcc/libgcc2.c:401: Internal compiler error in `returnjump_p', at jump.c:3767
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for instructions.
make[2]: *** [libgcc2.a] Error 1
make[2]: Leaving directory `/home/rdb/src/egcs-20000117.chk/gcc'
./cc1 libgcc2.i -quiet -dumpbase libgcc2.c -g -g1 -O2 -W -Wall -Wtraditional -version -fPIC -o libgcc2.s
GNU C version 2.96 20000117 (experimental) (i586-pc-linux-gnu) compiled by GNU C version 2.7.2.3.
../../egcs-20000117/gcc/libgcc2.c: In function `__muldi3':
../../egcs-20000117/gcc/libgcc2.c:401: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note)
../../egcs-20000117/gcc/libgcc2.c:401: Internal compiler error in `returnjump_p', at jump.c:3767
Please submit a full bug report.
GNU C version 2.96 20000117 (experimental) (i586-pc-linux-gnu) compiled by GNU C version 2.7.2.3.
Breakpoint 4, returnjump_p (insn=0x400b98a0)
at ../../egcs-20000117/gcc/jump.c:3767
3767 return for_each_rtx (&PATTERN (insn), returnjump_p_1, NULL);
#0 returnjump_p (insn=0x400b98a0) at ../../egcs-20000117/gcc/jump.c:3767
#1 0x818da70 in emit_insn (pattern=0x400bf6a0)
at ../../egcs-20000117/gcc/emit-rtl.c:2952
#2 0x811e9f4 in init_expmed () at ../../egcs-20000117/gcc/expmed.c:103
#3 0x804ca8f in compile_file (name=0xbffffe68 "libgcc2.i")
at ../../egcs-20000117/gcc/toplev.c:2061
#4 0x8052702 in main (argc=15, argv=0xbffffd24)
at ../../egcs-20000117/gcc/toplev.c:4795
3762
3763 int
3764 returnjump_p (insn)
3765 rtx insn;
3766 {
3767 return for_each_rtx (&PATTERN (insn), returnjump_p_1, NULL);
3768 }
3769
3770 /* Return true if INSN is a jump that only transfers control and
3771 nothing more. */
(gdb) ptype insn
type = struct rtx_def {
...
} *
(gdb) p debug_rtx(insn)
(insn 1 0 0 (set (reg:SI 10000)
(ashift:SI (reg:SI 10000)
(const_int 0 [0x0]))) -1 (nil)
(nil))
$1 = void
Relevant change?
*** egcs-20000110/gcc/jump.c Tue Jan 4 08:29:40 2000
--- egcs-20000117/gcc/jump.c Mon Jan 17 07:28:05 2000
*************** returnjump_p_1 (loc, data)
*** 3757,3763 ****
void *data ATTRIBUTE_UNUSED;
{
rtx x = *loc;
! return GET_CODE (x) == RETURN;
}
int
--- 3757,3763 ----
void *data ATTRIBUTE_UNUSED;
{
rtx x = *loc;
! return x && GET_CODE (x) == RETURN;
}
int
More information about the Gcc-bugs
mailing list