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