aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJoseph Myers <josmyers@redhat.com>2024-02-01 11:02:01 +0000
committerJoseph Myers <josmyers@redhat.com>2024-02-01 11:02:01 +0000
commit42cc619dfbc44e263239c2de870bae11ad65810a (patch)
tree13f7e2f0ad1e9b3c4a36f9ecd4e3e49b1d268120 /include
parent7c8df0b9441e34928f2d7d70531e3d55e016c32e (diff)
downloadglibc-42cc619dfbc44e263239c2de870bae11ad65810a.tar
glibc-42cc619dfbc44e263239c2de870bae11ad65810a.tar.gz
glibc-42cc619dfbc44e263239c2de870bae11ad65810a.tar.bz2
glibc-42cc619dfbc44e263239c2de870bae11ad65810a.zip
Refer to C23 in place of C2X in glibc
WG14 decided to use the name C23 as the informal name of the next revision of the C standard (notwithstanding the publication date in 2024). Update references to C2X in glibc to use the C23 name. This is intended to update everything *except* where it involves renaming files (the changes involving renaming tests are intended to be done separately). In the case of the _ISOC2X_SOURCE feature test macro - the only user-visible interface involved - support for that macro is kept for backwards compatibility, while adding _ISOC23_SOURCE. Tested for x86_64.
Diffstat (limited to 'include')
-rw-r--r--include/features.h44
-rw-r--r--include/limits.h6
-rw-r--r--include/stdio.h2
-rw-r--r--include/stdlib.h4
-rw-r--r--include/wchar.h4
5 files changed, 34 insertions, 26 deletions
diff --git a/include/features.h b/include/features.h
index fc164d332a..d92503dfed 100644
--- a/include/features.h
+++ b/include/features.h
@@ -24,7 +24,8 @@
__STRICT_ANSI__ ISO Standard C.
_ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
_ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
- _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+ _ISOC23_SOURCE Extensions to ISO C99 from ISO C23.
+ _ISOC2X_SOURCE Old name for _ISOC23_SOURCE.
__STDC_WANT_LIB_EXT2__
Extensions to ISO C99 from TR 27431-2:2010.
__STDC_WANT_IEC_60559_BFP_EXT__
@@ -34,7 +35,7 @@
__STDC_WANT_IEC_60559_TYPES_EXT__
Extensions to ISO C11 from TS 18661-3:2015.
__STDC_WANT_IEC_60559_EXT__
- ISO C2X interfaces defined only in Annex F.
+ ISO C23 interfaces defined only in Annex F.
_POSIX_SOURCE IEEE Std 1003.1.
_POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
@@ -148,10 +149,10 @@
#undef __USE_GNU
#undef __USE_FORTIFY_LEVEL
#undef __KERNEL_STRICT_NAMES
-#undef __GLIBC_USE_ISOC2X
+#undef __GLIBC_USE_ISOC23
#undef __GLIBC_USE_DEPRECATED_GETS
#undef __GLIBC_USE_DEPRECATED_SCANF
-#undef __GLIBC_USE_C2X_STRTOL
+#undef __GLIBC_USE_C23_STRTOL
/* Suppress kernel-name space pollution unless user expressedly asks
for it. */
@@ -198,6 +199,13 @@
# define _DEFAULT_SOURCE 1
#endif
+/* Remap the old name _ISOC2X_SOURCE to _ISOC23_SOURCE. */
+#ifdef _ISOC2X_SOURCE
+# undef _ISOC2X_SOURCE
+# undef _ISOC23_SOURCE
+# define _ISOC23_SOURCE 1
+#endif
+
/* If _GNU_SOURCE was defined by the user, turn on all the other features. */
#ifdef _GNU_SOURCE
# undef _ISOC95_SOURCE
@@ -206,8 +214,8 @@
# define _ISOC99_SOURCE 1
# undef _ISOC11_SOURCE
# define _ISOC11_SOURCE 1
-# undef _ISOC2X_SOURCE
-# define _ISOC2X_SOURCE 1
+# undef _ISOC23_SOURCE
+# define _ISOC23_SOURCE 1
# undef _POSIX_SOURCE
# define _POSIX_SOURCE 1
# undef _POSIX_C_SOURCE
@@ -231,37 +239,37 @@
#if (defined _DEFAULT_SOURCE \
|| (!defined __STRICT_ANSI__ \
&& !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \
- && !defined _ISOC2X_SOURCE \
+ && !defined _ISOC23_SOURCE \
&& !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
&& !defined _XOPEN_SOURCE))
# undef _DEFAULT_SOURCE
# define _DEFAULT_SOURCE 1
#endif
-/* This is to enable the ISO C2X extension. */
-#if (defined _ISOC2X_SOURCE \
+/* This is to enable the ISO C23 extension. */
+#if (defined _ISOC23_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L))
-# define __GLIBC_USE_ISOC2X 1
+# define __GLIBC_USE_ISOC23 1
#else
-# define __GLIBC_USE_ISOC2X 0
+# define __GLIBC_USE_ISOC23 0
#endif
/* This is to enable the ISO C11 extension. */
-#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \
+#if (defined _ISOC11_SOURCE || defined _ISOC23_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))
# define __USE_ISOC11 1
#endif
/* This is to enable the ISO C99 extension. */
#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
- || defined _ISOC2X_SOURCE \
+ || defined _ISOC23_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
# define __USE_ISOC99 1
#endif
/* This is to enable the ISO C90 Amendment 1:1995 extension. */
#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
- || defined _ISOC2X_SOURCE \
+ || defined _ISOC23_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))
# define __USE_ISOC95 1
#endif
@@ -465,15 +473,15 @@
# define __GLIBC_USE_DEPRECATED_SCANF 0
#endif
-/* ISO C2X added support for a 0b or 0B prefix on binary constants as
+/* ISO C23 added support for a 0b or 0B prefix on binary constants as
inputs to strtol-family functions (base 0 or 2). This macro is
used to condition redirection in headers to allow that redirection
to be disabled when building those functions, despite _GNU_SOURCE
being defined. */
-#if __GLIBC_USE (ISOC2X)
-# define __GLIBC_USE_C2X_STRTOL 1
+#if __GLIBC_USE (ISOC23)
+# define __GLIBC_USE_C23_STRTOL 1
#else
-# define __GLIBC_USE_C2X_STRTOL 0
+# define __GLIBC_USE_C23_STRTOL 0
#endif
/* Get definitions of __STDC_* predefined macros, if the compiler has
diff --git a/include/limits.h b/include/limits.h
index 87796f213e..e5576fcfcb 100644
--- a/include/limits.h
+++ b/include/limits.h
@@ -142,7 +142,7 @@
/* The integer width macros are not defined by GCC's <limits.h> before
GCC 7, or if _GNU_SOURCE rather than
__STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */
-#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
# ifndef CHAR_WIDTH
# define CHAR_WIDTH 8
# endif
@@ -179,9 +179,9 @@
#endif /* Use IEC_60559_BFP_EXT. */
/* The macros for _Bool are not defined by GCC's <limits.h> before GCC
- 11, or if _GNU_SOURCE is defined rather than enabling C2x support
+ 11, or if _GNU_SOURCE is defined rather than enabling C23 support
with -std. */
-#if __GLIBC_USE (ISOC2X)
+#if __GLIBC_USE (ISOC23)
# ifndef BOOL_MAX
# define BOOL_MAX 1
# endif
diff --git a/include/stdio.h b/include/stdio.h
index 7e70f95c6d..24f1652f19 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -115,7 +115,7 @@ libc_hidden_proto (__isoc23_sscanf)
libc_hidden_proto (__isoc23_vsscanf)
libc_hidden_proto (__isoc23_vfscanf)
-/* Internal uses of sscanf should call the C2X-compliant version.
+/* Internal uses of sscanf should call the C23-compliant version.
Unfortunately, symbol redirection is not transitive, so the
__REDIRECT in the public header does not link up with the above
libc_hidden_proto. Bridge the gap with a macro. */
diff --git a/include/stdlib.h b/include/stdlib.h
index 580da9be15..0cab3f5b56 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -53,8 +53,8 @@ libc_hidden_proto (__isoc23_strtoul_l)
libc_hidden_proto (__isoc23_strtoll_l)
libc_hidden_proto (__isoc23_strtoull_l)
-#if __GLIBC_USE (C2X_STRTOL)
-/* Redirect internal uses of these functions to the C2X versions; the
+#if __GLIBC_USE (C23_STRTOL)
+/* Redirect internal uses of these functions to the C23 versions; the
redirection in the installed header does not work with
libc_hidden_proto. */
# undef strtol
diff --git a/include/wchar.h b/include/wchar.h
index 484e6b3fef..bf32625736 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -53,8 +53,8 @@ libc_hidden_proto (__isoc23_wcstoul_l)
libc_hidden_proto (__isoc23_wcstoll_l)
libc_hidden_proto (__isoc23_wcstoull_l)
-#if __GLIBC_USE (C2X_STRTOL)
-/* Redirect internal uses of these functions to the C2X versions; the
+#if __GLIBC_USE (C23_STRTOL)
+/* Redirect internal uses of these functions to the C23 versions; the
redirection in the installed header does not work with
libc_hidden_proto. */
# undef wcstol