diff options
Diffstat (limited to 'lib/limits.in.h')
-rw-r--r-- | lib/limits.in.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/limits.in.h b/lib/limits.in.h index ae46a5aa25f..a01b4c6a280 100644 --- a/lib/limits.in.h +++ b/lib/limits.in.h @@ -99,7 +99,7 @@ # endif #endif -/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ +/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */ #if (! defined ULLONG_WIDTH \ && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ @@ -117,13 +117,16 @@ # define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) #endif -/* Macros specified by C2x. */ +/* Macros specified by C23. */ -#if (! defined BOOL_WIDTH \ - && (defined _GNU_SOURCE \ - || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) -# define BOOL_MAX 1 -# define BOOL_WIDTH 1 +#if (defined _GNU_SOURCE \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)) +# if ! defined BOOL_WIDTH +# define BOOL_WIDTH 1 +# define BOOL_MAX 1 +# elif ! defined BOOL_MAX +# define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1) +# endif #endif #endif /* _@GUARD_PREFIX@_LIMITS_H */ |