From: Jakub Jelinek Date: Fri, 28 Nov 2025 21:04:25 +0000 (+0100) Subject: mips: MIPS backend, meet C++20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1121d2cc8e4b06523773a4d8f49f38d9c75aaa53;p=thirdparty%2Fgcc.git mips: MIPS backend, meet C++20 C++20, in particular https://wg21.link/P1120R0 paper voted into it, deprecates various operations between enumerators from different enumeration types etc., and as we've switched to -std=gnu++20 by default, this now results in warnings or errors during stage2 and onwards. The following patch should fix mips build. 2025-11-28 Jakub Jelinek * config/mips/mips.cc (mips_unspec_address_offset): Avoid arithmetics between enumerators from different enum types. --- diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc index 42dfc3b3511..abdf0da7a84 100644 --- a/gcc/config/mips/mips.cc +++ b/gcc/config/mips/mips.cc @@ -3315,7 +3315,7 @@ mips_unspec_address_offset (rtx base, rtx offset, enum mips_symbol_type symbol_type) { base = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, base), - UNSPEC_ADDRESS_FIRST + symbol_type); + UNSPEC_ADDRESS_FIRST + (int) symbol_type); if (offset != const0_rtx) base = gen_rtx_PLUS (Pmode, base, offset); return gen_rtx_CONST (Pmode, base);