From 307b11179aeeab3a837ea287a5557763e99f6f89 Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Sat, 16 Nov 2024 22:12:05 +0100 Subject: 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. --- libgcc/config/avr/libf7/libf7.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'libgcc') diff --git a/libgcc/config/avr/libf7/libf7.h b/libgcc/config/avr/libf7/libf7.h index 38ee270..7226c0e 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" -- cgit v1.1