https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69025
--- Comment #1 from Gary Funck <gary at intrepid dot com> --- This can be most easily reproduced by doing a regular configure and make, then cd-ing into the gcc build directory and forcing a re-compilation of df-scan.c at -O3. cd bld/gcc rm df-scan.o make CXXFLAGS='-O3 -g' df-scan.o [...] 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: /eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/df-scan.c: In function ‘void df_ref_record(df_ref_class, df_collection_rec*, rtx, rtx_def**, basic_block, df_insn_info*, df_ref_type, int)’: /eng/upc/dev/gary/gupc-gcc-trunk/src/gcc/hard-reg-set.h:156:44: error: array subscript 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) ^~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors