https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113491

--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> ---
Created attachment 57162
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57162&action=edit
shorter testcase (reduced from gcc.dg/torture/pr45830.c)

$ x86_64-pc-linux-gnu-gcc -Os pr45830.i -wrapper valgrind,-q
==7594== Invalid read of size 2
==7594==    at 0x177D97A: make_ssa_name_fn(function*, tree_node*, gimple*,
unsigned int) (tree-ssanames.cc:354)
==7594==    by 0x1610F62: make_ssa_name (tree-ssanames.h:98)
==7594==    by 0x1610F62:
tree_switch_conversion::switch_conversion::build_arrays()
(tree-switch-conversion.cc:727)
==7594==    by 0x1611346:
tree_switch_conversion::switch_conversion::expand(gswitch*) [clone .part.0]
(tree-switch-conversion.cc:1067)
==7594==    by 0x161140A: expand (tree-switch-conversion.cc:2546)
==7594==    by 0x161140A: (anonymous
namespace)::pass_convert_switch::execute(function*)
(tree-switch-conversion.cc:2564)
==7594==    by 0x13CC0EA: execute_one_pass(opt_pass*) (passes.cc:2646)
==7594==    by 0x13CC9DF: execute_pass_list_1(opt_pass*) (passes.cc:2755)
==7594==    by 0x13CC9F1: execute_pass_list_1(opt_pass*) (passes.cc:2756)
==7594==    by 0x13CCA18: execute_pass_list(function*, opt_pass*)
(passes.cc:2766)
==7594==    by 0x13CD33C: do_per_function_toporder(void (*)(function*, void*),
void*) [clone .part.0] (passes.cc:1773)
==7594==    by 0x13CD56E: do_per_function_toporder (passes.cc:1740)
==7594==    by 0x13CD56E: execute_ipa_pass_list(opt_pass*) (passes.cc:3100)
==7594==    by 0xFCDDE7: ipa_passes (cgraphunit.cc:2211)
==7594==    by 0xFCDDE7: symbol_table::compile() [clone .part.0]
(cgraphunit.cc:2332)
==7594==    by 0xFD0667: compile (cgraphunit.cc:2312)
==7594==    by 0xFD0667: symbol_table::finalize_compilation_unit()
(cgraphunit.cc:2584)
==7594==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==7594== 
during GIMPLE pass: switchconv
pr45830.i: In function 'foo':
pr45830.i:19:1: internal compiler error: Segmentation fault
   19 | }
      | ^
0x150de9f crash_signal
        /repo/gcc-trunk/gcc/toplev.cc:317
0x177d97a make_ssa_name_fn(function*, tree_node*, gimple*, unsigned int)
        /repo/gcc-trunk/gcc/tree-ssanames.cc:354
0x1610f62 make_ssa_name(tree_node*, gimple*)
        /repo/gcc-trunk/gcc/tree-ssanames.h:98
0x1610f62 tree_switch_conversion::switch_conversion::build_arrays()
        /repo/gcc-trunk/gcc/tree-switch-conversion.cc:727
0x1611346 tree_switch_conversion::switch_conversion::expand(gswitch*)
        /repo/gcc-trunk/gcc/tree-switch-conversion.cc:1067
0x161140a tree_switch_conversion::switch_conversion::expand(gswitch*)
        /repo/gcc-trunk/gcc/tree-switch-conversion.cc:2546
0x161140a execute
        /repo/gcc-trunk/gcc/tree-switch-conversion.cc:2564
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to