Declare most TS 18661-1 interfaces for C2X

Message ID alpine.DEB.2.21.1908122339460.18203@digraph.polyomino.org.uk
State Committed
Headers

Commit Message

Joseph Myers Aug. 12, 2019, 11:40 p.m. UTC
  C2X adds the interfaces from TS 18661-1, and all except a handful in
Annex F are unconditionally visible in C2X rather than only visible
when __STDC_WANT_IEC_60559_BFP_EXT__ is defined.  This patch updates
glibc headers accordingly: most uses of __GLIBC_USE
(IEC_60559_BFP_EXT) are changed to a new __GLIBC_USE
(IEC_60559_BFP_EXT_C2X).  (Regarding totalorder and totalordermag, the
type-generic macros in tgmath.h will go away when the functions are
changed to take pointer arguments.)

2019-08-12  Joseph Myers  <joseph@codesourcery.com>

	* bits/libc-header-start.h (__GLIBC_USE_IEC_60559_BFP_EXT): Update
	comment.
	(__GLIBC_USE_IEC_60559_BFP_EXT_C2X): New macro.
	* bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Change to
	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)].
	* include/limits.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
	* math/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
	* math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
	* stdlib/bits/stdlib-ldbl.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* stdlib/stdint.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
	* stdlib/stdlib.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
	* sysdeps/aarch64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/alpha/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/arm/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/csky/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/hppa/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/ia64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/m68k/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/microblaze/bits/fenv.h [__GLIBC_USE
	(IEC_60559_BFP_EXT)]: Likewise.
	* sysdeps/mips/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/nios2/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/powerpc/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/riscv/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/s390/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/sh/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/sparc/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* sysdeps/x86/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise.
	* math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
	Likewise, except for totalorder, totalordermag, getpayload,
	setpayload and setpayloadsig.
	* math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise,
	except for totalorder and totalordermag.

---

This patch is relative to a tree with
<https://sourceware.org/ml/libc-alpha/2019-08/msg00173.html> and
<https://sourceware.org/ml/libc-alpha/2019-08/msg00182.html> (pending
review) applied.  I intend to commit it once those are in.
  

Comments

Andreas Schwab Aug. 13, 2019, 7:22 a.m. UTC | #1
On Aug 12 2019, Joseph Myers <joseph@codesourcery.com> wrote:

> 	* bits/libc-header-start.h (__GLIBC_USE_IEC_60559_BFP_EXT): Update
> 	comment.
> 	(__GLIBC_USE_IEC_60559_BFP_EXT_C2X): New macro.
> 	* bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Change to
> 	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)].
> 	* include/limits.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
> 	* math/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
> 	* math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
> 	* stdlib/bits/stdlib-ldbl.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* stdlib/stdint.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
> 	* stdlib/stdlib.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise.
> 	* sysdeps/aarch64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/alpha/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/arm/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/csky/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/hppa/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/ia64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/m68k/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/microblaze/bits/fenv.h [__GLIBC_USE
> 	(IEC_60559_BFP_EXT)]: Likewise.
> 	* sysdeps/mips/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/nios2/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/powerpc/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/riscv/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/s390/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/sh/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/sparc/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* sysdeps/x86/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise.
> 	* math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]:
> 	Likewise, except for totalorder, totalordermag, getpayload,
> 	setpayload and setpayloadsig.
> 	* math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise,
> 	except for totalorder and totalordermag.

Ok.

Andreas.
  

Patch

diff --git a/bits/fenv.h b/bits/fenv.h
index c7ba575a87..d4870bf334 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)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* 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 72efab29f2..f2acc5333e 100644
--- a/bits/libc-header-start.h
+++ b/bits/libc-header-start.h
@@ -43,13 +43,21 @@ 
 #endif
 
 /* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
-   macro.  */
+   macro.  Most but not all symbols enabled by that macro in TS
+   18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+   still require that macro in C2X.  */
 #undef __GLIBC_USE_IEC_60559_BFP_EXT
 #if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
 # define __GLIBC_USE_IEC_60559_BFP_EXT 1
 #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
+#else
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
+#endif
 
 /* ISO/IEC TS 18661-4:2015 defines the
    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  */
diff --git a/include/limits.h b/include/limits.h
index 08bb5248be..80b5dbbfaf 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)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 # ifndef CHAR_WIDTH
 #  define CHAR_WIDTH 8
 # endif
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 3c3a77f482..3d1dc07d98 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -261,7 +261,7 @@  __MATHCALL (nextafter,, (_Mdouble_ __x, _Mdouble_ __y));
 __MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y));
 # endif
 
-# if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+# if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
 /* Return X - epsilon.  */
 __MATHCALL (nextdown,, (_Mdouble_ __x));
 /* Return X + epsilon.  */
@@ -280,7 +280,7 @@  __MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
 __MATHDECL (int,ilogb,, (_Mdouble_ __x));
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
 /* Like ilogb, but returning long int.  */
 __MATHDECL (long int, llogb,, (_Mdouble_ __x));
 #endif
@@ -335,7 +335,7 @@  __MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
 __MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
 #endif /* Use ISO C99.  */
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
 /* Round X to nearest integer value, rounding halfway cases to even.  */
 __MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__));
 
@@ -367,6 +367,11 @@  __MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
 /* Return value with minimum magnitude.  */
 __MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
 
+/* Canonicalize floating-point representation.  */
+__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
+#endif
+
+#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
 /* Total order operation.  */
 __MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))
      __attribute__ ((__const__));
@@ -375,9 +380,6 @@  __MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))
 __MATHDECL_1 (int, totalordermag,, (_Mdouble_ __x, _Mdouble_ __y))
      __attribute__ ((__const__));
 
-/* Canonicalize floating-point representation.  */
-__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
-
 /* Get NaN payload.  */
 __MATHCALL (getpayload,, (const _Mdouble_ *__x));
 
diff --git a/math/fenv.h b/math/fenv.h
index 8722269e0d..bcd6ef32ac 100644
--- a/math/fenv.h
+++ b/math/fenv.h
@@ -77,7 +77,7 @@  extern int fegetexceptflag (fexcept_t *__flagp, int __excepts) __THROW;
 /* Raise the supported exceptions represented by EXCEPTS.  */
 extern int feraiseexcept (int __excepts) __THROW;
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Set the supported exception flags represented by EXCEPTS, without
    causing enabled traps to be taken.  */
 extern int fesetexcept (int __excepts) __THROW;
@@ -91,7 +91,7 @@  extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;
    currently set.  */
 extern int fetestexcept (int __excepts) __THROW;
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Determine which of subset of the exceptions specified by EXCEPTS
    are set in *FLAGP.  */
 extern int fetestexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;
@@ -130,7 +130,7 @@  extern int feupdateenv (const fenv_t *__envp) __THROW;
 
 /* Control modes.  */
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Store the current floating-point control modes in the object
    pointed to by MODEP.  */
 extern int fegetmode (femode_t *__modep) __THROW;
@@ -147,7 +147,7 @@  extern int fesetmode (const femode_t *__modep) __THROW;
 
 /* NaN support.  */
 
-#if (__GLIBC_USE (IEC_60559_BFP_EXT)		\
+#if (__GLIBC_USE (IEC_60559_BFP_EXT_C2X)		\
      && defined FE_INVALID			\
      && defined __SUPPORT_SNAN__)
 # define FE_SNANS_ALWAYS_SIGNAL	1
diff --git a/math/math.h b/math/math.h
index d70ec3877c..e738d36e52 100644
--- a/math/math.h
+++ b/math/math.h
@@ -104,7 +104,7 @@  __BEGIN_DECLS
 # endif
 #endif /* __USE_ISOC99 */
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Signaling NaN macros, if supported.  */
 # if __GNUC_PREREQ (3, 3)
 #  define SNANF (__builtin_nansf (""))
@@ -200,7 +200,7 @@  typedef _Float128x double_t;
 #  define FP_ILOGBNAN	2147483647
 # endif
 #endif
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 # if __WORDSIZE == 32
 #  define __FP_LONG_MAX 0x7fffffffL
 # else
@@ -232,7 +232,7 @@  typedef _Float128x double_t;
 
 #include <bits/fp-fast.h>
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Rounding direction macros for fromfp functions.  */
 enum
   {
@@ -495,7 +495,7 @@  extern long double __REDIRECT_NTH (nexttowardl,
 #define __MATHCALL_NARROW(func, redir, nargs)	\
   __MATHCALL_NARROW_NORMAL (func, nargs)
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 
 # define _Mret_ float
 # define _Marg_ double
@@ -969,7 +969,7 @@  enum
 
 #endif /* Use ISO C99.  */
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 # include <bits/iscanonical.h>
 
 /* Return nonzero value if X is a signaling NaN.  */
@@ -1466,7 +1466,7 @@  iszero (__T __val)
 
 #endif /* __FINITE_MATH_ONLY__ > 0.  */
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* An expression whose type has the widest of the evaluation formats
    of X and Y (which are of floating-point types).  */
 # if __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ > 64
diff --git a/math/tgmath.h b/math/tgmath.h
index d37a1567f8..0c00e66b42 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -661,7 +661,7 @@ 
    prevailing rounding mode.  */
 #define rint(Val) __TGMATH_UNARY_REAL_ONLY (Val, rint)
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Return X - epsilon.  */
 # define nextdown(Val) __TGMATH_UNARY_REAL_ONLY (Val, nextdown)
 /* Return X + epsilon.  */
@@ -706,7 +706,7 @@ 
 #define fma(Val1, Val2, Val3) \
      __TGMATH_TERNARY_REAL_ONLY (Val1, Val2, Val3, fma)
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Round X to nearest integer value, rounding halfway cases to even.  */
 # define roundeven(Val) __TGMATH_UNARY_REAL_ONLY (Val, roundeven)
 
@@ -730,7 +730,9 @@ 
 
 /* Return value with minimum magnitude.  */
 # define fminmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminmag)
+#endif
 
+#if __GLIBC_USE (IEC_60559_BFP_EXT)
 /* Total order operation.  */
 # define totalorder(Val1, Val2)					\
   __TGMATH_BINARY_REAL_RET_ONLY (Val1, Val2, totalorder)
diff --git a/stdlib/bits/stdlib-ldbl.h b/stdlib/bits/stdlib-ldbl.h
index ca460fa3b6..ab37bdd467 100644
--- a/stdlib/bits/stdlib-ldbl.h
+++ b/stdlib/bits/stdlib-ldbl.h
@@ -28,7 +28,7 @@  __LDBL_REDIR1_DECL (strtold, strtod)
 __LDBL_REDIR1_DECL (strtold_l, strtod_l)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 __LDBL_REDIR1_DECL (strfroml, strfromd)
 #endif
 
diff --git a/stdlib/stdint.h b/stdlib/stdint.h
index 1ad538fc48..af580f2ee7 100644
--- a/stdlib/stdint.h
+++ b/stdlib/stdint.h
@@ -273,7 +273,7 @@  typedef __uintmax_t		uintmax_t;
 #  define UINTMAX_C(c)	c ## ULL
 # endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 
 # define INT8_WIDTH 8
 # define UINT8_WIDTH 8
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index a9fd989d39..827e44b8d0 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -208,7 +208,7 @@  extern unsigned long long int strtoull (const char *__restrict __nptr,
 #endif /* ISO C99 or use MISC.  */
 
 /* Convert a floating-point number to a string.  */
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 extern int strfromd (char *__dest, size_t __size, const char *__format,
 		     double __f)
      __THROW __nonnull ((3));
diff --git a/sysdeps/aarch64/bits/fenv.h b/sysdeps/aarch64/bits/fenv.h
index 7b1597fe51..a7721911d1 100644
--- a/sysdeps/aarch64/bits/fenv.h
+++ b/sysdeps/aarch64/bits/fenv.h
@@ -73,7 +73,7 @@  fenv_t;
 # define FE_NOMASK_ENV  ((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/alpha/fpu/bits/fenv.h b/sysdeps/alpha/fpu/bits/fenv.h
index 06d8bea5c2..11b84a4c5d 100644
--- a/sysdeps/alpha/fpu/bits/fenv.h
+++ b/sysdeps/alpha/fpu/bits/fenv.h
@@ -132,7 +132,7 @@  typedef unsigned long int fenv_t;
 extern unsigned long int __ieee_get_fp_control (void) __THROW;
 extern void __ieee_set_fp_control (unsigned long int __value) __THROW;
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned long int femode_t;
 
diff --git a/sysdeps/arm/bits/fenv.h b/sysdeps/arm/bits/fenv.h
index 397c361d86..623eab07f3 100644
--- a/sysdeps/arm/bits/fenv.h
+++ b/sysdeps/arm/bits/fenv.h
@@ -81,7 +81,7 @@  fenv_t;
 # define FE_NOMASK_ENV  ((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/csky/bits/fenv.h b/sysdeps/csky/bits/fenv.h
index fe29131859..7559ef48c5 100644
--- a/sysdeps/csky/bits/fenv.h
+++ b/sysdeps/csky/bits/fenv.h
@@ -102,7 +102,7 @@  typedef struct
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/hppa/fpu/bits/fenv.h b/sysdeps/hppa/fpu/bits/fenv.h
index e24411bc57..4b04ddb014 100644
--- a/sysdeps/hppa/fpu/bits/fenv.h
+++ b/sysdeps/hppa/fpu/bits/fenv.h
@@ -90,7 +90,7 @@  typedef struct
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/ia64/bits/fenv.h b/sysdeps/ia64/bits/fenv.h
index b31764fe8d..ac09a0d6d4 100644
--- a/sysdeps/ia64/bits/fenv.h
+++ b/sysdeps/ia64/bits/fenv.h
@@ -95,7 +95,7 @@  typedef unsigned long int fenv_t;
 # define FE_NONIEEE_ENV ((const fenv_t *) 0xc009a04d0270037fUL)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned long int femode_t;
 
diff --git a/sysdeps/m68k/bits/fenv.h b/sysdeps/m68k/bits/fenv.h
index 8b51ab2091..0ca3789fa9 100644
--- a/sysdeps/m68k/bits/fenv.h
+++ b/sysdeps/m68k/bits/fenv.h
@@ -122,7 +122,7 @@  fenv_t;
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/microblaze/bits/fenv.h b/sysdeps/microblaze/bits/fenv.h
index d249e578de..602771350c 100644
--- a/sysdeps/microblaze/bits/fenv.h
+++ b/sysdeps/microblaze/bits/fenv.h
@@ -41,7 +41,7 @@  typedef unsigned int 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)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/mips/bits/fenv.h b/sysdeps/mips/bits/fenv.h
index a5a9633b7e..f0c9cbd6b2 100644
--- a/sysdeps/mips/bits/fenv.h
+++ b/sysdeps/mips/bits/fenv.h
@@ -104,7 +104,7 @@  fenv_t;
 # define FE_NOMASK_ENV  ((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/nios2/bits/fenv.h b/sysdeps/nios2/bits/fenv.h
index f7dcd1091a..3504d33d31 100644
--- a/sysdeps/nios2/bits/fenv.h
+++ b/sysdeps/nios2/bits/fenv.h
@@ -43,7 +43,7 @@  typedef unsigned int fenv_t;
 /* If the default argument is used we use this value.  */
 #define FE_DFL_ENV	((const fenv_t *) -1)
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/powerpc/bits/fenv.h b/sysdeps/powerpc/bits/fenv.h
index ab2fa5f9bc..697be96ccb 100644
--- a/sysdeps/powerpc/bits/fenv.h
+++ b/sysdeps/powerpc/bits/fenv.h
@@ -170,7 +170,7 @@  extern const fenv_t __fe_nonieee_env;
 
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef double femode_t;
 
diff --git a/sysdeps/riscv/bits/fenv.h b/sysdeps/riscv/bits/fenv.h
index 86295eac0c..75d4ceecc3 100644
--- a/sysdeps/riscv/bits/fenv.h
+++ b/sysdeps/riscv/bits/fenv.h
@@ -65,7 +65,7 @@  typedef unsigned int fenv_t;
 /* If the default argument is used we use this value.  */
 #define FE_DFL_ENV	((__const fenv_t *) -1)
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/s390/fpu/bits/fenv.h b/sysdeps/s390/fpu/bits/fenv.h
index a9aa37b2c4..3ed681fe39 100644
--- a/sysdeps/s390/fpu/bits/fenv.h
+++ b/sysdeps/s390/fpu/bits/fenv.h
@@ -91,7 +91,7 @@  typedef struct
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/sh/bits/fenv.h b/sysdeps/sh/bits/fenv.h
index 5dee99e2ba..efaf33ceff 100644
--- a/sysdeps/sh/bits/fenv.h
+++ b/sysdeps/sh/bits/fenv.h
@@ -75,7 +75,7 @@  fenv_t;
 /* If the default argument is used we use this value.  */
 #define FE_DFL_ENV	((const fenv_t *) -1)
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned int femode_t;
 
diff --git a/sysdeps/sparc/fpu/bits/fenv.h b/sysdeps/sparc/fpu/bits/fenv.h
index 56010236e4..413728115d 100644
--- a/sysdeps/sparc/fpu/bits/fenv.h
+++ b/sysdeps/sparc/fpu/bits/fenv.h
@@ -92,7 +92,7 @@  typedef unsigned long int fenv_t;
 # define __fenv_ldfsr(X)   __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef unsigned long int femode_t;
 
diff --git a/sysdeps/x86/fpu/bits/fenv.h b/sysdeps/x86/fpu/bits/fenv.h
index 3f876e01a7..6fe6e56bd5 100644
--- a/sysdeps/x86/fpu/bits/fenv.h
+++ b/sysdeps/x86/fpu/bits/fenv.h
@@ -101,7 +101,7 @@  fenv_t;
 # define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
 /* Type representing floating-point control modes.  */
 typedef struct
   {