This breaks bootstrap for riscv:

In file included from ../../gcc/rtl.h:4039,
                 from ../../gcc/config/riscv/riscv.cc:33:
../../gcc/config/riscv/riscv.cc: In function 'rtx_def* 
riscv_unspec_address_offset(rtx, rtx, riscv_symbol_type)':
../../gcc/config/riscv/riscv.cc:2817:47: error: arithmetic between different 
enumeration types 'unspec' and 'riscv_symbol_type' is deprecated 
[-Werror=deprecated-enum-enum-conversion]
 2817 |                          UNSPEC_ADDRESS_FIRST + symbol_type);
      |                          ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
./genrtl.h:502:43: note: in definition of macro 'gen_rtx_fmt_Ei'
  502 |   gen_rtx_fmt_Ei_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
      |                                           ^~~~
../../gcc/config/riscv/riscv.cc:2816:10: note: in expansion of macro 
'gen_rtx_UNSPEC'
 2816 |   base = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, base),
      |          ^~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:2787: riscv.o] Error 1

I assume that loongarch and mips have the same problem, since they use
the same expression in their unspec_address_offset functions.

-- 
Andreas Schwab, [email protected]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to