Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 5 Nov 1998 18:07:15 +0000 (18:07 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 5 Nov 1998 18:07:15 +0000 (18:07 +0000)
* math/math.h: Unconditionally include bits/mathdef.h.  Declare
long double functions only if __NO_LONG_DOUBLE_MATH is not
defined.
* sysdeps/generic/bits/mathdef.h: Define only if __USE_ISOC9X.
Define __NO_LONG_DOUBLE_MATH.
* sysdeps/m68k/fpu/bits/mathdef.h: Define only if __USE_ISOC9X.
* sysdeps/i386/fpu/bits/mathdef.h: Likewise.

ChangeLog
bits/mathdef.h
math/math.h
sysdeps/generic/bits/mathdef.h
sysdeps/i386/fpu/bits/mathdef.h
sysdeps/m68k/fpu/bits/mathdef.h

index f41a7d1..39072c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 1998-11-05  Ulrich Drepper  <drepper@cygnus.com>
 
+       * math/math.h: Unconditionally include bits/mathdef.h.  Declare
+       long double functions only if __NO_LONG_DOUBLE_MATH is not
+       defined.
+       * sysdeps/generic/bits/mathdef.h: Define only if __USE_ISOC9X.
+       Define __NO_LONG_DOUBLE_MATH.
+       * sysdeps/m68k/fpu/bits/mathdef.h: Define only if __USE_ISOC9X.
+       * sysdeps/i386/fpu/bits/mathdef.h: Likewise.
+
        * elf/rtld.c: Add a few __builtin_expects where they will improve
        a lot.
 
index 1514099..b034c5c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
-
+#ifdef __USE_ISOC9X
 /* Normally, there is no long double type and the `float' and `double'
    expressions are evaluated as `double'.  */
 typedef double float_t;                /* `float' expressions are evaluated as
@@ -29,15 +29,21 @@ typedef double double_t;    /* `double' expressions are evaluated as
                                   `double'.  */
 
 /* Signal that both types are `double'.  */
-#define FLT_EVAL_METHOD        1
+# define FLT_EVAL_METHOD       1
 
 /* Define `INFINITY' as value of type `float'.  */
-#define INFINITY       HUGE_VALF
+# define INFINITY      HUGE_VALF
 
 
 /* The values returned by `ilogb' for 0 and NaN respectively.  */
-#define FP_ILOGB0      0x80000001
-#define FP_ILOGBNAN    0x7fffffff
+# define FP_ILOGB0     0x80000001
+# define FP_ILOGBNAN   0x7fffffff
 
 /* Number of decimal digits for the `double' type.  */
-#define DECIMAL_DIG    15
+# define DECIMAL_DIG   15
+
+#endif /* ISO C 9X */
+
+/* Signal that we do not really have a `long double'.  The disables the
+   declaration of all the `long double' function variants.  */
+#define __NO_LONG_DOUBLE_MATH  1
index 2a5f8d3..42f32ee 100644 (file)
@@ -36,6 +36,8 @@ __BEGIN_DECLS
 #ifdef  __USE_ISOC9X
 # include <bits/nan.h>
 #endif
+/* Get general and ISO C 9X specific information.  */
+#include <bits/mathdef.h>
 
 
 /* The file <bits/mathcalls.h> contains the prototypes for all the
@@ -81,7 +83,7 @@ __BEGIN_DECLS
 # undef        _Mdouble_
 # undef        __MATH_PRECNAME
 
-# if __STDC__ - 0 || __GNUC__ - 0
+# if __STDC__ - 0 || __GNUC__ - 0 && !defined __NO_LONG_DOUBLE_MATH
 /* Include the file of declarations again, this time using `long double'
    instead of `double' and appending l to each function name.  */
 
@@ -147,7 +149,6 @@ extern int signgam;
                decimal and all internal floating-point formats.
 
 */
-# include <bits/mathdef.h>
 
 /* All floating-point numbers can be put in one of these categories.  */
 enum
index 1514099..b034c5c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
-
+#ifdef __USE_ISOC9X
 /* Normally, there is no long double type and the `float' and `double'
    expressions are evaluated as `double'.  */
 typedef double float_t;                /* `float' expressions are evaluated as
@@ -29,15 +29,21 @@ typedef double double_t;    /* `double' expressions are evaluated as
                                   `double'.  */
 
 /* Signal that both types are `double'.  */
-#define FLT_EVAL_METHOD        1
+# define FLT_EVAL_METHOD       1
 
 /* Define `INFINITY' as value of type `float'.  */
-#define INFINITY       HUGE_VALF
+# define INFINITY      HUGE_VALF
 
 
 /* The values returned by `ilogb' for 0 and NaN respectively.  */
-#define FP_ILOGB0      0x80000001
-#define FP_ILOGBNAN    0x7fffffff
+# define FP_ILOGB0     0x80000001
+# define FP_ILOGBNAN   0x7fffffff
 
 /* Number of decimal digits for the `double' type.  */
-#define DECIMAL_DIG    15
+# define DECIMAL_DIG   15
+
+#endif /* ISO C 9X */
+
+/* Signal that we do not really have a `long double'.  The disables the
+   declaration of all the `long double' function variants.  */
+#define __NO_LONG_DOUBLE_MATH  1
index 9d0bd84..7dec1ab 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
-
+#ifdef __USE_ISOC9X
 /* The ix87 FPUs evaluate all values in the 80 bit floating-point format
    which is also available for the user as `long double'.  Therefore we
    define:  */
@@ -30,14 +30,16 @@ typedef long double double_t;       /* `double' expressions are evaluated as
                                   `long double'.  */
 
 /* Signal that both types are `long double'.  */
-#define FLT_EVAL_METHOD        2
+# define FLT_EVAL_METHOD       2
 
 /* Define `INFINITY' as value of type `float'.  */
-#define INFINITY       HUGE_VALF
+# define INFINITY      HUGE_VALF
 
 /* The values returned by `ilogb' for 0 and NaN respectively.  */
-#define FP_ILOGB0      0x80000000
-#define FP_ILOGBNAN    0x80000000
+# define FP_ILOGB0     0x80000000
+# define FP_ILOGBNAN   0x80000000
 
 /* Number of decimal digits for the `long double' type.  */
-#define DECIMAL_DIG    18
+# define DECIMAL_DIG   18
+
+#endif /* ISO C 9X */
index e3d33a5..5bad57b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
-
+#ifdef __USE_ISOC9X
 /* The m68k FPUs evaluate all values in the 96 bit floating-point format
    which is also available for the user as `long double'.  Therefore we
    define: */
@@ -30,14 +30,16 @@ typedef long double double_t;       /* `double' expressions are evaluated as
                                   `long double'.  */
 
 /* Signal that both types are `long double'.  */
-#define FLT_EVAL_METHOD        2
+# define FLT_EVAL_METHOD       2
 
 /* Define `INFINITY' as value of type `float'.  */
-#define INFINITY       HUGE_VALF
+# define INFINITY      HUGE_VALF
 
 /* The values returned by `ilogb' for 0 and NaN respectively.  */
-#define FP_ILOGB0      0x80000000
-#define FP_ILOGBNAN    0x7fffffff
+# define FP_ILOGB0     0x80000000
+# define FP_ILOGBNAN   0x7fffffff
 
 /* Number of decimal digits for the `long double' type.  */
-#define DECIMAL_DIG    18
+# define DECIMAL_DIG   18
+
+#endif /* ISO C 9X */