[PATCH] sys/features.h: Define _ISOC2Y_SOURCE and __ISO_C_VISIBLE

Lenard Mollenkopf <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Add feature test for C2Y code. Add matching definitions
_ISOC2Y_SOURCE for requesting sources and __ISO_C_VISIBLE
to be used in headers.

Signed-off-by: Lenard Mollenkopf <[email protected]>
---
 newlib/libc/include/sys/features.h | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h
index 00c3bba9c..3fc5d87a7 100644
--- a/newlib/libc/include/sys/features.h
+++ b/newlib/libc/include/sys/features.h
@@ -93,6 +93,9 @@ extern "C" {
  * _ISOC2x_SOURCE or gcc -std=c2x or g++ -std=c++20
  *	ISO C2x
  *
+ * _ISOC2y_SOURCE or gcc -std=c2y or g++ -std=c++26
+ *	ISO C2y
+ *
  * _ATFILE_SOURCE (implied by _POSIX_C_SOURCE >= 200809L)
  *	"at" functions
  *
@@ -122,6 +125,8 @@ extern "C" {
 #define	_ISOC11_SOURCE		1
 #undef _ISOC2X_SOURCE
 #define	_ISOC2X_SOURCE		1
+#undef _ISOC2Y_SOURCE
+#define	_ISOC2Y_SOURCE		1
 #undef _POSIX_SOURCE
 #define	_POSIX_SOURCE		1
 #undef _POSIX_C_SOURCE
@@ -232,6 +237,11 @@ extern "C" {
  *	g++ -std=c++20 or newer, or with
  *	_ISOC2X_SOURCE.
  *
+ * __ISO_C_VISIBLE >= 2024
+ *	ISO C2y; enabled with gcc -std=c2y or newer,
+ *	g++ -std=c++26 or newer, or with
+ *	_ISOC2y_SOURCE.
+ *
  * __ATFILE_VISIBLE
  *	"at" functions; enabled by default, with _ATFILE_SOURCE,
  *	_POSIX_C_SOURCE >= 200809L, or _XOPEN_SOURCE >= 700.
@@ -278,7 +288,10 @@ extern "C" {
 #define	__GNU_VISIBLE		0
 #endif
 
-#if defined(_ISOC2X_SOURCE) || \
+#if defined(_ISOC2Y_SOURCE) || \
+  (__STDC_VERSION__ - 0) >= 202400L || (__cplusplus - 0) >= 202400L
+#define __ISO_C_VISIBLE		2024
+#elif defined(_ISOC2X_SOURCE) || \
   (__STDC_VERSION__ - 0) > 201710L || (__cplusplus - 0) >= 202002L
 #define __ISO_C_VISIBLE		2020
 #elif defined(_ISOC11_SOURCE) || \
-- 
2.47.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.