From: Georg-Johann Lay Date: Sat, 16 Nov 2024 21:12:05 +0000 (+0100) Subject: AVR: Fix building LibF7 after switching to C23. X-Git-Tag: basepoints/gcc-16~4196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=307b11179aeeab3a837ea287a5557763e99f6f89;p=thirdparty%2Fgcc.git AVR: Fix building LibF7 after switching to C23. Since r15-5327, GNU-C23 is being used as C language default. libf7.h doesn't assume headers like stdbool.h are present and defines bool, true and false on its own. libgcc/config/avr/libf7/ * libf7.h (bool, true, false): Don't define in C23 or higher. --- diff --git a/libgcc/config/avr/libf7/libf7.h b/libgcc/config/avr/libf7/libf7.h index 38ee27054da3..7226c0e38da9 100644 --- a/libgcc/config/avr/libf7/libf7.h +++ b/libgcc/config/avr/libf7/libf7.h @@ -95,12 +95,16 @@ typedef __INT64_TYPE__ int64_t; typedef __INT32_TYPE__ int32_t; typedef __INT16_TYPE__ int16_t; typedef __INT8_TYPE__ int8_t; -typedef _Bool bool; -#define false 0 -#define true 1 #define INT8_MIN (-1 - __INT8_MAX__) #define INT16_MAX __INT16_MAX__ #define NULL ((void*) 0) +#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L +/* bool, true and false are keywords. */ +#else +#define bool _Bool +#define true 1 +#define false 0 +#endif /* C23 ? */ #endif /* IN_LIBGCC2 */ #include "asm-defs.h"