builtin float.h macros
Richard Henderson
rth@redhat.com
Tue Sep 3 13:24:00 GMT 2002
Tested with a complete bootstrap on i686-linux. Examined macro
expansions by hand on m68k, c4x, vax, i370.
r~
gcc:
* Makefile.in (USER_H): Add ginclude/float.h.
(FLOAT_H): Remove.
(stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
(mostlyclean): Don't remove float.h intermediate files.
(distclean): Don't remove float.h.
* config.gcc: Remove all float_format references.
* configure.in (float_format, float_h_file): Remove.
* c-common.c: Include tree-inline.h.
(builtin_define_with_int_value): New.
(builtin_define_type_precision): Use it.
(builtin_define_float_constants): New.
(cb_register_builtins): Use it. Define __FLT_RADIX__ and
__FLT_EVAL_METHOD__.
* defaults.h (TARGET_FLT_EVAL_METHOD): New.
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
* config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
(TARGET_FLT_EVAL_METHOD): New.
* config/float-c4x.h, config/float-i128.h, config/float-i32.h,
config/float-i386.h, config/float-i64.h, config/float-m68k.h,
config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
* ginclude/float.h: New.
libstdc++:
* include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max,
__glibcpp_f32_digits, __glibcpp_f32_digits10, __glibcpp_f32_radix,
__glibcpp_f32_epsilon, __glibcpp_f32_min_exponent,
__glibcpp_f32_min_exponent10, __glibcpp_f32_max_exponent,
__glibcpp_f32_max_exponent10, __glibcpp_f64_min, __glibcpp_f64_max,
__glibcpp_f64_digits, __glibcpp_f64_digits10, __glibcpp_f64_radix,
__glibcpp_f64_min_exponent, __glibcpp_f64_min_exponent10,
__glibcpp_f64_max_exponent, __glibcpp_f64_max_exponent10,
__glibcpp_f80_min, __glibcpp_f80_max, __glibcpp_f80_digits,
__glibcpp_f80_digits10, __glibcpp_f80_radix, __glibcpp_f80_epsilon,
__glibcpp_f80_min_exponent, __glibcpp_f80_min_exponent10,
__glibcpp_f80_max_exponent, __glibcpp_f80_max_exponent10,
__glibcpp_f96_min, __glibcpp_f96_max, __glibcpp_f96_digits,
__glibcpp_f96_digits10, __glibcpp_f96_radix, __glibcpp_f96_epsilon,
__glibcpp_f96_min_exponent, __glibcpp_f96_min_exponent10,
__glibcpp_f96_max_exponent, __glibcpp_f96_max_exponent10,
__glibcpp_f128_min, __glibcpp_f128_max, __glibcpp_f128_digits,
__glibcpp_f128_digits10, __glibcpp_f128_radix, __glibcpp_f128_epsilon,
__glibcpp_f128_min_exponent, __glibcpp_f128_min_exponent10,
__glibcpp_f128_max_exponent, __glibcpp_f128_max_exponent10,
__glibcpp_float_min, __glibcpp_float_max, __glibcpp_float_digits,
__glibcpp_float_digits10, __glibcpp_float_radix,
__glibcpp_float_epsilon, __glibcpp_float_min_exponent,
__glibcpp_float_min_exponent10, __glibcpp_float_max_exponent,
__glibcpp_float_max_exponent10, __glibcpp_double_min,
__glibcpp_double_max, __glibcpp_double_digits,
__glibcpp_double_digits10, __glibcpp_double_radix,
__glibcpp_double_epsilon, __glibcpp_double_min_exponent,
__glibcpp_double_min_exponent10, __glibcpp_double_max_exponent,
__glibcpp_double_max_exponent10, __glibcpp_long_double_min,
__glibcpp_long_double_max, __glibcpp_long_double_digits,
__glibcpp_long_double_digits10, __glibcpp_long_double_radix,
__glibcpp_long_double_epsilon, __glibcpp_long_double_min_exponent,
__glibcpp_long_double_min_exponent10,
__glibcpp_long_double_max_exponent,
__glibcpp_long_double_max_exponent10): Remove macros.
(std::numeric_limits<float>, std::numeric_limits<double>,
std::numeric_limits<long double>): Use protected float.h macros.
Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.940
diff -c -p -d -u -r1.940 Makefile.in
--- gcc/Makefile.in 31 Aug 2002 02:29:20 -0000 1.940
+++ gcc/Makefile.in 3 Sep 2002 18:07:40 -0000
@@ -171,10 +171,13 @@ INSTALL_HEADERS_DIR = @build_install_hea
# Header files that are made available under the same name
# to programs compiled with GCC.
-USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \
- $(srcdir)/ginclude/varargs.h \
- $(srcdir)/ginclude/stdbool.h $(srcdir)/ginclude/iso646.h \
- $(EXTRA_HEADERS)
+USER_H = $(srcdir)/ginclude/float.h \
+ $(srcdir)/ginclude/iso646.h \
+ $(srcdir)/ginclude/stdarg.h \
+ $(srcdir)/ginclude/stdbool.h \
+ $(srcdir)/ginclude/stddef.h \
+ $(srcdir)/ginclude/varargs.h \
+ $(EXTRA_HEADERS)
# The GCC to use for compiling libgcc.a and crt*.o.
# Usually the one we just built.
@@ -434,10 +437,6 @@ LIB2FUNCS_EXTRA =
# Assembler files should have names ending in `.asm'.
LIB2FUNCS_STATIC_EXTRA =
-# We do not try to build float.h anymore. Let configure select the
-# appropriate pre-built float.h file for the target.
-FLOAT_H=@float_h_file@
-
# Program to convert libraries.
LIBCONVERT =
@@ -2305,7 +2304,7 @@ gcov$(exeext): $(GCOV_OBJS) $(LIBDEPS)
# s-* so that mostlyclean does not force the include directory to
# be rebuilt.
-# Build the include directory including float.h
+# Build the include directory
stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h
# Copy in the headers provided with gcc.
# The sed command gets just the last file name component;
@@ -2325,11 +2324,6 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H)
rm -f include/limits.h
cp xlimits.h include/limits.h
chmod a+r include/limits.h
- rm -f include/float.h
- if [ x$(FLOAT_H) != xMakefile.in ]; then \
- cp $(srcdir)/config/$(FLOAT_H) include/float.h && \
- chmod a+r include/float.h; \
- else :; fi
# Install the README
rm -f include/README
cp $(srcdir)/README-fixinc include/README
@@ -2623,7 +2617,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mo
# Delete the temp files made in the course of building libgcc.a.
-rm -f xlimits.h
# Delete other built files.
- -rm -f t-float.h-cross xsys-protos.hT
+ -rm -f xsys-protos.hT
-rm -f specs.h options.h gencheck.h
# Delete the stamp and temporary files.
-rm -f s-* tmp-* stamp-* stmp-*
@@ -2631,7 +2625,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mo
# Delete debugging dump files.
-rm -f *.[0-9][0-9].* */*.[0-9][0-9].*
# Delete some files made during installation.
- -rm -f specs float.h-* SYSCALLS.c.X SYSCALLS.c
+ -rm -f specs SYSCALLS.c.X SYSCALLS.c
-rm -f collect collect2 mips-tfile mips-tdump
# Delete files generated for fixproto
-rm -rf fix-header$(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
@@ -2690,7 +2684,6 @@ distclean: clean $(INTL_DISTCLEAN) lang.
-rm -f */stage1 */stage2 */stage3 */stage4 */include
-rm -f c-parse.output
-rm -f *.asm
- -rm -f float.h
-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
-rm -f testsuite/*.log testsuite/*.sum
-cd testsuite && rm -f x *.x *.x? *.exe *.rpo *.o *.s *.S *.c
@@ -3029,10 +3022,6 @@ install-mkheaders: stmp-int-hdrs $(STMP_
$(INSTALL_DATA) $$file \
$(itoolsdir)/include/$$realfile ; \
done
- if [ x$(FLOAT_H) != xMakefile.in ]; then \
- $(INSTALL_DATA) $(srcdir)/config/$(FLOAT_H) \
- $(itoolsdir)/include/float.h ; \
- else :; fi
$(INSTALL_DATA) xlimits.h $(itoolsdir)/include/limits.h
if [ x$(STMP_FIXINC) != x ] ; then \
$(INSTALL_DATA) $(srcdir)/README-fixinc \
Index: gcc/c-common.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-common.c,v
retrieving revision 1.370
diff -c -p -d -u -r1.370 c-common.c
--- gcc/c-common.c 28 Aug 2002 21:41:54 -0000 1.370
+++ gcc/c-common.c 3 Sep 2002 18:07:40 -0000
@@ -38,6 +38,7 @@ Software Foundation, 59 Temple Place - S
#include "target.h"
#include "langhooks.h"
#include "except.h" /* For USING_SJLJ_EXCEPTIONS. */
+#include "tree-inline.h"
cpp_reader *parse_in; /* Declared in c-pragma.h. */
@@ -761,9 +762,13 @@ static bool get_nonnull_operand PARAMS
void builtin_define_std PARAMS ((const char *));
static void builtin_define_with_value PARAMS ((const char *, const char *,
int));
+static void builtin_define_with_int_value PARAMS ((const char *,
+ HOST_WIDE_INT));
static void builtin_define_type_max PARAMS ((const char *, tree, int));
static void cpp_define_data_format PARAMS ((cpp_reader *));
static void builtin_define_type_precision PARAMS ((const char *, tree));
+static void builtin_define_float_constants PARAMS ((const char *,
+ const char *, tree));
/* Table of machine-independent attributes common to all C-like languages. */
const struct attribute_spec c_common_attribute_table[] =
@@ -4682,6 +4687,7 @@ cpp_define_data_format (pfile)
cpp_reader *pfile;
{
const char *format;
+
/* Define endianness enumeration values. */
cpp_define (pfile, "__GCC_LITTLE_ENDIAN__=0");
cpp_define (pfile, "__GCC_BIG_ENDIAN__=1");
@@ -4772,9 +4778,270 @@ builtin_define_type_precision (name, typ
const char *name;
tree type;
{
- char buf[8];
- sprintf (buf, "%d", (int) TYPE_PRECISION (type));
+ builtin_define_with_int_value (name, TYPE_PRECISION (type));
+}
+
+/* Define the float.h constants for TYPE using NAME_PREFIX and FP_SUFFIX. */
+static void
+builtin_define_float_constants (name_prefix, fp_suffix, type)
+ const char *name_prefix;
+ const char *fp_suffix;
+ tree type;
+{
+ /* Used to convert radix-based values to base 10 values in several cases.
+
+ In the max_exp -> max_10_exp conversion for 128-bit IEEE, we need at
+ least 6 significant digits for correct results. Using the fraction
+ formed by (log(2)*1e6)/(log(10)*1e6) overflows a 32-bit integer as an
+ intermediate; perhaps someone can find a better approximation, in the
+ mean time, I suspect using doubles won't harm the bootstrap here. */
+
+ const double log10_2 = .30102999566398119521;
+ const double log10_16 = 1.20411998265592478085;
+ const double log10_b
+ = TARGET_FLOAT_FORMAT == IBM_FLOAT_FORMAT ? log10_16 : log10_2;
+
+ const int log2_b = TARGET_FLOAT_FORMAT == IBM_FLOAT_FORMAT ? 4 : 1;
+
+ char name[64], buf[128];
+ int mant_dig, max_exp, min_exp;
+ int dig, min_10_exp, max_10_exp;
+
+ /* ??? This information should be shared with real.c. */
+
+#ifndef INTEL_EXTENDED_IEEE_FORMAT
+#define INTEL_EXTENDED_IEEE_FORMAT 0
+#endif
+#ifndef TARGET_G_FLOAT
+#define TARGET_G_FLOAT 0
+#endif
+
+ switch (TARGET_FLOAT_FORMAT)
+ {
+ case IEEE_FLOAT_FORMAT:
+ switch (TYPE_PRECISION (type))
+ {
+ case 32:
+ /* ??? Handle MIPS r5900, which doesn't implement Inf or NaN,
+ but rather reuses the largest exponent as a normal number. */
+ mant_dig = 24;
+ min_exp = -125;
+ max_exp = 128;
+ break;
+ case 64:
+ mant_dig = 53;
+ min_exp = -1021;
+ max_exp = 1024;
+ break;
+ case 128:
+ if (!INTEL_EXTENDED_IEEE_FORMAT)
+ {
+ mant_dig = 113;
+ min_exp = -16381;
+ max_exp = 16384;
+ break;
+ }
+ /* FALLTHRU */
+ case 96:
+ mant_dig = 64;
+ max_exp = 16384;
+ if (INTEL_EXTENDED_IEEE_FORMAT)
+ min_exp = -16381;
+ else
+ /* ??? Otherwise assume m68k. */
+ min_exp = -16382;
+ break;
+ default:
+ abort ();
+ }
+ break;
+
+ case VAX_FLOAT_FORMAT:
+ switch (TYPE_PRECISION (type))
+ {
+ case 32: /* F_FLOAT */
+ mant_dig = 24;
+ min_exp = -127;
+ max_exp = 127;
+ break;
+ case 64: /* G_FLOAT or D_FLOAT */
+ if (TARGET_G_FLOAT)
+ {
+ mant_dig = 53;
+ min_exp = -1023;
+ max_exp = 1023;
+ }
+ else
+ {
+ mant_dig = 56;
+ min_exp = -127;
+ max_exp = 127;
+ }
+ break;
+ case 128: /* H_FLOAT */
+ mant_dig = 114;
+ min_exp = -16383;
+ max_exp = 16383;
+ break;
+ default:
+ abort ();
+ }
+ break;
+
+ case IBM_FLOAT_FORMAT:
+ switch (TYPE_PRECISION (type))
+ {
+ case 32:
+ mant_dig = 6;
+ min_exp = -64;
+ max_exp = 63;
+ break;
+ case 64:
+ mant_dig = 14;
+ min_exp = -64;
+ max_exp = 63;
+ break;
+ default:
+ abort ();
+ }
+ break;
+
+ case C4X_FLOAT_FORMAT:
+ switch (TYPE_PRECISION (type))
+ {
+ case 32:
+ mant_dig = 24;
+ min_exp = -126;
+ max_exp = 128;
+ break;
+ case 64:
+ mant_dig = 32;
+ min_exp = -126;
+ max_exp = 128;
+ break;
+ default:
+ abort ();
+ }
+ break;
+
+ default:
+ abort ();
+ }
+
+ /* The number of radix digits, p, in the floating-point significand. */
+ sprintf (name, "__%s_MANT_DIG__", name_prefix);
+ builtin_define_with_int_value (name, mant_dig);
+
+ /* The number of decimal digits, q, such that any floating-point number
+ with q decimal digits can be rounded into a floating-point number with
+ p radix b digits and back again without change to the q decimal digits,
+
+ p log10 b if b is a power of 10
+ floor((p - 1) log10 b) otherwise
+ */
+ dig = (mant_dig - 1) * log10_b;
+ sprintf (name, "__%s_DIG__", name_prefix);
+ builtin_define_with_int_value (name, dig);
+
+ /* The minimum negative int x such that b**(x-1) is a normalised float. */
+ sprintf (name, "__%s_MIN_EXP__", name_prefix);
+ sprintf (buf, "(%d)", min_exp);
+ builtin_define_with_value (name, buf, 0);
+
+ /* The minimum negative int x such that 10**x is a normalized float,
+
+ ceil (log10 (b ** (min_exp - 1)))
+ = ceil (log10 (b) * (min_exp - 1))
+
+ Recall that min_exp is negative, so the integer truncation calculates
+ the ceiling, not the floor, in this case. */
+ min_10_exp = (min_exp - 1) * log10_b;
+ sprintf (name, "__%s_MIN_10_EXP__", name_prefix);
+ sprintf (buf, "(%d)", min_10_exp);
+ builtin_define_with_value (name, buf, 0);
+
+ /* The maximum int x such that b**(x-1) is a representable float. */
+ sprintf (name, "__%s_MAX_EXP__", name_prefix);
+ builtin_define_with_int_value (name, max_exp);
+
+ /* The maximum int x such that 10**x is in the range of representable
+ finite floating-point numbers,
+
+ floor (log10((1 - b**-p) * b**max_exp))
+ = floor (log10(1 - b**-p) + log10(b**max_exp))
+ = floor (log10(1 - b**-p) + log10(b)*max_exp)
+
+ The safest thing to do here is to just compute this number. But since
+ we don't link cc1 with libm, we cannot. We could implement log10 here
+ a series expansion, but that seems too much effort because:
+
+ Note that the first term, for all extant p, is a number exceedingly close
+ to zero, but slightly negative. Note that the second term is an integer
+ scaling an irrational number, and that because of the floor we are only
+ interested in its integral portion.
+
+ In order for the first term to have any effect on the integral portion
+ of the second term, the second term has to be exceedingly close to an
+ integer itself (e.g. 123.000000000001 or something). Getting a result
+ that close to an integer requires that the irrational multiplicand have
+ a long series of zeros in its expansion, which doesn't occur in the
+ first 20 digits or so of log10(b).
+
+ Hand-waving aside, crunching all of the sets of constants above by hand
+ does not yield a case for which the first term is significant, which
+ in the end is all that matters. */
+ max_10_exp = max_exp * log10_b;
+ sprintf (name, "__%s_MAX_10_EXP__", name_prefix);
+ builtin_define_with_int_value (name, max_10_exp);
+
+ /* Since, for the supported formats, B is always a power of 2, we
+ construct the following numbers directly as a hexadecimal constants. */
+
+ /* The maximum representable finite floating-point number,
+ (1 - b**-p) * b**max_exp */
+ {
+ int i, n;
+ char *p;
+ sprintf (name, "__%s_MAX__", name_prefix);
+
+ strcpy (buf, "0x0.");
+
+ n = mant_dig * log2_b;
+ for (i = 0, p = buf + 4; i + 3 < n; i += 4)
+ *p++ = 'f';
+ if (i < n)
+ *p++ = "08ce"[n - i];
+ sprintf (p, "p%d%s", max_exp * log2_b, fp_suffix);
+ builtin_define_with_value (name, buf, 0);
+ }
+
+ /* The minimum normalized positive floating-point number, b**(min_exp-1). */
+ sprintf (name, "__%s_MIN__", name_prefix);
+ sprintf (buf, "0x1p%d%s", (min_exp - 1) * log2_b, fp_suffix);
+ builtin_define_with_value (name, buf, 0);
+
+ /* The difference between 1 and the least value greater than 1 that is
+ representable in the given floating point type, b**(1-p). */
+ sprintf (name, "__%s_EPSILON__", name_prefix);
+ sprintf (buf, "0x1p%d%s", (1 - mant_dig) * log2_b, fp_suffix);
builtin_define_with_value (name, buf, 0);
+
+ if (type == long_double_type_node)
+ {
+ /* The number of decimal digits, n, such that any floating-point number
+ in the widest supported floating type with pmax radix b digits can be
+ rounded to a floating-point number with n decimal digits and back
+ again without change to the value,
+
+ pmax log10(b) if b is a power of 10
+ ceil(1 + pmax * log10(b)) otherwise
+ */
+ double d_decimal_dig = 1 + mant_dig * log10_b;
+ int decimal_dig = d_decimal_dig;
+ if (decimal_dig < d_decimal_dig)
+ decimal_dig++;
+ builtin_define_with_int_value ("__DECIMAL_DIG__", decimal_dig);
+ }
}
/* Hook that registers front end and target-specific built-ins. */
@@ -4830,6 +5097,20 @@ cb_register_builtins (pfile)
builtin_define_type_precision ("__DOUBLE_BIT__", double_type_node);
builtin_define_type_precision ("__LONG_DOUBLE_BIT__", long_double_type_node);
+ /* float.h needs to know these. */
+
+ /* The radix of the exponent representation. */
+ builtin_define_with_int_value ("__FLT_RADIX__",
+ (TARGET_FLOAT_FORMAT == IBM_FLOAT_FORMAT
+ ? 16 : 2));
+
+ builtin_define_with_int_value ("__FLT_EVAL_METHOD__",
+ TARGET_FLT_EVAL_METHOD);
+
+ builtin_define_float_constants ("FLT", "F", float_type_node);
+ builtin_define_float_constants ("DBL", "", double_type_node);
+ builtin_define_float_constants ("LDBL", "L", long_double_type_node);
+
/* For use in assembly language. */
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
@@ -4952,6 +5233,25 @@ builtin_define_with_value (macro, expans
sprintf (buf, "%s=\"%s\"", macro, expansion);
else
sprintf (buf, "%s=%s", macro, expansion);
+
+ cpp_define (parse_in, buf);
+}
+
+/* Pass an object-like macro and an integer value to define it to. */
+static void
+builtin_define_with_int_value (macro, value)
+ const char *macro;
+ HOST_WIDE_INT value;
+{
+ char *buf;
+ size_t mlen = strlen (macro);
+ size_t vlen = 18;
+ size_t extra = 2; /* space for = and NUL. */
+
+ buf = alloca (mlen + vlen + extra);
+ memcpy (buf, macro, mlen);
+ buf[mlen] = '=';
+ sprintf (buf + mlen + 1, HOST_WIDE_INT_PRINT_DEC, value);
cpp_define (parse_in, buf);
}
Index: gcc/config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.242
diff -c -p -d -u -r1.242 config.gcc
--- gcc/config.gcc 28 Aug 2002 05:23:42 -0000 1.242
+++ gcc/config.gcc 3 Sep 2002 18:07:40 -0000
@@ -75,12 +75,6 @@
# machine modes, if necessary and different from
# "$cpu_type/$cpu_type-modes.def".
#
-# float_format Set to the symbolic name for the floating-point
-# formats used for this machine, if different from
-# "i64". Used to derive a header file name to
-# include, like "vax" for "float-vax.h". If no such
-# file is wanted, set to "none".
-#
# extra_objs List of extra objects that should be linked into
# the compiler proper (cc1, cc1obj, cc1plus)
# depending on target.
@@ -194,7 +188,6 @@ c_target_objs=
cxx_target_objs=
tm_defines=
xm_defines=
-float_format=
# Set this to force installation and use of collect2.
use_collect2=
# Set this to override the default target model.
@@ -542,7 +535,6 @@ alpha*-dec-osf[45]*)
*-*-osf5*)
tm_file="${tm_file} alpha/osf5.h"
target_cpu_default=MASK_SUPPORT_ARCH
- float_format=i128
;;
esac
;;
@@ -687,7 +679,6 @@ c4x-*-rtems*)
cxx_target_objs="c4x-c.o"
;;
c4x-*)
- float_format=c4x
tmake_file=c4x/t-c4x
c_target_objs="c4x-c.o"
cxx_target_objs="c4x-c.o"
@@ -708,7 +699,6 @@ cris-*-linux*)
;;
d30v-*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
- float_format=i64
;;
dsp16xx-*)
;;
@@ -728,15 +718,12 @@ h8300-*-rtems*)
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
- float_format=i32
;;
h8300-*-elf*)
tmake_file="h8300/t-h8300 h8300/t-elf"
tm_file="h8300/h8300.h h8300/elf.h"
- float_format=i32
;;
h8300-*-*)
- float_format=i32
;;
hppa*64*-*-linux* | parisc*64*-*-linux*)
target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
@@ -842,7 +829,6 @@ hppa1.0-*-hpux8*)
hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
- float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
xmake_file="pa/x-ada"
@@ -859,7 +845,6 @@ hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
;;
hppa1.0-*-hpux10*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
- float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
xmake_file="pa/x-ada"
@@ -877,7 +862,6 @@ hppa1.0-*-hpux10*)
hppa*64*-*-hpux11*)
xm_defines=POSIX
tm_file="pa/pa64-start.h ${tm_file} pa/pa64-regs.h pa/long_double.h pa/elf.h pa/pa-hpux.h pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
- float_format=i128
tmake_file="pa/t-pa64 pa/t-pa-hpux"
xmake_file="pa/x-ada"
target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
@@ -895,7 +879,6 @@ hppa*64*-*-hpux11*)
hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
- float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
xmake_file="pa/x-ada"
@@ -911,7 +894,6 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
;;
hppa1.0-*-hpux11*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
- float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
xmake_file="pa/x-ada"
@@ -1000,7 +982,6 @@ i[34567]86-*-darwin*)
cxx_target_objs="darwin-c.o"
# Darwin linker does collect2 functionality
use_collect2=no
- float_format=i386
;;
i[34567]86-*-elf*)
xm_defines=POSIX
@@ -1062,7 +1043,6 @@ x86_64-*-freebsd*)
;;
i[34567]86-*-netbsdelf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
- float_format=i386
;;
i[34567]86-*-netbsd*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
@@ -1071,7 +1051,6 @@ i[34567]86-*-netbsd*)
;;
x86_64-*-netbsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
- float_format=i386
;;
i[34567]86-*-openbsd*)
tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h ${tm_file}"
@@ -1092,7 +1071,6 @@ i[34567]86-*-linux*aout*) # Intel 80386'
tmake_file="t-linux-aout i386/t-crtstuff"
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h linux-aout.h i386/linux-aout.h"
gnu_ld=yes
- float_format=i386
;;
i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux
# with ELF format using the
@@ -1101,7 +1079,6 @@ i[34567]86-*-linux*libc1) # Intel 80386'
tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
- float_format=i386
if test x$enable_threads = xyes; then
thread_file='single'
fi
@@ -1111,16 +1088,13 @@ i[34567]86-*-linux*) # Intel 80386's run
# aka GNU/Linux C library 6
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
- float_format=i386
;;
x86_64-*-linux*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
i386/x86-64.h i386/linux64.h"
tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff i386/t-linux64"
- float_format=i386
;;
i[34567]86-*-gnu*)
- float_format=i386
;;
i[34567]86-go32-msdos | i[34567]86-*-go32*)
echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
@@ -1133,7 +1107,6 @@ i[34567]86-pc-msdosdjgpp*)
gnu_ld=yes
gas=yes
exeext=.exe
- float_format=none
case $host in *pc-msdosdjgpp*)
target_alias=djgpp
;;
@@ -1267,7 +1240,6 @@ i386-*-vsta) # Intel 80386's running V
i[34567]86-*-win32)
xm_defines=POSIX
xm_file=i386/xm-cygwin.h
- float_format=i386
tmake_file=i386/t-cygwin
tm_file="${tm_file} i386/win32.h"
extra_objs=winnt.o
@@ -1279,7 +1251,6 @@ i[34567]86-*-win32)
i[34567]86-*-pe | i[34567]86-*-cygwin*)
xm_defines=POSIX
xm_file=i386/xm-cygwin.h
- float_format=i386
tmake_file=i386/t-cygwin
tm_file=i386/cygwin.h
extra_objs=winnt.o
@@ -1290,7 +1261,6 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*)
;;
i[34567]86-*-mingw32*)
tm_file=i386/mingw32.h
- float_format=i386
xm_defines=POSIX
xm_file=i386/xm-mingw32.h
tmake_file="i386/t-cygwin i386/t-mingw32"
@@ -1406,19 +1376,16 @@ ia64*-*-elf*)
then
target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
fi
- float_format=i386
;;
ia64*-*-freebsd*)
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
tmake_file="${tmake_file} ia64/t-ia64"
- float_format=i386
;;
ia64*-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
- float_format=i386
;;
ia64*-*-hpux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
@@ -1428,7 +1395,6 @@ ia64*-*-hpux*)
thread_file='posix'
fi
use_collect2=no
- float_format=i128
;;
ip2k-*-elf)
;;
@@ -1490,7 +1456,6 @@ m68k-atari-sysv4*) # Atari
xm_defines=POSIX
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
- float_format=m68k
;;
m68k-apollo-sysv* | m68k-bull-sysv*)
# can otherwise be caught by m68k-*-sysv4*
@@ -1520,7 +1485,6 @@ m68k-motorola-sysv*)
fi
gdb_needs_out_file_path=yes
extra_parts="crt0.o mcrt0.o"
- float_format=m68k
;;
m68k-ncr-sysv*) # NCR Tower 32 SVR3
tm_file=m68k/tower-as.h
@@ -1546,22 +1510,18 @@ m68k-cbm-sysv4*) # Commodore variant of
xm_defines=POSIX
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
- float_format=m68k
;;
m68k-ccur-rtu)
tm_file=m68k/ccur-GAS.h
use_collect2=yes
- float_format=m68k
;;
m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
tm_file=m68k/hp3bsd44.h
use_collect2=yes
- float_format=m68k
;;
m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
tm_file=m68k/hp3bsd.h
use_collect2=yes
- float_format=m68k
;;
m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
xm_defines=POSIX
@@ -1575,7 +1535,6 @@ m68k-hp-hpux7*) # HP 9000 series 300 run
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
- float_format=m68k
;;
m68k-hp-hpux*) # HP 9000 series 300
xm_defines=POSIX
@@ -1589,12 +1548,10 @@ m68k-hp-hpux*) # HP 9000 series 300
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
- float_format=m68k
;;
m68k-sun-mach*)
tm_file=m68k/sun3mach.h
use_collect2=yes
- float_format=m68k
;;
m68k-sun-sunos3*)
if test x$with_fp = xno
@@ -1602,7 +1559,6 @@ m68k-sun-sunos3*)
tm_file=m68k/sun3n3.h
else
tm_file=m68k/sun3o3.h
- float_format=m68k
fi
use_collect2=yes
;;
@@ -1612,7 +1568,6 @@ m68k-sun-sunos*) # For SunOS 4 (the de
tm_file=m68k/sun3n.h
else
tm_file=m68k/sun3.h
- float_format=m68k
fi
use_collect2=yes
;;
@@ -1620,17 +1575,14 @@ m68k-wrs-vxworks*)
tm_file=m68k/vxm68k.h
tmake_file=m68k/t-vxworks68
thread_file='vxworks'
- float_format=m68k
;;
m68k-*-aout*)
tmake_file=m68k/t-m68kbare
tm_file="m68k/m68k-aout.h libgloss.h"
- float_format=m68k
;;
m68k-*-coff*)
tmake_file=m68k/t-m68kbare
tm_file="m68k/m68k-coff.h dbx.h"
- float_format=m68k
;;
m68020-*-elf* | m68k-*-elf*)
tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
@@ -1648,18 +1600,15 @@ m68010-*-netbsdelf* | m68k*-*-netbsdelf*
target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
;;
esac
- float_format=m68k
;;
m68k*-*-netbsd*)
tm_file=m68k/netbsd.h
tmake_file=t-netbsd
- float_format=m68k
use_collect2=yes
;;
m68k*-*-openbsd*)
# needed to unconfuse gdb
tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
- float_format=m68k
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
@@ -1668,13 +1617,11 @@ m68k-*-sysv4*) # Motorola m68k's runni
xm_defines=POSIX
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
- float_format=m68k
;;
m68k-*-linux*aout*) # Motorola m68k's running GNU/Linux
# with a.out format
tm_file=m68k/linux-aout.h
tmake_file="t-linux-aout m68k/t-linux-aout"
- float_format=m68k
gnu_ld=yes
;;
m68k-*-linux*libc1) # Motorola m68k's running GNU/Linux
@@ -1683,7 +1630,6 @@ m68k-*-linux*libc1) # Motorola m68k's r
tm_file=m68k/linux.h
tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 m68k/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- float_format=m68k
gnu_ld=yes
;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
@@ -1692,13 +1638,11 @@ m68k-*-linux*) # Motorola m68k's runnin
tm_file=m68k/linux.h
tmake_file="t-slibgcc-elf-ver t-linux m68k/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- float_format=m68k
gnu_ld=yes
;;
m68k-*-psos*)
tmake_file=m68k/t-m68kbare
tm_file=m68k/m68k-psos.h
- float_format=m68k
;;
m68k-*-rtemscoff*) # would otherwise be caught by m68k-*-rtems*
echo "*** Configuration $machine not supported" 1>&2
@@ -1708,7 +1652,6 @@ m68k-*-rtems*)
xm_defines=POSIX
tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
- float_format=m68k
extra_parts="crtbegin.o crtend.o"
if test x$enable_threads = xyes; then
thread_file='rtems'
@@ -1936,7 +1879,6 @@ mipstx39-*-elf* | mipstx39el-*-elf*)
mmix-knuth-mmixware)
;;
mn10200-*-*)
- float_format=i32
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
if test x$stabs = xyes
then
@@ -2149,14 +2091,12 @@ powerpcle-*-eabi*)
rs6000-ibm-aix3.[01]*)
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h"
- float_format=none
use_collect2=yes
;;
rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h rs6000/xcoff.h"
tmake_file=rs6000/t-newas
- float_format=none
use_collect2=yes
extra_headers=
;;
@@ -2164,7 +2104,6 @@ rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
tmake_file=rs6000/t-newas
- float_format=none
use_collect2=yes
extra_headers=
;;
@@ -2172,7 +2111,6 @@ rs6000-ibm-aix4.[3456789]* | powerpc-ibm
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix43
- float_format=none
use_collect2=yes
thread_file='aix'
extra_headers=
@@ -2181,7 +2119,6 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-ai
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix43
- float_format=none
use_collect2=yes
thread_file='aix'
extra_headers=
@@ -2189,13 +2126,11 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-ai
rs6000-ibm-aix*)
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
- float_format=none
use_collect2=yes
;;
rs6000-bull-bosx)
xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
- float_format=none
use_collect2=yes
;;
rs6000-*-mach*)
@@ -2229,7 +2164,6 @@ sh-*-elf* | sh[2346l]*-*-elf*)
;;
esac
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h"
- float_format=sh
case $machine in
sh64*)
tmake_file="${tmake_file} sh/t-sh64"
@@ -2250,7 +2184,6 @@ sh-*-rtemself*)
xm_defines=POSIX
tmake_file="sh/t-sh sh/t-elf t-rtems"
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h sh/rtemself.h rtems.h"
- float_format=sh
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -2259,7 +2192,6 @@ sh-*-rtems*)
xm_defines=POSIX
tmake_file="sh/t-sh t-rtems"
tm_file="${tm_file} sh/coff.h sh/rtems.h rtems.h"
- float_format=sh
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -2275,7 +2207,6 @@ sh-*-linux* | sh[2346lbe]*-*-linux*)
esac
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
gas=yes gnu_ld=yes
- float_format=sh
case $machine in
sh64*)
tmake_file="${tmake_file} sh/t-sh64"
@@ -2324,11 +2255,9 @@ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh
tmake_file="${tmake_file} sh/t-netbsd"
;;
esac
- float_format=sh
;;
sh-*-*)
tm_file="${tm_file} sh/coff.h"
- float_format=sh
;;
sparc-tti-*)
tm_file="${tm_file} sparc/pbd.h"
@@ -2369,7 +2298,6 @@ sparc64-*-openbsd*)
xm_file=sparc/xm-sp64.h
gas=yes gnu_ld=yes
with_cpu=ultrasparc
- float_format=i128
;;
sparc-*-bsd*)
tm_file="${tm_file} sparc/bsd.h"
@@ -2378,7 +2306,6 @@ sparc-*-chorusos*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h chorus.h"
tmake_file="sparc/t-chorus-elf sparc/t-crtfm"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
- float_format=i64
case x${enable_threads} in
xyes | xpthreads | xposix)
thread_file='posix'
@@ -2389,8 +2316,6 @@ sparc-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h"
tmake_file="sparc/t-elf sparc/t-crtfm"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
- #float_format=i128
- float_format=i64
;;
sparc-*-linux*aout*) # Sparc's running GNU/Linux, a.out
tm_file="aoutos.h sparc/sparc.h sparc/aout.h sparc/linux-aout.h"
@@ -2401,12 +2326,10 @@ sparc-*-linux*libc1*) # Sparc's running
tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 sparc/t-crtfm"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
- float_format=sparc
;;
sparc-*-linux*) # Sparc's running GNU/Linux, libc6
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
- float_format=sparc
;;
sparc-*-lynxos*)
if test x$gas = xyes
@@ -2426,8 +2349,6 @@ sparc-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
- #float_format=i128
- float_format=i64
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -2448,7 +2369,6 @@ sparc64-*-solaris2* | sparcv9-*-solaris2
tmake_file="$tmake_file t-slibgcc-sld"
fi
extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
- float_format=i128
if test x${enable_threads} = x ; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x ; then
@@ -2474,7 +2394,6 @@ sparc-hal-solaris2*)
tmake_file="$tmake_file t-slibgcc-sld"
fi
extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
- float_format=i128
thread_file='solaris'
;;
sparc-*-solaris2*)
@@ -2507,7 +2426,6 @@ sparc-*-solaris2*)
esac
xm_defines=POSIX
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
- float_format=i128
if test x${enable_threads} = x; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x; then
@@ -2596,13 +2514,11 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
- float_format=sparc
;;
sparc64-*-netbsd*)
tmake_file="${tmake_file} sparc/t-netbsd64"
tm_file="sparc/biarch64.h ${tm_file}"
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
- float_format=sparc
;;
strongarm-*-elf*)
tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
@@ -2674,12 +2590,10 @@ v850-*-*)
vax-*-bsd*) # VAXen running BSD
tm_file="${tm_file} vax/bsd.h"
use_collect2=yes
- float_format=vax
;;
vax-*-sysv*) # VAXen running system V
tm_file="${tm_file} vax/vaxv.h"
xm_defines=POSIX
- float_format=vax
;;
vax-*-netbsdelf*)
echo "GCC does not yet support the ${machine} target"; exit 1
@@ -2687,25 +2601,20 @@ vax-*-netbsdelf*)
vax-*-netbsd*)
tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
tmake_file=t-netbsd
- float_format=vax
use_collect2=yes
;;
vax-*-openbsd*)
tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
- float_format=vax
use_collect2=yes
;;
vax-*-ultrix*) # VAXen running ultrix
tm_file="${tm_file} vax/ultrix.h"
- float_format=vax
;;
vax-*-vms*) # VAXen running VMS
xm_file=vax/xm-vms.h
tm_file=vax/vms.h
- float_format=vax
;;
vax-*-*) # VAX default entry
- float_format=vax
;;
xscale-*-elf)
tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.617
diff -c -p -d -u -r1.617 configure.in
--- gcc/configure.in 15 Aug 2002 21:45:47 -0000 1.617
+++ gcc/configure.in 3 Sep 2002 18:07:40 -0000
@@ -798,15 +798,6 @@ if test x"$dwarf2" = xyes
then tm_file="$tm_file tm-dwarf2.h"
fi
-if test x$float_format = x
-then float_format=i64
-fi
-
-if test $float_format = none
-then float_h_file=Makefile.in
-else float_h_file=float-$float_format.h
-fi
-
# Say what files are being used for the output code and MD file.
echo "Using \`$srcdir/config/$out_file' for machine-specific logic."
echo "Using \`$srcdir/config/$md_file' as machine description file."
@@ -2649,7 +2640,6 @@ else
fi)
AC_SUBST(slibdir)
-# Nothing to do for FLOAT_H, float_format already handled.
objdir=`${PWDCMD-pwd}`
AC_SUBST(objdir)
Index: gcc/defaults.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/defaults.h,v
retrieving revision 1.89
diff -c -p -d -u -r1.89 defaults.h
--- gcc/defaults.h 21 Aug 2002 02:41:43 -0000 1.89
+++ gcc/defaults.h 3 Sep 2002 18:07:40 -0000
@@ -559,6 +559,10 @@ You Lose! You must define PREFERRED_DEB
&& !ROUND_TOWARDS_ZERO)
#endif
+#ifndef TARGET_FLT_EVAL_METHOD
+#define TARGET_FLT_EVAL_METHOD 0
+#endif
+
#ifndef HOT_TEXT_SECTION_NAME
#define HOT_TEXT_SECTION_NAME "text.hot"
#endif
Index: gcc/config/float-c4x.h
===================================================================
RCS file: gcc/config/float-c4x.h
diff -N gcc/config/float-c4x.h
--- gcc/config/float-c4x.h 3 Oct 2000 01:08:45 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,96 +0,0 @@
-/* float.h for target with TMS320C3x/C4x floating point format */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-126)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 5.8774718E-39F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-39)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.4028235e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 24
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 6
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 1.1920929e-07
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-126)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 5.8774718E-39
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP -39
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 128
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 3.4028235E+38
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 32
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 8
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 1.19209287e-07L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-126)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 5.8774717535e-39L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-39)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 128
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX .4028236688e+38L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 38
-
-#endif /* _FLOAT_H_ */
Index: gcc/config/float-i128.h
===================================================================
RCS file: gcc/config/float-i128.h
diff -N gcc/config/float-i128.h
--- gcc/config/float-i128.h 11 Oct 2001 15:53:57 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-/* float.h for target with IEEE 32, 64 and 128 bit floating point formats */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 113
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 33
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 1.925929944387235853055977942584927319E-34L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-16381)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 3.362103143112093506262677817321752603E-4932L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-4931)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 16384
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.189731495357231765085759326628007016E+4932L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 4932
-
-#if defined (__STDC_VERSION__) && __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_ */
Index: gcc/config/float-i32.h
===================================================================
RCS file: gcc/config/float-i32.h
diff -N gcc/config/float-i32.h
--- gcc/config/float-i32.h 11 Oct 2001 15:53:57 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-/* float.h for target with only IEEE 32 bit floating point format */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 24
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 6
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-125)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 128
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 24
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 6
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-125)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 128
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 38
-
-#if defined (__STDC_VERSION__) && __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_ */
Index: gcc/config/float-i386.h
===================================================================
RCS file: gcc/config/float-i386.h
diff -N gcc/config/float-i386.h
--- gcc/config/float-i386.h 11 Oct 2001 15:53:57 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,124 +0,0 @@
-/* float.h for target with IEEE 32/64 bit and Intel 386 style 80 bit
- floating point formats */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 64
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 18
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 1.08420217248550443401e-19L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-16381)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 3.36210314311209350626e-4932L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-4931)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 16384
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.18973149535723176502e+4932L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 4932
-
-#if defined (__STDC_VERSION__) && __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 2
-
- /* 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 21
-
-#endif /* C99 */
-
-#endif /* _FLOAT_H___ */
Index: gcc/config/float-i64.h
===================================================================
RCS file: gcc/config/float-i64.h
diff -N gcc/config/float-i64.h
--- gcc/config/float-i64.h 11 Oct 2001 15:53:57 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-/* float.h for target with IEEE 32 bit and 64 bit floating point formats */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 53
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 15
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 2.2204460492503131e-16L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-1021)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 2.2250738585072014e-308L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 1024
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.7976931348623157e+308L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 308
-
-#if defined (__STDC_VERSION__) && __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_ */
Index: gcc/config/float-m68k.h
===================================================================
RCS file: gcc/config/float-m68k.h
diff -N gcc/config/float-m68k.h
--- gcc/config/float-m68k.h 11 Oct 2001 15:53:57 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,127 +0,0 @@
-/* float.h for target with IEEE 32 bit and 64 bit and Motorola style 96 bit
- floating point formats */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 64
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 18
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 1.08420217248550443401e-19L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-16382)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 1.68105157155604675313e-4932L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-4931)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 16384
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.18973149535723176502e+4932L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 4932
-
-#if defined (__STDC_VERSION__) && __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
- */
-
-/* ??? 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. */
-# undef FLT_EVAL_METHOD
-# define FLT_EVAL_METHOD -1
-
- /* 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 21
-
-#endif /* C99 */
-
-#endif /* _FLOAT_H_ */
Index: gcc/config/float-sh.h
===================================================================
RCS file: gcc/config/float-sh.h
diff -N gcc/config/float-sh.h
--- gcc/config/float-sh.h 11 Oct 2001 15:53:57 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,160 +0,0 @@
-/* float.h for target sh3e with optional IEEE 32 bit double format */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
-#if defined (__SH3E__) || defined (__SH4_SINGLE_ONLY__)
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 24
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 6
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-125)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 128
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 38
-
-#else
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
-#endif
-
-/* Because -m3e and -m4-single-only have 32-bit doubles, we append L
- to the doubles below, so that they're not truncated. */
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 53
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 15
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 2.2204460492503131e-16L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-1021)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 2.2250738585072014e-308L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 1024
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.7976931348623157e+308L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 308
-
-#if defined (__STDC_VERSION__) && __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_ */
Index: gcc/config/float-sparc.h
===================================================================
RCS file: gcc/config/float-sparc.h
diff -N gcc/config/float-sparc.h
--- gcc/config/float-sparc.h 2 May 2002 21:30:38 -0000 1.7
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,153 +0,0 @@
-/* float.h for target with IEEE 32, 64 and 128 bit SPARC floating point formats
- (on sparc-linux long double is 64 bit, while on sparc64-linux 128 bit) */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
-#if defined(__sparcv9) || defined(__arch64__) || defined(__LONG_DOUBLE_128__)
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 113
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 33
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 1.925929944387235853055977942584927319E-34L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-16381)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 3.362103143112093506262677817321752603E-4932L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-4931)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 16384
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.189731495357231765085759326628007016E+4932L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 4932
-
-#else /* sparc32 */
-
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG DBL_MANT_DIG
-#undef LDBL_DIG
-#define LDBL_DIG DBL_DIG
-#undef LDBL_EPSILON
-#define LDBL_EPSILON DBL_EPSILON
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP DBL_MIN_EXP
-#undef LDBL_MIN
-#define LDBL_MIN DBL_MIN
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP DBL_MAX_EXP
-#undef LDBL_MAX
-#define LDBL_MAX DBL_MAX
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
-
-#endif /* sparc32 */
-
-#if defined (__STDC_VERSION__) && __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_ */
Index: gcc/config/float-vax.h
===================================================================
RCS file: gcc/config/float-vax.h
diff -N gcc/config/float-vax.h
--- gcc/config/float-vax.h 12 Jun 2000 23:01:25 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,159 +0,0 @@
-/* float.h for target with VAX floating point formats */
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-/* Produced by enquire version 4.3, CWI, Amsterdam */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-127)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 2.93873588e-39F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-38)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 127
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 1.70141173e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
-#ifdef __GFLOAT
-
- /* The GFLOAT numbers may be problematic since gcc uses DFLOAT */
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-016
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1023)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 5.5626846462680035e-309
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-308)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1023
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 8.9884656743115775e+307
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 307
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 53
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 15
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 2.2204460492503131e-016L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-1023)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 5.5626846462680035e-309L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-308)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 1023
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 8.9884656743115775e+307L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 307
-
-#else /* !__GFLOAT */
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 56
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 16
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.77555756156289135e-17
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-127)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.93873587705571877e-39
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-38)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 127
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.70141183460469227e+38
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 56
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 16
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 2.77555756156289135e-17L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-127)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 2.93873587705571877e-39L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-38)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 127
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.70141183460469227e+38L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 38
-
-#endif /* __GFLOAT */
-#endif /* _FLOAT_H_ */
Index: gcc/config/i386/i386.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.h,v
retrieving revision 1.280
diff -c -p -d -u -r1.280 i386.h
--- gcc/config/i386/i386.h 31 Jul 2002 23:18:43 -0000 1.280
+++ gcc/config/i386/i386.h 3 Sep 2002 18:07:41 -0000
@@ -644,6 +644,13 @@ extern int x86_prefetch_sse;
packaged in a 128-bit or 96bit entity. */
#define INTEL_EXTENDED_IEEE_FORMAT 1
+/* Set the value of FLT_EVAL_METHOD in float.h. When using only the
+ FPU, assume that the fpcw is set to extended precision; when using
+ only SSE, rounding is correct; when using both SSE and the FPU,
+ the rounding precision is indeterminate, since either may be chosen
+ apparently at random. */
+#define TARGET_FLT_EVAL_METHOD \
+ (TARGET_MIX_SSE_I387 ? -1 : TARGET_SSE_MATH ? 1 : 2)
#define SHORT_TYPE_SIZE 16
#define INT_TYPE_SIZE 32
Index: gcc/config/m68k/m68k.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68k/m68k.h,v
retrieving revision 1.75
diff -c -p -d -u -r1.75 m68k.h
--- gcc/config/m68k/m68k.h 31 Jul 2002 02:10:05 -0000 1.75
+++ gcc/config/m68k/m68k.h 3 Sep 2002 18:07:41 -0000
@@ -297,6 +297,11 @@ extern int target_flags;
/* Define for XFmode extended real floating point support. */
#define LONG_DOUBLE_TYPE_SIZE 96
+/* Set the value of FLT_EVAL_METHOD in float.h. When using 68040 fp
+ instructions, we get proper intermediate rounding, otherwise we
+ get extended precision results. */
+#define TARGET_FLT_EVAL_METHOD (TARGET_68040_ONLY ? 0 : 2)
+
/* Define this if most significant bit is lowest numbered
in instructions that operate on numbered bit-fields.
This is true for 68020 insns such as bfins and bfexts.
Index: gcc/doc/tm.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/tm.texi,v
retrieving revision 1.160
diff -c -p -d -u -r1.160 tm.texi
--- gcc/doc/tm.texi 30 Aug 2002 19:18:51 -0000 1.160
+++ gcc/doc/tm.texi 3 Sep 2002 18:07:41 -0000
@@ -1540,8 +1540,18 @@ the largest value that @code{LONG_DOUBLE
This is used in @code{cpp}.
@findex INTEL_EXTENDED_IEEE_FORMAT
+@item INTEL_EXTENDED_IEEE_FORMAT
Define this macro to be 1 if the target machine uses 80-bit floating-point
values with 128-bit size and alignment. This is used in @file{real.c}.
+This also distinguishes the Intel 80-bit floating-point format from the
+Motorola 96-bit floating-point format.
+
+@findex TARGET_FLT_EVAL_METHOD
+@item TARGET_FLT_EVAL_METHOD
+A C expression for the value for @code{FLT_EVAL_METHOD} in @file{float.h},
+assuming, if applicable, that the floating-point control word is in its
+default state. If you do not define this macro the value of
+@code{FLT_EVAL_METHOD} will be zero.
@findex WIDEST_HARDWARE_FP_SIZE
@item WIDEST_HARDWARE_FP_SIZE
Index: gcc/ginclude/float.h
===================================================================
RCS file: gcc/ginclude/float.h
diff -N gcc/ginclude/float.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc/ginclude/float.h 3 Sep 2002 18:07:41 -0000
@@ -0,0 +1,162 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* As a special exception, if you include this header file into source
+ files compiled by GCC, this header file does not by itself cause
+ the resulting executable to be covered by the GNU General Public
+ License. This exception does not however invalidate any other
+ reasons why the executable file might be covered by the GNU General
+ Public License. */
+
+/*
+ * ISO C Standard: 5.2.4.2.2 Characteristics of floating types <float.h>
+ */
+
+#ifndef _FLOAT_H___
+#define _FLOAT_H___
+
+/* Radix of exponent representation, b. */
+#undef FLT_RADIX
+#define FLT_RADIX __FLT_RADIX__
+
+/* Number of base-FLT_RADIX digits in the significand, p. */
+#undef FLT_MANT_DIG
+#undef DBL_MANT_DIG
+#undef LDBL_MANT_DIG
+#define FLT_MANT_DIG __FLT_MANT_DIG__
+#define DBL_MANT_DIG __DBL_MANT_DIG__
+#define LDBL_MANT_DIG __LDBL_MANT_DIG__
+
+/* Number of decimal digits, q, such that any floating-point number with q
+ decimal digits can be rounded into a floating-point number with p radix b
+ digits and back again without change to the q decimal digits,
+
+ p * log10(b) if b is a power of 10
+ floor((p - 1) * log10(b)) otherwise
+*/
+#undef FLT_DIG
+#undef DBL_DIG
+#undef LDBL_DIG
+#define FLT_DIG __FLT_DIG__
+#define DBL_DIG __DBL_DIG__
+#define LDBL_DIG __LDBL_DIG__
+
+/* Minimum int x such that FLT_RADIX**(x-1) is a normalised float, emin */
+#undef FLT_MIN_EXP
+#undef DBL_MIN_EXP
+#undef LDBL_MIN_EXP
+#define FLT_MIN_EXP __FLT_MIN_EXP__
+#define DBL_MIN_EXP __DBL_MIN_EXP__
+#define LDBL_MIN_EXP __LDBL_MIN_EXP__
+
+/* Minimum negative integer such that 10 raised to that power is in the
+ range of normalized floating-point numbers,
+
+ ceil(log10(b) * (emin - 1))
+*/
+#undef FLT_MIN_10_EXP
+#undef DBL_MIN_10_EXP
+#undef LDBL_MIN_10_EXP
+#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
+#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
+#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
+
+/* Maximum int x such that FLT_RADIX**(x-1) is a representable float, emax. */
+#undef FLT_MAX_EXP
+#undef DBL_MAX_EXP
+#undef LDBL_MAX_EXP
+#define FLT_MAX_EXP __FLT_MAX_EXP__
+#define DBL_MAX_EXP __DBL_MAX_EXP__
+#define LDBL_MAX_EXP __LDBL_MAX_EXP__
+
+/* Maximum integer such that 10 raised to that power is in the range of
+ representable finite floating-point numbers,
+
+ floor(log10((1 - b**-p) * b**emax))
+*/
+#undef FLT_MAX_10_EXP
+#undef DBL_MAX_10_EXP
+#undef LDBL_MAX_10_EXP
+#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
+#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
+#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
+
+/* Maximum representable finite floating-point number,
+
+ (1 - b**-p) * b**emax
+*/
+#undef FLT_MAX
+#undef DBL_MAX
+#undef LDBL_MAX
+#define FLT_MAX __FLT_MAX__
+#define DBL_MAX __DBL_MAX__
+#define LDBL_MAX __LDBL_MAX__
+
+/* The difference between 1 and the least value greater than 1 that is
+ representable in the given floating point type, b**1-p. */
+#undef FLT_EPSILON
+#undef DBL_EPSILON
+#undef LDBL_EPSILON
+#define FLT_EPSILON __FLT_EPSILON__
+#define DBL_EPSILON __DBL_EPSILON__
+#define LDBL_EPSILON __LDBL_EPSILON__
+
+/* Minimum normalized positive floating-point number, b**(emin - 1). */
+#undef FLT_MIN
+#undef DBL_MIN
+#undef LDBL_MIN
+#define FLT_MIN __FLT_MIN__
+#define DBL_MIN __DBL_MIN__
+#define LDBL_MIN __LDBL_MIN__
+
+/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown. */
+/* ??? This is supposed to change with calls to fesetround in <fenv.h>. */
+#undef FLT_ROUNDS
+#define FLT_ROUNDS 1
+
+#if defined (__STDC_VERSION__) && __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
+
+ ??? This ought to change with the setting of the fp control word;
+ the value provided by the compiler assumes the widest setting. */
+#undef FLT_EVAL_METHOD
+#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
+
+/* Number of decimal digits, n, such that any floating-point number in the
+ widest supported floating type with pmax radix b digits can be rounded
+ to a floating-point number with n decimal digits and back again without
+ change to the value,
+
+ pmax * log10(b) if b is a power of 10
+ ceil(1 + pmax * log10(b)) otherwise
+*/
+#undef DECIMAL_DIG
+#define DECIMAL_DIG __DECIMAL_DIG__
+
+#endif /* C99 */
+#endif /* _FLOAT_H___ */
Index: libstdc++-v3/include/std/std_limits.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_limits.h,v
retrieving revision 1.8
diff -c -p -d -u -r1.8 std_limits.h
--- libstdc++-v3/include/std/std_limits.h 28 Aug 2002 21:41:55 -0000 1.8
+++ libstdc++-v3/include/std/std_limits.h 3 Sep 2002 18:07:41 -0000
@@ -150,17 +150,7 @@
#define __glibcpp_u64_digits 64
#define __glibcpp_u64_digits10 19
-#define __glibcpp_f32_min 1.17549435e-38F
-#define __glibcpp_f32_max 3.40282347e+38F
-#define __glibcpp_f32_digits 24
-#define __glibcpp_f32_digits10 6
-#define __glibcpp_f32_radix 2
-#define __glibcpp_f32_epsilon 1.19209290e-07F
#define __glibcpp_f32_round_error 1.0F
-#define __glibcpp_f32_min_exponent -125
-#define __glibcpp_f32_min_exponent10 -37
-#define __glibcpp_f32_max_exponent 128
-#define __glibcpp_f32_max_exponent10 38
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
# define __glibcpp_f32_infinity_bytes { 0x7f800000 }
# define __glibcpp_f32_has_infinity true
@@ -191,17 +181,7 @@
#ifndef __glibcpp_f32_is_iec559
# define __glibcpp_f32_is_iec559 false
#endif
-#define __glibcpp_f64_min 2.2250738585072014e-308
-#define __glibcpp_f64_max 1.7976931348623157e+308
-#define __glibcpp_f64_digits 53
-#define __glibcpp_f64_digits10 15
-#define __glibcpp_f64_radix 2
-#define __glibcpp_f64_epsilon 2.2204460492503131e-16
#define __glibcpp_f64_round_error 1.0
-#define __glibcpp_f64_min_exponent -1021
-#define __glibcpp_f64_min_exponent10 -307
-#define __glibcpp_f64_max_exponent 1024
-#define __glibcpp_f64_max_exponent10 308
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
# if __TARGET_FLOAT_WORDS_ORDER__ == __GCC_BIG_ENDIAN__
# define __glibcpp_f64_infinity_bytes { 0x7ff00000, 0x0 }
@@ -239,17 +219,7 @@
#ifndef __glibcpp_f64_is_iec559
# define __glibcpp_f64_is_iec559 false
#endif
-#define __glibcpp_f80_min 3.36210314311209350626e-4932L
-#define __glibcpp_f80_max 1.18973149535723176502e+4932L
-#define __glibcpp_f80_digits 64
-#define __glibcpp_f80_digits10 18
-#define __glibcpp_f80_radix 2
-#define __glibcpp_f80_epsilon 1.08420217248550443401e-19L
#define __glibcpp_f80_round_error 1.0L
-#define __glibcpp_f80_min_exponent -16381
-#define __glibcpp_f80_min_exponent10 -4931
-#define __glibcpp_f80_max_exponent 16384
-#define __glibcpp_f80_max_exponent10 4932
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
# if __TARGET_BYTES_ORDER__ == __GCC_BIG_ENDIAN__
# define __glibcpp_f80_infinity_bytes \
@@ -295,17 +265,7 @@
#ifndef __glibcpp_f80_is_iec559
# define __glibcpp_f80_is_iec559 false
#endif
-#define __glibcpp_f96_min 1.68105157155604675313e-4932L
-#define __glibcpp_f96_max 1.18973149535723176502e+4932L
-#define __glibcpp_f96_digits 64
-#define __glibcpp_f96_digits10 18
-#define __glibcpp_f96_radix 2
-#define __glibcpp_f96_epsilon 1.08420217248550443401e-19L
#define __glibcpp_f96_round_error 1.0L
-#define __glibcpp_f96_min_exponent -16382
-#define __glibcpp_f96_min_exponent10 -4931
-#define __glibcpp_f96_max_exponent 16384
-#define __glibcpp_f96_max_exponent10 4932
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
# if __TARGET_BYTES_ORDER__ == __GCC_BIG_ENDIAN__
# define __glibcpp_f96_infinity_bytes { 0x7ff0000, 0x0, 0x0 }
@@ -340,17 +300,7 @@
# define __glibcpp_f96_denorm_min_bytes { }
# define __glibcpp_f96_has denorm_indeterminate
#endif
-#define __glibcpp_f128_min 3.362103143112093506262677817321752603E-4932L
-#define __glibcpp_f128_max 1.189731495357231765085759326628007016E+4932L
-#define __glibcpp_f128_digits 113
-#define __glibcpp_f128_digits10 33
-#define __glibcpp_f128_radix 2
-#define __glibcpp_f128_epsilon 1.925929944387235853055977942584927319E-34L
#define __glibcpp_f128_round_error 1.0L
-#define __glibcpp_f128_min_exponent -16381
-#define __glibcpp_f128_min_exponent10 -4931
-#define __glibcpp_f128_max_exponent 16384
-#define __glibcpp_f128_max_exponent10 4932
#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
# if __TARGET_FLOAT_WORDS_ORDER__ == __GCC_BIG_ENDIAN__
# define __glibcpp_f128_infinity_bytes { 0x7fff0000, 0x0, 0x0, 0x0 }
@@ -708,17 +658,7 @@
//
#if __FLOAT_BIT__ == 32
-# define __glibcpp_float_min __glibcpp_f32_min
-# define __glibcpp_float_max __glibcpp_f32_max
-# define __glibcpp_float_digits __glibcpp_f32_digits
-# define __glibcpp_float_digits10 __glibcpp_f32_digits10
-# define __glibcpp_float_radix __glibcpp_f32_radix
-# define __glibcpp_float_epsilon __glibcpp_f32_epsilon
# define __glibcpp_float_round_error __glibcpp_f32_round_error
-# define __glibcpp_float_min_exponent __glibcpp_f32_min_exponent
-# define __glibcpp_float_min_exponent10 __glibcpp_f32_min_exponent10
-# define __glibcpp_float_max_exponent __glibcpp_f32_max_exponent
-# define __glibcpp_float_max_exponent10 __glibcpp_f32_max_exponent10
# define __glibcpp_float_infinity_bytes __glibcpp_f32_infinity_bytes
# define __glibcpp_float_QNaN_bytes __glibcpp_f32_QNaN_bytes
# define __glibcpp_float_SNaN_bytes __glibcpp_f32_SNaN_bytes
@@ -729,17 +669,7 @@
# define __glibcpp_float_has_denorm __glibcpp_f32_has_denorm
# define __glibcpp_float_is_iec559 __glibcpp_f32_is_iec559
#elif __FLOAT_BIT__ == 64
-# define __glibcpp_float_min __glibcpp_f64_min
-# define __glibcpp_float_max __glibcpp_f64_max
-# define __glibcpp_float_digits __glibcpp_f64_digits
-# define __glibcpp_float_digits10 __glibcpp_f64_digits10
-# define __glibcpp_float_radix __glibcpp_f64_radix
-# define __glibcpp_float_epsilon __glibcpp_f64_epsilon
# define __glibcpp_float_round_error __glibcpp_f64_round_error
-# define __glibcpp_float_min_exponent __glibcpp_f64_min_exponent
-# define __glibcpp_float_min_exponent10 __glibcpp_f64_min_exponent10
-# define __glibcpp_float_max_exponent __glibcpp_f64_max_exponent
-# define __glibcpp_float_max_exponent10 __glibcpp_f64_max_exponent10
# define __glibcpp_float_infinity_bytes __glibcpp_f64_infinity_bytes
# define __glibcpp_float_QNaN_bytes __glibcpp_f64_QNaN_bytes
# define __glibcpp_float_SNaN_bytes __glibcpp_f64_SNaN_bytes
@@ -750,17 +680,7 @@
# define __glibcpp_float_has_denorm __glibcpp_f64_has_denorm
# define __glibcpp_float_is_iec559 __glibcpp_f64_is_iec559
#elif __FLOAT_BIT__ == 80
-# define __glibcpp_float_min __glibcpp_f80_min
-# define __glibcpp_float_max __glibcpp_f80_max
-# define __glibcpp_float_digits __glibcpp_f80_digits
-# define __glibcpp_float_digits10 __glibcpp_f80_digits10
-# define __glibcpp_float_radix __glibcpp_f80_radix
-# define __glibcpp_float_epsilon __glibcpp_f80_epsilon
# define __glibcpp_float_round_error __glibcpp_f80_round_error
-# define __glibcpp_float_min_exponent __glibcpp_f80_min_exponent
-# define __glibcpp_float_min_exponent10 __glibcpp_f80_min_exponent10
-# define __glibcpp_float_max_exponent __glibcpp_f80_max_exponent
-# define __glibcpp_float_max_exponent10 __glibcpp_f80_max_exponent10
# define __glibcpp_float_infinity_bytes __glibcpp_f80_infinity_bytes
# define __glibcpp_float_QNaN_bytes __glibcpp_f80_QNaN_bytes
# define __glibcpp_float_SNaN_bytes __glibcpp_f80_SNaN_bytes
@@ -827,17 +747,7 @@
// double
#if __DOUBLE_BIT__ == 32
-# define __glibcpp_double_min __glibcpp_f32_min
-# define __glibcpp_double_max __glibcpp_f32_max
-# define __glibcpp_double_digits __glibcpp_f32_digits
-# define __glibcpp_double_digits10 __glibcpp_f32_digits10
-# define __glibcpp_double_radix __glibcpp_f32_radix
-# define __glibcpp_double_epsilon __glibcpp_f32_epsilon
# define __glibcpp_double_round_error __glibcpp_f32_round_error
-# define __glibcpp_double_min_exponent __glibcpp_f32_min_exponent
-# define __glibcpp_double_min_exponent10 __glibcpp_f32_min_exponent10
-# define __glibcpp_double_max_exponent __glibcpp_f32_max_exponent
-# define __glibcpp_double_max_exponent10 __glibcpp_f32_max_exponent10
# define __glibcpp_double_infinity_bytes __glibcpp_f32_infinity_bytes
# define __glibcpp_double_QNaN_bytes __glibcpp_f32_QNaN_bytes
# define __glibcpp_double_SNaN_bytes __glibcpp_f32_SNaN_bytes
@@ -848,17 +758,7 @@
# define __glibcpp_double_has_denorm __glibcpp_f32_has_denorm
# define __glibcpp_double_is_iec559 __glibcpp_f32_is_iec559
#elif __DOUBLE_BIT__ == 64
-# define __glibcpp_double_min __glibcpp_f64_min
-# define __glibcpp_double_max __glibcpp_f64_max
-# define __glibcpp_double_digits __glibcpp_f64_digits
-# define __glibcpp_double_digits10 __glibcpp_f64_digits10
-# define __glibcpp_double_radix __glibcpp_f64_radix
-# define __glibcpp_double_epsilon __glibcpp_f64_epsilon
# define __glibcpp_double_round_error __glibcpp_f64_round_error
-# define __glibcpp_double_min_exponent __glibcpp_f64_min_exponent
-# define __glibcpp_double_min_exponent10 __glibcpp_f64_min_exponent10
-# define __glibcpp_double_max_exponent __glibcpp_f64_max_exponent
-# define __glibcpp_double_max_exponent10 __glibcpp_f64_max_exponent10
# define __glibcpp_double_infinity_bytes __glibcpp_f64_infinity_bytes
# define __glibcpp_double_QNaN_bytes __glibcpp_f64_QNaN_bytes
# define __glibcpp_double_SNaN_bytes __glibcpp_f64_SNaN_bytes
@@ -869,17 +769,7 @@
# define __glibcpp_double_has_denorm __glibcpp_f64_has_denorm
# define __glibcpp_double_is_iec559 __glibcpp_f64_is_iec559
#elif __DOUBLE_BIT__ == 80
-# define __glibcpp_double_min __glibcpp_f80_min
-# define __glibcpp_double_max __glibcpp_f80_max
-# define __glibcpp_double_digits __glibcpp_f80_digits
-# define __glibcpp_double_digits10 __glibcpp_f80_digits10
-# define __glibcpp_double_radix __glibcpp_f80_radix
-# define __glibcpp_double_epsilon __glibcpp_f80_epsilon
# define __glibcpp_double_round_error __glibcpp_f80_round_error
-# define __glibcpp_double_min_exponent __glibcpp_f80_min_exponent
-# define __glibcpp_double_min_exponent10 __glibcpp_f80_min_exponent10
-# define __glibcpp_double_max_exponent __glibcpp_f80_max_exponent
-# define __glibcpp_double_max_exponent10 __glibcpp_f80_max_exponent10
# define __glibcpp_double_infinity_bytes __glibcpp_f80_infinity_bytes
# define __glibcpp_double_QNaN_bytes __glibcpp_f80_QNaN_bytes
# define __glibcpp_double_SNaN_bytes __glibcpp_f80_SNaN_bytes
@@ -946,17 +836,7 @@
// long double
#if __LONG_DOUBLE_BIT__ == 32
-# define __glibcpp_long_double_min __glibcpp_f32_min
-# define __glibcpp_long_double_max __glibcpp_f32_max
-# define __glibcpp_long_double_digits __glibcpp_f32_digits
-# define __glibcpp_long_double_digits10 __glibcpp_f32_digits10
-# define __glibcpp_long_double_radix __glibcpp_f32_radix
-# define __glibcpp_long_double_epsilon __glibcpp_f32_epsilon
# define __glibcpp_long_double_round_error __glibcpp_f32_round_error
-# define __glibcpp_long_double_min_exponent __glibcpp_f32_min_exponent
-# define __glibcpp_long_double_min_exponent10 __glibcpp_f32_min_exponent10
-# define __glibcpp_long_double_max_exponent __glibcpp_f32_max_exponent
-# define __glibcpp_long_double_max_exponent10 __glibcpp_f32_max_exponent10
# define __glibcpp_long_double_infinity_bytes __glibcpp_f32_infinity_bytes
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f32_QNaN_bytes
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f32_SNaN_bytes
@@ -967,17 +847,7 @@
# define __glibcpp_long_double_has_denorm __glibcpp_f32_has_denorm
# define __glibcpp_long_double_is_iec559 __glibcpp_f32_is_iec559
#elif __LONG_DOUBLE_BIT__ == 64
-# define __glibcpp_long_double_min __glibcpp_f64_min
-# define __glibcpp_long_double_max __glibcpp_f64_max
-# define __glibcpp_long_double_digits __glibcpp_f64_digits
-# define __glibcpp_long_double_digits10 __glibcpp_f64_digits10
-# define __glibcpp_long_double_radix __glibcpp_f64_radix
-# define __glibcpp_long_double_epsilon __glibcpp_f64_epsilon
# define __glibcpp_long_double_round_error __glibcpp_f64_round_error
-# define __glibcpp_long_double_min_exponent __glibcpp_f64_min_exponent
-# define __glibcpp_long_double_min_exponent10 __glibcpp_f64_min_exponent10
-# define __glibcpp_long_double_max_exponent __glibcpp_f64_max_exponent
-# define __glibcpp_long_double_max_exponent10 __glibcpp_f64_max_exponent10
# define __glibcpp_long_double_infinity_bytes __glibcpp_f64_infinity_bytes
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f64_QNaN_bytes
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f64_SNaN_bytes
@@ -988,17 +858,7 @@
# define __glibcpp_long_double_has_denorm __glibcpp_f64_has_denorm
# define __glibcpp_long_double_is_iec559 __glibcpp_f64_is_iec559
#elif __LONG_DOUBLE_BIT__ == 80
-# define __glibcpp_long_double_min __glibcpp_f80_min
-# define __glibcpp_long_double_max __glibcpp_f80_max
-# define __glibcpp_long_double_digits __glibcpp_f80_digits
-# define __glibcpp_long_double_digits10 __glibcpp_f80_digits10
-# define __glibcpp_long_double_radix __glibcpp_f80_radix
-# define __glibcpp_long_double_epsilon __glibcpp_f80_epsilon
# define __glibcpp_long_double_round_error __glibcpp_f80_round_error
-# define __glibcpp_long_double_min_exponent __glibcpp_f80_min_exponent
-# define __glibcpp_long_double_min_exponent10 __glibcpp_f80_min_exponent10
-# define __glibcpp_long_double_max_exponent __glibcpp_f80_max_exponent
-# define __glibcpp_long_double_max_exponent10 __glibcpp_f80_max_exponent10
# define __glibcpp_long_double_infinity_bytes __glibcpp_f80_infinity_bytes
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f80_QNaN_bytes
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f80_SNaN_bytes
@@ -1009,17 +869,7 @@
# define __glibcpp_long_double_has_denorm __glibcpp_f80_has_denorm
# define __glibcpp_long_double_is_iec559 __glibcpp_f80_is_iec559
#elif __LONG_DOUBLE_BIT__ == 96
-# define __glibcpp_long_double_min __glibcpp_f96_min
-# define __glibcpp_long_double_max __glibcpp_f96_max
-# define __glibcpp_long_double_digits __glibcpp_f96_digits
-# define __glibcpp_long_double_digits10 __glibcpp_f96_digits10
-# define __glibcpp_long_double_radix __glibcpp_f96_radix
-# define __glibcpp_long_double_epsilon __glibcpp_f96_epsilon
# define __glibcpp_long_double_round_error __glibcpp_f96_round_error
-# define __glibcpp_long_double_min_exponent __glibcpp_f96_min_exponent
-# define __glibcpp_long_double_min_exponent10 __glibcpp_f96_min_exponent10
-# define __glibcpp_long_double_max_exponent __glibcpp_f96_max_exponent
-# define __glibcpp_long_double_max_exponent10 __glibcpp_f96_max_exponent10
# define __glibcpp_long_double_infinity_bytes __glibcpp_f96_infinity_bytes
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f96_QNaN_bytes
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f96_SNaN_bytes
@@ -1030,17 +880,7 @@
# define __glibcpp_long_double_has_denorm __glibcpp_f96_has_denorm
# define __glibcpp_long_double_is_iec559 __glibcpp_f96_is_iec559
#elif __LONG_DOUBLE_BIT__ == 128
-# define __glibcpp_long_double_min __glibcpp_f128_min
-# define __glibcpp_long_double_max __glibcpp_f128_max
-# define __glibcpp_long_double_digits __glibcpp_f128_digits
-# define __glibcpp_long_double_digits10 __glibcpp_f128_digits10
-# define __glibcpp_long_double_radix __glibcpp_f128_radix
-# define __glibcpp_long_double_epsilon __glibcpp_f128_epsilon
# define __glibcpp_long_double_round_error __glibcpp_f128_round_error
-# define __glibcpp_long_double_min_exponent __glibcpp_f128_min_exponent
-# define __glibcpp_long_double_min_exponent10 __glibcpp_f128_min_exponent10
-# define __glibcpp_long_double_max_exponent __glibcpp_f128_max_exponent
-# define __glibcpp_long_double_max_exponent10 __glibcpp_f128_max_exponent10
# define __glibcpp_long_double_infinity_bytes __glibcpp_f128_infinity_bytes
# define __glibcpp_long_double_QNaN_bytes __glibcpp_f128_QNaN_bytes
# define __glibcpp_long_double_SNaN_bytes __glibcpp_f128_SNaN_bytes
@@ -1970,25 +1810,25 @@ namespace std
static const bool is_specialized = true;
static float min() throw()
- { return __glibcpp_float_min; }
+ { return __FLT_MIN__; }
static float max() throw()
- { return __glibcpp_float_max; }
+ { return __FLT_MAX__; }
- static const int digits = __glibcpp_float_digits;
- static const int digits10 = __glibcpp_float_digits10;
+ static const int digits = __FLT_MANT_DIG__;
+ static const int digits10 = __FLT_DIG__;
static const bool is_signed = true;
static const bool is_integer = false;
static const bool is_exact = false;
- static const int radix = __glibcpp_float_radix;
+ static const int radix = __FLT_RADIX__;
static float epsilon() throw()
- { return __glibcpp_float_epsilon; }
+ { return __FLT_EPSILON__; }
static float round_error() throw()
{ return __glibcpp_float_round_error; }
- static const int min_exponent = __glibcpp_float_min_exponent;
- static const int min_exponent10 = __glibcpp_float_min_exponent10;
- static const int max_exponent = __glibcpp_float_max_exponent;
- static const int max_exponent10 = __glibcpp_float_max_exponent10;
+ static const int min_exponent = __FLT_MIN_EXP__;
+ static const int min_exponent10 = __FLT_MIN_10_EXP__;
+ static const int max_exponent = __FLT_MAX_EXP__;
+ static const int max_exponent10 = __FLT_MAX_10_EXP__;
static const bool has_infinity = __glibcpp_float_has_infinity;
static const bool has_quiet_NaN = __glibcpp_float_has_QNaN;
@@ -2014,16 +1854,7 @@ namespace std
static const float_round_style round_style = __glibcpp_float_round_style;
};
-#undef __glibcpp_float_min
-#undef __glibcpp_float_max
-#undef __glibcpp_float_digits
-#undef __glibcpp_float_digits10
-#undef __glibcpp_float_radix
#undef __glibcpp_float_round_error
-#undef __glibcpp_float_min_exponent
-#undef __glibcpp_float_min_exponent10
-#undef __glibcpp_float_max_exponent
-#undef __glibcpp_float_max_exponent10
#undef __glibcpp_float_has_infinity
#undef __glibcpp_float_has_QNaN
#undef __glibcpp_float_has_SNaN
@@ -2042,25 +1873,25 @@ namespace std
static const bool is_specialized = true;
static double min() throw()
- { return __glibcpp_double_min; }
+ { return __DBL_MIN__; }
static double max() throw()
- { return __glibcpp_double_max; }
+ { return __DBL_MAX__; }
- static const int digits = __glibcpp_double_digits;
- static const int digits10 = __glibcpp_double_digits10;
+ static const int digits = __DBL_MANT_DIG__;
+ static const int digits10 = __DBL_DIG__;
static const bool is_signed = true;
static const bool is_integer = false;
static const bool is_exact = false;
- static const int radix = __glibcpp_double_radix;
+ static const int radix = __FLT_RADIX__;
static double epsilon() throw()
- { return __glibcpp_double_epsilon; }
+ { return __DBL_EPSILON__; }
static double round_error() throw()
{ return __glibcpp_double_round_error; }
- static const int min_exponent = __glibcpp_double_min_exponent;
- static const int min_exponent10 = __glibcpp_double_min_exponent10;
- static const int max_exponent = __glibcpp_double_max_exponent;
- static const int max_exponent10 = __glibcpp_double_max_exponent10;
+ static const int min_exponent = __DBL_MIN_EXP__;
+ static const int min_exponent10 = __DBL_MIN_10_EXP__;
+ static const int max_exponent = __DBL_MAX_EXP__;
+ static const int max_exponent10 = __DBL_MAX_10_EXP__;
static const bool has_infinity = __glibcpp_double_has_infinity;
static const bool has_quiet_NaN = __glibcpp_double_has_QNaN;
@@ -2088,16 +1919,7 @@ namespace std
__glibcpp_double_round_style;
};
-#undef __glibcpp_double_min
-#undef __glibcpp_double_max
-#undef __glibcpp_double_digits
-#undef __glibcpp_double_digits10
-#undef __glibcpp_double_radix
#undef __glibcpp_double_round_error
-#undef __glibcpp_double_min_exponent
-#undef __glibcpp_double_min_exponent10
-#undef __glibcpp_double_max_exponent
-#undef __glibcpp_double_max_exponent10
#undef __glibcpp_double_has_infinity
#undef __glibcpp_double_has_QNaN
#undef __glibcpp_double_has_SNaN
@@ -2117,25 +1939,25 @@ namespace std
static const bool is_specialized = true;
static long double min() throw()
- { return __glibcpp_long_double_min; }
+ { return __LDBL_MIN__; }
static long double max() throw()
- { return __glibcpp_long_double_max; }
+ { return __LDBL_MAX__; }
- static const int digits = __glibcpp_long_double_digits;
- static const int digits10 = __glibcpp_long_double_digits10;
+ static const int digits = __LDBL_MANT_DIG__;
+ static const int digits10 = __LDBL_DIG__;
static const bool is_signed = true;
static const bool is_integer = false;
static const bool is_exact = false;
- static const int radix = __glibcpp_long_double_radix;
+ static const int radix = __FLT_RADIX__;
static long double epsilon() throw()
- { return __glibcpp_long_double_epsilon; }
+ { return __LDBL_EPSILON__; }
static long double round_error() throw()
{ return __glibcpp_long_double_round_error; }
- static const int min_exponent = __glibcpp_long_double_min_exponent;
- static const int min_exponent10 = __glibcpp_long_double_min_exponent10;
- static const int max_exponent = __glibcpp_long_double_max_exponent;
- static const int max_exponent10 = __glibcpp_long_double_max_exponent10;
+ static const int min_exponent = __LDBL_MIN_EXP__;
+ static const int min_exponent10 = __LDBL_MIN_10_EXP__;
+ static const int max_exponent = __LDBL_MAX_EXP__;
+ static const int max_exponent10 = __LDBL_MAX_10_EXP__;
static const bool has_infinity = __glibcpp_long_double_has_infinity;
static const bool has_quiet_NaN = __glibcpp_long_double_has_SNaN;
@@ -2179,16 +2001,7 @@ namespace std
__glibcpp_long_double_round_style;
};
-#undef __glibcpp_long_double_min
-#undef __glibcpp_long_double_max
-#undef __glibcpp_long_double_digits
-#undef __glibcpp_long_double_digits10
-#undef __glibcpp_long_double_radix
#undef __glibcpp_long_double_round_error
-#undef __glibcpp_long_double_min_exponent
-#undef __glibcpp_long_double_min_exponent10
-#undef __glibcpp_long_double_max_exponent
-#undef __glibcpp_long_double_max_exponent10
#undef __glibcpp_long_double_has_infinity
#undef __glibcpp_long_double_has_QNaN
#undef __glibcpp_long_double_has_SNaN
More information about the Gcc-patches
mailing list