diff options
author | Richard Henderson <rth@redhat.com> | 2001-01-31 11:49:00 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-01-31 11:49:00 -0800 |
commit | b9e6ebe97b85b537c46b36e25900ed086cd52e61 (patch) | |
tree | 70cbe6f80adc1af1ea22f0cb187ac4ca4a1bf3c8 /gcc | |
parent | dbac5d0dd5bfafbf33f78b85298b5a9d14888723 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/float-i128.h | 27 | ||||
-rw-r--r-- | gcc/config/float-i32.h | 27 | ||||
-rw-r--r-- | gcc/config/float-i64.h | 27 | ||||
-rw-r--r-- | gcc/config/float-m68k.h | 3 | ||||
-rw-r--r-- | gcc/config/float-sh.h | 27 | ||||
-rw-r--r-- | gcc/config/float-sparc.h | 31 |
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_ */ |