This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc 2.96 (RedHat): ICE in spill_failure on legal source (fwd)
- To: <gcc-bugs at gcc dot gnu dot org>
- Subject: gcc 2.96 (RedHat): ICE in spill_failure on legal source (fwd)
- From: <abbott at module dot dima dot unige dot it>
- Date: Thu, 14 Jun 2001 13:53:31 -0100 (GMT+1)
Had to gzip source file to fit within emailer limits... sorry.
-------------------------------------------------------------------
ENVIRONMENT:
$ g++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.0)
$ uname -a
Linux indet.dima.unige.it 2.2.16-22 #1 Tue Aug 22 16:49:06 EDT 2000 i686
unknown
-------------------------------------------------------------------
TO REPRODUCE BUG:
gunzip BUG.C.gz #where BUG.C.gz refers to the file in attachment
g++ -O2 BUG.C
NB. "g++ BUG.C" does not reproduce the bug
-------------------------------------------------------------------
ERROR MESSAGE COMPILER GAVE:
$ g++ -O2 BUG.C
PPregistry.C: In method `PPregistry::elem *PPregistry::register_front
() const':
PPregistry.C:39: cannot convert `pair<const PPregistry::elem,
PPregistry::elem *>' to `PPregistry::elem *' in return
PPregistry.C:52: Unable to find a register to spill in class `AREG'.
PPregistry.C:52: This is the insn:
(insn 187 186 192 (parallel[
(set (reg:SI 81)
(udiv:SI (reg:SI 1 edx)
(reg:SI 3 ebx)))
(set (reg:SI 1 edx)
(umod:SI (reg:SI 1 edx)
(reg:SI 3 ebx)))
(clobber (reg:CC 17 flags))
] ) 153 {udivmodsi4} (insn_list 159 (insn_list 186 (nil)))
(expr_list:REG_DEAD (reg:SI 1 edx)
(expr_list:REG_DEAD (reg:SI 3 ebx)
(expr_list:REG_UNUSED (reg:SI 81)
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil))))))
PPregistry.C:52: Internal compiler error in spill_failure, at reload1.c
:1826
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
BUG.C.gz