[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