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]

RTL checking for libobjc failed


With the current CVS, on i586-pc-linux-gnu, I get the error

/usr/src/egcs/check/gcc/xgcc -B/usr/src/egcs/check/gcc/ -B/usr/local/i586-pc-linux-gnu/bin/ -c -o sendmsg.o -I. -I../../../libobjc   -g -O2 -DIN_GCC -I../../../libobjc/objc  -I../../../libobjc/../gcc -I../../../libobjc/../gcc/config -I../../gcc -I../../../libobjc/../include ../../../libobjc/sendmsg.c

sendmsg.c: In function `objc_msg_sendv':
sendmsg.c:204: RTL check: expected code `set' or `clobber', have `use'
sendmsg.c:204: Internal compiler error in `mark_referenced_resources', at resource.c:354

I've reduced the source to the fragment attached below.

(gdb) bt
#0  rtl_check_failed_code2 (r=0x4011d4c0, code1=3221222040, code2=NIL, 
    file=0x81d7533 "\203Ä éU\001", line=-1073745144, func=0xbffff310 "")
    at ../../gcc/rtl.c:1191
#1  0x83b4a9d in mark_referenced_resources (x=0x4011d4c0, res=0xbffff298, 
    include_delayed_effects=1) at ../../gcc/resource.c:354
#2  0x83b5d12 in find_dead_or_set_registers (target=0x40121220, 
    res=0xbffff360, jump_target=0xbffff304, jump_count=0, set={
      memory = 1 '\001', unch_memory = 0 '\000', volatil = 0 '\000', 
      cc = 1 '\001', regs = 524183}, needed={memory = 1 '\001', 
      unch_memory = 0 '\000', volatil = 0 '\000', cc = 0 '\000', regs = 217})
    at ../../gcc/resource.c:562
#3  0x83b81a0 in mark_target_live_regs (insns=0x4011e5e0, target=0x40121220, 
    res=0xbffff360) at ../../gcc/resource.c:1062
#4  0x83b86dd in find_free_register (current_insn=0x40121220, last_insn=0x0, 
    class_str=0x842387e "r", mode=6, reg_set=0xbffff3b4)
    at ../../gcc/resource.c:1263
#5  0x8353249 in gen_peephole2_539 (curr_insn=0x401211e0, operands=0x8469640)
    at insn-emit.c:8406
#6  0x832f3ed in peephole2_insns (x0=0x40120660, insn=0x401211e0, 
    _plast_insn=0xbffff434) at insn-recog.c:22017
#7  0x82ace7a in peephole2_optimize (dump_file=0x0) at ../../gcc/recog.c:2746
#8  0x804dca8 in rest_of_compilation (decl=0x4011f400)
    at ../../gcc/toplev.c:3468
#9  0x83da3a5 in finish_function (nested=0) at ../../gcc/c-decl.c:6718
#10 0x83c2c8d in yyparse () at c-parse.y:314
#11 0x804baef in compile_file (name=0x40117da0 "sendmsg.i")
    at ../../gcc/toplev.c:2379
#12 0x804fc0b in main (argc=4, argv=0xbffffa74) at ../../gcc/toplev.c:4794
(gdb) l
349				  && rtx_equal_p (SET_DEST (slot_pat),
350						  SET_DEST (XEXP (link, 0))))
351				break;
352			    }
353			  if (i >= seq_size)
354			    mark_referenced_resources (SET_DEST (XEXP (link, 0)),
355						       res, 0);
356			}
357		  }
358		}
(gdb) p debug_rtx(link)

(expr_list (use (reg:SI 2 ecx))
    (expr_list (use (reg:SI 1 edx))
        (expr_list (use (reg:SI 0 eax))
            (nil))))
$3 = void

Please let me know if you need further information.

Regards,
Martin

sendmsg.i


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