build-failure for cris-elf with "[00/32] Support multiple ABIs in the same translation unit"

Hans-Peter Nilsson hans-peter.nilsson@axis.com
Tue Oct 1 02:09:00 GMT 2019


> From: Richard Sandiford <richard.sandiford@arm.com>
> Date: Wed, 11 Sep 2019 21:02:26 +0200

> This series of patches introduces some classes and helpers for handling
> multiple ABIs in the same translation unit.  At the moment "ABI" maans
> specifically the choice of call-clobbered registers
[...]

> The series also makes -fipa-ra work for partially-clobbered registers too.
[...]

My autotester for cris-elf complains about a build-breaking
commit in the revision range (working:breaking) 276299:276359
and a glance at those commits and the error message says the
cause is likely one of your commits.  Relevant part of
build-log, hopefully sufficient:

-----------------------
g++ -fno-PIE -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I/x/hpautotest-gcc1/gcc/gcc -I/x/hpautotest-gcc1/gcc/gcc/. -I/x/hpautotest-gcc1/gcc/gcc/../include -I/x/hpautotest-gcc1/gcc/gcc/../libcpp/include -I/x/hpautotest-gcc1/cris-elf/gccobj/./gmp -I/x/hpautotest-gcc1/gcc/gmp -I/x/hpautotest-gcc1/cris-elf/gccobj/./mpfr/src -I/x/hpautotest-gcc1/gcc/mpfr/src -I/x/hpautotest-gcc1/gcc/mpc/src  -I/x/hpautotest-gcc1/gcc/gcc/../libdecnumber -I/x/hpautotest-gcc1/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/x/hpautotest-gcc1/gcc/gcc/../libbacktrace   -o caller-save.o -MT caller-save.o -MMD -MP -MF ./.deps/caller-save.TPo /x/hpautotest-gcc1/gcc/gcc/caller-save.c
In file included from /x/hpautotest-gcc1/gcc/gcc/caller-save.c:31:0:
/x/hpautotest-gcc1/gcc/gcc/caller-save.c: In function 'void init_caller_save()':
/x/hpautotest-gcc1/gcc/gcc/regs.h:195:44: error: cannot convert 'bool' to 'const predefined_function_abi*' for argument '3' to 'machine_mode choose_hard_reg_mode(unsigned int, unsigned int, const predefined_function_abi*)'
   choose_hard_reg_mode (REGNO, NREGS, false)
                                            ^
/x/hpautotest-gcc1/gcc/gcc/caller-save.c:203:26: note: in expansion of macro 'HARD_REGNO_CALLER_SAVE_MODE'
  regno_save_mode[i][j] = HARD_REGNO_CALLER_SAVE_MODE (i, j, VOIDmode);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/x/hpautotest-gcc1/gcc/gcc/caller-save.c: In function 'void save_call_clobbered_regs()':
/x/hpautotest-gcc1/gcc/gcc/regs.h:195:44: error: cannot convert 'bool' to 'const predefined_function_abi*' for argument '3' to 'machine_mode choose_hard_reg_mode(unsigned int, unsigned int, const predefined_function_abi*)'
   choose_hard_reg_mode (REGNO, NREGS, false)
                                            ^
/x/hpautotest-gcc1/gcc/gcc/caller-save.c:821:12: note: in expansion of macro 'HARD_REGNO_CALLER_SAVE_MODE'
     mode = HARD_REGNO_CALLER_SAVE_MODE
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:1117: recipe for target 'caller-save.o' failed
-----------------------

> Also tested by compiling at least one target per CPU directory and
> checking for no new warnings.

(Hmm...  So maybe a host gcc issue?)

My host is x86-64 Debian 9, i.e. gcc-6.3.0.

brgds, H-P



More information about the Gcc-patches mailing list