This is the mail archive of the libstdc++@sources.redhat.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: long double and GLIBCPP_CHECK_MATH_SUPPORT


	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 \

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]