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

            Bug ID: 60910
           Summary: [4.10 regression] sparc-linux bootstrap failure due to
                    many "invalid conversion from 'int' to 'machine_mode'"
                    errors
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mikpelinux at gmail dot com

Attempting to bootstrap gcc-4.10-20140420 (r209538) on sparc64-linux fails
with:

g++ -c   -g -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables
-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -I. -I.
-I/mnt/scratch/gcc-4.10-20140420/gcc -I/mnt/scratch/gcc-4.10-20140420/gcc/.
-I/mnt/scratch/gcc-4.10-20140420/gcc/../include
-I/mnt/scratch/gcc-4.10-20140420/gcc/../libcpp/include
-I/home/mikpe/pkgs/linux-sparc64/gmp-5.1.3/include
-I/home/mikpe/pkgs/linux-sparc64/mpfr-3.1.2/include
-I/home/mikpe/pkgs/linux-sparc64/mpc-1.0.2/include 
-I/mnt/scratch/gcc-4.10-20140420/gcc/../libdecnumber
-I/mnt/scratch/gcc-4.10-20140420/gcc/../libdecnumber/dpd -I../libdecnumber
-I/mnt/scratch/gcc-4.10-20140420/gcc/../libbacktrace    -o sparc.o -MT sparc.o
-MMD -MP -MF ./.deps/sparc.TPo
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c
In file included from /mnt/scratch/gcc-4.10-20140420/gcc/tree-core.h:24:0,
                 from /mnt/scratch/gcc-4.10-20140420/gcc/tree.h:23,
                 from
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:27:
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c: In function 'void
sparc_init_modes()':
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4829:8: note: in
expansion of macro 'GET_MODE_SIZE'
    if (GET_MODE_SIZE (i) < 4)
        ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4831:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 4)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4833:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 8)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4835:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 16)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4837:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 32)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4843:8: note: in
expansion of macro 'GET_MODE_SIZE'
    if (GET_MODE_SIZE (i) == 4)
        ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4845:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 8)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4852:8: note: in
expansion of macro 'GET_MODE_SIZE'
    if (GET_MODE_SIZE (i) == 4)
        ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4854:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 8)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4856:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 16)
             ^
/mnt/scratch/gcc-4.10-20140420/gcc/machmode.h:183:32: error: invalid conversion
from 'int' to 'machine_mode' [-fpermissive]
        ? mode_size_inline (MODE) : mode_size[MODE]))
                                ^
/mnt/scratch/gcc-4.10-20140420/gcc/config/sparc/sparc.c:4858:13: note: in
expansion of macro 'GET_MODE_SIZE'
    else if (GET_MODE_SIZE (i) == 32)
             ^
make[3]: *** [sparc.o] Error 1
make[3]: Leaving directory `/mnt/scratch/objdir410/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/mnt/scratch/objdir410'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/mnt/scratch/objdir410'
make: *** [bootstrap] Error 2

The previous weekly snapshot, 4.10-20140413, bootstrapped fine.

Looks similar to PR60876, except that one was in the rs6000 backend.

Configuration options:
/mnt/scratch/gcc-4.10-20140420/configure --prefix=/mnt/scratch/install410
--with-gmp=/home/mikpe/pkgs/linux-sparc64/gmp-5.1.3
--with-mpfr=/home/mikpe/pkgs/linux-sparc64/mpfr-3.1.2
--with-mpc=/home/mikpe/pkgs/linux-sparc64/mpc-1.0.2 --enable-multilib
--disable-plugin --disable-lto --disable-nls --enable-threads=posix
--enable-checking=release --disable-libmudflap
--enable-languages=c,ada,c++,fortran --build=sparc-unknown-linux
--target=sparc-unknown-linux --with-cpu=ultrasparc --enable-targets=all
--disable-libsanitizer

Reply via email to