1*10d565efSmrgdnl
2*10d565efSmrgdnl This file contains macros for testing linkage.
3*10d565efSmrgdnl
4*10d565efSmrg
5*10d565efSmrgdnl
6*10d565efSmrgdnl Check to see if the (math function) argument passed is
7*10d565efSmrgdnl declared when using the c++ compiler
8*10d565efSmrgdnl ASSUMES argument is a math function with ONE parameter
9*10d565efSmrgdnl
10*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_1
11*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_1], [
12*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
13*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
14*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
15*10d565efSmrg      AC_LANG_SAVE
16*10d565efSmrg      AC_LANG_CPLUSPLUS
17*10d565efSmrg      AC_TRY_COMPILE([#include <math.h>
18*10d565efSmrg		      #ifdef HAVE_IEEEFP_H
19*10d565efSmrg		      #include <ieeefp.h>
20*10d565efSmrg		      #endif
21*10d565efSmrg		     ],
22*10d565efSmrg                     [ $1(0);],
23*10d565efSmrg                      [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
24*10d565efSmrg      AC_LANG_RESTORE
25*10d565efSmrg    ])
26*10d565efSmrg  fi
27*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
28*10d565efSmrg])
29*10d565efSmrg
30*10d565efSmrg
31*10d565efSmrgdnl
32*10d565efSmrgdnl Define autoheader template for using the underscore functions
33*10d565efSmrgdnl For each parameter, create a macro where if func doesn't exist,
34*10d565efSmrgdnl but _func does, then it will "#define func _func".
35*10d565efSmrgdnl
36*10d565efSmrgdnl GLIBCXX_MAYBE_UNDERSCORED_FUNCS
37*10d565efSmrgAC_DEFUN([GLIBCXX_MAYBE_UNDERSCORED_FUNCS],
38*10d565efSmrg[AC_FOREACH([glibcxx_ufunc], [$1],
39*10d565efSmrg  [AH_VERBATIM(_[]glibcxx_ufunc,
40*10d565efSmrg[#if defined (]AS_TR_CPP(HAVE__[]glibcxx_ufunc)[) && ! defined (]AS_TR_CPP(HAVE_[]glibcxx_ufunc)[)
41*10d565efSmrg# define ]AS_TR_CPP(HAVE_[]glibcxx_ufunc)[ 1
42*10d565efSmrg# define ]glibcxx_ufunc[ _]glibcxx_ufunc[
43*10d565efSmrg#endif])])
44*10d565efSmrg])
45*10d565efSmrg
46*10d565efSmrg
47*10d565efSmrgdnl
48*10d565efSmrgdnl Check to see if the (math function) argument passed is
49*10d565efSmrgdnl 1) declared when using the c++ compiler
50*10d565efSmrgdnl 2) has "C" linkage
51*10d565efSmrgdnl 3) if not, see if 1) and 2) for argument prepended with '_'
52*10d565efSmrgdnl
53*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is declared and links
54*10d565efSmrgdnl
55*10d565efSmrgdnl argument 1 is name of function to check
56*10d565efSmrgdnl
57*10d565efSmrgdnl ASSUMES argument is a math function with ONE parameter
58*10d565efSmrgdnl
59*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1
60*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1], [
61*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_1($1)
62*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
63*10d565efSmrg    AC_CHECK_FUNCS($1)
64*10d565efSmrg  else
65*10d565efSmrg    GLIBCXX_CHECK_MATH_DECL_1(_$1)
66*10d565efSmrg    if test x$glibcxx_cv_func__$1_use = x"yes"; then
67*10d565efSmrg      AC_CHECK_FUNCS(_$1)
68*10d565efSmrg    fi
69*10d565efSmrg  fi
70*10d565efSmrg  GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
71*10d565efSmrg])
72*10d565efSmrg
73*10d565efSmrg
74*10d565efSmrgdnl
75*10d565efSmrgdnl Like GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
76*10d565efSmrgdnl of functions at once.  It's an all-or-nothing check -- either
77*10d565efSmrgdnl HAVE_XYZ is defined for each of the functions, or for none of them.
78*10d565efSmrgdnl Doing it this way saves significant configure time.
79*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1], [
80*10d565efSmrg  define([funclist],patsubst($3,\(\w+\)\(\W*\),\1 ))dnl
81*10d565efSmrg  AC_MSG_CHECKING([for $1 functions])
82*10d565efSmrg  AC_CACHE_VAL(glibcxx_cv_func_$2_use, [
83*10d565efSmrg    AC_LANG_SAVE
84*10d565efSmrg    AC_LANG_CPLUSPLUS
85*10d565efSmrg    AC_TRY_COMPILE([#include <math.h>],
86*10d565efSmrg                   patsubst(funclist,[\w+],[\& (0);]),
87*10d565efSmrg                   [glibcxx_cv_func_$2_use=yes],
88*10d565efSmrg                   [glibcxx_cv_func_$2_use=no])
89*10d565efSmrg    AC_LANG_RESTORE])
90*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$2_use)
91*10d565efSmrg  if test x$glibcxx_cv_func_$2_use = x"yes"; then
92*10d565efSmrg    AC_CHECK_FUNCS(funclist)
93*10d565efSmrg  else
94*10d565efSmrg    AC_MSG_CHECKING([for _$1 functions])
95*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func__$2_use, [
96*10d565efSmrg      AC_LANG_SAVE
97*10d565efSmrg      AC_LANG_CPLUSPLUS
98*10d565efSmrg      AC_TRY_COMPILE([#include <math.h>],
99*10d565efSmrg                     patsubst(funclist,[\w+],[_\& (0);]),
100*10d565efSmrg                     [glibcxx_cv_func__$2_use=yes],
101*10d565efSmrg                     [glibcxx_cv_func__$2_use=no])
102*10d565efSmrg      AC_LANG_RESTORE])
103*10d565efSmrg    AC_MSG_RESULT($glibcxx_cv_func__$2_use)
104*10d565efSmrg    if test x$glibcxx_cv_func__$2_use = x"yes"; then
105*10d565efSmrg      AC_CHECK_FUNCS(patsubst(funclist,[\w+],[_\&]))
106*10d565efSmrg    fi
107*10d565efSmrg  fi
108*10d565efSmrg  GLIBCXX_MAYBE_UNDERSCORED_FUNCS(funclist)
109*10d565efSmrg  undefine([funclist])
110*10d565efSmrg])
111*10d565efSmrg
112*10d565efSmrgdnl
113*10d565efSmrgdnl Check to see if the (math function) argument passed is
114*10d565efSmrgdnl declared when using the c++ compiler
115*10d565efSmrgdnl ASSUMES argument is a math function with TWO parameters
116*10d565efSmrgdnl
117*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_2
118*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_2], [
119*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
120*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
121*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
122*10d565efSmrg      AC_LANG_SAVE
123*10d565efSmrg      AC_LANG_CPLUSPLUS
124*10d565efSmrg      AC_TRY_COMPILE([#include <math.h>],
125*10d565efSmrg                     [ $1(0, 0);],
126*10d565efSmrg                     [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
127*10d565efSmrg      AC_LANG_RESTORE
128*10d565efSmrg    ])
129*10d565efSmrg  fi
130*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
131*10d565efSmrg])
132*10d565efSmrg
133*10d565efSmrgdnl
134*10d565efSmrgdnl Check to see if the (math function) argument passed is
135*10d565efSmrgdnl 1) declared when using the c++ compiler
136*10d565efSmrgdnl 2) has "C" linkage
137*10d565efSmrgdnl
138*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is declared and links
139*10d565efSmrgdnl
140*10d565efSmrgdnl argument 1 is name of function to check
141*10d565efSmrgdnl
142*10d565efSmrgdnl ASSUMES argument is a math function with TWO parameters
143*10d565efSmrgdnl
144*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2
145*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2], [
146*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_2($1)
147*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
148*10d565efSmrg    AC_CHECK_FUNCS($1)
149*10d565efSmrg  else
150*10d565efSmrg    GLIBCXX_CHECK_MATH_DECL_2(_$1)
151*10d565efSmrg    if test x$glibcxx_cv_func__$1_use = x"yes"; then
152*10d565efSmrg      AC_CHECK_FUNCS(_$1)
153*10d565efSmrg    fi
154*10d565efSmrg  fi
155*10d565efSmrg  GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
156*10d565efSmrg])
157*10d565efSmrg
158*10d565efSmrg
159*10d565efSmrgdnl
160*10d565efSmrgdnl Check to see if the (math function) argument passed is
161*10d565efSmrgdnl declared when using the c++ compiler
162*10d565efSmrgdnl ASSUMES argument is a math function with THREE parameters
163*10d565efSmrgdnl
164*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_3
165*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_3], [
166*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
167*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
168*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
169*10d565efSmrg      AC_LANG_SAVE
170*10d565efSmrg      AC_LANG_CPLUSPLUS
171*10d565efSmrg      AC_TRY_COMPILE([#include <math.h>],
172*10d565efSmrg                     [ $1(0, 0, 0);],
173*10d565efSmrg                     [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
174*10d565efSmrg      AC_LANG_RESTORE
175*10d565efSmrg    ])
176*10d565efSmrg  fi
177*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
178*10d565efSmrg])
179*10d565efSmrg
180*10d565efSmrgdnl
181*10d565efSmrgdnl Check to see if the (math function) argument passed is
182*10d565efSmrgdnl 1) declared when using the c++ compiler
183*10d565efSmrgdnl 2) has "C" linkage
184*10d565efSmrgdnl
185*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is declared and links
186*10d565efSmrgdnl
187*10d565efSmrgdnl argument 1 is name of function to check
188*10d565efSmrgdnl
189*10d565efSmrgdnl ASSUMES argument is a math function with THREE parameters
190*10d565efSmrgdnl
191*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3
192*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3], [
193*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_3($1)
194*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
195*10d565efSmrg    AC_CHECK_FUNCS($1)
196*10d565efSmrg  else
197*10d565efSmrg    GLIBCXX_CHECK_MATH_DECL_3(_$1)
198*10d565efSmrg    if test x$glibcxx_cv_func__$1_use = x"yes"; then
199*10d565efSmrg      AC_CHECK_FUNCS(_$1)
200*10d565efSmrg    fi
201*10d565efSmrg  fi
202*10d565efSmrg  GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
203*10d565efSmrg])
204*10d565efSmrg
205*10d565efSmrg
206*10d565efSmrgdnl
207*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is
208*10d565efSmrgdnl 1) declared when using the c++ compiler
209*10d565efSmrgdnl 2) has "C" linkage
210*10d565efSmrgdnl
211*10d565efSmrgdnl argument 1 is name of function to check
212*10d565efSmrgdnl
213*10d565efSmrgdnl ASSUMES argument is a stdlib function without parameters
214*10d565efSmrgdnl
215*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0
216*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0], [
217*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
218*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
219*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
220*10d565efSmrg      AC_LANG_SAVE
221*10d565efSmrg      AC_LANG_CPLUSPLUS
222*10d565efSmrg      AC_TRY_COMPILE([#include <stdlib.h>],
223*10d565efSmrg                     [ $1();],
224*10d565efSmrg                     [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
225*10d565efSmrg      AC_LANG_RESTORE
226*10d565efSmrg    ])
227*10d565efSmrg  fi
228*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
229*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
230*10d565efSmrg    AC_CHECK_FUNCS($1)
231*10d565efSmrg  fi
232*10d565efSmrg])
233*10d565efSmrg
234*10d565efSmrg
235*10d565efSmrgdnl
236*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is
237*10d565efSmrgdnl 1) declared when using the c++ compiler
238*10d565efSmrgdnl 2) has "C" linkage
239*10d565efSmrgdnl
240*10d565efSmrgdnl argument 1 is name of function to check
241*10d565efSmrgdnl
242*10d565efSmrgdnl ASSUMES argument is a stdlib function with ONE parameter
243*10d565efSmrgdnl
244*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1
245*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1], [
246*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
247*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
248*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
249*10d565efSmrg      AC_LANG_SAVE
250*10d565efSmrg      AC_LANG_CPLUSPLUS
251*10d565efSmrg      AC_TRY_COMPILE([#include <stdlib.h>],
252*10d565efSmrg                     [ $1(0);],
253*10d565efSmrg                     [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
254*10d565efSmrg      AC_LANG_RESTORE
255*10d565efSmrg    ])
256*10d565efSmrg  fi
257*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
258*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
259*10d565efSmrg    AC_CHECK_FUNCS($1)
260*10d565efSmrg  fi
261*10d565efSmrg])
262*10d565efSmrg
263*10d565efSmrg
264*10d565efSmrgdnl
265*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is
266*10d565efSmrgdnl 1) declared when using the c++ compiler
267*10d565efSmrgdnl 2) has "C" linkage
268*10d565efSmrgdnl
269*10d565efSmrgdnl argument 1 is name of function to check
270*10d565efSmrgdnl
271*10d565efSmrgdnl ASSUMES argument is a stdlib function with TWO parameters
272*10d565efSmrgdnl
273*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2
274*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2], [
275*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
276*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
277*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
278*10d565efSmrg      AC_LANG_SAVE
279*10d565efSmrg      AC_LANG_CPLUSPLUS
280*10d565efSmrg      AC_TRY_COMPILE([#include <stdlib.h>],
281*10d565efSmrg                     [ $1(0, 0);],
282*10d565efSmrg                     [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
283*10d565efSmrg      AC_LANG_RESTORE
284*10d565efSmrg    ])
285*10d565efSmrg  fi
286*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
287*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
288*10d565efSmrg    AC_CHECK_FUNCS($1)
289*10d565efSmrg  fi
290*10d565efSmrg  GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
291*10d565efSmrg])
292*10d565efSmrg
293*10d565efSmrg
294*10d565efSmrgdnl
295*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is
296*10d565efSmrgdnl 1) declared when using the c++ compiler
297*10d565efSmrgdnl 2) has "C" linkage
298*10d565efSmrgdnl
299*10d565efSmrgdnl argument 1 is name of function to check
300*10d565efSmrgdnl
301*10d565efSmrgdnl ASSUMES argument is a stdlib function with THREE parameters
302*10d565efSmrgdnl
303*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3
304*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3], [
305*10d565efSmrg  AC_MSG_CHECKING([for $1 declaration])
306*10d565efSmrg  if test x${glibcxx_cv_func_$1_use+set} != xset; then
307*10d565efSmrg    AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
308*10d565efSmrg      AC_LANG_SAVE
309*10d565efSmrg      AC_LANG_CPLUSPLUS
310*10d565efSmrg      AC_TRY_COMPILE([#include <stdlib.h>],
311*10d565efSmrg                     [ $1(0, 0, 0);],
312*10d565efSmrg                     [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
313*10d565efSmrg      AC_LANG_RESTORE
314*10d565efSmrg    ])
315*10d565efSmrg  fi
316*10d565efSmrg  AC_MSG_RESULT($glibcxx_cv_func_$1_use)
317*10d565efSmrg  if test x$glibcxx_cv_func_$1_use = x"yes"; then
318*10d565efSmrg    AC_CHECK_FUNCS($1)
319*10d565efSmrg  fi
320*10d565efSmrg])
321*10d565efSmrg
322*10d565efSmrgdnl
323*10d565efSmrgdnl Check to see what the underlying c library is like
324*10d565efSmrgdnl These checks need to do two things:
325*10d565efSmrgdnl 1) make sure the name is declared when using the c++ compiler
326*10d565efSmrgdnl 2) make sure the name has "C" linkage
327*10d565efSmrgdnl This might seem like overkill but experience has shown that it's not...
328*10d565efSmrgdnl
329*10d565efSmrgdnl Define HAVE_STRTOLD if "strtold" is declared and links
330*10d565efSmrgdnl Define HAVE_STRTOF if "strtof" is declared and links
331*10d565efSmrgdnl
332*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_SUPPORT
333*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_SUPPORT], [
334*10d565efSmrg  ac_test_CXXFLAGS="${CXXFLAGS+set}"
335*10d565efSmrg  ac_save_CXXFLAGS="$CXXFLAGS"
336*10d565efSmrg  CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
337*10d565efSmrg
338*10d565efSmrg  GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1(at_quick_exit)
339*10d565efSmrg  GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1(quick_exit)
340*10d565efSmrg  GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold)
341*10d565efSmrg  GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof)
342*10d565efSmrg
343*10d565efSmrg  CXXFLAGS="$ac_save_CXXFLAGS"
344*10d565efSmrg])
345*10d565efSmrg
346*10d565efSmrgdnl
347*10d565efSmrgdnl Check to see what the underlying c library or math library is like.
348*10d565efSmrgdnl These checks need to do two things:
349*10d565efSmrgdnl 1) make sure the name is declared when using the c++ compiler
350*10d565efSmrgdnl 2) make sure the name has "C" linkage
351*10d565efSmrgdnl This might seem like overkill but experience has shown that it's not...
352*10d565efSmrgdnl
353*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is found.
354*10d565efSmrgdnl
355*10d565efSmrgdnl GLIBCXX_CHECK_MATH_SUPPORT
356*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_SUPPORT], [
357*10d565efSmrg  ac_test_CXXFLAGS="${CXXFLAGS+set}"
358*10d565efSmrg  ac_save_CXXFLAGS="$CXXFLAGS"
359*10d565efSmrg  CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
360*10d565efSmrg
361*10d565efSmrg  dnl Check libm
362*10d565efSmrg  AC_CHECK_LIB(m, sin, libm="-lm")
363*10d565efSmrg  ac_save_LIBS="$LIBS"
364*10d565efSmrg  LIBS="$LIBS $libm"
365*10d565efSmrg
366*10d565efSmrg  dnl Check to see if certain C math functions exist.
367*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinf)
368*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnan)
369*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finite)
370*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincos)
371*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass)
372*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
373*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypot)
374*10d565efSmrg
375*10d565efSmrg  dnl Check to see if basic C math functions have float versions.
376*10d565efSmrg  GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
377*10d565efSmrg                                          float_trig,
378*10d565efSmrg                                          acosf asinf atanf \
379*10d565efSmrg                                          cosf sinf tanf \
380*10d565efSmrg                                          coshf sinhf tanhf)
381*10d565efSmrg  GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
382*10d565efSmrg                                          float_round,
383*10d565efSmrg                                          ceilf floorf)
384*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expf)
385*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
386*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
387*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2f)
388*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
389*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
390*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
391*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotf)
392*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
393*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logf)
394*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
395*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
396*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modf)
397*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
398*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
399*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
400*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
401*10d565efSmrg
402*10d565efSmrg  dnl Check to see if basic C math functions have long double versions.
403*10d565efSmrg  GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig,
404*10d565efSmrg                                          long_double_trig,
405*10d565efSmrg                                          acosl asinl atanl \
406*10d565efSmrg                                          cosl sinl tanl \
407*10d565efSmrg                                          coshl sinhl tanhl)
408*10d565efSmrg  GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round,
409*10d565efSmrg                                          long_double_round,
410*10d565efSmrg                                          ceill floorl)
411*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
412*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
413*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
414*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
415*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
416*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
417*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
418*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotl)
419*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
420*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
421*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
422*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
423*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
424*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
425*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
426*10d565efSmrg  GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
427*10d565efSmrg
428*10d565efSmrg  LIBS="$ac_save_LIBS"
429*10d565efSmrg  CXXFLAGS="$ac_save_CXXFLAGS"
430*10d565efSmrg])
431