https://gcc.gnu.org/g:39a39d1f38ccb9ba292b22003dc3c7febb0b6512

commit r15-5408-g39a39d1f38ccb9ba292b22003dc3c7febb0b6512
Author: Jeff Law <j...@ventanamicro.com>
Date:   Mon Nov 18 09:59:54 2024 -0700

    [RFA] Fix csky and c6x build failures
    
    csky fails to build libgcc after the c23 changes because it has a typedef 
for
    bool.  AFAICT it's internal to the file, so removing the typedef isn't an 
ABI
    change.
    
    Similiarly for c6x which includes unwind-arm-common.inc.  I suspect most, if
    not all of the arm-v7 and older targets are failing to build right now.
    
    I've built and regression tested both csky-linux-gnu and c6x-elf with this
    change.  OK for the trunk?
    
            PR target/117628
    libgcc/
            * config/csky/linux-atomic.c (bool): Remove unnecessary typedef.
            * unwind-arm-common.inc (bool): Similarly.

Diff:
---
 libgcc/config/csky/linux-atomic.c | 2 --
 libgcc/unwind-arm-common.inc      | 2 --
 2 files changed, 4 deletions(-)

diff --git a/libgcc/config/csky/linux-atomic.c 
b/libgcc/config/csky/linux-atomic.c
index 15c38156c778..274485547308 100644
--- a/libgcc/config/csky/linux-atomic.c
+++ b/libgcc/config/csky/linux-atomic.c
@@ -215,8 +215,6 @@ __sync_val_compare_and_swap_4 (int *ptr, int oldval, int 
newval)
 SUBWORD_VAL_CAS (unsigned short, 2)
 SUBWORD_VAL_CAS (unsigned char,        1)
 
-typedef unsigned char bool;
-
 bool HIDDEN
 __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval)
 {
diff --git a/libgcc/unwind-arm-common.inc b/libgcc/unwind-arm-common.inc
index 576f7e93e8a8..1e9a58dbab2a 100644
--- a/libgcc/unwind-arm-common.inc
+++ b/libgcc/unwind-arm-common.inc
@@ -52,8 +52,6 @@
 
 /* Definitions for C++ runtime support routines.  We make these weak
    declarations to avoid pulling in libsupc++ unnecessarily.  */
-typedef unsigned char bool;
-
 typedef struct _ZSt9type_info type_info; /* This names C++ type_info type */
 enum __cxa_type_match_result
   {

Reply via email to