diff --git a/libgcc-math/ChangeLog b/libgcc-math/ChangeLog index 8b93085fbec..5f1c9839d7d 100644 --- a/libgcc-math/ChangeLog +++ b/libgcc-math/ChangeLog @@ -1,3 +1,54 @@ +2006-02-28 Richard Guenther + + PR bootstrap/26055 + Revert + * configure.ac: Disable libgcc-math if we cannot mix + declaration of __isinf and math.h inclusion. + * configure: Re-generate. + + * i386/Makefile.am: Use -std=c99, do not use -ffinite-math-only, + do not define __NO_MATH_INLINES. + * i386/Makefile.in: Re-generate. + * include/math_private.h (__atanf): Declare. + (__scalbnf): Likewise. + (__floorf): Likewise. + (__isinff): Likewise. + (__scalbn): Likewise. + (__floor): Likewise. + (fabs): Likewise. + (fabsf): Likewise. + * flt-32/e_acosf.c: Do not include math.h + * flt-32/s_isinff.c: Likewise. + * flt-32/k_tanf.c: Likewise. + * flt-32/e_sqrtf.c: Likewise. + * flt-32/e_asinf.c: Likewise. + * flt-32/k_cosf.c: Likewise. + * flt-32/k_sinf.c: Likewise. + * flt-32/s_floorf.c: Likewise. + * flt-32/s_tanf.c: Likewise. + * flt-32/s_atanf.c: Likewise. + * flt-32/s_cosf.c: Likewise. + * flt-32/e_atan2f.c: Likewise. + * flt-32/e_powf.c: Likewise. + * flt-32/s_sinf.c: Likewise. + * flt-32/e_rem_pio2f.c: Likewise. + * flt-32/s_scalbnf.c: Likewise. + * flt-32/e_logf.c: Likewise. + * flt-32/e_log10f.c: Likewise. + * flt-32/k_rem_pio2f.c: Likewise. + * flt-32/e_expf.c: Likewise. Use __builtin_isless and + __builtin_isgreater. + * dbl-64/s_floor.c: Do not include math.h. + * dbl-64/e_log10.c: Likewise. + * dbl-64/k_rem_pio2.c: Likewise. + * dbl-64/s_atan.c: Likewise. + * dbl-64/s_scalbn.c: Likewise. + * dbl-64/s_isinf.c: Likewise. + * dbl-64/s_tan.c: Likewise. + * dbl-64/e_rem_pio2.c: Likewise. Avoid uninitialized variable + warning. + * dbl-64/mpa.c: Likewise. + 2006-02-08 Richard Guenther * dbl-64/mpa.c: Do not include sys/param.h. diff --git a/libgcc-math/configure b/libgcc-math/configure index 37adf05759c..5a2b10cabfd 100755 --- a/libgcc-math/configure +++ b/libgcc-math/configure @@ -7661,73 +7661,6 @@ fi -# Check for target library dependencies -cannot_build=no - -echo "$as_me:$LINENO: checking whether math.h conflicts with defining __isinf" >&5 -echo $ECHO_N "checking whether math.h conflicts with defining __isinf... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include "math.h" -int __isinf (double x) -{ -} - -int -main () -{ - -return __isinf (1.0); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -cannot_build=yes - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - # Now check which parts we include in the library. arch_subdirs= @@ -7745,9 +7678,6 @@ esac -if test "$cannot_build" = "yes"; then - arch_subdirs= -fi if test "x$arch_subdirs" != x; then diff --git a/libgcc-math/configure.ac b/libgcc-math/configure.ac index 48ad73ad4bd..cdbb0512c87 100644 --- a/libgcc-math/configure.ac +++ b/libgcc-math/configure.ac @@ -125,25 +125,6 @@ fi GCC_HEADER_STDINT(gstdint.h) -# Check for target library dependencies -cannot_build=no - -AC_MSG_CHECKING([whether math.h conflicts with defining __isinf]) -AC_TRY_LINK([ -#include "math.h" -int __isinf (double x) -{ -} -], [ -return __isinf (1.0); -], [ -AC_MSG_RESULT([no]) -], [ -AC_MSG_RESULT([yes]) -cannot_build=yes -]) - - # Now check which parts we include in the library. arch_subdirs= @@ -161,9 +142,6 @@ esac AC_SUBST(arch_subdirs) AC_SUBST(arch_libraries) AC_SUBST(arch_maps) -if test "$cannot_build" = "yes"; then - arch_subdirs= -fi AM_CONDITIONAL(BUILD_LIBGCC_MATH, [test "x$arch_subdirs" != x]) diff --git a/libgcc-math/dbl-64/e_log10.c b/libgcc-math/dbl-64/e_log10.c index f158b9f4636..2be04b8756d 100644 --- a/libgcc-math/dbl-64/e_log10.c +++ b/libgcc-math/dbl-64/e_log10.c @@ -47,7 +47,6 @@ static char rcsid[] = "$NetBSD: e_log10.c,v 1.9 1995/05/10 20:45:51 jtc Exp $"; * shown. */ -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/dbl-64/e_rem_pio2.c b/libgcc-math/dbl-64/e_rem_pio2.c index 671ee3eb2f6..7d4f7e19b5c 100644 --- a/libgcc-math/dbl-64/e_rem_pio2.c +++ b/libgcc-math/dbl-64/e_rem_pio2.c @@ -20,7 +20,6 @@ static char rcsid[] = "$NetBSD: e_rem_pio2.c,v 1.8 1995/05/10 20:46:02 jtc Exp $ * use __kernel_rem_pio2() */ -#include "math.h" #include "math_private.h" /* @@ -90,7 +89,7 @@ pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ double x,y[]; #endif { - double z,w,t,r,fn; + double z=z,w,t,r,fn; double tx[3]; int32_t e0,i,j,nx,n,ix,hx; uint32_t low; diff --git a/libgcc-math/dbl-64/k_rem_pio2.c b/libgcc-math/dbl-64/k_rem_pio2.c index ccf1633bd41..9ea767f591f 100644 --- a/libgcc-math/dbl-64/k_rem_pio2.c +++ b/libgcc-math/dbl-64/k_rem_pio2.c @@ -130,7 +130,6 @@ static char rcsid[] = "$NetBSD: k_rem_pio2.c,v 1.7 1995/05/10 20:46:25 jtc Exp $ * to produce the hexadecimal values shown. */ -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/dbl-64/mpa.c b/libgcc-math/dbl-64/mpa.c index 85d9647a8d2..0fd87321445 100644 --- a/libgcc-math/dbl-64/mpa.c +++ b/libgcc-math/dbl-64/mpa.c @@ -132,7 +132,7 @@ static void norm(const mp_no *x, double *y, int p) #if 0 int k; #endif - double a,c,u,v,z[5]; + double a,c=c,u,v,z[5]; if (p<5) { if (p==1) c = X[1]; else if (p==2) c = X[1] + R* X[2]; diff --git a/libgcc-math/dbl-64/s_atan.c b/libgcc-math/dbl-64/s_atan.c index 556f5b216dd..439bccb29e4 100644 --- a/libgcc-math/dbl-64/s_atan.c +++ b/libgcc-math/dbl-64/s_atan.c @@ -42,7 +42,6 @@ #include "MathLib.h" #include "uatan.tbl" #include "atnat.h" -#include "math.h" void __mpatan(mp_no *,mp_no *,int); /* see definition in mpatan.c */ static double atanMp(double,const int[]); diff --git a/libgcc-math/dbl-64/s_floor.c b/libgcc-math/dbl-64/s_floor.c index 05c0233104c..1fe135a7c35 100644 --- a/libgcc-math/dbl-64/s_floor.c +++ b/libgcc-math/dbl-64/s_floor.c @@ -23,7 +23,6 @@ static char rcsid[] = "$NetBSD: s_floor.c,v 1.8 1995/05/10 20:47:20 jtc Exp $"; * Inexact flag raised if x not equal to floor(x). */ -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/dbl-64/s_isinf.c b/libgcc-math/dbl-64/s_isinf.c index 24b29ae0137..4e84790401a 100644 --- a/libgcc-math/dbl-64/s_isinf.c +++ b/libgcc-math/dbl-64/s_isinf.c @@ -13,7 +13,6 @@ static char rcsid[] = "$NetBSD: s_isinf.c,v 1.3 1995/05/11 23:20:14 jtc Exp $"; * no branching! */ -#include "math.h" #include "math_private.h" int diff --git a/libgcc-math/dbl-64/s_scalbn.c b/libgcc-math/dbl-64/s_scalbn.c index 336917c838b..6ad68f9b9d6 100644 --- a/libgcc-math/dbl-64/s_scalbn.c +++ b/libgcc-math/dbl-64/s_scalbn.c @@ -21,7 +21,6 @@ static char rcsid[] = "$NetBSD: s_scalbn.c,v 1.8 1995/05/10 20:48:08 jtc Exp $"; * exponentiation or a multiplication. */ -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/dbl-64/s_tan.c b/libgcc-math/dbl-64/s_tan.c index cf8d4d02670..17bac52da03 100644 --- a/libgcc-math/dbl-64/s_tan.c +++ b/libgcc-math/dbl-64/s_tan.c @@ -37,7 +37,6 @@ #include "dla.h" #include "mpa.h" #include "MathLib.h" -#include "math.h" static double tanMp(double); void __mptan(double, mp_no *, int); diff --git a/libgcc-math/flt-32/e_acosf.c b/libgcc-math/flt-32/e_acosf.c index 0d85c4210dc..ce28b844c18 100644 --- a/libgcc-math/flt-32/e_acosf.c +++ b/libgcc-math/flt-32/e_acosf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: e_acosf.c,v 1.5 1995/05/12 04:57:16 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/e_asinf.c b/libgcc-math/flt-32/e_asinf.c index b0c835c83c0..f563d374d55 100644 --- a/libgcc-math/flt-32/e_asinf.c +++ b/libgcc-math/flt-32/e_asinf.c @@ -39,7 +39,6 @@ static char rcsid[] = "$NetBSD: e_asinf.c,v 1.5 1995/05/12 04:57:25 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/e_atan2f.c b/libgcc-math/flt-32/e_atan2f.c index a80d3a3f686..d55fa0ded77 100644 --- a/libgcc-math/flt-32/e_atan2f.c +++ b/libgcc-math/flt-32/e_atan2f.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: e_atan2f.c,v 1.4 1995/05/10 20:44:53 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/e_expf.c b/libgcc-math/flt-32/e_expf.c index 79749000d8b..feaac183af5 100644 --- a/libgcc-math/flt-32/e_expf.c +++ b/libgcc-math/flt-32/e_expf.c @@ -52,7 +52,6 @@ #endif #include #include -#include #include extern const float __exp_deltatable[178]; @@ -67,7 +66,7 @@ __ieee754_expf (float x) static const float himark = 88.72283935546875; static const float lomark = -103.972084045410; /* Check for usual case. */ - if (isless (x, himark) && isgreater (x, lomark)) + if (__builtin_isless (x, himark) && __builtin_isgreater (x, lomark)) { static const float THREEp42 = 13194139533312.0; static const float THREEp22 = 12582912.0; @@ -115,7 +114,7 @@ __ieee754_expf (float x) return (float) result; } /* Exceptional cases: */ - else if (isless (x, himark)) + else if (__builtin_isless (x, himark)) { if (__isinff (x)) /* e^-inf == 0, with no error. */ diff --git a/libgcc-math/flt-32/e_log10f.c b/libgcc-math/flt-32/e_log10f.c index 4e09962a763..f444f951d81 100644 --- a/libgcc-math/flt-32/e_log10f.c +++ b/libgcc-math/flt-32/e_log10f.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: e_log10f.c,v 1.5 1995/05/10 20:45:53 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/e_logf.c b/libgcc-math/flt-32/e_logf.c index de8f869df49..c5a16265258 100644 --- a/libgcc-math/flt-32/e_logf.c +++ b/libgcc-math/flt-32/e_logf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: e_logf.c,v 1.4 1995/05/10 20:45:54 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/e_powf.c b/libgcc-math/flt-32/e_powf.c index 5be75f2a796..cf2f2e57919 100644 --- a/libgcc-math/flt-32/e_powf.c +++ b/libgcc-math/flt-32/e_powf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: e_powf.c,v 1.7 1996/04/08 15:43:44 phil Exp $"; #endif -#include "math.h" #include "math_private.h" static const float huge = 1.0e+30, tiny = 1.0e-30; diff --git a/libgcc-math/flt-32/e_rem_pio2f.c b/libgcc-math/flt-32/e_rem_pio2f.c index 6c2dd3382ea..4c845bccad7 100644 --- a/libgcc-math/flt-32/e_rem_pio2f.c +++ b/libgcc-math/flt-32/e_rem_pio2f.c @@ -23,7 +23,6 @@ static char rcsid[] = "$NetBSD: e_rem_pio2f.c,v 1.5 1995/05/10 20:46:03 jtc Exp * use __kernel_rem_pio2f() */ -#include "math.h" #include "math_private.h" /* diff --git a/libgcc-math/flt-32/e_sqrtf.c b/libgcc-math/flt-32/e_sqrtf.c index 793f2ad4d18..4a00998385c 100644 --- a/libgcc-math/flt-32/e_sqrtf.c +++ b/libgcc-math/flt-32/e_sqrtf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: e_sqrtf.c,v 1.4 1995/05/10 20:46:19 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/k_cosf.c b/libgcc-math/flt-32/k_cosf.c index b232cab11f5..5f9f47c17bd 100644 --- a/libgcc-math/flt-32/k_cosf.c +++ b/libgcc-math/flt-32/k_cosf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: k_cosf.c,v 1.4 1995/05/10 20:46:23 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/k_rem_pio2f.c b/libgcc-math/flt-32/k_rem_pio2f.c index 2783480fcbf..b93f5d0759e 100644 --- a/libgcc-math/flt-32/k_rem_pio2f.c +++ b/libgcc-math/flt-32/k_rem_pio2f.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: k_rem_pio2f.c,v 1.4 1995/05/10 20:46:28 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" /* In the float version, the input parameter x contains 8 bit diff --git a/libgcc-math/flt-32/k_sinf.c b/libgcc-math/flt-32/k_sinf.c index 4fec15e830e..21ce33433be 100644 --- a/libgcc-math/flt-32/k_sinf.c +++ b/libgcc-math/flt-32/k_sinf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: k_sinf.c,v 1.4 1995/05/10 20:46:33 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/k_tanf.c b/libgcc-math/flt-32/k_tanf.c index eb1a670939b..10af8188e4f 100644 --- a/libgcc-math/flt-32/k_tanf.c +++ b/libgcc-math/flt-32/k_tanf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: k_tanf.c,v 1.4 1995/05/10 20:46:39 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ static const float diff --git a/libgcc-math/flt-32/s_atanf.c b/libgcc-math/flt-32/s_atanf.c index a68933fa6ad..a4754130e2e 100644 --- a/libgcc-math/flt-32/s_atanf.c +++ b/libgcc-math/flt-32/s_atanf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: s_atanf.c,v 1.4 1995/05/10 20:46:47 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/s_cosf.c b/libgcc-math/flt-32/s_cosf.c index 86c59d440ca..1380844d96e 100644 --- a/libgcc-math/flt-32/s_cosf.c +++ b/libgcc-math/flt-32/s_cosf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: s_cosf.c,v 1.4 1995/05/10 20:47:03 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/s_floorf.c b/libgcc-math/flt-32/s_floorf.c index b2c21cb05ab..a38db688a76 100644 --- a/libgcc-math/flt-32/s_floorf.c +++ b/libgcc-math/flt-32/s_floorf.c @@ -26,7 +26,6 @@ static char rcsid[] = "$NetBSD: s_floorf.c,v 1.4 1995/05/10 20:47:22 jtc Exp $"; * Inexact flag raised if x not equal to floorf(x). */ -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/s_isinff.c b/libgcc-math/flt-32/s_isinff.c index 03a95fcc0fc..1296a0198c9 100644 --- a/libgcc-math/flt-32/s_isinff.c +++ b/libgcc-math/flt-32/s_isinff.c @@ -12,7 +12,6 @@ static char rcsid[] = "$NetBSD: s_isinff.c,v 1.3 1995/05/11 23:20:21 jtc Exp $"; * no branching! */ -#include "math.h" #include "math_private.h" int diff --git a/libgcc-math/flt-32/s_scalbnf.c b/libgcc-math/flt-32/s_scalbnf.c index f9366bb5104..a3dd27cea6e 100644 --- a/libgcc-math/flt-32/s_scalbnf.c +++ b/libgcc-math/flt-32/s_scalbnf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: s_scalbnf.c,v 1.4 1995/05/10 20:48:10 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/s_sinf.c b/libgcc-math/flt-32/s_sinf.c index 76a7c21fcb1..c6ffd33249d 100644 --- a/libgcc-math/flt-32/s_sinf.c +++ b/libgcc-math/flt-32/s_sinf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: s_sinf.c,v 1.4 1995/05/10 20:48:16 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/flt-32/s_tanf.c b/libgcc-math/flt-32/s_tanf.c index e8f6016c32c..8e66f182290 100644 --- a/libgcc-math/flt-32/s_tanf.c +++ b/libgcc-math/flt-32/s_tanf.c @@ -17,7 +17,6 @@ static char rcsid[] = "$NetBSD: s_tanf.c,v 1.4 1995/05/10 20:48:20 jtc Exp $"; #endif -#include "math.h" #include "math_private.h" #ifdef __STDC__ diff --git a/libgcc-math/i386/Makefile.am b/libgcc-math/i386/Makefile.am index 4a02e6a50b4..b75705a374f 100644 --- a/libgcc-math/i386/Makefile.am +++ b/libgcc-math/i386/Makefile.am @@ -11,9 +11,9 @@ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) noinst_LTLIBRARIES = libsse2.la libsse2_la_CFLAGS = -I@srcdir@/../include -I.. -include @srcdir@/sse2.h \ - -Wall -O2 -g -msse2 -msseregparm -mfpmath=sse -march=pentium3 \ - -fno-math-errno -fno-trapping-math -ffinite-math-only \ - -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES + -Wall -std=c99 -O2 -g \ + -msse2 -msseregparm -mfpmath=sse -march=pentium3 -mtune=generic \ + -fno-math-errno -fno-trapping-math -fno-rounding-math -fno-signaling-nans libsse2_la_SOURCES = \ @srcdir@/../flt-32/e_acosf.c \ diff --git a/libgcc-math/i386/Makefile.in b/libgcc-math/i386/Makefile.in index 8e56ebfb5bc..075bdbc71f0 100644 --- a/libgcc-math/i386/Makefile.in +++ b/libgcc-math/i386/Makefile.in @@ -200,9 +200,9 @@ toolexeclibdir = @toolexeclibdir@ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) noinst_LTLIBRARIES = libsse2.la libsse2_la_CFLAGS = -I@srcdir@/../include -I.. -include @srcdir@/sse2.h \ - -Wall -O2 -g -msse2 -msseregparm -mfpmath=sse -march=pentium3 \ - -fno-math-errno -fno-trapping-math -ffinite-math-only \ - -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES + -Wall -std=c99 -O2 -g \ + -msse2 -msseregparm -mfpmath=sse -march=pentium3 -mtune=generic \ + -fno-math-errno -fno-trapping-math -fno-rounding-math -fno-signaling-nans libsse2_la_SOURCES = \ @srcdir@/../flt-32/e_acosf.c \ diff --git a/libgcc-math/include/math_private.h b/libgcc-math/include/math_private.h index 25084f51405..4cfdabffd81 100644 --- a/libgcc-math/include/math_private.h +++ b/libgcc-math/include/math_private.h @@ -232,6 +232,11 @@ extern float __kernel_cosf (float,float); extern float __kernel_tanf (float,float,int); extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*); +extern float __atanf (float); +extern float __scalbnf (float x, int n); +extern float __floorf(float x); +extern int __isinff(float x); + /* internal functions. */ extern float __copysignf (float x, float __y); @@ -318,5 +323,11 @@ extern double __mpcos1 (double __x); extern double __slowexp (double __x); extern double __slowpow (double __x, double __y, double __z); extern void __docos (double __x, double __dx, double __v[]); +extern double __scalbn (double x, int n); +extern double __floor(double x); + +/* Prototypes for C99 math functions provided by GCC builtins. */ +extern double fabs(double); +extern float fabsf(float); #endif /* _MATH_PRIVATE_H_ */