[newlib-cygwin/main] Cygwin: winsup/cygwin/include/limits.h: Add C23 ..._WIDTH definitions
Corinna Vinschen via Cygwin-cvs <[email protected]> Thu, 9 Apr 2026 17:35:26 +0000 (GMT)
| Newsgroups | gmane.os.cygwin.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3D41ac0e8c777= 5fc437ab44d03125c3d4b5f7772c3 commit 41ac0e8c7775fc437ab44d03125c3d4b5f7772c3 Author: Joel Sherrill <[email protected]> AuthorDate: Wed Apr 8 10:19:02 2026 -0500 Commit: Corinna Vinschen <[email protected]> CommitDate: Thu Apr 9 12:37:51 2026 +0200 Cygwin: winsup/cygwin/include/limits.h: Add C23 ..._WIDTH definitions =20 C23 adds the following constants to reflect the bit width of various types: CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, and ULLONG_WIDTH. Diff: --- winsup/cygwin/include/limits.h | 56 ++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 56 insertions(+) diff --git a/winsup/cygwin/include/limits.h b/winsup/cygwin/include/limits.h index 28b7527f5180..8cb02c84d6ce 100644 --- a/winsup/cygwin/include/limits.h +++ b/winsup/cygwin/include/limits.h @@ -47,10 +47,20 @@ details. */ #undef SCHAR_MAX #define SCHAR_MAX 127 =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef SCHAR_WIDTH +#define SCHAR_WIDTH __SCHAR_WIDTH__ +#endif + /* Maximum value an `unsigned char' can hold. (Minimum is 0). */ #undef UCHAR_MAX #define UCHAR_MAX 255 =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef UCHAR_WIDTH +#define UCHAR_WIDTH __SCHAR_WIDTH__ +#endif + /* Minimum and maximum values a `char' can hold. */ #ifdef __CHAR_UNSIGNED__ #undef CHAR_MIN @@ -64,16 +74,31 @@ details. */ #define CHAR_MAX 127 #endif =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef CHAR_WIDTH +#define CHAR_WIDTH __SCHAR_WIDTH__ +#endif + /* Minimum and maximum values a `signed short int' can hold. */ #undef SHRT_MIN #define SHRT_MIN (-32768) #undef SHRT_MAX #define SHRT_MAX 32767 =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef SHRT_WIDTH +#define SHRT_WIDTH __SHRT_WIDTH__ +#endif + /* Maximum value an `unsigned short int' can hold. (Minimum is 0). */ #undef USHRT_MAX #define USHRT_MAX 65535 =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef USHRT_WIDTH +#define USHRT_WIDTH __SHRT_WIDTH__ +#endif + /* Minimum and maximum values a `signed int' can hold. */ #ifndef __INT_MAX__ #define __INT_MAX__ 2147483647 @@ -83,10 +108,20 @@ details. */ #undef INT_MAX #define INT_MAX __INT_MAX__ =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef INT_WIDTH +#define INT_WIDTH __INT_WIDTH__ +#endif + /* Maximum value an `unsigned int' can hold. (Minimum is 0). */ #undef UINT_MAX #define UINT_MAX (INT_MAX * 2U + 1) =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef UINT_WIDTH +#define UINT_WIDTH __INT_WIDTH__ +#endif + /* Minimum and maximum values a `signed long int' can hold. (Same as `int'). */ #ifndef __LONG_MAX__ @@ -97,10 +132,21 @@ details. */ #undef LONG_MAX #define LONG_MAX __LONG_MAX__ =20 + +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef LONG_WIDTH +#define LONG_WIDTH __LONG_WIDTH__ +#endif + /* Maximum value an `unsigned long int' can hold. (Minimum is 0). */ #undef ULONG_MAX #define ULONG_MAX (LONG_MAX * 2UL + 1) =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef ULONG_WIDTH +#define ULONG_WIDTH __LONG_WIDTH__ +#endif + /* Minimum and maximum values a `signed long long int' can hold. */ #ifndef __LONG_LONG_MAX__ #define __LONG_LONG_MAX__ 9223372036854775807LL @@ -124,11 +170,21 @@ details. */ #undef LLONG_MAX #define LLONG_MAX __LONG_LONG_MAX__ =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef LLONG_WIDTH +#define LLONG_WIDTH __LONG_LONG_WIDTH__ +#endif + /* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ #undef ULLONG_MAX #define ULLONG_MAX (LLONG_MAX * 2ULL + 1) #endif /* __ISO_C_VISIBLE >=3D 1999 */ =20 +#if defined(__STDC_WANT_IEC_60559_BFP_EXT__) || __ISO_C_VISIBLE >=3D 2023 +#undef ULLONG_WIDTH +#define ULLONG_WIDTH __LONG_LONG_WIDTH__ +#endif + /* Maximum size of ssize_t. Sadly, gcc doesn't give us __SSIZE_MAX__ the way it does for __SIZE_MAX__. On the other hand, we happen to know that for Cygwin, ssize_t is 'long' and this particular header