[newlib-cygwin/cygwin-3_6-branch] features.h: define __ISO_C_VISIBLE as 2023 for ISO C23
Corinna Vinschen
corinna@sourceware.org
Thu Feb 12 20:33:05 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9f233b2c8bcce1fc0d2313b416c329c4e4859562
commit 9f233b2c8bcce1fc0d2313b416c329c4e4859562
Author: Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Thu Feb 12 20:59:31 2026 +0100
Commit: Corinna Vinschen <corinna@vinschen.de>
CommitDate: Thu Feb 12 21:15:36 2026 +0100
features.h: define __ISO_C_VISIBLE as 2023 for ISO C23
Aligned definition with FreeBSD to simplify porting FreeBSD headers.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
(cherry picked from commit 09e6aec0a0b361f40fc2b528aff8b18cb2a1745a)
Diff:
---
newlib/libc/include/stdatomic.h | 4 ++--
newlib/libc/include/sys/features.h | 4 ++--
winsup/cygwin/include/uchar.h | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/newlib/libc/include/stdatomic.h b/newlib/libc/include/stdatomic.h
index d64d06666e1f..204d11133170 100644
--- a/newlib/libc/include/stdatomic.h
+++ b/newlib/libc/include/stdatomic.h
@@ -54,7 +54,7 @@
#ifdef __GCC_ATOMIC_CHAR_LOCK_FREE
#define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE
#endif
-#if __ISO_C_VISIBLE >= 2020 && defined(__GCC_ATOMIC_CHAR8_T_LOCK_FREE)
+#if __ISO_C_VISIBLE >= 2023 && defined(__GCC_ATOMIC_CHAR8_T_LOCK_FREE)
#define ATOMIC_CHAR8_T_LOCK_FREE __GCC_ATOMIC_CHAR8_T_LOCK_FREE
#endif
#ifdef __GCC_ATOMIC_CHAR16_T_LOCK_FREE
@@ -202,7 +202,7 @@ typedef _Atomic(long) atomic_long;
typedef _Atomic(unsigned long) atomic_ulong;
typedef _Atomic(long long) atomic_llong;
typedef _Atomic(unsigned long long) atomic_ullong;
-#if __ISO_C_VISIBLE >= 2020
+#if __ISO_C_VISIBLE >= 2023
typedef _Atomic(unsigned char) atomic_char8_t;
#endif
typedef _Atomic(__char16_t) atomic_char16_t;
diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h
index 58f7c7000865..6588d8bdc32e 100644
--- a/newlib/libc/include/sys/features.h
+++ b/newlib/libc/include/sys/features.h
@@ -234,7 +234,7 @@ extern "C" {
* g++ -std=c++11 or newer (on by default since GCC 6), or with
* _ISOC11_SOURCE.
*
- * __ISO_C_VISIBLE >= 2020
+ * __ISO_C_VISIBLE >= 2023
* ISO C23; enabled with gcc -std=c23 or newer,
* g++ -std=c++20 or newer, or with
* _ISOC23_SOURCE or _ISOC2x_SOURCE.
@@ -288,7 +288,7 @@ extern "C" {
#if defined(_ISOC23_SOURCE) || \
(defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0) > 201710L) || \
(defined(__cplusplus) && (__cplusplus - 0) >= 202002L)
-#define __ISO_C_VISIBLE 2020
+#define __ISO_C_VISIBLE 2023
#elif defined(_ISOC11_SOURCE) || \
(defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0) >= 201112L) || \
(defined(__cplusplus) && (__cplusplus - 0) >= 201103L)
diff --git a/winsup/cygwin/include/uchar.h b/winsup/cygwin/include/uchar.h
index 67e221cde115..c2c9dddb6b78 100644
--- a/winsup/cygwin/include/uchar.h
+++ b/winsup/cygwin/include/uchar.h
@@ -5,7 +5,7 @@
#include <wchar.h>
/* Either C23 or if C++ doesn't already define char8_t */
-#if __ISO_C_VISIBLE >= 2020 && !defined (__cpp_char8_t)
+#if __ISO_C_VISIBLE >= 2023 && !defined (__cpp_char8_t)
typedef unsigned char char8_t;
#endif
@@ -18,7 +18,7 @@ typedef __char32_t char32_t;
__BEGIN_DECLS
/* Either C23 or if C++ defines char8_t */
-#if __ISO_C_VISIBLE >= 2020 || defined (__cpp_char8_t)
+#if __ISO_C_VISIBLE >= 2023 || defined (__cpp_char8_t)
size_t c8rtomb(char * __restrict, char8_t, mbstate_t * __restrict);
size_t mbrtoc8(char8_t * __restrict, const char * __restrict, size_t,
mbstate_t * __restrict);
More information about the Cygwin-cvs
mailing list