From 7549d7f202636b2fca00a790289cc336eab7a9a4 Mon Sep 17 00:00:00 2001
From: Benjamin Kosnik <bkoz@redhat.com>
Date: Thu, 13 May 2004 17:49:42 +0000
Subject: [PATCH] re PR libstdc++/15046 (Math functions misdetected by cross
 configuration)

2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/15046
	* crossconfig.m4: Add C99 math bits for linux crosses.
	* configure: Regenerate.

From-SVN: r81797
---
 libstdc++-v3/ChangeLog      |   6 ++
 libstdc++-v3/configure      | 189 +++++++++++++++++++++++++++++++++++-
 libstdc++-v3/crossconfig.m4 |  48 ++++++++-
 3 files changed, 241 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 34b79b6dedb2..f4cf9ae4b766 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
+
+	PR libstdc++/15046
+	* crossconfig.m4: Add C99 math bits for linux crosses.
+	* configure: Regenerate.
+	
 2004-05-13  Simon Marshall <simon.marshall@misys.com>
 	    Benjamin Kosnik  <bkoz@redhat.com>
 
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 6a6ad93e7d70..160d2b8c6c7c 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -58224,9 +58224,12 @@ _ACEOF
 
 
 
+
+
+
 for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h \
       machine/endian.h machine/param.h sys/machine.h sys/types.h \
-      fp.h locale.h float.h inttypes.h
+      fp.h float.h endian.h inttypes.h locale.h float.h stdint.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
@@ -60997,12 +61000,48 @@ _ACEOF
   fi
 
 
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_ACOSF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_ASINF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_ATANF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_ATAN2F 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_CEILF 1
+_ACEOF
+
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_COPYSIGN 1
 _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_COPYSIGNF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_COSF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_COSHF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_EXPF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_FABSF 1
 _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
@@ -61011,10 +61050,22 @@ _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_FINITEF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_FLOORF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_FMODF 1
 _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_FREXPF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_HYPOT 1
 _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
@@ -61035,6 +61086,34 @@ _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_ISNANF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_LOGF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_LOG10F 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_MODFF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_SIGNBIT 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_SIGNBITF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_SINF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_SINHF 1
 _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
@@ -61043,11 +61122,75 @@ _ACEOF
 
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_SINCOSF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_SQRTF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_TANF 1
+_ACEOF
+
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_TANHF 1
 _ACEOF
 
     if test x"long_double_math_on_this_cpu" = x"yes"; then
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_ACOSL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_ASINL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_ATANL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_ATAN2L 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_CEILL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_COPYSIGNL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_COSL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_COSHL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_EXPL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_FABSL 1
+_ACEOF
+
       cat >>confdefs.h <<\_ACEOF
 #define HAVE_FINITEL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_FLOORL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_FMODL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_FREXPL 1
 _ACEOF
 
       cat >>confdefs.h <<\_ACEOF
@@ -61060,6 +61203,50 @@ _ACEOF
 
       cat >>confdefs.h <<\_ACEOF
 #define HAVE_ISNANL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_LOGL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_LOG10L 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_MODFL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_POWL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SIGNBITL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SINL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SINHL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SINCOSL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SQRTL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_TANL 1
+_ACEOF
+
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_TANHL 1
 _ACEOF
 
     fi
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index 2c395e2c355d..faa19d92e72f 100644
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -125,7 +125,7 @@ case "${host}" in
   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
       machine/endian.h machine/param.h sys/machine.h sys/types.h \
-      fp.h locale.h float.h inttypes.h])
+      fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
     SECTION_FLAGS='-ffunction-sections -fdata-sections'
     AC_SUBST(SECTION_FLAGS)
     GLIBCXX_CHECK_LINKER_FEATURES
@@ -151,23 +151,69 @@ case "${host}" in
     AC_CHECK_HEADERS(sys/uio.h)
     GLIBCXX_CHECK_WRITEV
 
+    AC_DEFINE(HAVE_ACOSF)
+    AC_DEFINE(HAVE_ASINF)
+    AC_DEFINE(HAVE_ATANF)
+    AC_DEFINE(HAVE_ATAN2F)
+    AC_DEFINE(HAVE_CEILF)
     AC_DEFINE(HAVE_COPYSIGN)
     AC_DEFINE(HAVE_COPYSIGNF)
+    AC_DEFINE(HAVE_COSF)
+    AC_DEFINE(HAVE_COSHF)
+    AC_DEFINE(HAVE_EXPF)
+    AC_DEFINE(HAVE_FABSF)
     AC_DEFINE(HAVE_FINITE)
     AC_DEFINE(HAVE_FINITEF)
+    AC_DEFINE(HAVE_FLOORF)
+    AC_DEFINE(HAVE_FMODF)
     AC_DEFINE(HAVE_FREXPF)
+    AC_DEFINE(HAVE_HYPOT)
     AC_DEFINE(HAVE_HYPOTF)
     AC_DEFINE(HAVE_ISINF)
     AC_DEFINE(HAVE_ISINFF)
     AC_DEFINE(HAVE_ISNAN)
     AC_DEFINE(HAVE_ISNANF)
+    AC_DEFINE(HAVE_LOGF)
+    AC_DEFINE(HAVE_LOG10F)
+    AC_DEFINE(HAVE_MODFF)
+    AC_DEFINE(HAVE_SIGNBIT)
+    AC_DEFINE(HAVE_SIGNBITF)
+    AC_DEFINE(HAVE_SINF)
+    AC_DEFINE(HAVE_SINHF)
     AC_DEFINE(HAVE_SINCOS)
     AC_DEFINE(HAVE_SINCOSF)
+    AC_DEFINE(HAVE_SQRTF)
+    AC_DEFINE(HAVE_TANF)
+    AC_DEFINE(HAVE_TANHF)
     if test x"long_double_math_on_this_cpu" = x"yes"; then
+      AC_DEFINE(HAVE_ACOSL)
+      AC_DEFINE(HAVE_ASINL)
+      AC_DEFINE(HAVE_ATANL)
+      AC_DEFINE(HAVE_ATAN2L)
+      AC_DEFINE(HAVE_CEILL)
+      AC_DEFINE(HAVE_COPYSIGNL)
+      AC_DEFINE(HAVE_COSL)
+      AC_DEFINE(HAVE_COSHL)
+      AC_DEFINE(HAVE_EXPL)
+      AC_DEFINE(HAVE_FABSL)
       AC_DEFINE(HAVE_FINITEL)
+      AC_DEFINE(HAVE_FLOORL)
+      AC_DEFINE(HAVE_FMODL)
+      AC_DEFINE(HAVE_FREXPL)
       AC_DEFINE(HAVE_HYPOTL)
       AC_DEFINE(HAVE_ISINFL)
       AC_DEFINE(HAVE_ISNANL)
+      AC_DEFINE(HAVE_LOGL)
+      AC_DEFINE(HAVE_LOG10L)
+      AC_DEFINE(HAVE_MODFL)
+      AC_DEFINE(HAVE_POWL)
+      AC_DEFINE(HAVE_SIGNBITL)
+      AC_DEFINE(HAVE_SINL)
+      AC_DEFINE(HAVE_SINHL)
+      AC_DEFINE(HAVE_SINCOSL)
+      AC_DEFINE(HAVE_SQRTL)
+      AC_DEFINE(HAVE_TANL)
+      AC_DEFINE(HAVE_TANHL)
     fi
     ;;
   *-mingw32*)
-- 
GitLab