https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69025
Bug ID: 69025
Summary: df-scan.c:2536 warning: array su bscript is above
array bounds
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: gary at intrepid dot com
Target Milestone: ---
This showed up as bootstrap failure when building with CFLAGS='-O3', because
when the stage2 compiler is compiled at -O3 using prev-gcc -Werror is asserted
in the warning flags. Here's the error/warning.
/eng/upc/dev/gary/gupc-gcc-trunk/build/obj/./prev-gcc/xg++ -B/eng/upc/dev/gary/
gupc-gcc-trunk/build/obj/./prev-gcc/ -B/eng/upc/dev/gary/gupc-gcc-trunk/install
/x86_64-pc-linux-gnu/bin/ -nostdinc++ -B/eng/upc/dev/gary/gupc-gcc-trunk/build/
obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/eng/upc/dev/gary/gupc-gc
c-trunk/build/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -I/eng
/upc/dev/gary/gupc-gcc-trunk/build/obj/prev-x86_64-pc-linux-gnu/libstdc++-v3/in
clude/x86_64-pc-linux-gnu -I/eng/upc/dev/gary/gupc-gcc-trunk/build/obj/prev-x8
6_64-pc-linux-gnu/libstdc++-v3/include -I/eng/upc/dev/gary/gupc-gcc-trunk/src/
libstdc++-v3/libsupc++ -L/eng/upc/dev/gary/gupc-gcc-trunk/build/obj/prev-x86_64
-pc-linux-gnu/libstdc++-v3/src/.libs -L/eng/upc/dev/gary/gupc-gcc-trunk/build/o
bj/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -fno-PIE -c -O3 -g -
gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W
-Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-a
ttribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wn
o-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/eng/upc/de
v/gary/gupc-gcc-trunk/src/gcc -I/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/. -I/e
ng/upc/dev/gary/gupc-gcc-trunk/src/gcc/../include -I/eng/upc/dev/gary/gupc-gcc-
trunk/src/gcc/../libcpp/include -I/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/../
libdecnumber -I/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/../libdecnumber/bid -I.
./libdecnumber -I/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/../libbacktrace -o
df-scan.o -MT df-scan.o -MMD -MP -MF ./.deps/df-scan.TPo /eng/upc/dev/gary/gupc
-gcc-trunk/src/gcc/df-scan.c
In file included from /eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/target.h:53:0,
from /eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/df-scan.c:28:
1,1 Top
from /eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/df-scan.c:28:
/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/df-scan.c: In function ‘void df_ref_re
cord(df_ref_class, df_collection_rec*, rtx, rtx_def**, basic_block, df_insn_inf
o*, df_ref_type, int)’:
/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/hard-reg-set.h:156:44: error: array su
bscript is above array bounds [-Werror=array-bounds]
(!!((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
/eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/df-scan.c:2536:18: note: in expansion
of macro ‘TEST_HARD_REG_BIT’
else if (!(TEST_HARD_REG_BIT (elim_reg_set, regno)
^~~~~~~~~~~~~~~~~