[En-Nut-Discussion] Compiler Error
Curtis Maloney
cmaloney at cardgate.net
Tue Feb 8 23:59:07 CET 2005
Ole Reinhardt wrote:
> arpcache.c:487: error: unable to find a register to spill in class
> `POINTER_REGS'
> arpcache.c:487: error: this is the insn:
> (insn 90 207 206 5 (parallel [
> (set (mem:BLK (reg/v/f:HI 44 [ mac ]) [0 A8])
> (mem:BLK (reg/v/f:HI 28 r28 [orig:46 entry ] [46]) [0
> A8]))
> (use (reg:QI 24 r24 [60]))
> (use (const_int 1 [0x1]))
> (clobber (scratch:HI))
> (clobber (scratch:HI))
> (clobber (scratch:QI))
> ]) 16 {*movstrqi_insn} (insn_list 87 (insn_list 89 (nil)))
> (expr_list:REG_DEAD (reg:QI 24 r24 [60])
> (expr_list:REG_DEAD (reg/v/f:HI 44 [ mac ])
> (expr_list:REG_UNUSED (scratch:QI)
> (expr_list:REG_UNUSED (scratch:HI)
> (expr_list:REG_UNUSED (scratch:HI)
> (nil)))))))
>
> For me it seems like a fatal internal error of avr-gcc. I'm using the
> latest Debian unstable avr-gcc package: avr-gcc (GCC) 3.4.3
This certainly is. That's the back end crapping out because it can't work out
how to organise the registers, etc, to handle that work. I'd recommend you
pare down your code into a small test case to provoke it, and submit this as a
GCC bug.
That being said, there are a number of people already working on fixing that
area of GCC for the 4.1 release (too big a change to make it into 4.0, which
is due out next month).
--
Curtis Maloney
cmaloney at cardgate.net
More information about the En-Nut-Discussion
mailing list