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: unassig...@gcc.gnu.org

        ReportedBy: ste...@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])

Reply via email to