This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Warning stats for all targets (was: Re: illegally shared subreg)


Here are some statistics on just how hard -Werror is really going to
be.  I ran my target cross-compile farm on last night's CVS of the
trunk and the 3.4-BIB.  This chart will indicate warning fluctuations
stemming from target definition differences.  The host platform was
sparc-sun-solaris2.7 in all cases.  Switching host platform brings in
another set of intricate problems that I won't be speaking to in this
email.  But keep that in mind and factor it in when trying to
understand the scope of the problem.

Some notes:

1.  The first column represents the number of warnings from the trunk,
    the second is warnings from BIB.  (Third column is obviously the
    cross-target.)

2.  To conserve disk and to minimize compilation time, I used -O -s.
    Real builds would normally use -O2 -g but that's too expensive.
    (Different flags might however lead to different warning results!)

3.  The make command targets were: cc1 xgcc g++ g77 gcov gcj cc1plus
    cc1obj jc1 f771 collect2 fix-header protoize unprotoize.

4.  Not all targets finished even cc1 to completion, (let alone the
    whole list.)  Those that failed compiling cc1 were:
    fr30-unknown-elf frv-unknown-elf i386-unknown-sysv
    i386-unknown-vsta powerpc-unknown-gnu-gnualtivec
    rs6000-unknown-lynxos rs6000-unknown-mach sparc-tti-bsd
    sparc-unknown-bsd sparc-unknown-openbsd sparc64-unknown-openbsd
    sparclite-unknown-coff.

5.  Also vax-unknown-vms is removed in the 3.4-BIB.


Now consider adding -Werror (to just one .o file) and having to ensure
none of these targets have a warning in that file.  Did you try all of
these combinations?  Well that's not enough, because you also have to
try all combinations of --enable-/--disable-/--with-/--without- of
configure flags because they conditionally change GCC's source and may
introduce or hide warnings.

If you missed anything, someone's bootstrap breaks even if the warning
is spurious or innocuous.

I hope its clear we just can't maintain this.  We can however
e.g. start with just one target like x86-linux-gnu and ensure no
warning regressions appear in the native bootstrap stage3.  Aside from
helping that target, it'll help overall to ensure machine-independent
warnings aren't introduced.  That at least would be a major
improvement over the current situation.

		--Kaveh


  17   18 alpha-dec-osf4.0a
  17   18 alpha-dec-osf4.0b
  17   18 alpha-dec-osf4.1
  17   18 alpha-dec-osf5
  35   35 alpha-dec-vms
  32   33 alpha-unknown-freebsd5
  34   34 alpha-unknown-interix
  36   37 alpha-unknown-linux-gnu
  36   37 alpha-unknown-linux-gnulibc1
  36   37 alpha-unknown-netbsd
  36   37 alpha-unknown-openbsd
  37   37 alpha-unknown-unicosmk
  18   18 alpha-unknown-vxworks
  26   26 alpha64-dec-vms
  90   90 arc-unknown-elf
  39   39 arm-semi-aof
  40   38 arm-semi-aout
  58   56 arm-unknown-aout
  59   57 arm-unknown-coff
  62   57 arm-unknown-conix
  62   57 arm-unknown-elf
  57   52 arm-unknown-freebsd5
  63   58 arm-unknown-linux-gnu
  57   56 arm-unknown-netbsd
  62   57 arm-unknown-oabi
  59   57 arm-unknown-pe
  62   57 arm-unknown-rtems
  63   58 arm-unknown-uclinux
  55   53 arm-unknown-vxworks
 458  460 avr-unknown-elf
  51   51 c4x-unknown-elf
  51   51 c4x-unknown-rtems
  44   43 cris-unknown-aout
  44   43 cris-unknown-elf
  43   42 cris-unknown-linux-gnu
  53   55 d30v-unknown-elf
 133   48 dsp16xx-unknown-elf
  14   14 fr30-unknown-elf
 358  360 frv-unknown-elf
  97   96 h8300-unknown-aout
  94   93 h8300-unknown-elf
  97   96 h8300-unknown-rtems
  43   44 hppa1.0-hp-hpux
  43   44 hppa1.0-hp-hpux10
  43   44 hppa1.0-hp-hpux11
  43   44 hppa1.0-hp-hpux7
  43   44 hppa1.0-hp-hpux8.02
  43   44 hppa1.0-hp-hpux8
  25   26 hppa1.0-unknown-bsd
  43   44 hppa1.0-unknown-hiux
  42   44 hppa1.0-unknown-linux-gnu
  24   26 hppa1.0-unknown-lites
  25   26 hppa1.0-unknown-osf
  43   44 hppa1.1-hp-hpux
  43   44 hppa1.1-hp-hpux10
  43   44 hppa1.1-hp-hpux11
  43   44 hppa1.1-hp-hpux8.02
  43   44 hppa1.1-hp-hpux8
  25   26 hppa1.1-unknown-bsd
  43   44 hppa1.1-unknown-hiux
  25   26 hppa1.1-unknown-osf
  42   44 hppa1.1-unknown-proelf
  42   44 hppa1.1-unknown-rtems
  42   42 hppa64-hp-hpux11
  41   42 hppa64-unknown-linux-gnu
 128  129 i370-unknown-linux-gnu
 114  115 i370-unknown-mvs
 114  115 i370-unknown-opened
  43   44 i386-apple-darwin
  19   21 i386-moss-msdos
  19   21 i386-ncr-sysv4
  39   41 i386-pc-msdosdjgpp
  19   21 i386-sequent-ptx4
  37   39 i386-sun-solaris2.7
  40   41 i386-unknown-aout
  38   40 i386-unknown-beoself
  41   42 i386-unknown-coff
  37   39 i386-unknown-elf
  39   40 i386-unknown-freebsd2
  33   35 i386-unknown-freebsd4
  37   39 i386-unknown-gnu
  41   42 i386-unknown-interix
  41   42 i386-unknown-interix3
  37   39 i386-unknown-linux-gnu
  40   41 i386-unknown-linux-gnuaout
  37   39 i386-unknown-linux-gnulibc1
  49   50 i386-unknown-lynxos
  40   41 i386-unknown-mach
  21   22 i386-unknown-mingw32
  38   40 i386-unknown-netbsd
  37   39 i386-unknown-netbsdelf
  37   39 i386-unknown-netware
  20   22 i386-unknown-openbsd
  27   28 i386-unknown-pe
  37   39 i386-unknown-rtems
  37   39 i386-unknown-sco3.2v5
  21   20 i386-unknown-sysv
  19   21 i386-unknown-sysv4
  37   39 i386-unknown-sysv5
  37   39 i386-unknown-udk
  21   22 i386-unknown-uwin
  35   26 i386-unknown-vsta
  40   41 i386-wrs-vxworks
  65   70 i960-unknown-aout
  65   70 i960-unknown-coff
  65   70 i960-unknown-rtems
  65   70 i960-wrs-vxworks4
  65   70 i960-wrs-vxworks5.0
  65   70 i960-wrs-vxworks5.1
  39   41 ia64-unknown-aix
  39   41 ia64-unknown-elf
  35   37 ia64-unknown-freebsd6
  40   42 ia64-unknown-hpux
  39   41 ia64-unknown-linux-gnu
2215 2217 ip2k-unknown-elf
  61   61 m32r-unknown-elf
  50  623 m68000-att-sysv
  49   50 m68000-hp-bsd
  50   51 m68000-hp-hpux
  49   50 m68000-sun-sunos3
  49   50 m68000-sun-sunos4
  51   53 m68010-unknown-netbsdelf
  49   51 m68020-unknown-elf
  49   51 m68k-apollo-elf
  34   36 m68k-atari-sysv4
  33   35 m68k-cbm-sysv4
  49   50 m68k-ccur-rtu
  49   50 m68k-crds-unos
  49   50 m68k-hp-bsd
  49   50 m68k-hp-bsd4.4
  50   51 m68k-hp-hpux
  50   51 m68k-hp-hpux7
  52   53 m68k-motorola-sysv
  50   51 m68k-ncr-sysv
  50   51 m68k-plexus-sysv
  48   49 m68k-sun-mach
  48   49 m68k-sun-sunos3
  48   49 m68k-sun-sunos4
  49   50 m68k-tti-elf
  51   52 m68k-unknown-aout
  50   51 m68k-unknown-coff
  47   49 m68k-unknown-linux-gnu
  49   50 m68k-unknown-linux-gnuaout
  47   49 m68k-unknown-linux-gnulibc1
  52   54 m68k-unknown-netbsd
  52   54 m68k-unknown-openbsd
  50   52 m68k-unknown-psos
  49   51 m68k-unknown-rtemself
  34   36 m68k-unknown-sysv4
  51   52 m68k-wrs-vxworks
 172  172 m88k-unknown-aout
 178  176 m88k-unknown-openbsd
 714  716 m88k-unknown-sysv4
  70   67 mcore-unknown-elf
  72   68 mcore-unknown-pe
  45   49 mips-sgi-irix5
  46   50 mips-sgi-irix6.5
  45   49 mips-sgi-irix6.5o32
  28   31 mips-sni-sysv4
  47   50 mips-unknown-ecoff
  46   50 mips-unknown-elf
  47   51 mips-unknown-linux-gnu
  46   50 mips-unknown-openbsd
  46   50 mips-unknown-rtems
  46   50 mips-wrs-vxworks
  45   49 mips64-unknown-elf
  45   49 mips64el-unknown-elf
  45   49 mips64orion-unknown-elf
  45   49 mips64orion-unknown-rtems
  45   49 mips64orionel-unknown-elf
  45   49 mips64vr-unknown-elf
  47   50 mipsel-unknown-ecoff
  46   50 mipsel-unknown-elf
  46   50 mipsel-unknown-netbsd
  46   50 mipsel-unknown-openbsd
  46   50 mipsisa32-unknown-elf
  46   50 mipsisa64-unknown-elf
  46   50 mipsisa64sb1-unknown-elf
  50   54 mipsisa64sr71k-unknown-elf
1756 1766 mipstx39-unknown-elf
1756 1766 mipstx39el-unknown-elf
  33   34 mmix-knuth-mmixware
  95   96 mn10200-unknown-elf
  55   55 mn10300-unknown-elf
  48   49 ns32k-unknown-netbsd
  75   76 pdp11-unknown-bsd
  75   76 pdp11-unknown-elf
  59   58 powerpc-apple-darwin
  47   49 powerpc-chorusos
  44   45 powerpc-unknown-beos
  34   36 powerpc-unknown-eabi
  34   36 powerpc-unknown-eabiaix
  34   36 powerpc-unknown-eabialtivec
  34   36 powerpc-unknown-eabisim
  34   36 powerpc-unknown-eabisimaltivec
  34   36 powerpc-unknown-eabispe
  47   49 powerpc-unknown-elf
  47   49 powerpc-unknown-freebsd3
  47   49 powerpc-unknown-gnu
  47   49 powerpc-unknown-linux-gnu
  47   49 powerpc-unknown-linux-gnualtivec
  47   49 powerpc-unknown-linux-gnulibc1
  47   49 powerpc-unknown-netbsd
  33   35 powerpc-unknown-rtems
  47   49 powerpc-unknown-sysv
  47   49 powerpc-wrs-vxworks
  47   49 powerpc-wrs-windiss
  46   49 powerpc64-unknown-gnu
  46   49 powerpc64-unknown-linux-gnu
  34   36 powerpcle-unknown-eabi
  34   36 powerpcle-unknown-eabisim
  47   49 powerpcle-unknown-elf
  47   49 powerpcle-unknown-sysv
  47   49 powerpcle-wrs-vxworks
  40   41 rs6000-bull-bosx
  40   41 rs6000-ibm-aix
  40   41 rs6000-ibm-aix3.0
  40   41 rs6000-ibm-aix3.2.4
  40   41 rs6000-ibm-aix4.1
  40   41 rs6000-ibm-aix4.3
  39   41 rs6000-ibm-aix5.0
 105  101 rs6000-unknown-lynxos
  73   69 rs6000-unknown-mach
  46   48 s390-unknown-linux-gnu
  46   48 s390x-unknown-linux-gnu
 103  103 sh-unknown-aout
 100  101 sh-unknown-elf
 100  101 sh-unknown-linux-gnu
 100  101 sh-unknown-netbsdelf
 103  103 sh-unknown-rtems
 100  101 sh-unknown-rtemself
 100  101 sh2-unknown-elf
 100  101 sh64-unknown-elf
 100  101 sh64eb-unknown-linux-gnu
 100  101 shl-unknown-elf
  31   33 sparc-chorusos
  31   33 sparc-hal-solaris2.4
  31   33 sparc-sun-solaris2.0
  28   30 sparc-sun-solaris2.7
  32   33 sparc-sun-sunos3
  32   33 sparc-sun-sunos4.0
  32   33 sparc-sun-sunos4.1
  12   11 sparc-tti-bsd
  32   33 sparc-unknown-aout
  12   11 sparc-unknown-bsd
  31   33 sparc-unknown-elf
  31   33 sparc-unknown-linux-gnu
  32   33 sparc-unknown-linux-gnuaout
  31   33 sparc-unknown-linux-gnulibc1
  41   42 sparc-unknown-lynxos
  35   37 sparc-unknown-netbsd
  36   38 sparc-unknown-netbsdelf
  11   11 sparc-unknown-openbsd
  31   33 sparc-unknown-rtems
  17   19 sparc-unknown-sysv4
  31   33 sparc-unknown-vxsim
  32   33 sparc-wrs-vxworks
  30   31 sparc64-unknown-aout
  29   31 sparc64-unknown-elf
  34   37 sparc64-unknown-freebsd6
  30   35 sparc64-unknown-linux-gnu
  34   36 sparc64-unknown-netbsd
  15   15 sparc64-unknown-openbsd
  40   42 sparc64-wrs-vxworks
  36   37 sparc86x-unknown-aout
  35   37 sparc86x-unknown-elf
  32   33 sparclet-unknown-aout
  32   33 sparclite-unknown-aout
  15   14 sparclite-unknown-coff
  35   37 sparclite-unknown-elf
  29   31 sparcv9-sun-solaris2.8
  59   57 strongarm-unknown-coff
  62   57 strongarm-unknown-elf
  59   57 strongarm-unknown-pe
  46   45 v850-unknown-elf
  46   45 v850-unknown-rtems
  46   45 v850e-unknown-elf
  46   44 vax-unknown-bsd
  46   44 vax-unknown-elf
  45   44 vax-unknown-netbsd
  45   44 vax-unknown-openbsd
  47   45 vax-unknown-sysv
  46   44 vax-unknown-ultrix
  49  XXX vax-unknown-vms
  32   34 x86_64-unknown-freebsd6
  36   38 x86_64-unknown-linux-gnu
  36   38 x86_64-unknown-netbsd
  59   57 xscale-unknown-coff
  62   57 xscale-unknown-elf
  40   39 xstormy16-unknown-elf
  38   39 xtensa-unknown-elf
  39   40 xtensa-unknown-linux-gnu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]