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)

Reply via email to