https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=09e6aec0a0b361f40fc2b528aff8b18cb2a1745a

commit 09e6aec0a0b361f40fc2b528aff8b18cb2a1745a
Author:     Corinna Vinschen <[email protected]>
AuthorDate: Thu Feb 12 20:59:31 2026 +0100
Commit:     Corinna Vinschen <[email protected]>
CommitDate: Thu Feb 12 20:59:31 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 <[email protected]>

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 195300eb54d7..fc6874f9bc3e 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);

Reply via email to