https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90478
Bug ID: 90478
Summary: ice in emit_case_dispatch_table at gcc/stmt.c:796
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Target Milestone: ---
Created attachment 46358
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46358&action=edit
C source code
For the attached code, gcc trunk does this:
$ ~/gcc/results/bin/gcc -c bug521.c
during RTL pass: expand
runtime.c: In function ‘dump_heap_state_2’:
runtime.c:12297:13: internal compiler error: Segmentation fault
0xe399d7 crash_signal
../../trunk/gcc/toplev.c:326
0xe25669 emit_case_dispatch_table
../../trunk/gcc/stmt.c:796
0xe27735 expand_case(gswitch*)
../../trunk/gcc/stmt.c:987
0x943e0a expand_gimple_stmt_1
../../trunk/gcc/cfgexpand.c:3693
$ ~/gcc/results/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/dcb/gcc/results/bin/gcc
COLLECT_LTO_WRAPPER=/home/dcb/gcc/results.271150/libexec/gcc/x86_64-pc-linux-gnu/10.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../trunk/configure --prefix=/home/dcb/gcc/results.271150
--disable-multilib --disable-werror --enable-checking=df,extra,fold,rtl,yes
--enable-languages=c,c++,fortran
Thread model: posix
gcc version 10.0.0 20190514 (experimental) (GCC)
$
I'll have my usual go at reducing the code and finding
a range of revisions where the problem starts.