This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/12017] New: libobjc/sendmsg.c build ICE: in spill_failure, at reload1.c:1862


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]