[Bug target/57001] New: internal compiler error: in simplify_subreg, at simplify-rtx.c:5800

steven at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 18 21:18:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57001

             Bug #: 57001
           Summary: internal compiler error: in simplify_subreg, at
                    simplify-rtx.c:5800
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: steven@gcc.gnu.org


On sparc -m32 -fnon-call-exceptions (found while looking at PR52321):

$ cat ice.c
int
test (int x, int y)
{
  return x == y;
}

$ ./cc1 -m32 -O2 -quiet ice.c -fnon-call-exceptions
ice.c:5:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5800
 }
 ^
0x5ae54b simplify_subreg(machine_mode, rtx_def*, machine_mode, unsigned int)
        ../../trunk/gcc/simplify-rtx.c:5800
0x8a629f assemble_integer(rtx_def*, unsigned int, unsigned int, int)
        ../../trunk/gcc/varasm.c:2530
0x27bfcb dw2_assemble_integer(int, rtx_def*)
        ../../trunk/gcc/dwarf2asm.c:54
0x27c0d7 dw2_asm_output_encoded_addr_rtx(int, rtx_def*, bool, char const*, ...)
        ../../trunk/gcc/dwarf2asm.c:991
0x28d447 output_fde
        ../../trunk/gcc/dwarf2out.c:558
0x290ae7 output_call_frame_info
        ../../trunk/gcc/dwarf2out.c:881
0x290c37 dwarf2out_frame_finish()
        ../../trunk/gcc/dwarf2out.c:1119
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$ ./xgcc --version
xgcc (GCC) 4.9.0 20130418 (experimental) [trunk revision 198052]
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$




(gdb) run
Starting program: /home/stevenb/devel/build-debug/gcc/cc1 -m32 -O2 -quiet ice.c
-fnon-call-exceptions

Breakpoint 1, internal_error (gmsgid=0xb8f8e8 "in %s, at %s:%d") at
../../trunk/gcc/diagnostic.c:1121
1121      va_start (ap, gmsgid);
Current language:  auto; currently c++
(gdb) up
#1  0x00a69744 in fancy_abort (file=0xb62b08 "../../trunk/gcc/simplify-rtx.c",
line=5800, function=0xb62bc8 "simplify_subreg") at
../../trunk/gcc/diagnostic.c:1177
1177      internal_error ("in %s, at %s:%d", function, trim_filename (file),
line);
(gdb)
#2  0x005ae54c in simplify_subreg (outermode=SImode, op=0xf78de0a8,
innermode=DImode, byte=0) at ../../trunk/gcc/simplify-rtx.c:5800
5800                  || GET_MODE (op) == VOIDmode);
(gdb) l
5795      gcc_assert (outermode != VOIDmode);
5796      gcc_assert (innermode != BLKmode);
5797      gcc_assert (outermode != BLKmode);
5798
5799      gcc_assert (GET_MODE (op) == innermode
5800                  || GET_MODE (op) == VOIDmode);
5801
5802      if ((byte % GET_MODE_SIZE (outermode)) != 0)
5803        return NULL_RTX;
5804
(gdb) p op
$1 = (rtx) 0xf78de0a8
(gdb) p debug_rtx(op)
(symbol_ref:SI ("*.LFB0") [flags 0x2])
$2 = void
(gdb) bt 10
#0  internal_error (gmsgid=0xb8f8e8 "in %s, at %s:%d") at
../../trunk/gcc/diagnostic.c:1121
#1  0x00a69744 in fancy_abort (file=0xb62b08 "../../trunk/gcc/simplify-rtx.c",
line=5800, function=0xb62bc8 "simplify_subreg") at
../../trunk/gcc/diagnostic.c:1177
#2  0x005ae54c in simplify_subreg (outermode=SImode, op=0xf78de0a8,
innermode=DImode, byte=0) at ../../trunk/gcc/simplify-rtx.c:5800
#3  0x008a62a0 in assemble_integer (x=0xf78de0a8, size=8, align=<value
optimized out>, force=1) at ../../trunk/gcc/varasm.c:2530
#4  0x0027bfcc in dw2_assemble_integer (size=8, x=0xf78de0a8) at
../../trunk/gcc/dwarf2asm.c:54
#5  0x0027c0d8 in dw2_asm_output_encoded_addr_rtx (encoding=0, addr=0xf78de0a8,
is_public=false, comment=0xb3f090 "FDE initial location") at
../../trunk/gcc/dwarf2asm.c:991
#6  0x0028d448 in output_fde (fde=0xf7842360, for_eh=true, second=false,
section_start_label=0xffffd0d0 "*.Lframe1", fde_encoding=0,
augmentation=0xffffd118 "", any_lsda_needed=false, lsda_encoding=0)
    at ../../trunk/gcc/dwarf2out.c:558
#7  0x00290ae8 in output_call_frame_info (for_eh=1) at
../../trunk/gcc/dwarf2out.c:881
#8  0x00290c38 in dwarf2out_frame_finish () at ../../trunk/gcc/dwarf2out.c:1119
#9  0x005cd338 in compile_file () at ../../trunk/gcc/toplev.c:595
(More stack frames follow...)
(gdb)
...
#5  0x0027c0d8 in dw2_asm_output_encoded_addr_rtx (encoding=0, addr=0xf78de0a8,
is_public=false, comment=0xb3f090 "FDE initial location") at
../../trunk/gcc/dwarf2asm.c:991
991               dw2_assemble_integer (size, addr);
(gdb) p debug_rtx(addr)
(symbol_ref:SI ("*.LFB0") [flags 0x2])



More information about the Gcc-bugs mailing list