summaryrefslogtreecommitdiff
path: root/gcc/ginclude/float.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ginclude/float.h')
-rw-r--r--gcc/ginclude/float.h183
1 files changed, 182 insertions, 1 deletions
diff --git a/gcc/ginclude/float.h b/gcc/ginclude/float.h
index 862f7cc40b4..de46a2711a9 100644
--- a/gcc/ginclude/float.h
+++ b/gcc/ginclude/float.h
@@ -165,7 +165,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#undef LDBL_DECIMAL_DIG
#define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
#define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
-#define LDBL_DECIMAL_DIG __DECIMAL_DIG__
+#define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
/* Whether types support subnormal numbers. */
#undef FLT_HAS_SUBNORM
@@ -185,6 +185,187 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#endif /* C11 */
+#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
+/* Constants for _FloatN and _FloatNx types from TS 18661-3. See
+ comments above for their semantics. */
+
+#ifdef __FLT16_MANT_DIG__
+#undef FLT16_MANT_DIG
+#define FLT16_MANT_DIG __FLT16_MANT_DIG__
+#undef FLT16_DIG
+#define FLT16_DIG __FLT16_DIG__
+#undef FLT16_MIN_EXP
+#define FLT16_MIN_EXP __FLT16_MIN_EXP__
+#undef FLT16_MIN_10_EXP
+#define FLT16_MIN_10_EXP __FLT16_MIN_10_EXP__
+#undef FLT16_MAX_EXP
+#define FLT16_MAX_EXP __FLT16_MAX_EXP__
+#undef FLT16_MAX_10_EXP
+#define FLT16_MAX_10_EXP __FLT16_MAX_10_EXP__
+#undef FLT16_MAX
+#define FLT16_MAX __FLT16_MAX__
+#undef FLT16_EPSILON
+#define FLT16_EPSILON __FLT16_EPSILON__
+#undef FLT16_MIN
+#define FLT16_MIN __FLT16_MIN__
+#undef FLT16_DECIMAL_DIG
+#define FLT16_DECIMAL_DIG __FLT16_DECIMAL_DIG__
+#undef FLT16_TRUE_MIN
+#define FLT16_TRUE_MIN __FLT16_DENORM_MIN__
+#endif /* __FLT16_MANT_DIG__. */
+
+#ifdef __FLT32_MANT_DIG__
+#undef FLT32_MANT_DIG
+#define FLT32_MANT_DIG __FLT32_MANT_DIG__
+#undef FLT32_DIG
+#define FLT32_DIG __FLT32_DIG__
+#undef FLT32_MIN_EXP
+#define FLT32_MIN_EXP __FLT32_MIN_EXP__
+#undef FLT32_MIN_10_EXP
+#define FLT32_MIN_10_EXP __FLT32_MIN_10_EXP__
+#undef FLT32_MAX_EXP
+#define FLT32_MAX_EXP __FLT32_MAX_EXP__
+#undef FLT32_MAX_10_EXP
+#define FLT32_MAX_10_EXP __FLT32_MAX_10_EXP__
+#undef FLT32_MAX
+#define FLT32_MAX __FLT32_MAX__
+#undef FLT32_EPSILON
+#define FLT32_EPSILON __FLT32_EPSILON__
+#undef FLT32_MIN
+#define FLT32_MIN __FLT32_MIN__
+#undef FLT32_DECIMAL_DIG
+#define FLT32_DECIMAL_DIG __FLT32_DECIMAL_DIG__
+#undef FLT32_TRUE_MIN
+#define FLT32_TRUE_MIN __FLT32_DENORM_MIN__
+#endif /* __FLT32_MANT_DIG__. */
+
+#ifdef __FLT64_MANT_DIG__
+#undef FLT64_MANT_DIG
+#define FLT64_MANT_DIG __FLT64_MANT_DIG__
+#undef FLT64_DIG
+#define FLT64_DIG __FLT64_DIG__
+#undef FLT64_MIN_EXP
+#define FLT64_MIN_EXP __FLT64_MIN_EXP__
+#undef FLT64_MIN_10_EXP
+#define FLT64_MIN_10_EXP __FLT64_MIN_10_EXP__
+#undef FLT64_MAX_EXP
+#define FLT64_MAX_EXP __FLT64_MAX_EXP__
+#undef FLT64_MAX_10_EXP
+#define FLT64_MAX_10_EXP __FLT64_MAX_10_EXP__
+#undef FLT64_MAX
+#define FLT64_MAX __FLT64_MAX__
+#undef FLT64_EPSILON
+#define FLT64_EPSILON __FLT64_EPSILON__
+#undef FLT64_MIN
+#define FLT64_MIN __FLT64_MIN__
+#undef FLT64_DECIMAL_DIG
+#define FLT64_DECIMAL_DIG __FLT64_DECIMAL_DIG__
+#undef FLT64_TRUE_MIN
+#define FLT64_TRUE_MIN __FLT64_DENORM_MIN__
+#endif /* __FLT64_MANT_DIG__. */
+
+#ifdef __FLT128_MANT_DIG__
+#undef FLT128_MANT_DIG
+#define FLT128_MANT_DIG __FLT128_MANT_DIG__
+#undef FLT128_DIG
+#define FLT128_DIG __FLT128_DIG__
+#undef FLT128_MIN_EXP
+#define FLT128_MIN_EXP __FLT128_MIN_EXP__
+#undef FLT128_MIN_10_EXP
+#define FLT128_MIN_10_EXP __FLT128_MIN_10_EXP__
+#undef FLT128_MAX_EXP
+#define FLT128_MAX_EXP __FLT128_MAX_EXP__
+#undef FLT128_MAX_10_EXP
+#define FLT128_MAX_10_EXP __FLT128_MAX_10_EXP__
+#undef FLT128_MAX
+#define FLT128_MAX __FLT128_MAX__
+#undef FLT128_EPSILON
+#define FLT128_EPSILON __FLT128_EPSILON__
+#undef FLT128_MIN
+#define FLT128_MIN __FLT128_MIN__
+#undef FLT128_DECIMAL_DIG
+#define FLT128_DECIMAL_DIG __FLT128_DECIMAL_DIG__
+#undef FLT128_TRUE_MIN
+#define FLT128_TRUE_MIN __FLT128_DENORM_MIN__
+#endif /* __FLT128_MANT_DIG__. */
+
+#ifdef __FLT32X_MANT_DIG__
+#undef FLT32X_MANT_DIG
+#define FLT32X_MANT_DIG __FLT32X_MANT_DIG__
+#undef FLT32X_DIG
+#define FLT32X_DIG __FLT32X_DIG__
+#undef FLT32X_MIN_EXP
+#define FLT32X_MIN_EXP __FLT32X_MIN_EXP__
+#undef FLT32X_MIN_10_EXP
+#define FLT32X_MIN_10_EXP __FLT32X_MIN_10_EXP__
+#undef FLT32X_MAX_EXP
+#define FLT32X_MAX_EXP __FLT32X_MAX_EXP__
+#undef FLT32X_MAX_10_EXP
+#define FLT32X_MAX_10_EXP __FLT32X_MAX_10_EXP__
+#undef FLT32X_MAX
+#define FLT32X_MAX __FLT32X_MAX__
+#undef FLT32X_EPSILON
+#define FLT32X_EPSILON __FLT32X_EPSILON__
+#undef FLT32X_MIN
+#define FLT32X_MIN __FLT32X_MIN__
+#undef FLT32X_DECIMAL_DIG
+#define FLT32X_DECIMAL_DIG __FLT32X_DECIMAL_DIG__
+#undef FLT32X_TRUE_MIN
+#define FLT32X_TRUE_MIN __FLT32X_DENORM_MIN__
+#endif /* __FLT32X_MANT_DIG__. */
+
+#ifdef __FLT64X_MANT_DIG__
+#undef FLT64X_MANT_DIG
+#define FLT64X_MANT_DIG __FLT64X_MANT_DIG__
+#undef FLT64X_DIG
+#define FLT64X_DIG __FLT64X_DIG__
+#undef FLT64X_MIN_EXP
+#define FLT64X_MIN_EXP __FLT64X_MIN_EXP__
+#undef FLT64X_MIN_10_EXP
+#define FLT64X_MIN_10_EXP __FLT64X_MIN_10_EXP__
+#undef FLT64X_MAX_EXP
+#define FLT64X_MAX_EXP __FLT64X_MAX_EXP__
+#undef FLT64X_MAX_10_EXP
+#define FLT64X_MAX_10_EXP __FLT64X_MAX_10_EXP__
+#undef FLT64X_MAX
+#define FLT64X_MAX __FLT64X_MAX__
+#undef FLT64X_EPSILON
+#define FLT64X_EPSILON __FLT64X_EPSILON__
+#undef FLT64X_MIN
+#define FLT64X_MIN __FLT64X_MIN__
+#undef FLT64X_DECIMAL_DIG
+#define FLT64X_DECIMAL_DIG __FLT64X_DECIMAL_DIG__
+#undef FLT64X_TRUE_MIN
+#define FLT64X_TRUE_MIN __FLT64X_DENORM_MIN__
+#endif /* __FLT64X_MANT_DIG__. */
+
+#ifdef __FLT128X_MANT_DIG__
+#undef FLT128X_MANT_DIG
+#define FLT128X_MANT_DIG __FLT128X_MANT_DIG__
+#undef FLT128X_DIG
+#define FLT128X_DIG __FLT128X_DIG__
+#undef FLT128X_MIN_EXP
+#define FLT128X_MIN_EXP __FLT128X_MIN_EXP__
+#undef FLT128X_MIN_10_EXP
+#define FLT128X_MIN_10_EXP __FLT128X_MIN_10_EXP__
+#undef FLT128X_MAX_EXP
+#define FLT128X_MAX_EXP __FLT128X_MAX_EXP__
+#undef FLT128X_MAX_10_EXP
+#define FLT128X_MAX_10_EXP __FLT128X_MAX_10_EXP__
+#undef FLT128X_MAX
+#define FLT128X_MAX __FLT128X_MAX__
+#undef FLT128X_EPSILON
+#define FLT128X_EPSILON __FLT128X_EPSILON__
+#undef FLT128X_MIN
+#define FLT128X_MIN __FLT128X_MIN__
+#undef FLT128X_DECIMAL_DIG
+#define FLT128X_DECIMAL_DIG __FLT128X_DECIMAL_DIG__
+#undef FLT128X_TRUE_MIN
+#define FLT128X_TRUE_MIN __FLT128X_DENORM_MIN__
+#endif /* __FLT128X_MANT_DIG__. */
+
+#endif /* __STDC_WANT_IEC_60559_TYPES_EXT__. */
+
#ifdef __STDC_WANT_DEC_FP__
/* Draft Technical Report 24732, extension for decimal floating-point
arithmetic: Characteristic of decimal floating types <float.h>. */