From: Jeff Law Date: Mon, 18 Nov 2024 16:59:54 +0000 (-0700) Subject: [RFA] Fix csky and c6x build failures X-Git-Tag: basepoints/gcc-16~4145 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=39a39d1f38ccb9ba292b22003dc3c7febb0b6512;p=thirdparty%2Fgcc.git [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 --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 {