https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84635
Bug ID: 84635
Summary: gcc/regrename.c:1706:64: runtime error: index -1 out
of bounds for type 'machine_mode [30]'
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
Following test-case:
$ cat error.i
a () { a (); }
$ UBSAN_OPTIONS="print_stacktrace=1" /dev/shm/objdir/gcc/xgcc -B
/dev/shm/objdir/gcc/ -O1 -funroll-loops -c error.i -fmax-errors=1
error.i:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
a () { a (); }
^
/home/marxin/Programming/gcc2/gcc/regrename.c:1706:64: runtime error: index -1
out of bounds for type 'machine_mode [30]'
#0 0x169bea1 in build_def_use
/home/marxin/Programming/gcc2/gcc/regrename.c:1706
#1 0x1694d2f in regrename_analyze(bitmap_head*)
/home/marxin/Programming/gcc2/gcc/regrename.c:742
#2 0x169dace in regrename_optimize
/home/marxin/Programming/gcc2/gcc/regrename.c:1934
#3 0x169dbc6 in execute /home/marxin/Programming/gcc2/gcc/regrename.c:1971
#4 0x1598c61 in execute_one_pass(opt_pass*)
/home/marxin/Programming/gcc2/gcc/passes.c:2497
#5 0x159942b in execute_pass_list_1
/home/marxin/Programming/gcc2/gcc/passes.c:2586
#6 0x15994a2 in execute_pass_list_1
/home/marxin/Programming/gcc2/gcc/passes.c:2587
#7 0x15994a2 in execute_pass_list_1
/home/marxin/Programming/gcc2/gcc/passes.c:2587
#8 0x1599522 in execute_pass_list(function*, opt_pass*)
/home/marxin/Programming/gcc2/gcc/passes.c:2597
#9 0xc40833 in cgraph_node::expand()
/home/marxin/Programming/gcc2/gcc/cgraphunit.c:2139
#10 0xc41740 in expand_all_functions
/home/marxin/Programming/gcc2/gcc/cgraphunit.c:2275
#11 0xc430b8 in symbol_table::compile()
/home/marxin/Programming/gcc2/gcc/cgraphunit.c:2624
#12 0xc43639 in symbol_table::finalize_compilation_unit()
/home/marxin/Programming/gcc2/gcc/cgraphunit.c:2717
#13 0x18a7f43 in compile_file
/home/marxin/Programming/gcc2/gcc/toplev.c:480
#14 0x18abd24 in do_compile /home/marxin/Programming/gcc2/gcc/toplev.c:2132
#15 0x18ac208 in toplev::main(int, char**)
/home/marxin/Programming/gcc2/gcc/toplev.c:2267
#16 0x31e0f41 in main /home/marxin/Programming/gcc2/gcc/main.c:39
#17 0x7ffff5cfbf49 in __libc_start_main (/lib64/libc.so.6+0x20f49)
#18 0x81e9d9 in _start (/dev/shm/objdir/gcc/cc1+0x81e9d9)