aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-01-31 11:49:00 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-01-31 11:49:00 -0800
commitb9e6ebe97b85b537c46b36e25900ed086cd52e61 (patch)
tree70cbe6f80adc1af1ea22f0cb187ac4ca4a1bf3c8 /gcc
parentdbac5d0dd5bfafbf33f78b85298b5a9d14888723 (diff)
downloadgcc-b9e6ebe97b85b537c46b36e25900ed086cd52e61.zip
gcc-b9e6ebe97b85b537c46b36e25900ed086cd52e61.tar.gz
gcc-b9e6ebe97b85b537c46b36e25900ed086cd52e61.tar.bz2
float-i128.h (FLT_EVAL_METHOD, [...]): Define.
* config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define. * config/float-i32.h: Likewise. * config/float-i64.h: Likewise. * config/float-sh.h: Likewise. * config/float-sparc.h: Likewise. From-SVN: r39383
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/float-i128.h27
-rw-r--r--gcc/config/float-i32.h27
-rw-r--r--gcc/config/float-i64.h27
-rw-r--r--gcc/config/float-m68k.h3
-rw-r--r--gcc/config/float-sh.h27
-rw-r--r--gcc/config/float-sparc.h31
7 files changed, 150 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8da6c4e..d0c5aaa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2001-01-31 Richard Henderson <rth@redhat.com>
+
+ * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
+ * config/float-i32.h: Likewise.
+ * config/float-i64.h: Likewise.
+ * config/float-sh.h: Likewise.
+ * config/float-sparc.h: Likewise.
+
2001-01-31 DJ Delorie <dj@redhat.com>
* expmed.c (extract_bit_field): allow non-integral modes if we
diff --git a/gcc/config/float-i128.h b/gcc/config/float-i128.h
index 6a9dd48..f7ce3b3 100644
--- a/gcc/config/float-i128.h
+++ b/gcc/config/float-i128.h
@@ -93,4 +93,31 @@
#undef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP 4932
+#if __STDC_VERSION__ >= 199901L
+ /* The floating-point expression evaluation method.
+ -1 indeterminate
+ 0 evaluate all operations and constants just to the range and
+ precision of the type
+ 1 evaluate operations and constants of type float and double
+ to the range and precision of the double type, evaluate
+ long double operations and constants to the range and
+ precision of the long double type
+ 2 evaluate all operations and constants to the range and
+ precision of the long double type
+ */
+# undef FLT_EVAL_METHOD
+# define FLT_EVAL_METHOD 0
+
+ /* Number of decimal digits to enable rounding to the given number of
+ decimal digits without loss of precision.
+ if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX)
+ else : ceil (1 + #mantissa * log10 (FLT_RADIX))
+ where #mantissa is the number of bits in the mantissa of the widest
+ supported floating-point type.
+ */
+# undef DECIMAL_DIG
+# define DECIMAL_DIG 36
+
+#endif /* C99 */
+
#endif /* _FLOAT_H_ */
diff --git a/gcc/config/float-i32.h b/gcc/config/float-i32.h
index c834926..27e3394 100644
--- a/gcc/config/float-i32.h
+++ b/gcc/config/float-i32.h
@@ -93,4 +93,31 @@
#undef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP 38
+#if __STDC_VERSION__ >= 199901L
+ /* The floating-point expression evaluation method.
+ -1 indeterminate
+ 0 evaluate all operations and constants just to the range and
+ precision of the type
+ 1 evaluate operations and constants of type float and double
+ to the range and precision of the double type, evaluate
+ long double operations and constants to the range and
+ precision of the long double type
+ 2 evaluate all operations and constants to the range and
+ precision of the long double type
+ */
+# undef FLT_EVAL_METHOD
+# define FLT_EVAL_METHOD 0
+
+ /* Number of decimal digits to enable rounding to the given number of
+ decimal digits without loss of precision.
+ if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX)
+ else : ceil (1 + #mantissa * log10 (FLT_RADIX))
+ where #mantissa is the number of bits in the mantissa of the widest
+ supported floating-point type.
+ */
+# undef DECIMAL_DIG
+# define DECIMAL_DIG 9
+
+#endif /* C99 */
+
#endif /* _FLOAT_H_ */
diff --git a/gcc/config/float-i64.h b/gcc/config/float-i64.h
index 7dbe4e9..b045fb3 100644
--- a/gcc/config/float-i64.h
+++ b/gcc/config/float-i64.h
@@ -93,4 +93,31 @@
#undef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP 308
+#if __STDC_VERSION__ >= 199901L
+ /* The floating-point expression evaluation method.
+ -1 indeterminate
+ 0 evaluate all operations and constants just to the range and
+ precision of the type
+ 1 evaluate operations and constants of type float and double
+ to the range and precision of the double type, evaluate
+ long double operations and constants to the range and
+ precision of the long double type
+ 2 evaluate all operations and constants to the range and
+ precision of the long double type
+ */
+# undef FLT_EVAL_METHOD
+# define FLT_EVAL_METHOD 0
+
+ /* Number of decimal digits to enable rounding to the given number of
+ decimal digits without loss of precision.
+ if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX)
+ else : ceil (1 + #mantissa * log10 (FLT_RADIX))
+ where #mantissa is the number of bits in the mantissa of the widest
+ supported floating-point type.
+ */
+# undef DECIMAL_DIG
+# define DECIMAL_DIG 17
+
+#endif /* C99 */
+
#endif /* _FLOAT_H_ */
diff --git a/gcc/config/float-m68k.h b/gcc/config/float-m68k.h
index b36d447..8294b66 100644
--- a/gcc/config/float-m68k.h
+++ b/gcc/config/float-m68k.h
@@ -94,4 +94,7 @@
#undef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP 4932
+/* ??? FLT_EVAL_METHOD depends on TARGET_68040_ONLY. We do not currently
+ have a preprocessor token that we can use to tell that this is on. */
+
#endif /* _FLOAT_H_ */
diff --git a/gcc/config/float-sh.h b/gcc/config/float-sh.h
index 4466924..7c074ac 100644
--- a/gcc/config/float-sh.h
+++ b/gcc/config/float-sh.h
@@ -127,4 +127,31 @@
#undef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP 308
+#if __STDC_VERSION__ >= 199901L
+ /* The floating-point expression evaluation method.
+ -1 indeterminate
+ 0 evaluate all operations and constants just to the range and
+ precision of the type
+ 1 evaluate operations and constants of type float and double
+ to the range and precision of the double type, evaluate
+ long double operations and constants to the range and
+ precision of the long double type
+ 2 evaluate all operations and constants to the range and
+ precision of the long double type
+ */
+# undef FLT_EVAL_METHOD
+# define FLT_EVAL_METHOD 0
+
+ /* Number of decimal digits to enable rounding to the given number of
+ decimal digits without loss of precision.
+ if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX)
+ else : ceil (1 + #mantissa * log10 (FLT_RADIX))
+ where #mantissa is the number of bits in the mantissa of the widest
+ supported floating-point type.
+ */
+# undef DECIMAL_DIG
+# define DECIMAL_DIG 17
+
+#endif /* C99 */
+
#endif /* _FLOAT_H_ */
diff --git a/gcc/config/float-sparc.h b/gcc/config/float-sparc.h
index 0138ecf..307528e 100644
--- a/gcc/config/float-sparc.h
+++ b/gcc/config/float-sparc.h
@@ -119,4 +119,35 @@
#endif /* sparc32 */
+#if __STDC_VERSION__ >= 199901L
+ /* The floating-point expression evaluation method.
+ -1 indeterminate
+ 0 evaluate all operations and constants just to the range and
+ precision of the type
+ 1 evaluate operations and constants of type float and double
+ to the range and precision of the double type, evaluate
+ long double operations and constants to the range and
+ precision of the long double type
+ 2 evaluate all operations and constants to the range and
+ precision of the long double type
+ */
+# undef FLT_EVAL_METHOD
+# define FLT_EVAL_METHOD 0
+
+ /* Number of decimal digits to enable rounding to the given number of
+ decimal digits without loss of precision.
+ if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX)
+ else : ceil (1 + #mantissa * log10 (FLT_RADIX))
+ where #mantissa is the number of bits in the mantissa of the widest
+ supported floating-point type.
+ */
+# undef DECIMAL_DIG
+# if LDBL_MANT_DIG == 53
+# define DECIMAL_DIG 17
+# else
+# define DECIMAL_DIG 36
+# endif
+
+#endif /* C99 */
+
#endif /* _FLOAT_H_ */