This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
Re: long double and GLIBCPP_CHECK_MATH_SUPPORT
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Subject: Re: long double and GLIBCPP_CHECK_MATH_SUPPORT
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Wed, 25 Oct 2000 13:24:30 -0400
- cc: libstdc++ at sources dot redhat dot com
Appended is the alternate version of the patch for the case where
the individual macros are not set. Again, the block of code has not been
moved to allow easier comparison of the context diff.
David
Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/acinclude.m4,v
retrieving revision 1.71
diff -c -p -r1.71 acinclude.m4
*** acinclude.m4 2000/10/25 12:50:04 1.71
--- acinclude.m4 2000/10/25 17:20:00
*************** AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPP
*** 457,478 ****
dnl Test for builtin math functions.
dnl These are made in gcc/c-common.c
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_abs)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fsqrt)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
-
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl)
-
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos)
! GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl)
dnl There is, without a doubt, a more elegant way to have these
dnl names exported so that they won't be stripped out of acconfig.h by
--- 457,481 ----
dnl Test for builtin math functions.
dnl These are made in gcc/c-common.c
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_abs)
+ GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf)
+
+ GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs)
+ GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fsqrt)
+ GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos)
!
! if test x"$enable_long_double" = x"yes"; then
! GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl)
! GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
! GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl)
! GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl)
! fi
!
! GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
dnl There is, without a doubt, a more elegant way to have these
dnl names exported so that they won't be stripped out of acconfig.h by
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 560,593 ****
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
! dnl Check to see if basic C math functions have long double versions.
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceill)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
dnl Some runtimes have these functions with a preceding underscore. Please
dnl keep this sync'd with the one above. And if you add any new symbol,
--- 563,598 ----
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
! if test x"$enable_long_double" = x"yes"; then
! dnl Check to see if basic C math functions have long double versions.
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceill)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
! fi
dnl Some runtimes have these functions with a preceding underscore. Please
dnl keep this sync'd with the one above. And if you add any new symbol,
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 629,662 ****
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosf)
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitef)
! dnl Check to see if basic C math functions have long double versions.
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysignl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceill)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_logl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitel)
LIBS="$ac_save_LIBS"
CXXFLAGS="$ac_save_CXXFLAGS"
--- 634,669 ----
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosf)
GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitef)
! if test x"$enable_long_double" = x"yes"; then
! dnl Check to see if basic C math functions have long double versions.
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysignl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceill)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_logl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10l)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modfl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosl)
! GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitel)
! fi
LIBS="$ac_save_LIBS"
CXXFLAGS="$ac_save_CXXFLAGS"
*************** AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPP
*** 683,689 ****
dnl Currently this includes copysignl and atan2l, which should be
dnl cached from the GLIBCPP_CHECK_MATH_SUPPORT macro, above.
USE_COMPLEX_LONG_DOUBLE=no
! if test x$ac_cv_func_atan2l = x"yes" \
&& test x$ac_cv_func_copysignl = x"yes"; then
USE_COMPLEX_LONG_DOUBLE=yes
AC_REPLACE_MATHFUNCS(ccoshl ccosl cexpl cpowl csinhl csinl \
--- 690,697 ----
dnl Currently this includes copysignl and atan2l, which should be
dnl cached from the GLIBCPP_CHECK_MATH_SUPPORT macro, above.
USE_COMPLEX_LONG_DOUBLE=no
! if test x"$enable_long_double" = x"yes" \
! && test x$ac_cv_func_atan2l = x"yes" \
&& test x$ac_cv_func_copysignl = x"yes"; then
USE_COMPLEX_LONG_DOUBLE=yes
AC_REPLACE_MATHFUNCS(ccoshl ccosl cexpl cpowl csinhl csinl \