This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/12017] New: libobjc/sendmsg.c build ICE: in spill_failure, at reload1.c:1862
- From: "dhazeghi at yahoo dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Aug 2003 19:05:18 -0000
- Subject: [Bug target/12017] New: libobjc/sendmsg.c build ICE: in spill_failure, at reload1.c:1862
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12017
Summary: libobjc/sendmsg.c build ICE: in spill_failure, at
reload1.c:1862
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dhazeghi at yahoo dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: avr
Building gcc mainline for avr target ICEs when building libobjc:
/home/dara/mainline/objdir/gcc/xgcc -B/home/dara/mainline/objdir/gcc/ -nostdinc -B/home/
dara/mainline/objdir/avr/newlib/ -isystem /home/dara/mainline/objdir/avr/newlib/targ-include
-isystem /home/dara/mainline/combined/newlib/libc/include -B/tmp//avr/bin/ -B/tmp//avr/lib/
-isystem /tmp//avr/include -isystem /tmp//avr/sys-include -L/home/dara/mainline/objdir/ld -c
-I. -I/home/dara/mainline/combined/libobjc -O2 -g -O2 -W -Wall -Wwrite-strings -Wstrict-
prototypes -DIN_GCC -DIN_TARGET_LIBS -I/home/dara/mainline/combined/libobjc/objc -I/
home/dara/mainline/combined/libobjc/../gcc -I/home/dara/mainline/combined/libobjc/../gcc/
config -I../../gcc -I/home/dara/mainline/combined/libobjc/../include /home/dara/mainline/
combined/libobjc/sendmsg.c -o sendmsg.o
/home/dara/mainline/combined/libobjc/sendmsg.c:42:1: warning: "rtx" redefined
In file included from /home/dara/mainline/combined/libobjc/sendmsg.c:31:
/home/dara/mainline/combined/libobjc/../gcc/coretypes.h:58:1: warning: this is the location of
the previous definition
/home/dara/mainline/combined/libobjc/sendmsg.c: In function `__objc_word_forward':
/home/dara/mainline/combined/libobjc/sendmsg.c:581: error: unable to find a register to spill in
class `BASE_POINTER_REGS'
/home/dara/mainline/combined/libobjc/sendmsg.c:581: error: this is the insn:
(insn 49 48 50 1 /home/dara/mainline/combined/libobjc/sendmsg.c:578 (set (reg:QI 30 r30 [+6
])
(mem:QI (plus:HI (reg/v/f:HI 18 r18 [orig:45 res ] [45])
(const_int 6 [0x6])) [0 S1 A8])) 9 {*movqi} (nil)
(nil))
/home/dara/mainline/combined/libobjc/sendmsg.c:581: internal compiler error: in spill_failure, at
reload1.c:1862
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [sendmsg.lo] Error 1
Here's a testcase:
typedef const struct objc_selector
{
void *sel_id;
const char *sel_types;
} *SEL;
typedef struct objc_object {
struct objc_class* class_pointer;
} *id;
static id
__objc_word_forward (id rcv, SEL op, ...)
{
void *args, *res;
args = __builtin_apply_args ();
res = __objc_forward (rcv, op, args);
__builtin_return (res);
}
This reproduces the ICE with a cross cc1. No optimization flags are necessary.