long double and GLIBCPP_CHECK_MATH_SUPPORT

David Edelsohn dje@watson.ibm.com
Tue Oct 24 20:31:00 GMT 2000


	Is the following an acceptable approach?  I specifically am trying
to avoid duplicating all of the function names and the infrastructure for
creating the correct defines, config cache, etc.  That seems to force me
to insert the additional test into the existing test function definitions.

	Note, this is a PRELIMINARY patch.  I have not moved the
definitions and tests so that the context diff more clearly shows what has
changed.

David

Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/acinclude.m4,v
retrieving revision 1.70
diff -c -p -r1.70 acinclude.m4
*** acinclude.m4	2000/10/24 17:00:56	1.70
--- acinclude.m4	2000/10/25 03:22:13
*************** dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_
*** 321,332 ****
  AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     AC_LANG_SAVE
!     AC_LANG_CPLUSPLUS
!     AC_TRY_COMPILE([#include <math.h>], 
!                    [ $1(0);], 
!                    [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!     AC_LANG_RESTORE
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
--- 321,336 ----
  AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     if test $2 = "long_double" && test x"$enable_long_double" = xyes; then
!       AC_LANG_SAVE
!       AC_LANG_CPLUSPLUS
!       AC_TRY_COMPILE([#include <math.h>], 
!                     [ $1(0);], 
!                     [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!       AC_LANG_RESTORE
!     else
!       glibcpp_cv_func_$1_use=no
!     fi
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
*************** dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_
*** 350,361 ****
  AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     AC_LANG_SAVE
!     AC_LANG_CPLUSPLUS
!     AC_TRY_COMPILE([#include <math.h>], 
!                    [ $1(0, 0);], 
!                    [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!     AC_LANG_RESTORE
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
--- 354,369 ----
  AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     if test $2 = "long_double" && test x"$enable_long_double" = xyes; then
!       AC_LANG_SAVE
!       AC_LANG_CPLUSPLUS
!       AC_TRY_COMPILE([#include <math.h>], 
!                      [ $1(0, 0);], 
!                      [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!       AC_LANG_RESTORE
!     else
!       glibcpp_cv_func_$1_use=no
!     fi
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
*************** dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_
*** 379,390 ****
  AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     AC_LANG_SAVE
!     AC_LANG_CPLUSPLUS
!     AC_TRY_COMPILE([#include <math.h>], 
!                    [ $1(0, 0, 0);], 
!                    [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!     AC_LANG_RESTORE
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
--- 387,402 ----
  AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     if test $2 = "long_double" && test x"$enable_long_double" = xyes; then
!       AC_LANG_SAVE
!       AC_LANG_CPLUSPLUS
!       AC_TRY_COMPILE([#include <math.h>], 
!                      [ $1(0, 0, 0);], 
!                      [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!       AC_LANG_RESTORE
!     else
!       glibcpp_cv_func_$1_use=no
!     fi
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
*************** dnl GLIBCPP_CHECK_BUILTIN_MATH_DECL_LINK
*** 410,421 ****
  AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     AC_LANG_SAVE
!     AC_LANG_CPLUSPLUS
!     AC_TRY_COMPILE([#include <math.h>], 
!                    [ $1(0);], 
!                    [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!     AC_LANG_RESTORE
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
--- 422,437 ----
  AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1, [
    AC_MSG_CHECKING([for $1 declaration])
    AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
!     if test $2 = "long_double" && test x"$enable_long_double" = xyes; then
!       AC_LANG_SAVE
!       AC_LANG_CPLUSPLUS
!       AC_TRY_COMPILE([#include <math.h>], 
!                      [ $1(0);], 
!                      [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
!       AC_LANG_RESTORE
!     else
!       glibcpp_cv_func_$1_use=no
!     fi
    ])
    AC_MSG_RESULT($glibcpp_cv_func_$1_use)
    if test x$glibcpp_cv_func_$1_use = x"yes"; then
*************** dnl GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT
*** 456,478 ****
  AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
    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
--- 472,494 ----
  AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
    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, double)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf, float)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs, double)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl, long_double)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs, long)
! 
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf, float)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fsqrt, double)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl, long_double)
! 
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf, float)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin, double)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl, long_double)
! 
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf, float)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos, double)
!   GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl, long_double)
  
    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, [
*** 524,662 ****
    AC_CHECK_FUNCS(strtof strtold)
  
    dnl Check to see if certain C math functions exist.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnan)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finite)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysign)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincos)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2f)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceilf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhf)
!   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,
    dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h.
    dnl Check to see if certain C math functions exist.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnan)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finite)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysign)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincos)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fpclass)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinff)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2f)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceilf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_logf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10f)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modff)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanf)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhf)
!   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"
--- 540,678 ----
    AC_CHECK_FUNCS(strtof strtold)
  
    dnl Check to see if certain C math functions exist.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinf, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnan, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finite, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysign, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincos, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass, double)
  
    dnl Check to see if basic C math functions have float versions.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2f, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceilf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef, float)
  
    dnl Check to see if basic C math functions have long double versions.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceill, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10l, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modfl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitel, long_double)
  
    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,
    dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h.
    dnl Check to see if certain C math functions exist.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinf, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnan, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finite, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysign, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincos, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fpclass, double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_qfpclass, double)
  
    dnl Check to see if basic C math functions have float versions.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinff, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2f, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceilf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_logf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10f, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modff, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosf, float)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitef, float)
  
    dnl Check to see if basic C math functions have long double versions.
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinfl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysignl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2l, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceill, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_logl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10l, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modfl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosl, long_double)
!   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitel, long_double)
  
    LIBS="$ac_save_LIBS"
    CXXFLAGS="$ac_save_CXXFLAGS"


More information about the Libstdc++ mailing list