aboutsummaryrefslogtreecommitdiff
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
parent7c8df0b9441e34928f2d7d70531e3d55e016c32e (diff)
downloadglibc-42cc619dfbc44e263239c2de870bae11ad65810a.tar.xz
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.
-rw-r--r--NEWS7
-rw-r--r--bits/fenv.h2
-rw-r--r--bits/libc-header-start.h36
-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
-rw-r--r--libio/bits/stdio-ldbl.h8
-rw-r--r--libio/stdio.h6
-rw-r--r--manual/arith.texi22
-rw-r--r--manual/creature.texi10
-rw-r--r--manual/stdbit.texi30
-rw-r--r--manual/stdio.texi16
-rw-r--r--manual/time.texi6
-rw-r--r--math/bits/mathcalls.h14
-rw-r--r--math/fenv.h8
-rwxr-xr-xmath/gen-tgmath-tests.py4
-rw-r--r--math/libm-test-pow.inc2
-rw-r--r--math/math.h24
-rw-r--r--math/tgmath.h46
-rw-r--r--resolv/tst-inet_addr-binary.c2
-rw-r--r--stdio-common/Makefile5
-rw-r--r--stdio-common/tst-scanf-binary-c11.c4
-rw-r--r--stdio-common/tst-scanf-binary-c2x.c10
-rw-r--r--stdio-common/tst-scanf-binary-gnu11.c4
-rw-r--r--stdio-common/tst-scanf-binary-gnu89.c4
-rw-r--r--stdio-common/tst-scanf-binary-main.c6
-rw-r--r--stdlib/Makefile7
-rw-r--r--stdlib/bits/stdlib-ldbl.h2
-rw-r--r--stdlib/inttypes.h6
-rw-r--r--stdlib/stdint.h2
-rw-r--r--stdlib/stdlib.h6
-rw-r--r--stdlib/strtol.c4
-rw-r--r--stdlib/strtol_l.c4
-rw-r--r--stdlib/strtoll_l.c4
-rw-r--r--stdlib/strtoul_l.c4
-rw-r--r--stdlib/strtoull_l.c4
-rw-r--r--stdlib/tst-strtol-binary-c11.c4
-rw-r--r--stdlib/tst-strtol-binary-c2x.c8
-rw-r--r--stdlib/tst-strtol-binary-gnu11.c12
-rw-r--r--stdlib/tst-strtol-binary-gnu2x.c4
-rw-r--r--stdlib/tst-strtol-binary-main.c4
-rw-r--r--string/string.h6
-rw-r--r--sysdeps/aarch64/bits/fenv.h2
-rw-r--r--sysdeps/alpha/fpu/bits/fenv.h2
-rw-r--r--sysdeps/arm/bits/fenv.h2
-rw-r--r--sysdeps/csky/bits/fenv.h2
-rw-r--r--sysdeps/hppa/fpu/bits/fenv.h2
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/Makefile10
-rw-r--r--sysdeps/ieee754/ldbl-opt/Makefile10
-rw-r--r--sysdeps/loongarch/bits/fenv.h2
-rw-r--r--sysdeps/m68k/bits/fenv.h2
-rw-r--r--sysdeps/microblaze/bits/fenv.h2
-rw-r--r--sysdeps/mips/bits/fenv.h2
-rw-r--r--sysdeps/nios2/bits/fenv.h2
-rw-r--r--sysdeps/powerpc/bits/fenv.h2
-rw-r--r--sysdeps/riscv/bits/fenv.h2
-rw-r--r--sysdeps/s390/fpu/bits/fenv.h2
-rw-r--r--sysdeps/sh/bits/fenv.h2
-rw-r--r--sysdeps/sparc/fpu/bits/fenv.h2
-rw-r--r--sysdeps/x86/fpu/bits/fenv.h2
-rw-r--r--time/time.h8
-rw-r--r--wcsmbs/Makefile7
-rw-r--r--wcsmbs/bits/wchar-ldbl.h8
-rw-r--r--wcsmbs/tst-wcstol-binary-c11.c4
-rw-r--r--wcsmbs/tst-wcstol-binary-c2x.c8
-rw-r--r--wcsmbs/tst-wcstol-binary-gnu11.c12
-rw-r--r--wcsmbs/tst-wcstol-binary-gnu2x.c4
-rw-r--r--wcsmbs/tst-wscanf-binary-c11.c4
-rw-r--r--wcsmbs/tst-wscanf-binary-c2x.c10
-rw-r--r--wcsmbs/tst-wscanf-binary-gnu11.c4
-rw-r--r--wcsmbs/tst-wscanf-binary-gnu89.c4
-rw-r--r--wcsmbs/uchar.h8
-rw-r--r--wcsmbs/wchar.h12
-rw-r--r--wcsmbs/wcstol_l.c4
-rw-r--r--wcsmbs/wcstoll_l.c4
-rw-r--r--wcsmbs/wcstoul_l.c4
-rw-r--r--wcsmbs/wcstoull_l.c4
79 files changed, 300 insertions, 278 deletions
diff --git a/NEWS b/NEWS
index 39a55f5767..2d8eaffc58 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,13 @@ Major new features:
in order to support unsigned __int128 and/or unsigned _BitInt(N) operands
with arbitrary precisions when supported by the target.
+* The GNU C Library now supports a feature test macro _ISOC23_SOURCE to
+ enable features from the ISO C23 standard. Only some features from
+ this standard are supported by the GNU C Library. The older name
+ _ISOC2X_SOURCE is still supported. Features from C23 are also enabled
+ by _GNU_SOURCE, or by compiling with the GCC options -std=c23,
+ -std=gnu23, -std=c2x or -std=gnu2x.
+
Deprecated and removed features, and other changes affecting compatibility:
[Add deprecations, removals and changes affecting compatibility here]
diff --git a/bits/fenv.h b/bits/fenv.h
index 9f19295d65..aa0c549d4a 100644
--- a/bits/fenv.h
+++ b/bits/fenv.h
@@ -54,7 +54,7 @@ fenv_t;
/* If the default argument is used we use this value. */
#define FE_DFL_ENV ((const fenv_t *) -1l)
-#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
/* Type representing floating-point control modes. */
typedef unsigned int femode_t;
diff --git a/bits/libc-header-start.h b/bits/libc-header-start.h
index d841f5d8cf..4ab1304b0d 100644
--- a/bits/libc-header-start.h
+++ b/bits/libc-header-start.h
@@ -44,23 +44,23 @@
/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
macro. Most but not all symbols enabled by that macro in TS
- 18661-1 are enabled unconditionally in C2X. In C2X, the symbols in
+ 18661-1 are enabled unconditionally in C23. In C23, the symbols in
Annex F still require a new feature test macro
- __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
+ __STDC_WANT_IEC_60559_EXT__ instead (C23 does not define
__STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
- 18661-1 are not included in C2X (and thus should depend on
- __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
+ 18661-1 are not included in C23 (and thus should depend on
+ __STDC_WANT_IEC_60559_BFP_EXT__ even when C23 features are
enabled).
__GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
- 18661-1 not included in C2X.
+ 18661-1 not included in C23.
- __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
- 18661-1 that are also included in C2X (with no feature test macro
- required in C2X).
+ __GLIBC_USE (IEC_60559_BFP_EXT_C23) controls those features from TS
+ 18661-1 that are also included in C23 (with no feature test macro
+ required in C23).
__GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
- that are included in C2X but conditional on
+ that are included in C23 but conditional on
__STDC_WANT_IEC_60559_EXT__. (There are currently no features
conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
18661-1.) */
@@ -70,11 +70,11 @@
#else
# define __GLIBC_USE_IEC_60559_BFP_EXT 0
#endif
-#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X
-#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)
-# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1
+#undef __GLIBC_USE_IEC_60559_BFP_EXT_C23
+#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC23)
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C23 1
#else
-# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C23 0
#endif
#undef __GLIBC_USE_IEC_60559_EXT
#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__
@@ -86,18 +86,18 @@
/* ISO/IEC TS 18661-4:2015 defines the
__STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
functions, the symbols from this TS are enabled unconditionally in
- C2X. */
+ C23. */
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
#else
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
#endif
-#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
-#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)
-# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1
+#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C23
+#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC23)
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1
#else
-# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 0
#endif
/* ISO/IEC TS 18661-3:2015 defines the
diff --git a/inc