diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-05-07 13:20:47 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-05-07 13:20:47 +0000 | 
| commit | e211311b517b1e6d75ff70cf593c0b65bfdf239d (patch) | |
| tree | df817c42851dbc1a3f820702275a5276d6367dac | |
| parent | 0c4d5b28ef0d8284d26fc21c3535a153bdba3618 (diff) | |
uclibc 0.9.30.1: add c99 long double math fix from gentoo (thx, ralph)
fixes compile error on powerpc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15670 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch | 474 | 
1 files changed, 474 insertions, 0 deletions
| diff --git a/toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch b/toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch new file mode 100644 index 000000000..f3718431e --- /dev/null +++ b/toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch @@ -0,0 +1,474 @@ +Index: uClibc-0.9.30.1/libm/ldouble_wrappers.c +=================================================================== +--- uClibc-0.9.30.1/libm/ldouble_wrappers.c	(revision 25552) ++++ uClibc-0.9.30.1/libm/ldouble_wrappers.c	(working copy) +@@ -13,6 +13,16 @@ + #include "math.h" + #include <complex.h> +  ++#if defined __NO_LONG_DOUBLE_MATH ++# define int_WRAPPER_C99(func) /* not needed */ ++# else ++# define int_WRAPPER_C99(func) \ ++int func##l(long double x) \ ++{ \ ++    return func((double) x); \ ++} \ ++libm_hidden_def(func##l) ++#endif +  + /* Implement the following, as defined by SuSv3 */ + #if 0 +@@ -543,46 +553,28 @@ long double truncl (long double x) + #endif +  +  +-#ifdef __DO_C99_MATH__ ++#if defined __DO_C99_MATH__ +  + #ifdef L_fpclassifyl +-int __fpclassifyl (long double x) +-{ +-	return __fpclassify ( (double) x ); +-} +-libm_hidden_def(__fpclassifyl) ++int_WRAPPER_C99(__fpclassify) + #endif +  + #ifdef L_finitel +-int __finitel (long double x) +-{ +-	return __finite ( (double)x ); +-} +-libm_hidden_def(__finitel) ++int_WRAPPER_C99(__finite) + #endif +  + #ifdef L_signbitl +-int __signbitl (long double x) +-{ +-	return __signbitl ( (double)x ); +-} +-libm_hidden_def(__signbitl) ++int_WRAPPER_C99(__signbit) + #endif +  + #ifdef L_isnanl +-int __isnanl (long double x) +-{ +-	return __isnan ( (double)x ); +-} +-libm_hidden_def(__isnanl) ++int_WRAPPER_C99(__isnan) + #endif +  + #ifdef L_isinfl +-int __isinfl (long double x) +-{ +-	return __isinf ( (double)x ); +-} +-libm_hidden_def(__isinfl) ++int_WRAPPER_C99(__isinf) + #endif +  +-#endif ++#endif /* DO_C99_MATH */ ++ ++#undef int_WRAPPER_C99 +Index: uClibc-0.9.30.1/libm/nan.c +=================================================================== +--- uClibc-0.9.30.1/libm/nan.c	(revision 25552) ++++ uClibc-0.9.30.1/libm/nan.c	(working copy) +@@ -45,7 +45,7 @@ float nanf (const char *tagp) + } + libm_hidden_def(nanf) +  +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH + libm_hidden_proto(nanl) + long double nanl (const char *tagp) + { +Index: uClibc-0.9.30.1/include/math.h +=================================================================== +--- uClibc-0.9.30.1/include/math.h	(revision 25552) ++++ uClibc-0.9.30.1/include/math.h	(working copy) +@@ -118,7 +118,7 @@ __BEGIN_DECLS + # undef	__MATH_PRECNAME +  + # if (__STDC__ - 0 || __GNUC__ - 0) \ +-     && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT) ++     && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT) + #  ifdef __LDBL_COMPAT +  + #   ifdef __USE_ISOC99 +@@ -230,7 +230,7 @@ enum +   }; +  + /* Return number of classification appropriate for X.  */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + #  define fpclassify(x) \ +      (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) + # else +@@ -242,7 +242,7 @@ enum + # endif +  + /* Return nonzero value if sign of X is negative.  */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + #  define signbit(x) \ +      (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) + # else +@@ -254,7 +254,7 @@ enum + # endif +  + /* Return nonzero value if X is not +-Inf or NaN.  */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + #  define isfinite(x) \ +      (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) + # else +@@ -270,7 +270,7 @@ enum +  + /* Return nonzero value if X is a NaN.  We could use `fpclassify' but +    we already have this functions `__isnan' and it is faster.  */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + #  define isnan(x) \ +      (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) + # else +@@ -282,7 +282,7 @@ enum + # endif +  + /* Return nonzero value is X is positive or negative infinity.  */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + #  define isinf(x) \ +      (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) + # else +Index: uClibc-0.9.30.1/include/tgmath.h +=================================================================== +--- uClibc-0.9.30.1/include/tgmath.h	(revision 25552) ++++ uClibc-0.9.30.1/include/tgmath.h	(working copy) +@@ -36,7 +36,7 @@ +  + #if __GNUC_PREREQ (2, 7) +  +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + #  define __tgml(fct) fct + # else + #  define __tgml(fct) fct ## l +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h	(working copy) +@@ -7,13 +7,13 @@ + # define __WORDSIZE	32 + #endif +  +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL +  + /* Signal the glibc ABI didn't used to have a `long double'. +    The changes all the `long double' function variants to be redirects +    to the double functions.  */ + # define __LONG_DOUBLE_MATH_OPTIONAL   1 + # ifndef __LONG_DOUBLE_128__ +-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  define __NO_LONG_DOUBLE_MATH        1 + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h	(working copy) +@@ -65,11 +65,13 @@ typedef double double_t; +  + #endif	/* ISO C99 */ +  +-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#ifndef __NO_LONG_DOUBLE_MATH + #include <bits/wordsize.h> + /* Signal that we do not really have a `long double'.  The disables the +    declaration of all the `long double' function variants.  */ + # if __WORDSIZE == 32 +-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  define __NO_LONG_DOUBLE_MATH	1 ++# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  define __NO_LONG_DOUBLE_MATH	1 + # endif  /* __WORDSIZE == 32 */ +-#endif  /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */ ++#endif  /* __NO_LONG_DOUBLE_MATH */ +Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h	(working copy) +@@ -34,3 +34,11 @@ typedef double double_t;	/* `double' exp + # define FP_ILOGBNAN	(2147483647) +  + #endif	/* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'.  This disables the ++   declaration of all the `long double' function variants.  */ ++/* XXX The FPA does support this but the patterns in GCC are currently ++   turned off.  */ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h	(working copy) +@@ -36,3 +36,7 @@ typedef long double double_t;	/* `double + # define FP_ILOGBNAN	(2147483647) +  + #endif	/* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h	(working copy) +@@ -18,13 +18,13 @@ +  + #define __WORDSIZE	64 +  +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL +  + /* Signal that we didn't used to have a `long double'. The changes all +    the `long double' function variants to be redirects to the double +    functions.  */ + # define __LONG_DOUBLE_MATH_OPTIONAL	1 + # ifndef __LONG_DOUBLE_128__ +-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  define __NO_LONG_DOUBLE_MATH		1 + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h	(working copy) +@@ -78,3 +78,7 @@ typedef double double_t; +  + # endif /* GNUC before 3.4 */ + #endif /* COMPLEX_H */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h	(working copy) +@@ -35,3 +35,9 @@ typedef double double_t;	/* `double' exp + # define FP_ILOGBNAN	2147483647 +  + #endif	/* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* 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 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h	(working copy) +@@ -44,3 +44,7 @@ typedef long double double_t;	/* `double + # define FP_ILOGBNAN	(-2147483647 - 1) +  + #endif	/* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h	(working copy) +@@ -34,3 +34,11 @@ typedef double double_t;	/* `double' exp + # define FP_ILOGBNAN	(2147483647) +  + #endif	/* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'.  This disables the ++   declaration of all the `long double' function variants.  */ ++/* XXX The FPA does support this but the patterns in GCC are currently ++   turned off.  */ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h	(working copy) +@@ -46,3 +46,7 @@ typedef long double double_t;	/* `double + # define FP_ILOGBNAN	(-2147483647 - 1) +  + #endif	/* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h	(working copy) +@@ -36,8 +36,8 @@ typedef double double_t;	/* `double' exp +  + #endif	/* ISO C99 */ +  +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#ifndef __NO_LONG_DOUBLE_MATH + /* Signal that we do not really have a `long double'.  The disables the +    declaration of all the `long double' function variants.  */ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h	(working copy) +@@ -35,3 +35,7 @@ typedef double double_t;	/* `double' exp + # define FP_ILOGBNAN	2147483647 +  + #endif	/* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h	(working copy) +@@ -39,8 +39,10 @@ typedef double double_t;	/* `double' exp +  + #endif	/* ISO C99 */ +  +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32 ++#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32 + /* Signal that we do not really have a `long double'.  This disables the +    declaration of all the `long double' function variants.  */ +-# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32 ++# define __NO_LONG_DOUBLE_MATH	1 ++#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH	1 + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h	(working copy) +@@ -34,3 +34,11 @@ typedef double double_t;	/* `double' exp + # define FP_ILOGBNAN	(2147483647) +  + #endif	/* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'.  This disables the ++   declaration of all the `long double' function variants.  */ ++/* XXX The FPA does support this but the patterns in GCC are currently ++   turned off.  */ ++# define __NO_LONG_DOUBLE_MATH	1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h	(working copy) +@@ -6,7 +6,7 @@ + # define __WORDSIZE	32 + #endif +  +-#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ ++#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ +  + # if __WORDSIZE == 32 + /* Signal that in 32bit ABI we didn't used to have a `long double'. +@@ -14,7 +14,7 @@ +    to the double functions.  */ + #  define __LONG_DOUBLE_MATH_OPTIONAL   1 + #  ifndef __LONG_DOUBLE_128__ +-#   undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#   define __NO_LONG_DOUBLE_MATH        1 + #  endif + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h	(working copy) +@@ -57,13 +57,15 @@ typedef double double_t; +  + #endif	/* ISO C99 */ +  +-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#ifndef __NO_LONG_DOUBLE_MATH +  + # if __WORDSIZE == 32 + /* Signal that in 32bit ABI we do not really have a `long double'. +    The disables the declaration of all the `long double' function +    variants.  */ +-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  define __NO_LONG_DOUBLE_MATH	1 ++# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  define __NO_LONG_DOUBLE_MATH	1 + # endif +  + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h	(working copy) +@@ -37,7 +37,7 @@ +  + # if __WORDSIZE == 32 +  +-#  ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#  ifndef __NO_LONG_DOUBLE_MATH +  + #   define __unordered_cmp(x, y) \ +   (__extension__							      \ +@@ -157,7 +157,7 @@ __NTH (__signbit (double __x)) +   return __u.__i[0] < 0; + } +  +-#    ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#    ifndef __NO_LONG_DOUBLE_MATH + __MATH_INLINE int + __NTH (__signbitl (long double __x)) + { +@@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x)) +   _Qp_sqrt (&__r, &__x); +   return __r; + } +-#   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#   elif !defined __NO_LONG_DOUBLE_MATH + __MATH_INLINE long double + sqrtl (long double __x) __THROW + { +@@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x) +   _Qp_sqrt(&__r, &__x); +   return __r; + } +-#   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#   elif !defined __NO_LONG_DOUBLE_MATH + __MATH_INLINE long double + __ieee754_sqrtl (long double __x) + { +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h	(revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h	(working copy) +@@ -61,3 +61,9 @@ typedef double double_t; + # define FP_ILOGBNAN	0x7fffffff +  + #endif	/* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* 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 ++#endif | 
