Revert "libm: fix C99_MATH on __NO_LONG_DOUBLE_MATH hosts"

This reverts commit 73d6e5c41b.

barking up the wrong tree

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
This commit is contained in:
Bernhard Reutner-Fischer
2009-11-14 17:50:41 +01:00
parent 73d6e5c41b
commit 53c9f62657
8 changed files with 44 additions and 28 deletions

View File

@@ -129,6 +129,11 @@ FL_MOBJ := \
# Not implemented [yet?]: nexttowardl.o
LD_MOBJ := \
__finitel.o \
__fpclassifyl.o \
__isinfl.o \
__isnanl.o \
__signbitl.o \
acoshl.o \
acosl.o \
asinhl.o \

View File

@@ -116,6 +116,16 @@ long long func##l(long double x) \
}
#endif /* __i386__ && __OPTIMIZE__ */
#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
@@ -491,3 +501,32 @@ long double significandl(long double x)
return (long double) significand((double) x);
}
#endif
#ifdef __DO_C99_MATH__
#ifdef L___fpclassifyl
int_WRAPPER1(__fpclassify)
libm_hidden_def(__fpclassifyl)
#endif
#ifdef L___finitel
int_WRAPPER1(__finite)
libm_hidden_def(__finitel)
#endif
#ifdef L___signbitl
int_WRAPPER1(__signbit)
libm_hidden_def(__signbitl)
#endif
#ifdef L___isnanl
int_WRAPPER1(__isnan)
libm_hidden_def(__isnanl)
#endif
#ifdef L___isinfl
int_WRAPPER1(__isinf)
libm_hidden_def(__isinfl)
#endif
#endif

View File

@@ -255,18 +255,5 @@ extern int __kernel_rem_pio2 (double*,double*,int,int,int,const int*) attribu
#define math_force_eval(x) do { __typeof(x) __x = (x); __asm __volatile ("" : : "m" (__x)); } while (0)
#endif
/* If we do not have long double support, then alias to the double variant. */
#if defined __NO_LONG_DOUBLE_MATH
# define int_WRAPPER_C99(func) \
weak_alias(func,func##l)
# else
# define int_WRAPPER_C99(func) \
int func##l(long double x) \
{ \
return func((double) x); \
} \
libm_hidden_def(func##l)
#endif
#endif /* _MATH_PRIVATE_H_ */

View File

@@ -30,6 +30,3 @@ int __finite(double x)
return (hx | 0x800fffff) != 0xffffffff;
}
libm_hidden_def(__finite)
#if defined __DO_C99_MATH__
int_WRAPPER_C99(__finite)
#endif

View File

@@ -40,6 +40,3 @@ int __fpclassify(double x)
return retval;
}
libm_hidden_def(__fpclassify)
#if defined __DO_C99_MATH__
int_WRAPPER_C99(__fpclassify)
#endif

View File

@@ -21,6 +21,3 @@ int __isinf(double x)
return ~(lx >> 31) & (hx >> 30);
}
libm_hidden_def(__isinf)
#if defined __DO_C99_MATH__
int_WRAPPER_C99(__isinf)
#endif

View File

@@ -27,6 +27,3 @@ int __isnan(double x)
return (int)(((u_int32_t)hx)>>31);
}
libm_hidden_def(__isnan)
#if defined __DO_C99_MATH__
int_WRAPPER_C99(__isnan)
#endif

View File

@@ -33,6 +33,3 @@ __signbit (double x)
return hx & 0x80000000;
}
libm_hidden_def(__signbit)
#if defined __DO_C99_MATH__
int_WRAPPER_C99(__signbit)
#endif