------- Comment #4 from ghazi at gcc dot gnu dot org 2005-12-31 14:44 ------- Confirmed, checking merely gives us a more informative answer. The compile dies on the same line without checking too. Without checking I get:
Program received signal SIGSEGV, Segmentation fault. 0x000000000073aeef in ix86_va_arg (valist=0x2aaaaac4b900, type=0x2aaaaac47820) at ../../egcc-3.4-SVN20051230/gcc/config/i386/i386.c:3331 3331 for (i = 0; i < XVECLEN (container, 0); i++) (gdb) p *container $7 = {code = REG, mode = TImode, jump = 0, call = 0, unchanging = 0, volatil = 0, in_struct = 0, used = 0, integrated = 0, frame_related = 0, u = {fld = {{rtint = 0, rtuint = 0, rtstr = 0x0, rtx = 0x0, rtvec = 0x0, rttype = VOIDmode, rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0, min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0}, rt_cselib = 0x0, rtbit = 0x0, rttree = 0x0, bb = 0x0, rtmem = 0x0, rtreg = 0x0}}, hwint = {0}}} With checking, I get: titype-1.c: In function `foo': titype-1.c:21: internal compiler error: RTL check: expected elt 0 type 'E' or 'V', have 'i' (rtx reg) in ix86_va_arg, at config/i386/i386.c:3331 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. [...] #4 0x00000000008f18dc in ix86_va_arg (valist=0x1, type=0x2aaaad1fd820) at ../../egcc-3.4-SVN20051230/gcc/config/i386/i386.c:3331 3331 for (i = 0; i < XVECLEN (container, 0); i++) (gdb) p *container $1 = {code = REG, mode = TImode, jump = 0, call = 0, unchanging = 0, volatil = 0, in_struct = 0, used = 0, integrated = 0, frame_related = 0, u = {fld = {{rtint = 0, rtuint = 0, rtstr = 0xafafafaf00000000 <Address 0xafafafaf00000000 out of bounds>, rtx = 0xafafafaf00000000, rtvec = 0xafafafaf00000000, rttype = VOIDmode, rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0, min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0}, rt_cselib = 0xafafafaf00000000, rtbit = 0xafafafaf00000000, rttree = 0xafafafaf00000000, bb = 0xafafafaf00000000, rtmem = 0xafafafaf00000000, rtreg = 0xafafafaf00000000}}, hwint = {-5787213829993660416}}} (gdb) -- ghazi at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[3.4] RTL checking failure |[3.4] failure in |in gcc.dg/titype-1.c |gcc.dg/titype-1.c http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19750