While mass-building cross-compilers, I got this warning:

$ ./configure --target v850e-linux --prefix
/home/jbglaw/devel/build-temp-v850e-linux/usr --enable-languages=c,c++
--disable-libc --disable-libmudflap --disable-libssp --disable-multilib
--disable-shared --enable-static --with-system-zlib --enable-threads
$ make all-gcc
gcc -c  -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition
-Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I.
-I. -I/home/jbglaw/devel/sources/gcc/gcc -I/home/jbglaw/devel/sources/gcc/gcc/.
-I/home/jbglaw/devel/sources/gcc/gcc/../include
-I/home/jbglaw/devel/sources/gcc/gcc/../libcpp/include 
-I/home/jbglaw/devel/sources/gcc/gcc/../libdecnumber
-I/home/jbglaw/devel/sources/gcc/gcc/../libdecnumber/dpd -I../libdecnumber   
/home/jbglaw/devel/sources/gcc/gcc/emit-rtl.c -o emit-rtl.o
/home/jbglaw/devel/sources/gcc/gcc/emit-rtl.c: In function ‘gen_rtx_REG’:
/home/jbglaw/devel/sources/gcc/gcc/emit-rtl.c:608: warning: array subscript is
above array bounds

emit-rtl.c:
 608       if (regno == (unsigned) PIC_OFFSET_TABLE_REGNUM
 609           && fixed_regs[PIC_OFFSET_TABLE_REGNUM])
 610         return pic_offset_table_rtx;

$ grep PIC_OFFSET_TABLE_REGNUM config/v850/*
$ 

$ grep PIC_OFFSET_TABLE_REGNUM defaults.h 
#ifndef PIC_OFFSET_TABLE_REGNUM
#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM

$ grep INVALID_REGNUM rtl.h 
#define INVALID_REGNUM                  (~(unsigned int) 0)

Other targets triggering this warning:
$ zgrep gen_rtx_REG *.log.gz|cut -f 1 -d .
avr-linux
frv-linux
h8300-elf
v850e-linux
vax-linux
xtensa-linux


-- 
           Summary: emit-rtl.c:608(-> gen_rtx_REG): warning: array subscript
                    is above array bounds
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jbglaw at lug-owl dot de
 GCC build triplet: i686-linux
  GCC host triplet: i686-linux
GCC target triplet: v850e-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39809

Reply via email to