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?

Jeff
libgcc/
        * config/csky/linux-atomic.c (bool): Remove unnecessary typedef.
        * unwind-arm-common.inc (bool): Similarly.

diff --git a/libgcc/config/csky/linux-atomic.c 
b/libgcc/config/csky/linux-atomic.c
index 15c38156c77..27448554730 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 576f7e93e8a..1e9a58dbab2 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