https://gcc.gnu.org/g:f622e152e32c54b9d9cb8e9e5dcbe58385557e14
commit r17-1046-gf622e152e32c54b9d9cb8e9e5dcbe58385557e14 Author: Jeff Law <[email protected]> Date: Sat May 30 11:13:18 2026 -0600 Fix m68k bootstrap due to diagnostic The m68k port stopped bootstrapping recently because of this error: > In file included from ./tm.h:31, > from ../../../gcc/gcc/target.h:52, > from ../../../gcc/gcc/dwarf2cfi.cc:23: > ../../../gcc/gcc/dwarf2cfi.cc: In function 'bool dwarf2out_do_cfi_asm()': > ../../../gcc/gcc/config/m68k/m68k.h:780:22: error: use of logical '||' with constant operand '2' [-Werror=constant-logical-operand] > 780 | && ((GLOBAL) || (CODE))) \ > | ~~~~~~~~~^~~~~~~~~ > ../../../gcc/gcc/dwarf2cfi.cc:3755:9: note: in expansion of macro 'ASM_PREFERRED_EH_DATA_FORMAT' > 3755 | enc = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/2,/*global=*/1); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../gcc/gcc/config/m68k/m68k.h:780:22: note: use '|' for bitwise operation > ../../../gcc/gcc/dwarf2cfi.cc:3755:9: note: in expansion of macro 'ASM_PREFERRED_EH_DATA_FORMAT' > 3755 | enc = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/2,/*global=*/1); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ Note the "2" being passed down. That's what triggers the warning. The semantic preserving change is to use !!CODE. Given the port won't currently bootstrap, I'm committing as-is. gcc/ * config/m68k/m68k.h (ASM_PREFERRED_EH_DATA_FORMAT): Avoid constant-logical diagnostic. Diff: --- gcc/config/m68k/m68k.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 350d1470aa32..da572e89b783 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -777,7 +777,7 @@ __transfer_from_trampoline () \ #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ (flag_pic \ && !((TARGET_ID_SHARED_LIBRARY || TARGET_SEP_DATA) \ - && ((GLOBAL) || (CODE))) \ + && ((GLOBAL) || (!!CODE))) \ ? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4 \ : DW_EH_PE_absptr)
