update gcc 5 patch for 20150222 snapshot
[AROS.git] / tools / crosstools / gcc-5-20150222-aros.diff
blobe7bdd02c5ab44b0a986cd3ba7ccbbd2d4919ab14
1 diff -ruN gcc-5-20150222/boehm-gc/include/gc_amiga_redirects.h gcc-5-20150222.aros/boehm-gc/include/gc_amiga_redirects.h
2 --- gcc-5-20150222/boehm-gc/include/gc_amiga_redirects.h 2001-08-17 19:30:51.000000000 +0100
3 +++ gcc-5-20150222.aros/boehm-gc/include/gc_amiga_redirects.h 2015-02-23 08:11:04.769837296 +0000
4 @@ -2,7 +2,7 @@
6 # define GC_AMIGA_REDIRECTS_H
8 -# if ( defined(_AMIGA) && !defined(GC_AMIGA_MAKINGLIB) )
9 +# if !defined(__AROS__) && ( defined(_AMIGA) && !defined(GC_AMIGA_MAKINGLIB) )
10 extern void *GC_amiga_realloc(void *old_object,size_t new_size_in_bytes);
11 # define GC_realloc(a,b) GC_amiga_realloc(a,b)
12 extern void GC_amiga_set_toany(void (*func)(void));
13 diff -ruN gcc-5-20150222/boehm-gc/include/gc.h gcc-5-20150222.aros/boehm-gc/include/gc.h
14 --- gcc-5-20150222/boehm-gc/include/gc.h 2014-10-23 09:39:19.000000000 +0100
15 +++ gcc-5-20150222.aros/boehm-gc/include/gc.h 2015-02-23 08:11:04.769837296 +0000
16 @@ -1056,7 +1056,7 @@
17 GC_API void GC_win32_free_heap ();
18 #endif
20 -#if ( defined(_AMIGA) && !defined(GC_AMIGA_MAKINGLIB) )
21 +#if !defined(__AROS__) && ( defined(_AMIGA) && !defined(GC_AMIGA_MAKINGLIB) )
22 /* Allocation really goes through GC_amiga_allocwrapper_do */
23 # include "gc_amiga_redirects.h"
24 #endif
25 diff -ruN gcc-5-20150222/configure gcc-5-20150222.aros/configure
26 --- gcc-5-20150222/configure 2015-02-20 09:40:52.000000000 +0000
27 +++ gcc-5-20150222.aros/configure 2015-02-23 08:11:04.769837296 +0000
28 @@ -3826,6 +3826,9 @@
29 powerpcle-*-solaris*)
30 noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
32 + *-*-aros*)
33 + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv gdb"
34 + ;;
35 powerpc-*-beos*)
36 noconfigdirs="$noconfigdirs gdb"
38 @@ -3965,6 +3968,8 @@
39 rs6000-*-aix*)
40 host_makefile_frag="config/mh-ppc-aix"
42 + *-*-aros*)
43 + ;;
44 esac
47 diff -ruN gcc-5-20150222/configure.ac gcc-5-20150222.aros/configure.ac
48 --- gcc-5-20150222/configure.ac 2015-02-20 09:40:52.000000000 +0000
49 +++ gcc-5-20150222.aros/configure.ac 2015-02-23 08:11:04.769837296 +0000
50 @@ -1176,6 +1176,9 @@
51 powerpcle-*-solaris*)
52 noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
54 + *-*-aros*)
55 + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv gdb"
56 + ;;
57 powerpc-*-beos*)
58 noconfigdirs="$noconfigdirs gdb"
60 @@ -1296,6 +1299,8 @@
61 rs6000-*-aix*)
62 host_makefile_frag="config/mh-ppc-aix"
64 + *-*-aros*)
65 + ;;
66 esac
69 diff -ruN gcc-5-20150222/fixincludes/configure gcc-5-20150222.aros/fixincludes/configure
70 --- gcc-5-20150222/fixincludes/configure 2012-05-29 20:28:57.000000000 +0100
71 +++ gcc-5-20150222.aros/fixincludes/configure 2015-02-23 08:11:04.769837296 +0000
72 @@ -4712,6 +4712,7 @@
74 else
75 case $host in
76 + *-*-aros* | \
77 i?86-*-msdosdjgpp* | \
78 i?86-*-mingw32* | \
79 x86_64-*-mingw32* | \
80 diff -ruN gcc-5-20150222/fixincludes/configure.ac gcc-5-20150222.aros/fixincludes/configure.ac
81 --- gcc-5-20150222/fixincludes/configure.ac 2012-05-29 20:28:57.000000000 +0100
82 +++ gcc-5-20150222.aros/fixincludes/configure.ac 2015-02-23 08:11:04.769837296 +0000
83 @@ -50,6 +50,7 @@
84 TARGET=oneprocess
85 fi],
86 [case $host in
87 + *-*-aros* | \
88 i?86-*-msdosdjgpp* | \
89 i?86-*-mingw32* | \
90 x86_64-*-mingw32* | \
91 diff -ruN gcc-5-20150222/gcc/config/arm/aros.h gcc-5-20150222.aros/gcc/config/arm/aros.h
92 --- gcc-5-20150222/gcc/config/arm/aros.h 1970-01-01 01:00:00.000000000 +0100
93 +++ gcc-5-20150222.aros/gcc/config/arm/aros.h 2015-02-23 08:11:04.769837296 +0000
94 @@ -0,0 +1,82 @@
95 +/* Configuration file for ARM AROS EABI targets.
96 + Copyright (C) 2004, 2005, 2006, 2007, 2010
97 + Free Software Foundation, Inc.
98 + Contributed by Pavel Fedin
99 + Based on linux-eabi.h and other AROS targets
101 + This file is part of GCC.
103 + GCC is free software; you can redistribute it and/or modify it
104 + under the terms of the GNU General Public License as published
105 + by the Free Software Foundation; either version 3, or (at your
106 + option) any later version.
108 + GCC is distributed in the hope that it will be useful, but WITHOUT
109 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
110 + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
111 + License for more details.
113 + You should have received a copy of the GNU General Public License
114 + along with GCC; see the file COPYING3. If not see
115 + <http://www.gnu.org/licenses/>. */
117 +/* On EABI GNU/Linux, we want both the BPABI builtins and the
118 + GNU/Linux builtins. */
119 +#undef TARGET_OS_CPP_BUILTINS
120 +#define TARGET_OS_CPP_BUILTINS() \
121 + do \
122 + { \
123 + TARGET_BPABI_CPP_BUILTINS(); \
124 + builtin_define_std ("AROS"); \
125 + builtin_define ("AMIGA"); \
126 + builtin_define ("_AMIGA"); \
127 + builtin_assert ("system=posix"); \
128 + if (flag_pic) \
129 + { \
130 + builtin_define ("__PIC__"); \
131 + builtin_define ("__pic__"); \
132 + } \
133 + } \
134 + while (false)
136 +/* We default to a softfp ABI so that we are compatible
137 + with the Linux EABI (as used by the linker). */
138 +#undef TARGET_DEFAULT_FLOAT_ABI
139 +#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFTFP
141 +/* We default to the "aapcs-linux" ABI so that enums are int-sized by
142 + default. */
143 +#undef ARM_DEFAULT_ABI
144 +#define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX
146 +/* Default to armv5t so that thumb shared libraries work.
147 + The ARM10TDMI core is the default for armv5t, so set
148 + SUBTARGET_CPU_DEFAULT to achieve this. */
149 +#undef SUBTARGET_CPU_DEFAULT
150 +#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
152 +/* TARGET_BIG_ENDIAN_DEFAULT is set in
153 + config.gcc for big endian configurations. */
154 +#undef TARGET_LINKER_EMULATION
155 +#if TARGET_BIG_ENDIAN_DEFAULT
156 +#define TARGET_LINKER_EMULATION "armelfb_aros"
157 +#else
158 +#define TARGET_LINKER_EMULATION "armelf_aros"
159 +#endif
161 +#undef SUBTARGET_CPP_SPEC
162 +#define SUBTARGET_CPP_SPEC "-D__ELF__ %{!nostdinc:-isystem %R/include%{!nostdc:%{!noposixc: -isystem %R/include/aros/posixc} -isystem %R/include/aros/stdc}}"
164 +#undef SUBTARGET_EXTRA_LINK_SPEC
165 +#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
167 +/* Provide a LINK_SPEC appropriate for AROS. */
168 +#undef LINK_SPEC
169 +#define LINK_SPEC "-m armelf_aros -L %R/lib"
171 +/* Use own supplement to libgcc. */
172 +#undef LIBGCC_SPEC
173 +#define LIBGCC_SPEC "-laeabi -lgcc"
175 +/* FIXME: AROS doesn't support dw2 unwinding yet. */
176 +#undef MD_FALLBACK_FRAME_STATE_FOR
177 diff -ruN gcc-5-20150222/gcc/config/arm/t-aros gcc-5-20150222.aros/gcc/config/arm/t-aros
178 --- gcc-5-20150222/gcc/config/arm/t-aros 1970-01-01 01:00:00.000000000 +0100
179 +++ gcc-5-20150222.aros/gcc/config/arm/t-aros 2015-02-23 08:11:04.769837296 +0000
180 @@ -0,0 +1,21 @@
181 +# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
182 +# 2008, 2010 Free Software Foundation, Inc.
184 +# This file is part of GCC.
186 +# GCC is free software; you can redistribute it and/or modify
187 +# it under the terms of the GNU General Public License as published by
188 +# the Free Software Foundation; either version 3, or (at your option)
189 +# any later version.
191 +# GCC is distributed in the hope that it will be useful,
192 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
193 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
194 +# GNU General Public License for more details.
196 +# You should have received a copy of the GNU General Public License
197 +# along with GCC; see the file COPYING3. If not see
198 +# <http://www.gnu.org/licenses/>.
200 +MULTILIB_OPTIONS = marm mfloat-abi=hard
201 +MULTILIB_DIRNAMES = arm fpu
202 diff -ruN gcc-5-20150222/gcc/config/aros.h gcc-5-20150222.aros/gcc/config/aros.h
203 --- gcc-5-20150222/gcc/config/aros.h 1970-01-01 01:00:00.000000000 +0100
204 +++ gcc-5-20150222.aros/gcc/config/aros.h 2015-02-23 08:11:04.769837296 +0000
205 @@ -0,0 +1,113 @@
206 +/* Definitions for AROS
207 + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
208 + Contributed by Fabio Alemagna
209 + Based upon linux.h, contributed by Eric Youngdale.
211 +This file is part of GNU CC.
213 +GNU CC is free software; you can redistribute it and/or modify
214 +it under the terms of the GNU General Public License as published by
215 +the Free Software Foundation; either version 2, or (at your option)
216 +any later version.
218 +GNU CC is distributed in the hope that it will be useful,
219 +but WITHOUT ANY WARRANTY; without even the implied warranty of
220 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
221 +GNU General Public License for more details.
223 +You should have received a copy of the GNU General Public License
224 +along with GNU CC; see the file COPYING. If not, write to
225 +the Free Software Foundation, 59 Temple Place - Suite 330,
226 +Boston, MA 02111-1307, USA. */
228 +/* Don't assume anything about the header files. */
229 +#define NO_IMPLICIT_EXTERN_C
231 +#undef SIZE_TYPE
232 +#define SIZE_TYPE "long unsigned int"
234 +#undef WCHAR_TYPE
235 +#define WCHAR_TYPE "char"
237 +#undef WCHAR_TYPE_SIZE
238 +#define WCHAR_TYPE_SIZE 8
240 +#undef PTRDIFF_TYPE
241 +#define PTRDIFF_TYPE "long int"
243 +#undef TARGET_OS_CPP_BUILTINS
244 +#define TARGET_OS_CPP_BUILTINS() \
245 + do \
246 + { \
247 + builtin_define_std ("AROS"); \
248 + builtin_define ("AMIGA"); \
249 + builtin_define ("_AMIGA"); \
250 + builtin_define ("__ELF__"); \
251 + builtin_assert ("system=posix"); \
252 + } \
253 + while (0)
255 +#undef ASM_APP_ON
256 +#define ASM_APP_ON "#APP\n"
258 +#undef ASM_APP_OFF
259 +#define ASM_APP_OFF "#NO_APP\n"
261 +#undef MD_EXEC_PREFIX
262 +#undef MD_STARTFILE_PREFIX
264 +/* Provide a STARTFILE_SPEC appropriate for AROS. AROS has its own
265 + set of startup files which also take care of handling C++
266 + constructors/destructors. */
268 +#undef STARTFILE_SPEC
269 +#define STARTFILE_SPEC \
270 + "startup.o%s %{detach:detach.o%s} %{nix:nixmain.o%s}"
272 +/* Provide a ENDFILE_SPEC appropriate for AROS. */
274 +#undef ENDFILE_SPEC
275 +#define ENDFILE_SPEC \
276 + "-lautoinit"
278 +/* The compiler is configured with ONLY the gcc/g++ standard headers.
279 + N.B-: NATIVE_SYSTEM_HEADER_DIR must come before GCC_INCLUDE_DIR on AROS */
280 +#undef INCLUDE_DEFAULTS
281 +#define INCLUDE_DEFAULTS \
282 +{ \
283 + { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
284 + { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
285 + { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
286 + { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, \
287 + { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
288 + { 0, 0, 0, 0, 0, 0 } \
291 +#undef CPP_SPEC
292 +#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{nix:-D__NIX__} %{!nostdinc:%{!nostdc:%{!noposixc:-isystem %R/include/aros/posixc} -isystem %R/include/aros/stdc} -isystem %R/include}"
294 +/* This is for -profile to use -lc_p instead of -lc. */
295 +#ifndef CC1_SPEC
296 +#define CC1_SPEC "%{profile:-p}"
297 +#endif
299 +/* The GNU C++ standard library requires that these macros be defined. */
300 +#undef CPLUSPLUS_CPP_SPEC
301 +#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
303 +#undef LIB_SPEC
304 +#define LIB_SPEC \
305 + "--start-group -lmui -larossupport -lamiga %{!nostartfiles:%{!static:%{!nostdc:%{!noposixc:-lposixc} -lstdcio -lstdc}}%{static:%{!nostdc:-lstdc.static}}} -lcodesets -lkeymap -lexpansion -lcommodities -ldiskfont -lasl -lmuimaster -ldatatypes -lcybergraphics -lworkbench -licon -lintuition -lgadtools -llayers -laros -lpartition -liffparse -lgraphics -llocale -ldos -lutility -loop %{!nosysbase:-lexec} -lautoinit -llibinit %{nostartfiles:%{static:-lstdc.static}} --end-group"
307 +#undef LIBSTDCXX_STATIC
308 +#define LIBSTDCXX_STATIC "pthread"
310 +#if !defined(USE_GNULIBC_1) && defined(HAVE_LD_EH_FRAME_HDR)
311 +#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
312 +#endif
314 +/* AROS uses its own collect-like program for the moment. */
315 +#undef LINKER_NAME
316 +#define LINKER_NAME "collect-aros"
318 +#define TARGET_HAS_F_SETLKW
319 diff -ruN gcc-5-20150222/gcc/config/aros.opt gcc-5-20150222.aros/gcc/config/aros.opt
320 --- gcc-5-20150222/gcc/config/aros.opt 1970-01-01 01:00:00.000000000 +0100
321 +++ gcc-5-20150222.aros/gcc/config/aros.opt 2015-02-23 08:11:04.769837296 +0000
322 @@ -0,0 +1,35 @@
323 +; Processor-independent options for AROS.
325 +; Copyright (C) 2015 Free Software Foundation, Inc.
327 +; This file is part of GCC.
329 +; GCC is free software; you can redistribute it and/or modify it under
330 +; the terms of the GNU General Public License as published by the Free
331 +; Software Foundation; either version 3, or (at your option) any later
332 +; version.
334 +; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
335 +; WARRANTY; without even the implied warranty of MERCHANTABILITY or
336 +; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
337 +; for more details.
339 +; You should have received a copy of the GNU General Public License
340 +; along with GCC; see the file COPYING3. If not see
341 +; <http://www.gnu.org/licenses/>.
343 +posix
344 +Driver
346 +noposixc
347 +Driver
349 +nostdc
350 +Driver
352 +nosysbase
353 +Driver
355 +nix
356 +Driver
358 diff -ruN gcc-5-20150222/gcc/config/i386/aros64.h gcc-5-20150222.aros/gcc/config/i386/aros64.h
359 --- gcc-5-20150222/gcc/config/i386/aros64.h 1970-01-01 01:00:00.000000000 +0100
360 +++ gcc-5-20150222.aros/gcc/config/i386/aros64.h 2015-02-23 08:11:04.769837296 +0000
361 @@ -0,0 +1,34 @@
362 +/* Definitions for AMD x86_64 running AROS systems with ELF64 format.
363 + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002
364 + Free Software Foundation, Inc.
365 + Contributed by Stanislaw Szymczyk <sszymczy@gmail.com>. Based on aros.h.
367 +This file is part of GNU CC.
369 +GNU CC is free software; you can redistribute it and/or modify
370 +it under the terms of the GNU General Public License as published by
371 +the Free Software Foundation; either version 2, or (at your option)
372 +any later version.
374 +GNU CC is distributed in the hope that it will be useful,
375 +but WITHOUT ANY WARRANTY; without even the implied warranty of
376 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
377 +GNU General Public License for more details.
379 +You should have received a copy of the GNU General Public License
380 +along with GNU CC; see the file COPYING. If not, write to
381 +the Free Software Foundation, 59 Temple Place - Suite 330,
382 +Boston, MA 02111-1307, USA. */
384 +/* The svr4 ABI for the i386 says that records and unions are returned
385 + in memory. In the 64bit compilation we will turn this flag off in
386 + override_options, as we never do pcc_struct_return scheme on this target. */
387 +#undef DEFAULT_PCC_STRUCT_RETURN
388 +#define DEFAULT_PCC_STRUCT_RETURN 1
390 +/* Provide a LINK_SPEC appropriate for AROS. */
392 +#undef LINK_SPEC
393 +#define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} -L %R/lib"
395 +/* FIXME: AROS doesn't support dw2 unwinding yet. */
396 diff -ruN gcc-5-20150222/gcc/config/i386/aros.h gcc-5-20150222.aros/gcc/config/i386/aros.h
397 --- gcc-5-20150222/gcc/config/i386/aros.h 1970-01-01 01:00:00.000000000 +0100
398 +++ gcc-5-20150222.aros/gcc/config/i386/aros.h 2015-02-23 08:11:04.769837296 +0000
399 @@ -0,0 +1,25 @@
400 +/* Definitions for Intel 386 running AROS systems with ELF format.
401 + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002
402 + Free Software Foundation, Inc.
403 + Contributed by Fabio Alemagna.
404 + Based upon i386/linux.h by Eric Youngdale.
406 +This file is part of GNU CC.
408 +GNU CC is free software; you can redistribute it and/or modify
409 +it under the terms of the GNU General Public License as published by
410 +the Free Software Foundation; either version 2, or (at your option)
411 +any later version.
413 +GNU CC is distributed in the hope that it will be useful,
414 +but WITHOUT ANY WARRANTY; without even the implied warranty of
415 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
416 +GNU General Public License for more details.
418 +You should have received a copy of the GNU General Public License
419 +along with GNU CC; see the file COPYING. If not, write to
420 +the Free Software Foundation, 59 Temple Place - Suite 330,
421 +Boston, MA 02111-1307, USA. */
423 +#undef LINK_SPEC
424 +#define LINK_SPEC "-m elf_i386 -L%R/lib"
425 diff -ruN gcc-5-20150222/gcc/config/m68k/m68k.c gcc-5-20150222.aros/gcc/config/m68k/m68k.c
426 --- gcc-5-20150222/gcc/config/m68k/m68k.c 2015-01-15 13:28:42.000000000 +0000
427 +++ gcc-5-20150222.aros/gcc/config/m68k/m68k.c 2015-02-23 08:11:04.769837296 +0000
428 @@ -4469,7 +4469,7 @@
429 else if (letter == '/')
430 asm_fprintf (file, "%R");
431 else if (letter == '?')
432 - asm_fprintf (file, m68k_library_id_string);
433 + asm_fprintf (file, "%s", m68k_library_id_string);
434 else if (letter == 'p')
436 output_addr_const (file, op);
437 diff -ruN gcc-5-20150222/gcc/config/m68k/m68k.h gcc-5-20150222.aros/gcc/config/m68k/m68k.h
438 --- gcc-5-20150222/gcc/config/m68k/m68k.h 2015-01-05 12:33:28.000000000 +0000
439 +++ gcc-5-20150222.aros/gcc/config/m68k/m68k.h 2015-02-23 08:11:04.769837296 +0000
440 @@ -329,7 +329,9 @@
441 register elimination. */
442 #define FIRST_PSEUDO_REGISTER 25
444 -/* All m68k targets (except AmigaOS) use %a5 as the PIC register */
445 +/* All m68k targets (except AmigaOS) use %a5 as the PIC register.
446 + * On AmigaOS, we use %a4
447 + */
448 #define PIC_OFFSET_TABLE_REGNUM \
449 (!flag_pic ? INVALID_REGNUM \
450 : reload_completed ? REGNO (pic_offset_table_rtx) \
451 @@ -419,7 +421,8 @@
452 /* Most m68k targets use %a6 as a frame pointer. The AmigaOS
453 ABI uses %a6 for shared library calls, therefore the frame
454 pointer is shifted to %a5 on this target. */
455 -#define FRAME_POINTER_REGNUM A6_REG
456 +#define FRAME_POINTER_REGNUM A5_REG
457 +#define PIC_REG A4_REG
459 /* Base register for access to arguments of the function.
460 * This isn't a hardware register. It will be eliminated to the
461 diff -ruN gcc-5-20150222/gcc/config/m68k/m68k.md gcc-5-20150222.aros/gcc/config/m68k/m68k.md
462 --- gcc-5-20150222/gcc/config/m68k/m68k.md 2015-01-22 21:24:28.000000000 +0000
463 +++ gcc-5-20150222.aros/gcc/config/m68k/m68k.md 2015-02-23 08:11:04.769837296 +0000
464 @@ -133,7 +133,8 @@
465 [(D0_REG 0)
466 (A0_REG 8)
467 (A1_REG 9)
468 - (PIC_REG 13)
469 + (A4_REG 12)
470 + (A5_REG 13)
471 (A6_REG 14)
472 (SP_REG 15)
473 (FP0_REG 16)
474 @@ -7093,7 +7094,7 @@
476 if (TARGET_ID_SHARED_LIBRARY)
478 - operands[1] = gen_rtx_REG (Pmode, PIC_REG);
479 + operands[1] = gen_rtx_REG (Pmode, A4_REG);
480 return MOTOROLA ? "move.l %?(%1),%0" : "movel %1@(%?), %0";
482 else if (MOTOROLA)
483 diff -ruN gcc-5-20150222/gcc/config/m68k/t-aros gcc-5-20150222.aros/gcc/config/m68k/t-aros
484 --- gcc-5-20150222/gcc/config/m68k/t-aros 1970-01-01 01:00:00.000000000 +0100
485 +++ gcc-5-20150222.aros/gcc/config/m68k/t-aros 2015-02-23 08:11:04.769837296 +0000
486 @@ -0,0 +1,2 @@
487 +# Custom multilibs for AROS
488 +M68K_MLIB_CPU += && match(MLIB, "^68")
489 diff -ruN gcc-5-20150222/gcc/config/rs6000/aros.h gcc-5-20150222.aros/gcc/config/rs6000/aros.h
490 --- gcc-5-20150222/gcc/config/rs6000/aros.h 1970-01-01 01:00:00.000000000 +0100
491 +++ gcc-5-20150222.aros/gcc/config/rs6000/aros.h 2015-02-23 08:11:04.769837296 +0000
492 @@ -0,0 +1,151 @@
493 +/* Definitions for Powerpc running AROS systems with ELF format.
494 + Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002
495 + Free Software Foundation, Inc.
496 + Contributed by Markus Weiss.
497 + Based upon i386/aros.h by Fabio Alemagna.
499 +This file is part of GNU CC.
501 +GNU CC is free software; you can redistribute it and/or modify
502 +it under the terms of the GNU General Public License as published by
503 +the Free Software Foundation; either version 2, or (at your option)
504 +any later version.
506 +GNU CC is distributed in the hope that it will be useful,
507 +but WITHOUT ANY WARRANTY; without even the implied warranty of
508 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
509 +GNU General Public License for more details.
511 +You should have received a copy of the GNU General Public License
512 +along with GNU CC; see the file COPYING. If not, write to
513 +the Free Software Foundation, 59 Temple Place - Suite 330,
514 +Boston, MA 02111-1307, USA. */
516 +/* Symbols missing in comparison to i386/aros.h are either
517 + defined in elfos.h, rs6000/rs6000.h rs6000/sysv4.h
518 + or not needed for PowerPC.
521 +/* We need to define __powerpc__. */
523 +#undef TARGET_OS_CPP_BUILTINS
524 +#define TARGET_OS_CPP_BUILTINS() \
525 + do \
526 + { \
527 + builtin_define_std ("AROS"); \
528 + builtin_define ("AMIGA"); \
529 + builtin_define ("_AMIGA"); \
530 + builtin_define ("__powerpc__"); \
531 + builtin_define ("__ELF__"); \
532 + builtin_assert ("system=posix"); \
533 + if (flag_pic) \
534 + { \
535 + builtin_define ("__PIC__"); \
536 + builtin_define ("__pic__"); \
537 + } \
538 + } \
539 + while (0)
541 +/* This one taken from linux.h. */
542 +/* We are 32-bit all the time, so optimize a little. */
543 +#undef TARGET_64BIT
544 +#define TARGET_64BIT 0
546 +/* The svr4 ABI for the i386 says that records and unions are returned
547 + in memory. */
548 +/*#undef DEFAULT_PCC_STRUCT_RETURN
549 +#define DEFAULT_PCC_STRUCT_RETURN 1
550 +see rs6000/rs6000.h
554 +#undef ASM_COMMENT_START
555 +#define ASM_COMMENT_START "#"
556 +see rs6000/rs6000.h
560 +#undef DBX_REGISTER_NUMBER
561 +#define DBX_REGISTER_NUMBER(n) \
562 + (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
563 +see rs6000/sysv4.h
566 +/* Output assembler code to FILE to call the profiler.
567 + To the best of my knowledge, no Linux libc has required the label
568 + argument to mcount. */
571 +#define NO_PROFILE_COUNTERS 1
572 +not used by other similar ppc compilers
573 +only in darwin.h rs6000/linux64.h rs6000/rs6000.c
577 +#undef MCOUNT_NAME
578 +#define MCOUNT_NAME "mcount"
579 +see rs6000/sysv4.h RS6000_MCOUNT
582 +/* The GLIBC version of mcount for the x86 assumes that there is a
583 + frame, so we cannot allow profiling without a frame pointer. */
585 +#undef SUBTARGET_FRAME_POINTER_REQUIRED
586 +#define SUBTARGET_FRAME_POINTER_REQUIRED crtl->profile
587 +seems to be handled by rs6000/rs6000.h
590 +#undef CC1_SPEC
591 +#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
593 +/* Provide a LINK_SPEC appropriate for AROS. */
595 +#undef LINK_SPEC
596 +#define LINK_SPEC "-m elf32ppc -L %R/lib"
598 +/* A C statement (sans semicolon) to output to the stdio stream
599 + FILE the assembler definition of uninitialized global DECL named
600 + NAME whose size is SIZE bytes and alignment is ALIGN bytes.
601 + Try to use asm_output_aligned_bss to implement this macro. */
603 +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
604 + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
605 +see rs6000/sysv4.h
608 +/* A C statement to output to the stdio stream FILE an assembler
609 + command to advance the location counter to a multiple of 1<<LOG
610 + bytes if it is within MAX_SKIP bytes.
612 + This is used to align code labels according to Intel recommendations. */
614 +#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
615 +#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
616 + do { \
617 + if ((LOG) != 0) { \
618 + if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
619 + else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
620 + } \
621 + } while (0)
622 +#endif
623 +see rs6000/sysv4.h
626 +/* Handle special EH pointer encodings. Absolute, pc-relative, and
627 + indirect are handled automatically. */
629 +#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
630 + do { \
631 + if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) \
632 + { \
633 + fputs (ASM_LONG, FILE); \
634 + assemble_name (FILE, XSTR (ADDR, 0)); \
635 + fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
636 + goto DONE; \
637 + } \
638 + } while (0)
639 +not used for PowerPC
642 +/* FIXME: AROS doesn't support dw2 unwinding yet. */
643 +#undef MD_FALLBACK_FRAME_STATE_FOR
644 diff -ruN gcc-5-20150222/gcc/config/rs6000/rs6000.c gcc-5-20150222.aros/gcc/config/rs6000/rs6000.c
645 --- gcc-5-20150222/gcc/config/rs6000/rs6000.c 2015-02-16 15:33:09.000000000 +0000
646 +++ gcc-5-20150222.aros/gcc/config/rs6000/rs6000.c 2015-02-23 08:11:04.769837296 +0000
647 @@ -1316,6 +1316,8 @@
648 false },
649 { "shortcall", 0, 0, false, true, true, rs6000_handle_longcall_attribute,
650 false },
651 + { "stackparm", 0, 0, false, true, true, rs6000_handle_longcall_attribute,
652 + false },
653 { "ms_struct", 0, 0, false, false, false, rs6000_handle_struct_attribute,
654 false },
655 { "gcc_struct", 0, 0, false, false, false, rs6000_handle_struct_attribute,
656 @@ -9281,6 +9283,9 @@
657 && !lookup_attribute ("shortcall", TYPE_ATTRIBUTES (fntype))))
658 cum->call_cookie |= CALL_LONG;
660 + cum->stackparm = fntype && lookup_attribute("stackparm",
661 + TYPE_ATTRIBUTES(fntype));
663 if (TARGET_DEBUG_ARG)
665 fprintf (stderr, "\ninit_cumulative_args:");
666 @@ -10416,6 +10421,9 @@
668 rs6000_discover_homogeneous_aggregate (mode, type, &elt_mode, &n_elts);
670 + if (cum->stackparm)
671 + return NULL_RTX;
673 if (TARGET_MACHO && rs6000_darwin64_struct_check_p (mode, type))
675 rtx rslt = rs6000_darwin64_record_arg (cum, type, named, /*retval= */false);
676 @@ -11018,6 +11026,9 @@
677 int first_reg_offset;
678 alias_set_type set;
680 + if (cum->stackparm)
681 + return;
683 /* Skip the last named argument. */
684 next_cum = *get_cumulative_args (cum);
685 rs6000_function_arg_advance_1 (&next_cum, mode, type, true, 0);
686 diff -ruN gcc-5-20150222/gcc/config/rs6000/rs6000.c.orig gcc-5-20150222.aros/gcc/config/rs6000/rs6000.c.orig
687 --- gcc-5-20150222/gcc/config/rs6000/rs6000.c.orig 1970-01-01 01:00:00.000000000 +0100
688 +++ gcc-5-20150222.aros/gcc/config/rs6000/rs6000.c.orig 2015-02-23 08:11:04.769837296 +0000
689 @@ -0,0 +1,35170 @@
690 +/* Subroutines used for code generation on IBM RS/6000.
691 + Copyright (C) 1991-2015 Free Software Foundation, Inc.
692 + Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
694 + This file is part of GCC.
696 + GCC is free software; you can redistribute it and/or modify it
697 + under the terms of the GNU General Public License as published
698 + by the Free Software Foundation; either version 3, or (at your
699 + option) any later version.
701 + GCC is distributed in the hope that it will be useful, but WITHOUT
702 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
703 + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
704 + License for more details.
706 + You should have received a copy of the GNU General Public License
707 + along with GCC; see the file COPYING3. If not see
708 + <http://www.gnu.org/licenses/>. */
710 +#include "config.h"
711 +#include "system.h"
712 +#include "coretypes.h"
713 +#include "tm.h"
714 +#include "rtl.h"
715 +#include "regs.h"
716 +#include "hard-reg-set.h"
717 +#include "insn-config.h"
718 +#include "conditions.h"
719 +#include "insn-attr.h"
720 +#include "flags.h"
721 +#include "recog.h"
722 +#include "obstack.h"
723 +#include "hash-set.h"
724 +#include "machmode.h"
725 +#include "vec.h"
726 +#include "double-int.h"
727 +#include "input.h"
728 +#include "alias.h"
729 +#include "symtab.h"
730 +#include "wide-int.h"
731 +#include "inchash.h"
732 +#include "tree.h"
733 +#include "fold-const.h"
734 +#include "stringpool.h"
735 +#include "stor-layout.h"
736 +#include "calls.h"
737 +#include "print-tree.h"
738 +#include "varasm.h"
739 +#include "hashtab.h"
740 +#include "function.h"
741 +#include "statistics.h"
742 +#include "real.h"
743 +#include "fixed-value.h"
744 +#include "expmed.h"
745 +#include "dojump.h"
746 +#include "explow.h"
747 +#include "emit-rtl.h"
748 +#include "stmt.h"
749 +#include "expr.h"
750 +#include "insn-codes.h"
751 +#include "optabs.h"
752 +#include "except.h"
753 +#include "output.h"
754 +#include "dbxout.h"
755 +#include "predict.h"
756 +#include "dominance.h"
757 +#include "cfg.h"
758 +#include "cfgrtl.h"
759 +#include "cfganal.h"
760 +#include "lcm.h"
761 +#include "cfgbuild.h"
762 +#include "cfgcleanup.h"
763 +#include "basic-block.h"
764 +#include "diagnostic-core.h"
765 +#include "toplev.h"
766 +#include "ggc.h"
767 +#include "tm_p.h"
768 +#include "target.h"
769 +#include "target-def.h"
770 +#include "common/common-target.h"
771 +#include "langhooks.h"
772 +#include "reload.h"
773 +#include "cfgloop.h"
774 +#include "sched-int.h"
775 +#include "hash-table.h"
776 +#include "tree-ssa-alias.h"
777 +#include "internal-fn.h"
778 +#include "gimple-fold.h"
779 +#include "tree-eh.h"
780 +#include "gimple-expr.h"
781 +#include "is-a.h"
782 +#include "gimple.h"
783 +#include "gimplify.h"
784 +#include "gimple-iterator.h"
785 +#include "gimple-walk.h"
786 +#include "intl.h"
787 +#include "params.h"
788 +#include "tm-constrs.h"
789 +#include "ira.h"
790 +#include "opts.h"
791 +#include "tree-vectorizer.h"
792 +#include "dumpfile.h"
793 +#include "hash-map.h"
794 +#include "plugin-api.h"
795 +#include "ipa-ref.h"
796 +#include "cgraph.h"
797 +#include "target-globals.h"
798 +#include "builtins.h"
799 +#include "context.h"
800 +#include "tree-pass.h"
801 +#if TARGET_XCOFF
802 +#include "xcoffout.h" /* get declarations of xcoff_*_section_name */
803 +#endif
804 +#if TARGET_MACHO
805 +#include "gstab.h" /* for N_SLINE */
806 +#endif
808 +#ifndef TARGET_NO_PROTOTYPE
809 +#define TARGET_NO_PROTOTYPE 0
810 +#endif
812 +#define min(A,B) ((A) < (B) ? (A) : (B))
813 +#define max(A,B) ((A) > (B) ? (A) : (B))
815 +/* Structure used to define the rs6000 stack */
816 +typedef struct rs6000_stack {
817 + int reload_completed; /* stack info won't change from here on */
818 + int first_gp_reg_save; /* first callee saved GP register used */
819 + int first_fp_reg_save; /* first callee saved FP register used */
820 + int first_altivec_reg_save; /* first callee saved AltiVec register used */
821 + int lr_save_p; /* true if the link reg needs to be saved */
822 + int cr_save_p; /* true if the CR reg needs to be saved */
823 + unsigned int vrsave_mask; /* mask of vec registers to save */
824 + int push_p; /* true if we need to allocate stack space */
825 + int calls_p; /* true if the function makes any calls */
826 + int world_save_p; /* true if we're saving *everything*:
827 + r13-r31, cr, f14-f31, vrsave, v20-v31 */
828 + enum rs6000_abi abi; /* which ABI to use */
829 + int gp_save_offset; /* offset to save GP regs from initial SP */
830 + int fp_save_offset; /* offset to save FP regs from initial SP */
831 + int altivec_save_offset; /* offset to save AltiVec regs from initial SP */
832 + int lr_save_offset; /* offset to save LR from initial SP */
833 + int cr_save_offset; /* offset to save CR from initial SP */
834 + int vrsave_save_offset; /* offset to save VRSAVE from initial SP */
835 + int spe_gp_save_offset; /* offset to save spe 64-bit gprs */
836 + int varargs_save_offset; /* offset to save the varargs registers */
837 + int ehrd_offset; /* offset to EH return data */
838 + int ehcr_offset; /* offset to EH CR field data */
839 + int reg_size; /* register size (4 or 8) */
840 + HOST_WIDE_INT vars_size; /* variable save area size */
841 + int parm_size; /* outgoing parameter size */
842 + int save_size; /* save area size */
843 + int fixed_size; /* fixed size of stack frame */
844 + int gp_size; /* size of saved GP registers */
845 + int fp_size; /* size of saved FP registers */
846 + int altivec_size; /* size of saved AltiVec registers */
847 + int cr_size; /* size to hold CR if not in save_size */
848 + int vrsave_size; /* size to hold VRSAVE if not in save_size */
849 + int altivec_padding_size; /* size of altivec alignment padding if
850 + not in save_size */
851 + int spe_gp_size; /* size of 64-bit GPR save size for SPE */
852 + int spe_padding_size;
853 + HOST_WIDE_INT total_size; /* total bytes allocated for stack */
854 + int spe_64bit_regs_used;
855 + int savres_strategy;
856 +} rs6000_stack_t;
858 +/* A C structure for machine-specific, per-function data.
859 + This is added to the cfun structure. */
860 +typedef struct GTY(()) machine_function
862 + /* Whether the instruction chain has been scanned already. */
863 + int insn_chain_scanned_p;
864 + /* Flags if __builtin_return_address (n) with n >= 1 was used. */
865 + int ra_needs_full_frame;
866 + /* Flags if __builtin_return_address (0) was used. */
867 + int ra_need_lr;
868 + /* Cache lr_save_p after expansion of builtin_eh_return. */
869 + int lr_save_state;
870 + /* Whether we need to save the TOC to the reserved stack location in the
871 + function prologue. */
872 + bool save_toc_in_prologue;
873 + /* Offset from virtual_stack_vars_rtx to the start of the ABI_V4
874 + varargs save area. */
875 + HOST_WIDE_INT varargs_save_offset;
876 + /* Temporary stack slot to use for SDmode copies. This slot is
877 + 64-bits wide and is allocated early enough so that the offset
878 + does not overflow the 16-bit load/store offset field. */
879 + rtx sdmode_stack_slot;
880 + /* Flag if r2 setup is needed with ELFv2 ABI. */
881 + bool r2_setup_needed;
882 +} machine_function;
884 +/* Support targetm.vectorize.builtin_mask_for_load. */
885 +static GTY(()) tree altivec_builtin_mask_for_load;
887 +/* Set to nonzero once AIX common-mode calls have been defined. */
888 +static GTY(()) int common_mode_defined;
890 +/* Label number of label created for -mrelocatable, to call to so we can
891 + get the address of the GOT section */
892 +static int rs6000_pic_labelno;
894 +#ifdef USING_ELFOS_H
895 +/* Counter for labels which are to be placed in .fixup. */
896 +int fixuplabelno = 0;
897 +#endif
899 +/* Whether to use variant of AIX ABI for PowerPC64 Linux. */
900 +int dot_symbols;
902 +/* Specify the machine mode that pointers have. After generation of rtl, the
903 + compiler makes no further distinction between pointers and any other objects
904 + of this machine mode. The type is unsigned since not all things that
905 + include rs6000.h also include machmode.h. */
906 +unsigned rs6000_pmode;
908 +/* Width in bits of a pointer. */
909 +unsigned rs6000_pointer_size;
911 +#ifdef HAVE_AS_GNU_ATTRIBUTE
912 +/* Flag whether floating point values have been passed/returned. */
913 +static bool rs6000_passes_float;
914 +/* Flag whether vector values have been passed/returned. */
915 +static bool rs6000_passes_vector;
916 +/* Flag whether small (<= 8 byte) structures have been returned. */
917 +static bool rs6000_returns_struct;
918 +#endif
920 +/* Value is TRUE if register/mode pair is acceptable. */
921 +bool rs6000_hard_regno_mode_ok_p[NUM_MACHINE_MODES][FIRST_PSEUDO_REGISTER];
923 +/* Maximum number of registers needed for a given register class and mode. */
924 +unsigned char rs6000_class_max_nregs[NUM_MACHINE_MODES][LIM_REG_CLASSES];
926 +/* How many registers are needed for a given register and mode. */
927 +unsigned char rs6000_hard_regno_nregs[NUM_MACHINE_MODES][FIRST_PSEUDO_REGISTER];
929 +/* Map register number to register class. */
930 +enum reg_class rs6000_regno_regclass[FIRST_PSEUDO_REGISTER];
932 +static int dbg_cost_ctrl;
934 +/* Built in types. */
935 +tree rs6000_builtin_types[RS6000_BTI_MAX];
936 +tree rs6000_builtin_decls[RS6000_BUILTIN_COUNT];
938 +/* Flag to say the TOC is initialized */
939 +int toc_initialized;
940 +char toc_label_name[10];
942 +/* Cached value of rs6000_variable_issue. This is cached in
943 + rs6000_variable_issue hook and returned from rs6000_sched_reorder2. */
944 +static short cached_can_issue_more;
946 +static GTY(()) section *read_only_data_section;
947 +static GTY(()) section *private_data_section;
948 +static GTY(()) section *tls_data_section;
949 +static GTY(()) section *tls_private_data_section;
950 +static GTY(()) section *read_only_private_data_section;
951 +static GTY(()) section *sdata2_section;
952 +static GTY(()) section *toc_section;
954 +struct builtin_description
956 + const HOST_WIDE_INT mask;
957 + const enum insn_code icode;
958 + const char *const name;
959 + const enum rs6000_builtins code;
962 +/* Describe the vector unit used for modes. */
963 +enum rs6000_vector rs6000_vector_unit[NUM_MACHINE_MODES];
964 +enum rs6000_vector rs6000_vector_mem[NUM_MACHINE_MODES];
966 +/* Register classes for various constraints that are based on the target
967 + switches. */
968 +enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
970 +/* Describe the alignment of a vector. */
971 +int rs6000_vector_align[NUM_MACHINE_MODES];
973 +/* Map selected modes to types for builtins. */
974 +static GTY(()) tree builtin_mode_to_type[MAX_MACHINE_MODE][2];
976 +/* What modes to automatically generate reciprocal divide estimate (fre) and
977 + reciprocal sqrt (frsqrte) for. */
978 +unsigned char rs6000_recip_bits[MAX_MACHINE_MODE];
980 +/* Masks to determine which reciprocal esitmate instructions to generate
981 + automatically. */
982 +enum rs6000_recip_mask {
983 + RECIP_SF_DIV = 0x001, /* Use divide estimate */
984 + RECIP_DF_DIV = 0x002,
985 + RECIP_V4SF_DIV = 0x004,
986 + RECIP_V2DF_DIV = 0x008,
988 + RECIP_SF_RSQRT = 0x010, /* Use reciprocal sqrt estimate. */
989 + RECIP_DF_RSQRT = 0x020,
990 + RECIP_V4SF_RSQRT = 0x040,
991 + RECIP_V2DF_RSQRT = 0x080,
993 + /* Various combination of flags for -mrecip=xxx. */
994 + RECIP_NONE = 0,
995 + RECIP_ALL = (RECIP_SF_DIV | RECIP_DF_DIV | RECIP_V4SF_DIV
996 + | RECIP_V2DF_DIV | RECIP_SF_RSQRT | RECIP_DF_RSQRT
997 + | RECIP_V4SF_RSQRT | RECIP_V2DF_RSQRT),
999 + RECIP_HIGH_PRECISION = RECIP_ALL,
1001 + /* On low precision machines like the power5, don't enable double precision
1002 + reciprocal square root estimate, since it isn't accurate enough. */
1003 + RECIP_LOW_PRECISION = (RECIP_ALL & ~(RECIP_DF_RSQRT | RECIP_V2DF_RSQRT))
1006 +/* -mrecip options. */
1007 +static struct
1009 + const char *string; /* option name */
1010 + unsigned int mask; /* mask bits to set */
1011 +} recip_options[] = {
1012 + { "all", RECIP_ALL },
1013 + { "none", RECIP_NONE },
1014 + { "div", (RECIP_SF_DIV | RECIP_DF_DIV | RECIP_V4SF_DIV
1015 + | RECIP_V2DF_DIV) },
1016 + { "divf", (RECIP_SF_DIV | RECIP_V4SF_DIV) },
1017 + { "divd", (RECIP_DF_DIV | RECIP_V2DF_DIV) },
1018 + { "rsqrt", (RECIP_SF_RSQRT | RECIP_DF_RSQRT | RECIP_V4SF_RSQRT
1019 + | RECIP_V2DF_RSQRT) },
1020 + { "rsqrtf", (RECIP_SF_RSQRT | RECIP_V4SF_RSQRT) },
1021 + { "rsqrtd", (RECIP_DF_RSQRT | RECIP_V2DF_RSQRT) },
1024 +/* Pointer to function (in rs6000-c.c) that can define or undefine target
1025 + macros that have changed. Languages that don't support the preprocessor
1026 + don't link in rs6000-c.c, so we can't call it directly. */
1027 +void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
1029 +/* Simplfy register classes into simpler classifications. We assume
1030 + GPR_REG_TYPE - FPR_REG_TYPE are ordered so that we can use a simple range
1031 + check for standard register classes (gpr/floating/altivec/vsx) and
1032 + floating/vector classes (float/altivec/vsx). */
1034 +enum rs6000_reg_type {
1035 + NO_REG_TYPE,
1036 + PSEUDO_REG_TYPE,
1037 + GPR_REG_TYPE,
1038 + VSX_REG_TYPE,
1039 + ALTIVEC_REG_TYPE,
1040 + FPR_REG_TYPE,
1041 + SPR_REG_TYPE,
1042 + CR_REG_TYPE,
1043 + SPE_ACC_TYPE,
1044 + SPEFSCR_REG_TYPE
1047 +/* Map register class to register type. */
1048 +static enum rs6000_reg_type reg_class_to_reg_type[N_REG_CLASSES];
1050 +/* First/last register type for the 'normal' register types (i.e. general
1051 + purpose, floating point, altivec, and VSX registers). */
1052 +#define IS_STD_REG_TYPE(RTYPE) IN_RANGE(RTYPE, GPR_REG_TYPE, FPR_REG_TYPE)
1054 +#define IS_FP_VECT_REG_TYPE(RTYPE) IN_RANGE(RTYPE, VSX_REG_TYPE, FPR_REG_TYPE)
1057 +/* Register classes we care about in secondary reload or go if legitimate
1058 + address. We only need to worry about GPR, FPR, and Altivec registers here,
1059 + along an ANY field that is the OR of the 3 register classes. */
1061 +enum rs6000_reload_reg_type {
1062 + RELOAD_REG_GPR, /* General purpose registers. */
1063 + RELOAD_REG_FPR, /* Traditional floating point regs. */
1064 + RELOAD_REG_VMX, /* Altivec (VMX) registers. */
1065 + RELOAD_REG_ANY, /* OR of GPR, FPR, Altivec masks. */
1066 + N_RELOAD_REG
1069 +/* For setting up register classes, loop through the 3 register classes mapping
1070 + into real registers, and skip the ANY class, which is just an OR of the
1071 + bits. */
1072 +#define FIRST_RELOAD_REG_CLASS RELOAD_REG_GPR
1073 +#define LAST_RELOAD_REG_CLASS RELOAD_REG_VMX
1075 +/* Map reload register type to a register in the register class. */
1076 +struct reload_reg_map_type {
1077 + const char *name; /* Register class name. */
1078 + int reg; /* Register in the register class. */
1081 +static const struct reload_reg_map_type reload_reg_map[N_RELOAD_REG] = {
1082 + { "Gpr", FIRST_GPR_REGNO }, /* RELOAD_REG_GPR. */
1083 + { "Fpr", FIRST_FPR_REGNO }, /* RELOAD_REG_FPR. */
1084 + { "VMX", FIRST_ALTIVEC_REGNO }, /* RELOAD_REG_VMX. */
1085 + { "Any", -1 }, /* RELOAD_REG_ANY. */
1088 +/* Mask bits for each register class, indexed per mode. Historically the
1089 + compiler has been more restrictive which types can do PRE_MODIFY instead of
1090 + PRE_INC and PRE_DEC, so keep track of sepaate bits for these two. */
1091 +typedef unsigned char addr_mask_type;
1093 +#define RELOAD_REG_VALID 0x01 /* Mode valid in register.. */
1094 +#define RELOAD_REG_MULTIPLE 0x02 /* Mode takes multiple registers. */
1095 +#define RELOAD_REG_INDEXED 0x04 /* Reg+reg addressing. */
1096 +#define RELOAD_REG_OFFSET 0x08 /* Reg+offset addressing. */
1097 +#define RELOAD_REG_PRE_INCDEC 0x10 /* PRE_INC/PRE_DEC valid. */
1098 +#define RELOAD_REG_PRE_MODIFY 0x20 /* PRE_MODIFY valid. */
1099 +#define RELOAD_REG_AND_M16 0x40 /* AND -16 addressing. */
1101 +/* Register type masks based on the type, of valid addressing modes. */
1102 +struct rs6000_reg_addr {
1103 + enum insn_code reload_load; /* INSN to reload for loading. */
1104 + enum insn_code reload_store; /* INSN to reload for storing. */
1105 + enum insn_code reload_fpr_gpr; /* INSN to move from FPR to GPR. */
1106 + enum insn_code reload_gpr_vsx; /* INSN to move from GPR to VSX. */
1107 + enum insn_code reload_vsx_gpr; /* INSN to move from VSX to GPR. */
1108 + addr_mask_type addr_mask[(int)N_RELOAD_REG]; /* Valid address masks. */
1109 + bool scalar_in_vmx_p; /* Scalar value can go in VMX. */
1112 +static struct rs6000_reg_addr reg_addr[NUM_MACHINE_MODES];
1114 +/* Helper function to say whether a mode supports PRE_INC or PRE_DEC. */
1115 +static inline bool
1116 +mode_supports_pre_incdec_p (machine_mode mode)
1118 + return ((reg_addr[mode].addr_mask[RELOAD_REG_ANY] & RELOAD_REG_PRE_INCDEC)
1119 + != 0);
1122 +/* Helper function to say whether a mode supports PRE_MODIFY. */
1123 +static inline bool
1124 +mode_supports_pre_modify_p (machine_mode mode)
1126 + return ((reg_addr[mode].addr_mask[RELOAD_REG_ANY] & RELOAD_REG_PRE_MODIFY)
1127 + != 0);
1131 +/* Target cpu costs. */
1133 +struct processor_costs {
1134 + const int mulsi; /* cost of SImode multiplication. */
1135 + const int mulsi_const; /* cost of SImode multiplication by constant. */
1136 + const int mulsi_const9; /* cost of SImode mult by short constant. */
1137 + const int muldi; /* cost of DImode multiplication. */
1138 + const int divsi; /* cost of SImode division. */
1139 + const int divdi; /* cost of DImode division. */
1140 + const int fp; /* cost of simple SFmode and DFmode insns. */
1141 + const int dmul; /* cost of DFmode multiplication (and fmadd). */
1142 + const int sdiv; /* cost of SFmode division (fdivs). */
1143 + const int ddiv; /* cost of DFmode division (fdiv). */
1144 + const int cache_line_size; /* cache line size in bytes. */
1145 + const int l1_cache_size; /* size of l1 cache, in kilobytes. */
1146 + const int l2_cache_size; /* size of l2 cache, in kilobytes. */
1147 + const int simultaneous_prefetches; /* number of parallel prefetch
1148 + operations. */
1151 +const struct processor_costs *rs6000_cost;
1153 +/* Processor costs (relative to an add) */
1155 +/* Instruction size costs on 32bit processors. */
1156 +static const
1157 +struct processor_costs size32_cost = {
1158 + COSTS_N_INSNS (1), /* mulsi */
1159 + COSTS_N_INSNS (1), /* mulsi_const */
1160 + COSTS_N_INSNS (1), /* mulsi_const9 */
1161 + COSTS_N_INSNS (1), /* muldi */
1162 + COSTS_N_INSNS (1), /* divsi */
1163 + COSTS_N_INSNS (1), /* divdi */
1164 + COSTS_N_INSNS (1), /* fp */
1165 + COSTS_N_INSNS (1), /* dmul */
1166 + COSTS_N_INSNS (1), /* sdiv */
1167 + COSTS_N_INSNS (1), /* ddiv */
1168 + 32,
1169 + 0,
1170 + 0,
1171 + 0,
1174 +/* Instruction size costs on 64bit processors. */
1175 +static const
1176 +struct processor_costs size64_cost = {
1177 + COSTS_N_INSNS (1), /* mulsi */
1178 + COSTS_N_INSNS (1), /* mulsi_const */
1179 + COSTS_N_INSNS (1), /* mulsi_const9 */
1180 + COSTS_N_INSNS (1), /* muldi */
1181 + COSTS_N_INSNS (1), /* divsi */
1182 + COSTS_N_INSNS (1), /* divdi */
1183 + COSTS_N_INSNS (1), /* fp */
1184 + COSTS_N_INSNS (1), /* dmul */
1185 + COSTS_N_INSNS (1), /* sdiv */
1186 + COSTS_N_INSNS (1), /* ddiv */
1187 + 128,
1188 + 0,
1189 + 0,
1190 + 0,
1193 +/* Instruction costs on RS64A processors. */
1194 +static const
1195 +struct processor_costs rs64a_cost = {
1196 + COSTS_N_INSNS (20), /* mulsi */
1197 + COSTS_N_INSNS (12), /* mulsi_const */
1198 + COSTS_N_INSNS (8), /* mulsi_const9 */
1199 + COSTS_N_INSNS (34), /* muldi */
1200 + COSTS_N_INSNS (65), /* divsi */
1201 + COSTS_N_INSNS (67), /* divdi */
1202 + COSTS_N_INSNS (4), /* fp */
1203 + COSTS_N_INSNS (4), /* dmul */
1204 + COSTS_N_INSNS (31), /* sdiv */
1205 + COSTS_N_INSNS (31), /* ddiv */
1206 + 128, /* cache line size */
1207 + 128, /* l1 cache */
1208 + 2048, /* l2 cache */
1209 + 1, /* streams */
1212 +/* Instruction costs on MPCCORE processors. */
1213 +static const
1214 +struct processor_costs mpccore_cost = {
1215 + COSTS_N_INSNS (2), /* mulsi */
1216 + COSTS_N_INSNS (2), /* mulsi_const */
1217 + COSTS_N_INSNS (2), /* mulsi_const9 */
1218 + COSTS_N_INSNS (2), /* muldi */
1219 + COSTS_N_INSNS (6), /* divsi */
1220 + COSTS_N_INSNS (6), /* divdi */
1221 + COSTS_N_INSNS (4), /* fp */
1222 + COSTS_N_INSNS (5), /* dmul */
1223 + COSTS_N_INSNS (10), /* sdiv */
1224 + COSTS_N_INSNS (17), /* ddiv */
1225 + 32, /* cache line size */
1226 + 4, /* l1 cache */
1227 + 16, /* l2 cache */
1228 + 1, /* streams */
1231 +/* Instruction costs on PPC403 processors. */
1232 +static const
1233 +struct processor_costs ppc403_cost = {
1234 + COSTS_N_INSNS (4), /* mulsi */
1235 + COSTS_N_INSNS (4), /* mulsi_const */
1236 + COSTS_N_INSNS (4), /* mulsi_const9 */
1237 + COSTS_N_INSNS (4), /* muldi */
1238 + COSTS_N_INSNS (33), /* divsi */
1239 + COSTS_N_INSNS (33), /* divdi */
1240 + COSTS_N_INSNS (11), /* fp */
1241 + COSTS_N_INSNS (11), /* dmul */
1242 + COSTS_N_INSNS (11), /* sdiv */
1243 + COSTS_N_INSNS (11), /* ddiv */
1244 + 32, /* cache line size */
1245 + 4, /* l1 cache */
1246 + 16, /* l2 cache */
1247 + 1, /* streams */
1250 +/* Instruction costs on PPC405 processors. */
1251 +static const
1252 +struct processor_costs ppc405_cost = {
1253 + COSTS_N_INSNS (5), /* mulsi */
1254 + COSTS_N_INSNS (4), /* mulsi_const */
1255 + COSTS_N_INSNS (3), /* mulsi_const9 */
1256 + COSTS_N_INSNS (5), /* muldi */
1257 + COSTS_N_INSNS (35), /* divsi */
1258 + COSTS_N_INSNS (35), /* divdi */
1259 + COSTS_N_INSNS (11), /* fp */
1260 + COSTS_N_INSNS (11), /* dmul */
1261 + COSTS_N_INSNS (11), /* sdiv */
1262 + COSTS_N_INSNS (11), /* ddiv */
1263 + 32, /* cache line size */
1264 + 16, /* l1 cache */
1265 + 128, /* l2 cache */
1266 + 1, /* streams */
1269 +/* Instruction costs on PPC440 processors. */
1270 +static const
1271 +struct processor_costs ppc440_cost = {
1272 + COSTS_N_INSNS (3), /* mulsi */
1273 + COSTS_N_INSNS (2), /* mulsi_const */
1274 + COSTS_N_INSNS (2), /* mulsi_const9 */
1275 + COSTS_N_INSNS (3), /* muldi */
1276 + COSTS_N_INSNS (34), /* divsi */
1277 + COSTS_N_INSNS (34), /* divdi */
1278 + COSTS_N_INSNS (5), /* fp */
1279 + COSTS_N_INSNS (5), /* dmul */
1280 + COSTS_N_INSNS (19), /* sdiv */
1281 + COSTS_N_INSNS (33), /* ddiv */
1282 + 32, /* cache line size */
1283 + 32, /* l1 cache */
1284 + 256, /* l2 cache */
1285 + 1, /* streams */
1288 +/* Instruction costs on PPC476 processors. */
1289 +static const
1290 +struct processor_costs ppc476_cost = {
1291 + COSTS_N_INSNS (4), /* mulsi */
1292 + COSTS_N_INSNS (4), /* mulsi_const */
1293 + COSTS_N_INSNS (4), /* mulsi_const9 */
1294 + COSTS_N_INSNS (4), /* muldi */
1295 + COSTS_N_INSNS (11), /* divsi */
1296 + COSTS_N_INSNS (11), /* divdi */
1297 + COSTS_N_INSNS (6), /* fp */
1298 + COSTS_N_INSNS (6), /* dmul */
1299 + COSTS_N_INSNS (19), /* sdiv */
1300 + COSTS_N_INSNS (33), /* ddiv */
1301 + 32, /* l1 cache line size */
1302 + 32, /* l1 cache */
1303 + 512, /* l2 cache */
1304 + 1, /* streams */
1307 +/* Instruction costs on PPC601 processors. */
1308 +static const
1309 +struct processor_costs ppc601_cost = {
1310 + COSTS_N_INSNS (5), /* mulsi */
1311 + COSTS_N_INSNS (5), /* mulsi_const */
1312 + COSTS_N_INSNS (5), /* mulsi_const9 */
1313 + COSTS_N_INSNS (5), /* muldi */
1314 + COSTS_N_INSNS (36), /* divsi */
1315 + COSTS_N_INSNS (36), /* divdi */
1316 + COSTS_N_INSNS (4), /* fp */
1317 + COSTS_N_INSNS (5), /* dmul */
1318 + COSTS_N_INSNS (17), /* sdiv */
1319 + COSTS_N_INSNS (31), /* ddiv */
1320 + 32, /* cache line size */
1321 + 32, /* l1 cache */
1322 + 256, /* l2 cache */
1323 + 1, /* streams */
1326 +/* Instruction costs on PPC603 processors. */
1327 +static const
1328 +struct processor_costs ppc603_cost = {
1329 + COSTS_N_INSNS (5), /* mulsi */
1330 + COSTS_N_INSNS (3), /* mulsi_const */
1331 + COSTS_N_INSNS (2), /* mulsi_const9 */
1332 + COSTS_N_INSNS (5), /* muldi */
1333 + COSTS_N_INSNS (37), /* divsi */
1334 + COSTS_N_INSNS (37), /* divdi */
1335 + COSTS_N_INSNS (3), /* fp */
1336 + COSTS_N_INSNS (4), /* dmul */
1337 + COSTS_N_INSNS (18), /* sdiv */
1338 + COSTS_N_INSNS (33), /* ddiv */
1339 + 32, /* cache line size */
1340 + 8, /* l1 cache */
1341 + 64, /* l2 cache */
1342 + 1, /* streams */
1345 +/* Instruction costs on PPC604 processors. */
1346 +static const
1347 +struct processor_costs ppc604_cost = {
1348 + COSTS_N_INSNS (4), /* mulsi */
1349 + COSTS_N_INSNS (4), /* mulsi_const */
1350 + COSTS_N_INSNS (4), /* mulsi_const9 */
1351 + COSTS_N_INSNS (4), /* muldi */
1352 + COSTS_N_INSNS (20), /* divsi */
1353 + COSTS_N_INSNS (20), /* divdi */
1354 + COSTS_N_INSNS (3), /* fp */
1355 + COSTS_N_INSNS (3), /* dmul */
1356 + COSTS_N_INSNS (18), /* sdiv */
1357 + COSTS_N_INSNS (32), /* ddiv */
1358 + 32, /* cache line size */
1359 + 16, /* l1 cache */
1360 + 512, /* l2 cache */
1361 + 1, /* streams */
1364 +/* Instruction costs on PPC604e processors. */
1365 +static const
1366 +struct processor_costs ppc604e_cost = {
1367 + COSTS_N_INSNS (2), /* mulsi */
1368 + COSTS_N_INSNS (2), /* mulsi_const */
1369 + COSTS_N_INSNS (2), /* mulsi_const9 */
1370 + COSTS_N_INSNS (2), /* muldi */
1371 + COSTS_N_INSNS (20), /* divsi */
1372 + COSTS_N_INSNS (20), /* divdi */
1373 + COSTS_N_INSNS (3), /* fp */
1374 + COSTS_N_INSNS (3), /* dmul */
1375 + COSTS_N_INSNS (18), /* sdiv */
1376 + COSTS_N_INSNS (32), /* ddiv */
1377 + 32, /* cache line size */
1378 + 32, /* l1 cache */
1379 + 1024, /* l2 cache */
1380 + 1, /* streams */
1383 +/* Instruction costs on PPC620 processors. */
1384 +static const
1385 +struct processor_costs ppc620_cost = {
1386 + COSTS_N_INSNS (5), /* mulsi */
1387 + COSTS_N_INSNS (4), /* mulsi_const */
1388 + COSTS_N_INSNS (3), /* mulsi_const9 */
1389 + COSTS_N_INSNS (7), /* muldi */
1390 + COSTS_N_INSNS (21), /* divsi */
1391 + COSTS_N_INSNS (37), /* divdi */
1392 + COSTS_N_INSNS (3), /* fp */
1393 + COSTS_N_INSNS (3), /* dmul */
1394 + COSTS_N_INSNS (18), /* sdiv */
1395 + COSTS_N_INSNS (32), /* ddiv */
1396 + 128, /* cache line size */
1397 + 32, /* l1 cache */
1398 + 1024, /* l2 cache */
1399 + 1, /* streams */
1402 +/* Instruction costs on PPC630 processors. */
1403 +static const
1404 +struct processor_costs ppc630_cost = {
1405 + COSTS_N_INSNS (5), /* mulsi */
1406 + COSTS_N_INSNS (4), /* mulsi_const */
1407 + COSTS_N_INSNS (3), /* mulsi_const9 */
1408 + COSTS_N_INSNS (7), /* muldi */
1409 + COSTS_N_INSNS (21), /* divsi */
1410 + COSTS_N_INSNS (37), /* divdi */
1411 + COSTS_N_INSNS (3), /* fp */
1412 + COSTS_N_INSNS (3), /* dmul */
1413 + COSTS_N_INSNS (17), /* sdiv */
1414 + COSTS_N_INSNS (21), /* ddiv */
1415 + 128, /* cache line size */
1416 + 64, /* l1 cache */
1417 + 1024, /* l2 cache */
1418 + 1, /* streams */
1421 +/* Instruction costs on Cell processor. */
1422 +/* COSTS_N_INSNS (1) ~ one add. */
1423 +static const
1424 +struct processor_costs ppccell_cost = {
1425 + COSTS_N_INSNS (9/2)+2, /* mulsi */
1426 + COSTS_N_INSNS (6/2), /* mulsi_const */
1427 + COSTS_N_INSNS (6/2), /* mulsi_const9 */
1428 + COSTS_N_INSNS (15/2)+2, /* muldi */
1429 + COSTS_N_INSNS (38/2), /* divsi */
1430 + COSTS_N_INSNS (70/2), /* divdi */
1431 + COSTS_N_INSNS (10/2), /* fp */
1432 + COSTS_N_INSNS (10/2), /* dmul */
1433 + COSTS_N_INSNS (74/2), /* sdiv */
1434 + COSTS_N_INSNS (74/2), /* ddiv */
1435 + 128, /* cache line size */
1436 + 32, /* l1 cache */
1437 + 512, /* l2 cache */
1438 + 6, /* streams */
1441 +/* Instruction costs on PPC750 and PPC7400 processors. */
1442 +static const
1443 +struct processor_costs ppc750_cost = {
1444 + COSTS_N_INSNS (5), /* mulsi */
1445 + COSTS_N_INSNS (3), /* mulsi_const */
1446 + COSTS_N_INSNS (2), /* mulsi_const9 */
1447 + COSTS_N_INSNS (5), /* muldi */
1448 + COSTS_N_INSNS (17), /* divsi */
1449 + COSTS_N_INSNS (17), /* divdi */
1450 + COSTS_N_INSNS (3), /* fp */
1451 + COSTS_N_INSNS (3), /* dmul */
1452 + COSTS_N_INSNS (17), /* sdiv */
1453 + COSTS_N_INSNS (31), /* ddiv */
1454 + 32, /* cache line size */
1455 + 32, /* l1 cache */
1456 + 512, /* l2 cache */
1457 + 1, /* streams */
1460 +/* Instruction costs on PPC7450 processors. */
1461 +static const
1462 +struct processor_costs ppc7450_cost = {
1463 + COSTS_N_INSNS (4), /* mulsi */
1464 + COSTS_N_INSNS (3), /* mulsi_const */
1465 + COSTS_N_INSNS (3), /* mulsi_const9 */
1466 + COSTS_N_INSNS (4), /* muldi */
1467 + COSTS_N_INSNS (23), /* divsi */
1468 + COSTS_N_INSNS (23), /* divdi */
1469 + COSTS_N_INSNS (5), /* fp */
1470 + COSTS_N_INSNS (5), /* dmul */
1471 + COSTS_N_INSNS (21), /* sdiv */
1472 + COSTS_N_INSNS (35), /* ddiv */
1473 + 32, /* cache line size */
1474 + 32, /* l1 cache */
1475 + 1024, /* l2 cache */
1476 + 1, /* streams */
1479 +/* Instruction costs on PPC8540 processors. */
1480 +static const
1481 +struct processor_costs ppc8540_cost = {
1482 + COSTS_N_INSNS (4), /* mulsi */
1483 + COSTS_N_INSNS (4), /* mulsi_const */
1484 + COSTS_N_INSNS (4), /* mulsi_const9 */
1485 + COSTS_N_INSNS (4), /* muldi */
1486 + COSTS_N_INSNS (19), /* divsi */
1487 + COSTS_N_INSNS (19), /* divdi */
1488 + COSTS_N_INSNS (4), /* fp */
1489 + COSTS_N_INSNS (4), /* dmul */
1490 + COSTS_N_INSNS (29), /* sdiv */
1491 + COSTS_N_INSNS (29), /* ddiv */
1492 + 32, /* cache line size */
1493 + 32, /* l1 cache */
1494 + 256, /* l2 cache */
1495 + 1, /* prefetch streams /*/
1498 +/* Instruction costs on E300C2 and E300C3 cores. */
1499 +static const
1500 +struct processor_costs ppce300c2c3_cost = {
1501 + COSTS_N_INSNS (4), /* mulsi */
1502 + COSTS_N_INSNS (4), /* mulsi_const */
1503 + COSTS_N_INSNS (4), /* mulsi_const9 */
1504 + COSTS_N_INSNS (4), /* muldi */
1505 + COSTS_N_INSNS (19), /* divsi */
1506 + COSTS_N_INSNS (19), /* divdi */
1507 + COSTS_N_INSNS (3), /* fp */
1508 + COSTS_N_INSNS (4), /* dmul */
1509 + COSTS_N_INSNS (18), /* sdiv */
1510 + COSTS_N_INSNS (33), /* ddiv */
1511 + 32,
1512 + 16, /* l1 cache */
1513 + 16, /* l2 cache */
1514 + 1, /* prefetch streams /*/
1517 +/* Instruction costs on PPCE500MC processors. */
1518 +static const
1519 +struct processor_costs ppce500mc_cost = {
1520 + COSTS_N_INSNS (4), /* mulsi */
1521 + COSTS_N_INSNS (4), /* mulsi_const */
1522 + COSTS_N_INSNS (4), /* mulsi_const9 */
1523 + COSTS_N_INSNS (4), /* muldi */
1524 + COSTS_N_INSNS (14), /* divsi */
1525 + COSTS_N_INSNS (14), /* divdi */
1526 + COSTS_N_INSNS (8), /* fp */
1527 + COSTS_N_INSNS (10), /* dmul */
1528 + COSTS_N_INSNS (36), /* sdiv */
1529 + COSTS_N_INSNS (66), /* ddiv */
1530 + 64, /* cache line size */
1531 + 32, /* l1 cache */
1532 + 128, /* l2 cache */
1533 + 1, /* prefetch streams /*/
1536 +/* Instruction costs on PPCE500MC64 processors. */
1537 +static const
1538 +struct processor_costs ppce500mc64_cost = {
1539 + COSTS_N_INSNS (4), /* mulsi */
1540 + COSTS_N_INSNS (4), /* mulsi_const */
1541 + COSTS_N_INSNS (4), /* mulsi_const9 */
1542 + COSTS_N_INSNS (4), /* muldi */
1543 + COSTS_N_INSNS (14), /* divsi */
1544 + COSTS_N_INSNS (14), /* divdi */
1545 + COSTS_N_INSNS (4), /* fp */
1546 + COSTS_N_INSNS (10), /* dmul */
1547 + COSTS_N_INSNS (36), /* sdiv */
1548 + COSTS_N_INSNS (66), /* ddiv */
1549 + 64, /* cache line size */
1550 + 32, /* l1 cache */
1551 + 128, /* l2 cache */
1552 + 1, /* prefetch streams /*/
1555 +/* Instruction costs on PPCE5500 processors. */
1556 +static const
1557 +struct processor_costs ppce5500_cost = {
1558 + COSTS_N_INSNS (5), /* mulsi */
1559 + COSTS_N_INSNS (5), /* mulsi_const */
1560 + COSTS_N_INSNS (4), /* mulsi_const9 */
1561 + COSTS_N_INSNS (5), /* muldi */
1562 + COSTS_N_INSNS (14), /* divsi */
1563 + COSTS_N_INSNS (14), /* divdi */
1564 + COSTS_N_INSNS (7), /* fp */
1565 + COSTS_N_INSNS (10), /* dmul */
1566 + COSTS_N_INSNS (36), /* sdiv */
1567 + COSTS_N_INSNS (66), /* ddiv */
1568 + 64, /* cache line size */
1569 + 32, /* l1 cache */
1570 + 128, /* l2 cache */
1571 + 1, /* prefetch streams /*/
1574 +/* Instruction costs on PPCE6500 processors. */
1575 +static const
1576 +struct processor_costs ppce6500_cost = {
1577 + COSTS_N_INSNS (5), /* mulsi */
1578 + COSTS_N_INSNS (5), /* mulsi_const */
1579 + COSTS_N_INSNS (4), /* mulsi_const9 */
1580 + COSTS_N_INSNS (5), /* muldi */
1581 + COSTS_N_INSNS (14), /* divsi */
1582 + COSTS_N_INSNS (14), /* divdi */
1583 + COSTS_N_INSNS (7), /* fp */
1584 + COSTS_N_INSNS (10), /* dmul */
1585 + COSTS_N_INSNS (36), /* sdiv */
1586 + COSTS_N_INSNS (66), /* ddiv */
1587 + 64, /* cache line size */
1588 + 32, /* l1 cache */
1589 + 128, /* l2 cache */
1590 + 1, /* prefetch streams /*/
1593 +/* Instruction costs on AppliedMicro Titan processors. */
1594 +static const
1595 +struct processor_costs titan_cost = {
1596 + COSTS_N_INSNS (5), /* mulsi */
1597 + COSTS_N_INSNS (5), /* mulsi_const */
1598 + COSTS_N_INSNS (5), /* mulsi_const9 */
1599 + COSTS_N_INSNS (5), /* muldi */
1600 + COSTS_N_INSNS (18), /* divsi */
1601 + COSTS_N_INSNS (18), /* divdi */
1602 + COSTS_N_INSNS (10), /* fp */
1603 + COSTS_N_INSNS (10), /* dmul */
1604 + COSTS_N_INSNS (46), /* sdiv */
1605 + COSTS_N_INSNS (72), /* ddiv */
1606 + 32, /* cache line size */
1607 + 32, /* l1 cache */
1608 + 512, /* l2 cache */
1609 + 1, /* prefetch streams /*/
1612 +/* Instruction costs on POWER4 and POWER5 processors. */
1613 +static const
1614 +struct processor_costs power4_cost = {
1615 + COSTS_N_INSNS (3), /* mulsi */
1616 + COSTS_N_INSNS (2), /* mulsi_const */
1617 + COSTS_N_INSNS (2), /* mulsi_const9 */
1618 + COSTS_N_INSNS (4), /* muldi */
1619 + COSTS_N_INSNS (18), /* divsi */
1620 + COSTS_N_INSNS (34), /* divdi */
1621 + COSTS_N_INSNS (3), /* fp */
1622 + COSTS_N_INSNS (3), /* dmul */
1623 + COSTS_N_INSNS (17), /* sdiv */
1624 + COSTS_N_INSNS (17), /* ddiv */
1625 + 128, /* cache line size */
1626 + 32, /* l1 cache */
1627 + 1024, /* l2 cache */
1628 + 8, /* prefetch streams /*/
1631 +/* Instruction costs on POWER6 processors. */
1632 +static const
1633 +struct processor_costs power6_cost = {
1634 + COSTS_N_INSNS (8), /* mulsi */
1635 + COSTS_N_INSNS (8), /* mulsi_const */
1636 + COSTS_N_INSNS (8), /* mulsi_const9 */
1637 + COSTS_N_INSNS (8), /* muldi */
1638 + COSTS_N_INSNS (22), /* divsi */
1639 + COSTS_N_INSNS (28), /* divdi */
1640 + COSTS_N_INSNS (3), /* fp */
1641 + COSTS_N_INSNS (3), /* dmul */
1642 + COSTS_N_INSNS (13), /* sdiv */
1643 + COSTS_N_INSNS (16), /* ddiv */
1644 + 128, /* cache line size */
1645 + 64, /* l1 cache */
1646 + 2048, /* l2 cache */
1647 + 16, /* prefetch streams */
1650 +/* Instruction costs on POWER7 processors. */
1651 +static const
1652 +struct processor_costs power7_cost = {
1653 + COSTS_N_INSNS (2), /* mulsi */
1654 + COSTS_N_INSNS (2), /* mulsi_const */
1655 + COSTS_N_INSNS (2), /* mulsi_const9 */
1656 + COSTS_N_INSNS (2), /* muldi */
1657 + COSTS_N_INSNS (18), /* divsi */
1658 + COSTS_N_INSNS (34), /* divdi */
1659 + COSTS_N_INSNS (3), /* fp */
1660 + COSTS_N_INSNS (3), /* dmul */
1661 + COSTS_N_INSNS (13), /* sdiv */
1662 + COSTS_N_INSNS (16), /* ddiv */
1663 + 128, /* cache line size */
1664 + 32, /* l1 cache */
1665 + 256, /* l2 cache */
1666 + 12, /* prefetch streams */
1669 +/* Instruction costs on POWER8 processors. */
1670 +static const
1671 +struct processor_costs power8_cost = {
1672 + COSTS_N_INSNS (3), /* mulsi */
1673 + COSTS_N_INSNS (3), /* mulsi_const */
1674 + COSTS_N_INSNS (3), /* mulsi_const9 */
1675 + COSTS_N_INSNS (3), /* muldi */
1676 + COSTS_N_INSNS (19), /* divsi */
1677 + COSTS_N_INSNS (35), /* divdi */
1678 + COSTS_N_INSNS (3), /* fp */
1679 + COSTS_N_INSNS (3), /* dmul */
1680 + COSTS_N_INSNS (14), /* sdiv */
1681 + COSTS_N_INSNS (17), /* ddiv */
1682 + 128, /* cache line size */
1683 + 32, /* l1 cache */
1684 + 256, /* l2 cache */
1685 + 12, /* prefetch streams */
1688 +/* Instruction costs on POWER A2 processors. */
1689 +static const
1690 +struct processor_costs ppca2_cost = {
1691 + COSTS_N_INSNS (16), /* mulsi */
1692 + COSTS_N_INSNS (16), /* mulsi_const */
1693 + COSTS_N_INSNS (16), /* mulsi_const9 */
1694 + COSTS_N_INSNS (16), /* muldi */
1695 + COSTS_N_INSNS (22), /* divsi */
1696 + COSTS_N_INSNS (28), /* divdi */
1697 + COSTS_N_INSNS (3), /* fp */
1698 + COSTS_N_INSNS (3), /* dmul */
1699 + COSTS_N_INSNS (59), /* sdiv */
1700 + COSTS_N_INSNS (72), /* ddiv */
1701 + 64,
1702 + 16, /* l1 cache */
1703 + 2048, /* l2 cache */
1704 + 16, /* prefetch streams */
1708 +/* Table that classifies rs6000 builtin functions (pure, const, etc.). */
1709 +#undef RS6000_BUILTIN_1
1710 +#undef RS6000_BUILTIN_2
1711 +#undef RS6000_BUILTIN_3
1712 +#undef RS6000_BUILTIN_A
1713 +#undef RS6000_BUILTIN_D
1714 +#undef RS6000_BUILTIN_E
1715 +#undef RS6000_BUILTIN_H
1716 +#undef RS6000_BUILTIN_P
1717 +#undef RS6000_BUILTIN_Q
1718 +#undef RS6000_BUILTIN_S
1719 +#undef RS6000_BUILTIN_X
1721 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE) \
1722 + { NAME, ICODE, MASK, ATTR },
1724 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE) \
1725 + { NAME, ICODE, MASK, ATTR },
1727 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE) \
1728 + { NAME, ICODE, MASK, ATTR },
1730 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE) \
1731 + { NAME, ICODE, MASK, ATTR },
1733 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE) \
1734 + { NAME, ICODE, MASK, ATTR },
1736 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE) \
1737 + { NAME, ICODE, MASK, ATTR },
1739 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE) \
1740 + { NAME, ICODE, MASK, ATTR },
1742 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE) \
1743 + { NAME, ICODE, MASK, ATTR },
1745 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE) \
1746 + { NAME, ICODE, MASK, ATTR },
1748 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE) \
1749 + { NAME, ICODE, MASK, ATTR },
1751 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE) \
1752 + { NAME, ICODE, MASK, ATTR },
1754 +struct rs6000_builtin_info_type {
1755 + const char *name;
1756 + const enum insn_code icode;
1757 + const HOST_WIDE_INT mask;
1758 + const unsigned attr;
1761 +static const struct rs6000_builtin_info_type rs6000_builtin_info[] =
1763 +#include "rs6000-builtin.def"
1766 +#undef RS6000_BUILTIN_1
1767 +#undef RS6000_BUILTIN_2
1768 +#undef RS6000_BUILTIN_3
1769 +#undef RS6000_BUILTIN_A
1770 +#undef RS6000_BUILTIN_D
1771 +#undef RS6000_BUILTIN_E
1772 +#undef RS6000_BUILTIN_H
1773 +#undef RS6000_BUILTIN_P
1774 +#undef RS6000_BUILTIN_Q
1775 +#undef RS6000_BUILTIN_S
1776 +#undef RS6000_BUILTIN_X
1778 +/* Support for -mveclibabi=<xxx> to control which vector library to use. */
1779 +static tree (*rs6000_veclib_handler) (tree, tree, tree);
1782 +static bool rs6000_debug_legitimate_address_p (machine_mode, rtx, bool);
1783 +static bool spe_func_has_64bit_regs_p (void);
1784 +static struct machine_function * rs6000_init_machine_status (void);
1785 +static int rs6000_ra_ever_killed (void);
1786 +static tree rs6000_handle_longcall_attribute (tree *, tree, tree, int, bool *);
1787 +static tree rs6000_handle_altivec_attribute (tree *, tree, tree, int, bool *);
1788 +static tree rs6000_handle_struct_attribute (tree *, tree, tree, int, bool *);
1789 +static tree rs6000_builtin_vectorized_libmass (tree, tree, tree);
1790 +static void rs6000_emit_set_long_const (rtx, HOST_WIDE_INT);
1791 +static int rs6000_memory_move_cost (machine_mode, reg_class_t, bool);
1792 +static bool rs6000_debug_rtx_costs (rtx, int, int, int, int *, bool);
1793 +static int rs6000_debug_address_cost (rtx, machine_mode, addr_space_t,
1794 + bool);
1795 +static int rs6000_debug_adjust_cost (rtx_insn *, rtx, rtx_insn *, int);
1796 +static bool is_microcoded_insn (rtx_insn *);
1797 +static bool is_nonpipeline_insn (rtx_insn *);
1798 +static bool is_cracked_insn (rtx_insn *);
1799 +static bool is_load_insn (rtx, rtx *);
1800 +static bool is_store_insn (rtx, rtx *);
1801 +static bool set_to_load_agen (rtx_insn *,rtx_insn *);
1802 +static bool insn_terminates_group_p (rtx_insn *, enum group_termination);
1803 +static bool insn_must_be_first_in_group (rtx_insn *);
1804 +static bool insn_must_be_last_in_group (rtx_insn *);
1805 +static void altivec_init_builtins (void);
1806 +static tree builtin_function_type (machine_mode, machine_mode,
1807 + machine_mode, machine_mode,
1808 + enum rs6000_builtins, const char *name);
1809 +static void rs6000_common_init_builtins (void);
1810 +static void paired_init_builtins (void);
1811 +static rtx paired_expand_predicate_builtin (enum insn_code, tree, rtx);
1812 +static void spe_init_builtins (void);
1813 +static void htm_init_builtins (void);
1814 +static rtx spe_expand_predicate_builtin (enum insn_code, tree, rtx);
1815 +static rtx spe_expand_evsel_builtin (enum insn_code, tree, rtx);
1816 +static int rs6000_emit_int_cmove (rtx, rtx, rtx, rtx);
1817 +static rs6000_stack_t *rs6000_stack_info (void);
1818 +static void is_altivec_return_reg (rtx, void *);
1819 +int easy_vector_constant (rtx, machine_mode);
1820 +static rtx rs6000_debug_legitimize_address (rtx, rtx, machine_mode);
1821 +static rtx rs6000_legitimize_tls_address (rtx, enum tls_model);
1822 +static rtx rs6000_darwin64_record_arg (CUMULATIVE_ARGS *, const_tree,
1823 + bool, bool);
1824 +#if TARGET_MACHO
1825 +static void macho_branch_islands (void);
1826 +#endif
1827 +static rtx rs6000_legitimize_reload_address (rtx, machine_mode, int, int,
1828 + int, int *);
1829 +static rtx rs6000_debug_legitimize_reload_address (rtx, machine_mode, int,
1830 + int, int, int *);
1831 +static bool rs6000_mode_dependent_address (const_rtx);
1832 +static bool rs6000_debug_mode_dependent_address (const_rtx);
1833 +static enum reg_class rs6000_secondary_reload_class (enum reg_class,
1834 + machine_mode, rtx);
1835 +static enum reg_class rs6000_debug_secondary_reload_class (enum reg_class,
1836 + machine_mode,
1837 + rtx);
1838 +static enum reg_class rs6000_preferred_reload_class (rtx, enum reg_class);
1839 +static enum reg_class rs6000_debug_preferred_reload_class (rtx,
1840 + enum reg_class);
1841 +static bool rs6000_secondary_memory_needed (enum reg_class, enum reg_class,
1842 + machine_mode);
1843 +static bool rs6000_debug_secondary_memory_needed (enum reg_class,
1844 + enum reg_class,
1845 + machine_mode);
1846 +static bool rs6000_cannot_change_mode_class (machine_mode,
1847 + machine_mode,
1848 + enum reg_class);
1849 +static bool rs6000_debug_cannot_change_mode_class (machine_mode,
1850 + machine_mode,
1851 + enum reg_class);
1852 +static bool rs6000_save_toc_in_prologue_p (void);
1854 +rtx (*rs6000_legitimize_reload_address_ptr) (rtx, machine_mode, int, int,
1855 + int, int *)
1856 + = rs6000_legitimize_reload_address;
1858 +static bool (*rs6000_mode_dependent_address_ptr) (const_rtx)
1859 + = rs6000_mode_dependent_address;
1861 +enum reg_class (*rs6000_secondary_reload_class_ptr) (enum reg_class,
1862 + machine_mode, rtx)
1863 + = rs6000_secondary_reload_class;
1865 +enum reg_class (*rs6000_preferred_reload_class_ptr) (rtx, enum reg_class)
1866 + = rs6000_preferred_reload_class;
1868 +bool (*rs6000_secondary_memory_needed_ptr) (enum reg_class, enum reg_class,
1869 + machine_mode)
1870 + = rs6000_secondary_memory_needed;
1872 +bool (*rs6000_cannot_change_mode_class_ptr) (machine_mode,
1873 + machine_mode,
1874 + enum reg_class)
1875 + = rs6000_cannot_change_mode_class;
1877 +const int INSN_NOT_AVAILABLE = -1;
1879 +static void rs6000_print_isa_options (FILE *, int, const char *,
1880 + HOST_WIDE_INT);
1881 +static void rs6000_print_builtin_options (FILE *, int, const char *,
1882 + HOST_WIDE_INT);
1884 +static enum rs6000_reg_type register_to_reg_type (rtx, bool *);
1885 +static bool rs6000_secondary_reload_move (enum rs6000_reg_type,
1886 + enum rs6000_reg_type,
1887 + machine_mode,
1888 + secondary_reload_info *,
1889 + bool);
1890 +rtl_opt_pass *make_pass_analyze_swaps (gcc::context*);
1892 +/* Hash table stuff for keeping track of TOC entries. */
1894 +struct GTY((for_user)) toc_hash_struct
1896 + /* `key' will satisfy CONSTANT_P; in fact, it will satisfy
1897 + ASM_OUTPUT_SPECIAL_POOL_ENTRY_P. */
1898 + rtx key;
1899 + machine_mode key_mode;
1900 + int labelno;
1903 +struct toc_hasher : ggc_hasher<toc_hash_struct *>
1905 + static hashval_t hash (toc_hash_struct *);
1906 + static bool equal (toc_hash_struct *, toc_hash_struct *);
1909 +static GTY (()) hash_table<toc_hasher> *toc_hash_table;
1911 +/* Hash table to keep track of the argument types for builtin functions. */
1913 +struct GTY((for_user)) builtin_hash_struct
1915 + tree type;
1916 + machine_mode mode[4]; /* return value + 3 arguments. */
1917 + unsigned char uns_p[4]; /* and whether the types are unsigned. */
1920 +struct builtin_hasher : ggc_hasher<builtin_hash_struct *>
1922 + static hashval_t hash (builtin_hash_struct *);
1923 + static bool equal (builtin_hash_struct *, builtin_hash_struct *);
1926 +static GTY (()) hash_table<builtin_hasher> *builtin_hash_table;
1929 +/* Default register names. */
1930 +char rs6000_reg_names[][8] =
1932 + "0", "1", "2", "3", "4", "5", "6", "7",
1933 + "8", "9", "10", "11", "12", "13", "14", "15",
1934 + "16", "17", "18", "19", "20", "21", "22", "23",
1935 + "24", "25", "26", "27", "28", "29", "30", "31",
1936 + "0", "1", "2", "3", "4", "5", "6", "7",
1937 + "8", "9", "10", "11", "12", "13", "14", "15",
1938 + "16", "17", "18", "19", "20", "21", "22", "23",
1939 + "24", "25", "26", "27", "28", "29", "30", "31",
1940 + "mq", "lr", "ctr","ap",
1941 + "0", "1", "2", "3", "4", "5", "6", "7",
1942 + "ca",
1943 + /* AltiVec registers. */
1944 + "0", "1", "2", "3", "4", "5", "6", "7",
1945 + "8", "9", "10", "11", "12", "13", "14", "15",
1946 + "16", "17", "18", "19", "20", "21", "22", "23",
1947 + "24", "25", "26", "27", "28", "29", "30", "31",
1948 + "vrsave", "vscr",
1949 + /* SPE registers. */
1950 + "spe_acc", "spefscr",
1951 + /* Soft frame pointer. */
1952 + "sfp",
1953 + /* HTM SPR registers. */
1954 + "tfhar", "tfiar", "texasr",
1955 + /* SPE High registers. */
1956 + "0", "1", "2", "3", "4", "5", "6", "7",
1957 + "8", "9", "10", "11", "12", "13", "14", "15",
1958 + "16", "17", "18", "19", "20", "21", "22", "23",
1959 + "24", "25", "26", "27", "28", "29", "30", "31"
1962 +#ifdef TARGET_REGNAMES
1963 +static const char alt_reg_names[][8] =
1965 + "%r0", "%r1", "%r2", "%r3", "%r4", "%r5", "%r6", "%r7",
1966 + "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15",
1967 + "%r16", "%r17", "%r18", "%r19", "%r20", "%r21", "%r22", "%r23",
1968 + "%r24", "%r25", "%r26", "%r27", "%r28", "%r29", "%r30", "%r31",
1969 + "%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7",
1970 + "%f8", "%f9", "%f10", "%f11", "%f12", "%f13", "%f14", "%f15",
1971 + "%f16", "%f17", "%f18", "%f19", "%f20", "%f21", "%f22", "%f23",
1972 + "%f24", "%f25", "%f26", "%f27", "%f28", "%f29", "%f30", "%f31",
1973 + "mq", "lr", "ctr", "ap",
1974 + "%cr0", "%cr1", "%cr2", "%cr3", "%cr4", "%cr5", "%cr6", "%cr7",
1975 + "ca",
1976 + /* AltiVec registers. */
1977 + "%v0", "%v1", "%v2", "%v3", "%v4", "%v5", "%v6", "%v7",
1978 + "%v8", "%v9", "%v10", "%v11", "%v12", "%v13", "%v14", "%v15",
1979 + "%v16", "%v17", "%v18", "%v19", "%v20", "%v21", "%v22", "%v23",
1980 + "%v24", "%v25", "%v26", "%v27", "%v28", "%v29", "%v30", "%v31",
1981 + "vrsave", "vscr",
1982 + /* SPE registers. */
1983 + "spe_acc", "spefscr",
1984 + /* Soft frame pointer. */
1985 + "sfp",
1986 + /* HTM SPR registers. */
1987 + "tfhar", "tfiar", "texasr",
1988 + /* SPE High registers. */
1989 + "%rh0", "%rh1", "%rh2", "%rh3", "%rh4", "%rh5", "%rh6", "%rh7",
1990 + "%rh8", "%rh9", "%rh10", "%r11", "%rh12", "%rh13", "%rh14", "%rh15",
1991 + "%rh16", "%rh17", "%rh18", "%rh19", "%rh20", "%rh21", "%rh22", "%rh23",
1992 + "%rh24", "%rh25", "%rh26", "%rh27", "%rh28", "%rh29", "%rh30", "%rh31"
1994 +#endif
1996 +/* Table of valid machine attributes. */
1998 +static const struct attribute_spec rs6000_attribute_table[] =
2000 + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
2001 + affects_type_identity } */
2002 + { "altivec", 1, 1, false, true, false, rs6000_handle_altivec_attribute,
2003 + false },
2004 + { "longcall", 0, 0, false, true, true, rs6000_handle_longcall_attribute,
2005 + false },
2006 + { "shortcall", 0, 0, false, true, true, rs6000_handle_longcall_attribute,
2007 + false },
2008 + { "ms_struct", 0, 0, false, false, false, rs6000_handle_struct_attribute,
2009 + false },
2010 + { "gcc_struct", 0, 0, false, false, false, rs6000_handle_struct_attribute,
2011 + false },
2012 +#ifdef SUBTARGET_ATTRIBUTE_TABLE
2013 + SUBTARGET_ATTRIBUTE_TABLE,
2014 +#endif
2015 + { NULL, 0, 0, false, false, false, NULL, false }
2018 +#ifndef TARGET_PROFILE_KERNEL
2019 +#define TARGET_PROFILE_KERNEL 0
2020 +#endif
2022 +/* The VRSAVE bitmask puts bit %v0 as the most significant bit. */
2023 +#define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
2025 +/* Initialize the GCC target structure. */
2026 +#undef TARGET_ATTRIBUTE_TABLE
2027 +#define TARGET_ATTRIBUTE_TABLE rs6000_attribute_table
2028 +#undef TARGET_SET_DEFAULT_TYPE_ATTRIBUTES
2029 +#define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES rs6000_set_default_type_attributes
2030 +#undef TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P
2031 +#define TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P rs6000_attribute_takes_identifier_p
2033 +#undef TARGET_ASM_ALIGNED_DI_OP
2034 +#define TARGET_ASM_ALIGNED_DI_OP DOUBLE_INT_ASM_OP
2036 +/* Default unaligned ops are only provided for ELF. Find the ops needed
2037 + for non-ELF systems. */
2038 +#ifndef OBJECT_FORMAT_ELF
2039 +#if TARGET_XCOFF
2040 +/* For XCOFF. rs6000_assemble_integer will handle unaligned DIs on
2041 + 64-bit targets. */
2042 +#undef TARGET_ASM_UNALIGNED_HI_OP
2043 +#define TARGET_ASM_UNALIGNED_HI_OP "\t.vbyte\t2,"
2044 +#undef TARGET_ASM_UNALIGNED_SI_OP
2045 +#define TARGET_ASM_UNALIGNED_SI_OP "\t.vbyte\t4,"
2046 +#undef TARGET_ASM_UNALIGNED_DI_OP
2047 +#define TARGET_ASM_UNALIGNED_DI_OP "\t.vbyte\t8,"
2048 +#else
2049 +/* For Darwin. */
2050 +#undef TARGET_ASM_UNALIGNED_HI_OP
2051 +#define TARGET_ASM_UNALIGNED_HI_OP "\t.short\t"
2052 +#undef TARGET_ASM_UNALIGNED_SI_OP
2053 +#define TARGET_ASM_UNALIGNED_SI_OP "\t.long\t"
2054 +#undef TARGET_ASM_UNALIGNED_DI_OP
2055 +#define TARGET_ASM_UNALIGNED_DI_OP "\t.quad\t"
2056 +#undef TARGET_ASM_ALIGNED_DI_OP
2057 +#define TARGET_ASM_ALIGNED_DI_OP "\t.quad\t"
2058 +#endif
2059 +#endif
2061 +/* This hook deals with fixups for relocatable code and DI-mode objects
2062 + in 64-bit code. */
2063 +#undef TARGET_ASM_INTEGER
2064 +#define TARGET_ASM_INTEGER rs6000_assemble_integer
2066 +#if defined (HAVE_GAS_HIDDEN) && !TARGET_MACHO
2067 +#undef TARGET_ASM_ASSEMBLE_VISIBILITY
2068 +#define TARGET_ASM_ASSEMBLE_VISIBILITY rs6000_assemble_visibility
2069 +#endif
2071 +#undef TARGET_SET_UP_BY_PROLOGUE
2072 +#define TARGET_SET_UP_BY_PROLOGUE rs6000_set_up_by_prologue
2074 +#undef TARGET_HAVE_TLS
2075 +#define TARGET_HAVE_TLS HAVE_AS_TLS
2077 +#undef TARGET_CANNOT_FORCE_CONST_MEM
2078 +#define TARGET_CANNOT_FORCE_CONST_MEM rs6000_cannot_force_const_mem
2080 +#undef TARGET_DELEGITIMIZE_ADDRESS
2081 +#define TARGET_DELEGITIMIZE_ADDRESS rs6000_delegitimize_address
2083 +#undef TARGET_CONST_NOT_OK_FOR_DEBUG_P
2084 +#define TARGET_CONST_NOT_OK_FOR_DEBUG_P rs6000_const_not_ok_for_debug_p
2086 +#undef TARGET_ASM_FUNCTION_PROLOGUE
2087 +#define TARGET_ASM_FUNCTION_PROLOGUE rs6000_output_function_prologue
2088 +#undef TARGET_ASM_FUNCTION_EPILOGUE
2089 +#define TARGET_ASM_FUNCTION_EPILOGUE rs6000_output_function_epilogue
2091 +#undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
2092 +#define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA rs6000_output_addr_const_extra
2094 +#undef TARGET_LEGITIMIZE_ADDRESS
2095 +#define TARGET_LEGITIMIZE_ADDRESS rs6000_legitimize_address
2097 +#undef TARGET_SCHED_VARIABLE_ISSUE
2098 +#define TARGET_SCHED_VARIABLE_ISSUE rs6000_variable_issue
2100 +#undef TARGET_SCHED_ISSUE_RATE
2101 +#define TARGET_SCHED_ISSUE_RATE rs6000_issue_rate
2102 +#undef TARGET_SCHED_ADJUST_COST
2103 +#define TARGET_SCHED_ADJUST_COST rs6000_adjust_cost
2104 +#undef TARGET_SCHED_ADJUST_PRIORITY
2105 +#define TARGET_SCHED_ADJUST_PRIORITY rs6000_adjust_priority
2106 +#undef TARGET_SCHED_IS_COSTLY_DEPENDENCE
2107 +#define TARGET_SCHED_IS_COSTLY_DEPENDENCE rs6000_is_costly_dependence
2108 +#undef TARGET_SCHED_INIT
2109 +#define TARGET_SCHED_INIT rs6000_sched_init
2110 +#undef TARGET_SCHED_FINISH
2111 +#define TARGET_SCHED_FINISH rs6000_sched_finish
2112 +#undef TARGET_SCHED_REORDER
2113 +#define TARGET_SCHED_REORDER rs6000_sched_reorder
2114 +#undef TARGET_SCHED_REORDER2
2115 +#define TARGET_SCHED_REORDER2 rs6000_sched_reorder2
2117 +#undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD
2118 +#define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD rs6000_use_sched_lookahead
2120 +#undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD
2121 +#define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD rs6000_use_sched_lookahead_guard
2123 +#undef TARGET_SCHED_ALLOC_SCHED_CONTEXT
2124 +#define TARGET_SCHED_ALLOC_SCHED_CONTEXT rs6000_alloc_sched_context
2125 +#undef TARGET_SCHED_INIT_SCHED_CONTEXT
2126 +#define TARGET_SCHED_INIT_SCHED_CONTEXT rs6000_init_sched_context
2127 +#undef TARGET_SCHED_SET_SCHED_CONTEXT
2128 +#define TARGET_SCHED_SET_SCHED_CONTEXT rs6000_set_sched_context
2129 +#undef TARGET_SCHED_FREE_SCHED_CONTEXT
2130 +#define TARGET_SCHED_FREE_SCHED_CONTEXT rs6000_free_sched_context
2132 +#undef TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD
2133 +#define TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD rs6000_builtin_mask_for_load
2134 +#undef TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
2135 +#define TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT \
2136 + rs6000_builtin_support_vector_misalignment
2137 +#undef TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
2138 +#define TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE rs6000_vector_alignment_reachable
2139 +#undef TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST
2140 +#define TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST \
2141 + rs6000_builtin_vectorization_cost
2142 +#undef TARGET_VECTORIZE_PREFERRED_SIMD_MODE
2143 +#define TARGET_VECTORIZE_PREFERRED_SIMD_MODE \
2144 + rs6000_preferred_simd_mode
2145 +#undef TARGET_VECTORIZE_INIT_COST
2146 +#define TARGET_VECTORIZE_INIT_COST rs6000_init_cost
2147 +#undef TARGET_VECTORIZE_ADD_STMT_COST
2148 +#define TARGET_VECTORIZE_ADD_STMT_COST rs6000_add_stmt_cost
2149 +#undef TARGET_VECTORIZE_FINISH_COST
2150 +#define TARGET_VECTORIZE_FINISH_COST rs6000_finish_cost
2151 +#undef TARGET_VECTORIZE_DESTROY_COST_DATA
2152 +#define TARGET_VECTORIZE_DESTROY_COST_DATA rs6000_destroy_cost_data
2154 +#undef TARGET_INIT_BUILTINS
2155 +#define TARGET_INIT_BUILTINS rs6000_init_builtins
2156 +#undef TARGET_BUILTIN_DECL
2157 +#define TARGET_BUILTIN_DECL rs6000_builtin_decl
2159 +#undef TARGET_EXPAND_BUILTIN
2160 +#define TARGET_EXPAND_BUILTIN rs6000_expand_builtin
2162 +#undef TARGET_MANGLE_TYPE
2163 +#define TARGET_MANGLE_TYPE rs6000_mangle_type
2165 +#undef TARGET_INIT_LIBFUNCS
2166 +#define TARGET_INIT_LIBFUNCS rs6000_init_libfuncs
2168 +#if TARGET_MACHO
2169 +#undef TARGET_BINDS_LOCAL_P
2170 +#define TARGET_BINDS_LOCAL_P darwin_binds_local_p
2171 +#endif
2173 +#undef TARGET_MS_BITFIELD_LAYOUT_P
2174 +#define TARGET_MS_BITFIELD_LAYOUT_P rs6000_ms_bitfield_layout_p
2176 +#undef TARGET_ASM_OUTPUT_MI_THUNK
2177 +#define TARGET_ASM_OUTPUT_MI_THUNK rs6000_output_mi_thunk
2179 +#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
2180 +#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
2182 +#undef TARGET_FUNCTION_OK_FOR_SIBCALL
2183 +#define TARGET_FUNCTION_OK_FOR_SIBCALL rs6000_function_ok_for_sibcall
2185 +#undef TARGET_REGISTER_MOVE_COST
2186 +#define TARGET_REGISTER_MOVE_COST rs6000_register_move_cost
2187 +#undef TARGET_MEMORY_MOVE_COST
2188 +#define TARGET_MEMORY_MOVE_COST rs6000_memory_move_cost
2189 +#undef TARGET_RTX_COSTS
2190 +#define TARGET_RTX_COSTS rs6000_rtx_costs
2191 +#undef TARGET_ADDRESS_COST
2192 +#define TARGET_ADDRESS_COST hook_int_rtx_mode_as_bool_0
2194 +#undef TARGET_DWARF_REGISTER_SPAN
2195 +#define TARGET_DWARF_REGISTER_SPAN rs6000_dwarf_register_span
2197 +#undef TARGET_INIT_DWARF_REG_SIZES_EXTRA
2198 +#define TARGET_INIT_DWARF_REG_SIZES_EXTRA rs6000_init_dwarf_reg_sizes_extra
2200 +#undef TARGET_MEMBER_TYPE_FORCES_BLK
2201 +#define TARGET_MEMBER_TYPE_FORCES_BLK rs6000_member_type_forces_blk
2203 +#undef TARGET_PROMOTE_FUNCTION_MODE
2204 +#define TARGET_PROMOTE_FUNCTION_MODE rs6000_promote_function_mode
2206 +#undef TARGET_RETURN_IN_MEMORY
2207 +#define TARGET_RETURN_IN_MEMORY rs6000_return_in_memory
2209 +#undef TARGET_RETURN_IN_MSB
2210 +#define TARGET_RETURN_IN_MSB rs6000_return_in_msb
2212 +#undef TARGET_SETUP_INCOMING_VARARGS
2213 +#define TARGET_SETUP_INCOMING_VARARGS setup_incoming_varargs
2215 +/* Always strict argument naming on rs6000. */
2216 +#undef TARGET_STRICT_ARGUMENT_NAMING
2217 +#define TARGET_STRICT_ARGUMENT_NAMING hook_bool_CUMULATIVE_ARGS_true
2218 +#undef TARGET_PRETEND_OUTGOING_VARARGS_NAMED
2219 +#define TARGET_PRETEND_OUTGOING_VARARGS_NAMED hook_bool_CUMULATIVE_ARGS_true
2220 +#undef TARGET_SPLIT_COMPLEX_ARG
2221 +#define TARGET_SPLIT_COMPLEX_ARG hook_bool_const_tree_true
2222 +#undef TARGET_MUST_PASS_IN_STACK
2223 +#define TARGET_MUST_PASS_IN_STACK rs6000_must_pass_in_stack
2224 +#undef TARGET_PASS_BY_REFERENCE
2225 +#define TARGET_PASS_BY_REFERENCE rs6000_pass_by_reference
2226 +#undef TARGET_ARG_PARTIAL_BYTES
2227 +#define TARGET_ARG_PARTIAL_BYTES rs6000_arg_partial_bytes
2228 +#undef TARGET_FUNCTION_ARG_ADVANCE
2229 +#define TARGET_FUNCTION_ARG_ADVANCE rs6000_function_arg_advance
2230 +#undef TARGET_FUNCTION_ARG
2231 +#define TARGET_FUNCTION_ARG rs6000_function_arg
2232 +#undef TARGET_FUNCTION_ARG_BOUNDARY
2233 +#define TARGET_FUNCTION_ARG_BOUNDARY rs6000_function_arg_boundary
2235 +#undef TARGET_BUILD_BUILTIN_VA_LIST
2236 +#define TARGET_BUILD_BUILTIN_VA_LIST rs6000_build_builtin_va_list
2238 +#undef TARGET_EXPAND_BUILTIN_VA_START
2239 +#define TARGET_EXPAND_BUILTIN_VA_START rs6000_va_start
2241 +#undef TARGET_GIMPLIFY_VA_ARG_EXPR
2242 +#define TARGET_GIMPLIFY_VA_ARG_EXPR rs6000_gimplify_va_arg
2244 +#undef TARGET_EH_RETURN_FILTER_MODE
2245 +#define TARGET_EH_RETURN_FILTER_MODE rs6000_eh_return_filter_mode
2247 +#undef TARGET_SCALAR_MODE_SUPPORTED_P
2248 +#define TARGET_SCALAR_MODE_SUPPORTED_P rs6000_scalar_mode_supported_p
2250 +#undef TARGET_VECTOR_MODE_SUPPORTED_P
2251 +#define TARGET_VECTOR_MODE_SUPPORTED_P rs6000_vector_mode_supported_p
2253 +#undef TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN
2254 +#define TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN invalid_arg_for_unprototyped_fn
2256 +#undef TARGET_ASM_LOOP_ALIGN_MAX_SKIP
2257 +#define TARGET_ASM_LOOP_ALIGN_MAX_SKIP rs6000_loop_align_max_skip
2259 +#undef TARGET_MD_ASM_CLOBBERS
2260 +#define TARGET_MD_ASM_CLOBBERS rs6000_md_asm_clobbers
2262 +#undef TARGET_OPTION_OVERRIDE
2263 +#define TARGET_OPTION_OVERRIDE rs6000_option_override
2265 +#undef TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION
2266 +#define TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION \
2267 + rs6000_builtin_vectorized_function
2269 +#if !TARGET_MACHO
2270 +#undef TARGET_STACK_PROTECT_FAIL
2271 +#define TARGET_STACK_PROTECT_FAIL rs6000_stack_protect_fail
2272 +#endif
2274 +/* MPC604EUM 3.5.2 Weak Consistency between Multiple Processors
2275 + The PowerPC architecture requires only weak consistency among
2276 + processors--that is, memory accesses between processors need not be
2277 + sequentially consistent and memory accesses among processors can occur
2278 + in any order. The ability to order memory accesses weakly provides
2279 + opportunities for more efficient use of the system bus. Unless a
2280 + dependency exists, the 604e allows read operations to precede store
2281 + operations. */
2282 +#undef TARGET_RELAXED_ORDERING
2283 +#define TARGET_RELAXED_ORDERING true
2285 +#ifdef HAVE_AS_TLS
2286 +#undef TARGET_ASM_OUTPUT_DWARF_DTPREL
2287 +#define TARGET_ASM_OUTPUT_DWARF_DTPREL rs6000_output_dwarf_dtprel
2288 +#endif
2290 +/* Use a 32-bit anchor range. This leads to sequences like:
2292 + addis tmp,anchor,high
2293 + add dest,tmp,low
2295 + where tmp itself acts as an anchor, and can be shared between
2296 + accesses to the same 64k page. */
2297 +#undef TARGET_MIN_ANCHOR_OFFSET
2298 +#define TARGET_MIN_ANCHOR_OFFSET -0x7fffffff - 1
2299 +#undef TARGET_MAX_ANCHOR_OFFSET
2300 +#define TARGET_MAX_ANCHOR_OFFSET 0x7fffffff
2301 +#undef TARGET_USE_BLOCKS_FOR_CONSTANT_P
2302 +#define TARGET_USE_BLOCKS_FOR_CONSTANT_P rs6000_use_blocks_for_constant_p
2303 +#undef TARGET_USE_BLOCKS_FOR_DECL_P
2304 +#define TARGET_USE_BLOCKS_FOR_DECL_P rs6000_use_blocks_for_decl_p
2306 +#undef TARGET_BUILTIN_RECIPROCAL
2307 +#define TARGET_BUILTIN_RECIPROCAL rs6000_builtin_reciprocal
2309 +#undef TARGET_EXPAND_TO_RTL_HOOK
2310 +#define TARGET_EXPAND_TO_RTL_HOOK rs6000_alloc_sdmode_stack_slot
2312 +#undef TARGET_INSTANTIATE_DECLS
2313 +#define TARGET_INSTANTIATE_DECLS rs6000_instantiate_decls
2315 +#undef TARGET_SECONDARY_RELOAD
2316 +#define TARGET_SECONDARY_RELOAD rs6000_secondary_reload
2318 +#undef TARGET_LEGITIMATE_ADDRESS_P
2319 +#define TARGET_LEGITIMATE_ADDRESS_P rs6000_legitimate_address_p
2321 +#undef TARGET_MODE_DEPENDENT_ADDRESS_P
2322 +#define TARGET_MODE_DEPENDENT_ADDRESS_P rs6000_mode_dependent_address_p
2324 +#undef TARGET_LRA_P
2325 +#define TARGET_LRA_P rs6000_lra_p
2327 +#undef TARGET_CAN_ELIMINATE
2328 +#define TARGET_CAN_ELIMINATE rs6000_can_eliminate
2330 +#undef TARGET_CONDITIONAL_REGISTER_USAGE
2331 +#define TARGET_CONDITIONAL_REGISTER_USAGE rs6000_conditional_register_usage
2333 +#undef TARGET_TRAMPOLINE_INIT
2334 +#define TARGET_TRAMPOLINE_INIT rs6000_trampoline_init
2336 +#undef TARGET_FUNCTION_VALUE
2337 +#define TARGET_FUNCTION_VALUE rs6000_function_value
2339 +#undef TARGET_OPTION_VALID_ATTRIBUTE_P
2340 +#define TARGET_OPTION_VALID_ATTRIBUTE_P rs6000_valid_attribute_p
2342 +#undef TARGET_OPTION_SAVE
2343 +#define TARGET_OPTION_SAVE rs6000_function_specific_save
2345 +#undef TARGET_OPTION_RESTORE
2346 +#define TARGET_OPTION_RESTORE rs6000_function_specific_restore
2348 +#undef TARGET_OPTION_PRINT
2349 +#define TARGET_OPTION_PRINT rs6000_function_specific_print
2351 +#undef TARGET_CAN_INLINE_P
2352 +#define TARGET_CAN_INLINE_P rs6000_can_inline_p
2354 +#undef TARGET_SET_CURRENT_FUNCTION
2355 +#define TARGET_SET_CURRENT_FUNCTION rs6000_set_current_function
2357 +#undef TARGET_LEGITIMATE_CONSTANT_P
2358 +#define TARGET_LEGITIMATE_CONSTANT_P rs6000_legitimate_constant_p
2360 +#undef TARGET_VECTORIZE_VEC_PERM_CONST_OK
2361 +#define TARGET_VECTORIZE_VEC_PERM_CONST_OK rs6000_vectorize_vec_perm_const_ok
2363 +#undef TARGET_CAN_USE_DOLOOP_P
2364 +#define TARGET_CAN_USE_DOLOOP_P can_use_doloop_if_innermost
2366 +#undef TARGET_ATOMIC_ASSIGN_EXPAND_FENV
2367 +#define TARGET_ATOMIC_ASSIGN_EXPAND_FENV rs6000_atomic_assign_expand_fenv
2369 +#undef TARGET_LIBGCC_CMP_RETURN_MODE
2370 +#define TARGET_LIBGCC_CMP_RETURN_MODE rs6000_abi_word_mode
2371 +#undef TARGET_LIBGCC_SHIFT_COUNT_MODE
2372 +#define TARGET_LIBGCC_SHIFT_COUNT_MODE rs6000_abi_word_mode
2373 +#undef TARGET_UNWIND_WORD_MODE
2374 +#define TARGET_UNWIND_WORD_MODE rs6000_abi_word_mode
2377 +/* Processor table. */
2378 +struct rs6000_ptt
2380 + const char *const name; /* Canonical processor name. */
2381 + const enum processor_type processor; /* Processor type enum value. */
2382 + const HOST_WIDE_INT target_enable; /* Target flags to enable. */
2385 +static struct rs6000_ptt const processor_target_table[] =
2387 +#define RS6000_CPU(NAME, CPU, FLAGS) { NAME, CPU, FLAGS },
2388 +#include "rs6000-cpus.def"
2389 +#undef RS6000_CPU
2392 +/* Look up a processor name for -mcpu=xxx and -mtune=xxx. Return -1 if the
2393 + name is invalid. */
2395 +static int
2396 +rs6000_cpu_name_lookup (const char *name)
2398 + size_t i;
2400 + if (name != NULL)
2402 + for (i = 0; i < ARRAY_SIZE (processor_target_table); i++)
2403 + if (! strcmp (name, processor_target_table[i].name))
2404 + return (int)i;
2407 + return -1;
2411 +/* Return number of consecutive hard regs needed starting at reg REGNO
2412 + to hold something of mode MODE.
2413 + This is ordinarily the length in words of a value of mode MODE
2414 + but can be less for certain modes in special long registers.
2416 + For the SPE, GPRs are 64 bits but only 32 bits are visible in
2417 + scalar instructions. The upper 32 bits are only available to the
2418 + SIMD instructions.
2420 + POWER and PowerPC GPRs hold 32 bits worth;
2421 + PowerPC64 GPRs and FPRs point register holds 64 bits worth. */
2423 +static int
2424 +rs6000_hard_regno_nregs_internal (int regno, machine_mode mode)
2426 + unsigned HOST_WIDE_INT reg_size;
2428 + /* TF/TD modes are special in that they always take 2 registers. */
2429 + if (FP_REGNO_P (regno))
2430 + reg_size = ((VECTOR_MEM_VSX_P (mode) && mode != TDmode && mode != TFmode)
2431 + ? UNITS_PER_VSX_WORD
2432 + : UNITS_PER_FP_WORD);
2434 + else if (SPE_SIMD_REGNO_P (regno) && TARGET_SPE && SPE_VECTOR_MODE (mode))
2435 + reg_size = UNITS_PER_SPE_WORD;
2437 + else if (ALTIVEC_REGNO_P (regno))
2438 + reg_size = UNITS_PER_ALTIVEC_WORD;
2440 + /* The value returned for SCmode in the E500 double case is 2 for
2441 + ABI compatibility; storing an SCmode value in a single register
2442 + would require function_arg and rs6000_spe_function_arg to handle
2443 + SCmode so as to pass the value correctly in a pair of
2444 + registers. */
2445 + else if (TARGET_E500_DOUBLE && FLOAT_MODE_P (mode) && mode != SCmode
2446 + && !DECIMAL_FLOAT_MODE_P (mode) && SPE_SIMD_REGNO_P (regno))
2447 + reg_size = UNITS_PER_FP_WORD;
2449 + else
2450 + reg_size = UNITS_PER_WORD;
2452 + return (GET_MODE_SIZE (mode) + reg_size - 1) / reg_size;
2455 +/* Value is 1 if hard register REGNO can hold a value of machine-mode
2456 + MODE. */
2457 +static int
2458 +rs6000_hard_regno_mode_ok (int regno, machine_mode mode)
2460 + int last_regno = regno + rs6000_hard_regno_nregs[mode][regno] - 1;
2462 + /* PTImode can only go in GPRs. Quad word memory operations require even/odd
2463 + register combinations, and use PTImode where we need to deal with quad
2464 + word memory operations. Don't allow quad words in the argument or frame
2465 + pointer registers, just registers 0..31. */
2466 + if (mode == PTImode)
2467 + return (IN_RANGE (regno, FIRST_GPR_REGNO, LAST_GPR_REGNO)
2468 + && IN_RANGE (last_regno, FIRST_GPR_REGNO, LAST_GPR_REGNO)
2469 + && ((regno & 1) == 0));
2471 + /* VSX registers that overlap the FPR registers are larger than for non-VSX
2472 + implementations. Don't allow an item to be split between a FP register
2473 + and an Altivec register. Allow TImode in all VSX registers if the user
2474 + asked for it. */
2475 + if (TARGET_VSX && VSX_REGNO_P (regno)
2476 + && (VECTOR_MEM_VSX_P (mode)
2477 + || reg_addr[mode].scalar_in_vmx_p
2478 + || (TARGET_VSX_TIMODE && mode == TImode)
2479 + || (TARGET_VADDUQM && mode == V1TImode)))
2481 + if (FP_REGNO_P (regno))
2482 + return FP_REGNO_P (last_regno);
2484 + if (ALTIVEC_REGNO_P (regno))
2486 + if (GET_MODE_SIZE (mode) != 16 && !reg_addr[mode].scalar_in_vmx_p)
2487 + return 0;
2489 + return ALTIVEC_REGNO_P (last_regno);
2493 + /* The GPRs can hold any mode, but values bigger than one register
2494 + cannot go past R31. */
2495 + if (INT_REGNO_P (regno))
2496 + return INT_REGNO_P (last_regno);
2498 + /* The float registers (except for VSX vector modes) can only hold floating
2499 + modes and DImode. */
2500 + if (FP_REGNO_P (regno))
2502 + if (SCALAR_FLOAT_MODE_P (mode)
2503 + && (mode != TDmode || (regno % 2) == 0)
2504 + && FP_REGNO_P (last_regno))
2505 + return 1;
2507 + if (GET_MODE_CLASS (mode) == MODE_INT
2508 + && GET_MODE_SIZE (mode) == UNITS_PER_FP_WORD)
2509 + return 1;
2511 + if (PAIRED_SIMD_REGNO_P (regno) && TARGET_PAIRED_FLOAT
2512 + && PAIRED_VECTOR_MODE (mode))
2513 + return 1;
2515 + return 0;
2518 + /* The CR register can only hold CC modes. */
2519 + if (CR_REGNO_P (regno))
2520 + return GET_MODE_CLASS (mode) == MODE_CC;
2522 + if (CA_REGNO_P (regno))
2523 + return mode == Pmode || mode == SImode;
2525 + /* AltiVec only in AldyVec registers. */
2526 + if (ALTIVEC_REGNO_P (regno))
2527 + return (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode)
2528 + || mode == V1TImode);
2530 + /* ...but GPRs can hold SIMD data on the SPE in one register. */
2531 + if (SPE_SIMD_REGNO_P (regno) && TARGET_SPE && SPE_VECTOR_MODE (mode))
2532 + return 1;
2534 + /* We cannot put non-VSX TImode or PTImode anywhere except general register
2535 + and it must be able to fit within the register set. */
2537 + return GET_MODE_SIZE (mode) <= UNITS_PER_WORD;
2540 +/* Print interesting facts about registers. */
2541 +static void
2542 +rs6000_debug_reg_print (int first_regno, int last_regno, const char *reg_name)
2544 + int r, m;
2546 + for (r = first_regno; r <= last_regno; ++r)
2548 + const char *comma = "";
2549 + int len;
2551 + if (first_regno == last_regno)
2552 + fprintf (stderr, "%s:\t", reg_name);
2553 + else
2554 + fprintf (stderr, "%s%d:\t", reg_name, r - first_regno);
2556 + len = 8;
2557 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
2558 + if (rs6000_hard_regno_mode_ok_p[m][r] && rs6000_hard_regno_nregs[m][r])
2560 + if (len > 70)
2562 + fprintf (stderr, ",\n\t");
2563 + len = 8;
2564 + comma = "";
2567 + if (rs6000_hard_regno_nregs[m][r] > 1)
2568 + len += fprintf (stderr, "%s%s/%d", comma, GET_MODE_NAME (m),
2569 + rs6000_hard_regno_nregs[m][r]);
2570 + else
2571 + len += fprintf (stderr, "%s%s", comma, GET_MODE_NAME (m));
2573 + comma = ", ";
2576 + if (call_used_regs[r])
2578 + if (len > 70)
2580 + fprintf (stderr, ",\n\t");
2581 + len = 8;
2582 + comma = "";
2585 + len += fprintf (stderr, "%s%s", comma, "call-used");
2586 + comma = ", ";
2589 + if (fixed_regs[r])
2591 + if (len > 70)
2593 + fprintf (stderr, ",\n\t");
2594 + len = 8;
2595 + comma = "";
2598 + len += fprintf (stderr, "%s%s", comma, "fixed");
2599 + comma = ", ";
2602 + if (len > 70)
2604 + fprintf (stderr, ",\n\t");
2605 + comma = "";
2608 + len += fprintf (stderr, "%sreg-class = %s", comma,
2609 + reg_class_names[(int)rs6000_regno_regclass[r]]);
2610 + comma = ", ";
2612 + if (len > 70)
2614 + fprintf (stderr, ",\n\t");
2615 + comma = "";
2618 + fprintf (stderr, "%sregno = %d\n", comma, r);
2622 +static const char *
2623 +rs6000_debug_vector_unit (enum rs6000_vector v)
2625 + const char *ret;
2627 + switch (v)
2629 + case VECTOR_NONE: ret = "none"; break;
2630 + case VECTOR_ALTIVEC: ret = "altivec"; break;
2631 + case VECTOR_VSX: ret = "vsx"; break;
2632 + case VECTOR_P8_VECTOR: ret = "p8_vector"; break;
2633 + case VECTOR_PAIRED: ret = "paired"; break;
2634 + case VECTOR_SPE: ret = "spe"; break;
2635 + case VECTOR_OTHER: ret = "other"; break;
2636 + default: ret = "unknown"; break;
2639 + return ret;
2642 +/* Inner function printing just the address mask for a particular reload
2643 + register class. */
2644 +DEBUG_FUNCTION char *
2645 +rs6000_debug_addr_mask (addr_mask_type mask, bool keep_spaces)
2647 + static char ret[8];
2648 + char *p = ret;
2650 + if ((mask & RELOAD_REG_VALID) != 0)
2651 + *p++ = 'v';
2652 + else if (keep_spaces)
2653 + *p++ = ' ';
2655 + if ((mask & RELOAD_REG_MULTIPLE) != 0)
2656 + *p++ = 'm';
2657 + else if (keep_spaces)
2658 + *p++ = ' ';
2660 + if ((mask & RELOAD_REG_INDEXED) != 0)
2661 + *p++ = 'i';
2662 + else if (keep_spaces)
2663 + *p++ = ' ';
2665 + if ((mask & RELOAD_REG_OFFSET) != 0)
2666 + *p++ = 'o';
2667 + else if (keep_spaces)
2668 + *p++ = ' ';
2670 + if ((mask & RELOAD_REG_PRE_INCDEC) != 0)
2671 + *p++ = '+';
2672 + else if (keep_spaces)
2673 + *p++ = ' ';
2675 + if ((mask & RELOAD_REG_PRE_MODIFY) != 0)
2676 + *p++ = '+';
2677 + else if (keep_spaces)
2678 + *p++ = ' ';
2680 + if ((mask & RELOAD_REG_AND_M16) != 0)
2681 + *p++ = '&';
2682 + else if (keep_spaces)
2683 + *p++ = ' ';
2685 + *p = '\0';
2687 + return ret;
2690 +/* Print the address masks in a human readble fashion. */
2691 +DEBUG_FUNCTION void
2692 +rs6000_debug_print_mode (ssize_t m)
2694 + ssize_t rc;
2696 + fprintf (stderr, "Mode: %-5s", GET_MODE_NAME (m));
2697 + for (rc = 0; rc < N_RELOAD_REG; rc++)
2698 + fprintf (stderr, " %s: %s", reload_reg_map[rc].name,
2699 + rs6000_debug_addr_mask (reg_addr[m].addr_mask[rc], true));
2701 + if (rs6000_vector_unit[m] != VECTOR_NONE
2702 + || rs6000_vector_mem[m] != VECTOR_NONE
2703 + || (reg_addr[m].reload_store != CODE_FOR_nothing)
2704 + || (reg_addr[m].reload_load != CODE_FOR_nothing)
2705 + || reg_addr[m].scalar_in_vmx_p)
2707 + fprintf (stderr,
2708 + " Vector-arith=%-10s Vector-mem=%-10s Reload=%c%c Upper=%c",
2709 + rs6000_debug_vector_unit (rs6000_vector_unit[m]),
2710 + rs6000_debug_vector_unit (rs6000_vector_mem[m]),
2711 + (reg_addr[m].reload_store != CODE_FOR_nothing) ? 's' : '*',
2712 + (reg_addr[m].reload_load != CODE_FOR_nothing) ? 'l' : '*',
2713 + (reg_addr[m].scalar_in_vmx_p) ? 'y' : 'n');
2716 + fputs ("\n", stderr);
2719 +#define DEBUG_FMT_ID "%-32s= "
2720 +#define DEBUG_FMT_D DEBUG_FMT_ID "%d\n"
2721 +#define DEBUG_FMT_WX DEBUG_FMT_ID "%#.12" HOST_WIDE_INT_PRINT "x: "
2722 +#define DEBUG_FMT_S DEBUG_FMT_ID "%s\n"
2724 +/* Print various interesting information with -mdebug=reg. */
2725 +static void
2726 +rs6000_debug_reg_global (void)
2728 + static const char *const tf[2] = { "false", "true" };
2729 + const char *nl = (const char *)0;
2730 + int m;
2731 + size_t m1, m2, v;
2732 + char costly_num[20];
2733 + char nop_num[20];
2734 + char flags_buffer[40];
2735 + const char *costly_str;
2736 + const char *nop_str;
2737 + const char *trace_str;
2738 + const char *abi_str;
2739 + const char *cmodel_str;
2740 + struct cl_target_option cl_opts;
2742 + /* Modes we want tieable information on. */
2743 + static const machine_mode print_tieable_modes[] = {
2744 + QImode,
2745 + HImode,
2746 + SImode,
2747 + DImode,
2748 + TImode,
2749 + PTImode,
2750 + SFmode,
2751 + DFmode,
2752 + TFmode,
2753 + SDmode,
2754 + DDmode,
2755 + TDmode,
2756 + V8QImode,
2757 + V4HImode,
2758 + V2SImode,
2759 + V16QImode,
2760 + V8HImode,
2761 + V4SImode,
2762 + V2DImode,
2763 + V1TImode,
2764 + V32QImode,
2765 + V16HImode,
2766 + V8SImode,
2767 + V4DImode,
2768 + V2TImode,
2769 + V2SFmode,
2770 + V4SFmode,
2771 + V2DFmode,
2772 + V8SFmode,
2773 + V4DFmode,
2774 + CCmode,
2775 + CCUNSmode,
2776 + CCEQmode,
2777 + };
2779 + /* Virtual regs we are interested in. */
2780 + const static struct {
2781 + int regno; /* register number. */
2782 + const char *name; /* register name. */
2783 + } virtual_regs[] = {
2784 + { STACK_POINTER_REGNUM, "stack pointer:" },
2785 + { TOC_REGNUM, "toc: " },
2786 + { STATIC_CHAIN_REGNUM, "static chain: " },
2787 + { RS6000_PIC_OFFSET_TABLE_REGNUM, "pic offset: " },
2788 + { HARD_FRAME_POINTER_REGNUM, "hard frame: " },
2789 + { ARG_POINTER_REGNUM, "arg pointer: " },
2790 + { FRAME_POINTER_REGNUM, "frame pointer:" },
2791 + { FIRST_PSEUDO_REGISTER, "first pseudo: " },
2792 + { FIRST_VIRTUAL_REGISTER, "first virtual:" },
2793 + { VIRTUAL_INCOMING_ARGS_REGNUM, "incoming_args:" },
2794 + { VIRTUAL_STACK_VARS_REGNUM, "stack_vars: " },
2795 + { VIRTUAL_STACK_DYNAMIC_REGNUM, "stack_dynamic:" },
2796 + { VIRTUAL_OUTGOING_ARGS_REGNUM, "outgoing_args:" },
2797 + { VIRTUAL_CFA_REGNUM, "cfa (frame): " },
2798 + { VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM, "stack boundry:" },
2799 + { LAST_VIRTUAL_REGISTER, "last virtual: " },
2800 + };
2802 + fputs ("\nHard register information:\n", stderr);
2803 + rs6000_debug_reg_print (FIRST_GPR_REGNO, LAST_GPR_REGNO, "gr");
2804 + rs6000_debug_reg_print (FIRST_FPR_REGNO, LAST_FPR_REGNO, "fp");
2805 + rs6000_debug_reg_print (FIRST_ALTIVEC_REGNO,
2806 + LAST_ALTIVEC_REGNO,
2807 + "vs");
2808 + rs6000_debug_reg_print (LR_REGNO, LR_REGNO, "lr");
2809 + rs6000_debug_reg_print (CTR_REGNO, CTR_REGNO, "ctr");
2810 + rs6000_debug_reg_print (CR0_REGNO, CR7_REGNO, "cr");
2811 + rs6000_debug_reg_print (CA_REGNO, CA_REGNO, "ca");
2812 + rs6000_debug_reg_print (VRSAVE_REGNO, VRSAVE_REGNO, "vrsave");
2813 + rs6000_debug_reg_print (VSCR_REGNO, VSCR_REGNO, "vscr");
2814 + rs6000_debug_reg_print (SPE_ACC_REGNO, SPE_ACC_REGNO, "spe_a");
2815 + rs6000_debug_reg_print (SPEFSCR_REGNO, SPEFSCR_REGNO, "spe_f");
2817 + fputs ("\nVirtual/stack/frame registers:\n", stderr);
2818 + for (v = 0; v < ARRAY_SIZE (virtual_regs); v++)
2819 + fprintf (stderr, "%s regno = %3d\n", virtual_regs[v].name, virtual_regs[v].regno);
2821 + fprintf (stderr,
2822 + "\n"
2823 + "d reg_class = %s\n"
2824 + "f reg_class = %s\n"
2825 + "v reg_class = %s\n"
2826 + "wa reg_class = %s\n"
2827 + "wd reg_class = %s\n"
2828 + "wf reg_class = %s\n"
2829 + "wg reg_class = %s\n"
2830 + "wh reg_class = %s\n"
2831 + "wi reg_class = %s\n"
2832 + "wj reg_class = %s\n"
2833 + "wk reg_class = %s\n"
2834 + "wl reg_class = %s\n"
2835 + "wm reg_class = %s\n"
2836 + "wr reg_class = %s\n"
2837 + "ws reg_class = %s\n"
2838 + "wt reg_class = %s\n"
2839 + "wu reg_class = %s\n"
2840 + "wv reg_class = %s\n"
2841 + "ww reg_class = %s\n"
2842 + "wx reg_class = %s\n"
2843 + "wy reg_class = %s\n"
2844 + "wz reg_class = %s\n"
2845 + "\n",
2846 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_d]],
2847 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_f]],
2848 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_v]],
2849 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wa]],
2850 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wd]],
2851 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wf]],
2852 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wg]],
2853 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wh]],
2854 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wi]],
2855 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wj]],
2856 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wk]],
2857 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wl]],
2858 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wm]],
2859 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wr]],
2860 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_ws]],
2861 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wt]],
2862 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wu]],
2863 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wv]],
2864 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_ww]],
2865 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wx]],
2866 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wy]],
2867 + reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wz]]);
2869 + nl = "\n";
2870 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
2871 + rs6000_debug_print_mode (m);
2873 + fputs ("\n", stderr);
2875 + for (m1 = 0; m1 < ARRAY_SIZE (print_tieable_modes); m1++)
2877 + machine_mode mode1 = print_tieable_modes[m1];
2878 + bool first_time = true;
2880 + nl = (const char *)0;
2881 + for (m2 = 0; m2 < ARRAY_SIZE (print_tieable_modes); m2++)
2883 + machine_mode mode2 = print_tieable_modes[m2];
2884 + if (mode1 != mode2 && MODES_TIEABLE_P (mode1, mode2))
2886 + if (first_time)
2888 + fprintf (stderr, "Tieable modes %s:", GET_MODE_NAME (mode1));
2889 + nl = "\n";
2890 + first_time = false;
2893 + fprintf (stderr, " %s", GET_MODE_NAME (mode2));
2897 + if (!first_time)
2898 + fputs ("\n", stderr);
2901 + if (nl)
2902 + fputs (nl, stderr);
2904 + if (rs6000_recip_control)
2906 + fprintf (stderr, "\nReciprocal mask = 0x%x\n", rs6000_recip_control);
2908 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
2909 + if (rs6000_recip_bits[m])
2911 + fprintf (stderr,
2912 + "Reciprocal estimate mode: %-5s divide: %s rsqrt: %s\n",
2913 + GET_MODE_NAME (m),
2914 + (RS6000_RECIP_AUTO_RE_P (m)
2915 + ? "auto"
2916 + : (RS6000_RECIP_HAVE_RE_P (m) ? "have" : "none")),
2917 + (RS6000_RECIP_AUTO_RSQRTE_P (m)
2918 + ? "auto"
2919 + : (RS6000_RECIP_HAVE_RSQRTE_P (m) ? "have" : "none")));
2922 + fputs ("\n", stderr);
2925 + if (rs6000_cpu_index >= 0)
2927 + const char *name = processor_target_table[rs6000_cpu_index].name;
2928 + HOST_WIDE_INT flags
2929 + = processor_target_table[rs6000_cpu_index].target_enable;
2931 + sprintf (flags_buffer, "-mcpu=%s flags", name);
2932 + rs6000_print_isa_options (stderr, 0, flags_buffer, flags);
2934 + else
2935 + fprintf (stderr, DEBUG_FMT_S, "cpu", "<none>");
2937 + if (rs6000_tune_index >= 0)
2939 + const char *name = processor_target_table[rs6000_tune_index].name;
2940 + HOST_WIDE_INT flags
2941 + = processor_target_table[rs6000_tune_index].target_enable;
2943 + sprintf (flags_buffer, "-mtune=%s flags", name);
2944 + rs6000_print_isa_options (stderr, 0, flags_buffer, flags);
2946 + else
2947 + fprintf (stderr, DEBUG_FMT_S, "tune", "<none>");
2949 + cl_target_option_save (&cl_opts, &global_options);
2950 + rs6000_print_isa_options (stderr, 0, "rs6000_isa_flags",
2951 + rs6000_isa_flags);
2953 + rs6000_print_isa_options (stderr, 0, "rs6000_isa_flags_explicit",
2954 + rs6000_isa_flags_explicit);
2956 + rs6000_print_builtin_options (stderr, 0, "rs6000_builtin_mask",
2957 + rs6000_builtin_mask);
2959 + rs6000_print_isa_options (stderr, 0, "TARGET_DEFAULT", TARGET_DEFAULT);
2961 + fprintf (stderr, DEBUG_FMT_S, "--with-cpu default",
2962 + OPTION_TARGET_CPU_DEFAULT ? OPTION_TARGET_CPU_DEFAULT : "<none>");
2964 + switch (rs6000_sched_costly_dep)
2966 + case max_dep_latency:
2967 + costly_str = "max_dep_latency";
2968 + break;
2970 + case no_dep_costly:
2971 + costly_str = "no_dep_costly";
2972 + break;
2974 + case all_deps_costly:
2975 + costly_str = "all_deps_costly";
2976 + break;
2978 + case true_store_to_load_dep_costly:
2979 + costly_str = "true_store_to_load_dep_costly";
2980 + break;
2982 + case store_to_load_dep_costly:
2983 + costly_str = "store_to_load_dep_costly";
2984 + break;
2986 + default:
2987 + costly_str = costly_num;
2988 + sprintf (costly_num, "%d", (int)rs6000_sched_costly_dep);
2989 + break;
2992 + fprintf (stderr, DEBUG_FMT_S, "sched_costly_dep", costly_str);
2994 + switch (rs6000_sched_insert_nops)
2996 + case sched_finish_regroup_exact:
2997 + nop_str = "sched_finish_regroup_exact";
2998 + break;
3000 + case sched_finish_pad_groups:
3001 + nop_str = "sched_finish_pad_groups";
3002 + break;
3004 + case sched_finish_none:
3005 + nop_str = "sched_finish_none";
3006 + break;
3008 + default:
3009 + nop_str = nop_num;
3010 + sprintf (nop_num, "%d", (int)rs6000_sched_insert_nops);
3011 + break;
3014 + fprintf (stderr, DEBUG_FMT_S, "sched_insert_nops", nop_str);
3016 + switch (rs6000_sdata)
3018 + default:
3019 + case SDATA_NONE:
3020 + break;
3022 + case SDATA_DATA:
3023 + fprintf (stderr, DEBUG_FMT_S, "sdata", "data");
3024 + break;
3026 + case SDATA_SYSV:
3027 + fprintf (stderr, DEBUG_FMT_S, "sdata", "sysv");
3028 + break;
3030 + case SDATA_EABI:
3031 + fprintf (stderr, DEBUG_FMT_S, "sdata", "eabi");
3032 + break;
3036 + switch (rs6000_traceback)
3038 + case traceback_default: trace_str = "default"; break;
3039 + case traceback_none: trace_str = "none"; break;
3040 + case traceback_part: trace_str = "part"; break;
3041 + case traceback_full: trace_str = "full"; break;
3042 + default: trace_str = "unknown"; break;
3045 + fprintf (stderr, DEBUG_FMT_S, "traceback", trace_str);
3047 + switch (rs6000_current_cmodel)
3049 + case CMODEL_SMALL: cmodel_str = "small"; break;
3050 + case CMODEL_MEDIUM: cmodel_str = "medium"; break;
3051 + case CMODEL_LARGE: cmodel_str = "large"; break;
3052 + default: cmodel_str = "unknown"; break;
3055 + fprintf (stderr, DEBUG_FMT_S, "cmodel", cmodel_str);
3057 + switch (rs6000_current_abi)
3059 + case ABI_NONE: abi_str = "none"; break;
3060 + case ABI_AIX: abi_str = "aix"; break;
3061 + case ABI_ELFv2: abi_str = "ELFv2"; break;
3062 + case ABI_V4: abi_str = "V4"; break;
3063 + case ABI_DARWIN: abi_str = "darwin"; break;
3064 + default: abi_str = "unknown"; break;
3067 + fprintf (stderr, DEBUG_FMT_S, "abi", abi_str);
3069 + if (rs6000_altivec_abi)
3070 + fprintf (stderr, DEBUG_FMT_S, "altivec_abi", "true");
3072 + if (rs6000_spe_abi)
3073 + fprintf (stderr, DEBUG_FMT_S, "spe_abi", "true");
3075 + if (rs6000_darwin64_abi)
3076 + fprintf (stderr, DEBUG_FMT_S, "darwin64_abi", "true");
3078 + if (rs6000_float_gprs)
3079 + fprintf (stderr, DEBUG_FMT_S, "float_gprs", "true");
3081 + fprintf (stderr, DEBUG_FMT_S, "fprs",
3082 + (TARGET_FPRS ? "true" : "false"));
3084 + fprintf (stderr, DEBUG_FMT_S, "single_float",
3085 + (TARGET_SINGLE_FLOAT ? "true" : "false"));
3087 + fprintf (stderr, DEBUG_FMT_S, "double_float",
3088 + (TARGET_DOUBLE_FLOAT ? "true" : "false"));
3090 + fprintf (stderr, DEBUG_FMT_S, "soft_float",
3091 + (TARGET_SOFT_FLOAT ? "true" : "false"));
3093 + fprintf (stderr, DEBUG_FMT_S, "e500_single",
3094 + (TARGET_E500_SINGLE ? "true" : "false"));
3096 + fprintf (stderr, DEBUG_FMT_S, "e500_double",
3097 + (TARGET_E500_DOUBLE ? "true" : "false"));
3099 + if (TARGET_LINK_STACK)
3100 + fprintf (stderr, DEBUG_FMT_S, "link_stack", "true");
3102 + if (targetm.lra_p ())
3103 + fprintf (stderr, DEBUG_FMT_S, "lra", "true");
3105 + if (TARGET_P8_FUSION)
3106 + fprintf (stderr, DEBUG_FMT_S, "p8 fusion",
3107 + (TARGET_P8_FUSION_SIGN) ? "zero+sign" : "zero");
3109 + fprintf (stderr, DEBUG_FMT_S, "plt-format",
3110 + TARGET_SECURE_PLT ? "secure" : "bss");
3111 + fprintf (stderr, DEBUG_FMT_S, "struct-return",
3112 + aix_struct_return ? "aix" : "sysv");
3113 + fprintf (stderr, DEBUG_FMT_S, "always_hint", tf[!!rs6000_always_hint]);
3114 + fprintf (stderr, DEBUG_FMT_S, "sched_groups", tf[!!rs6000_sched_groups]);
3115 + fprintf (stderr, DEBUG_FMT_S, "align_branch",
3116 + tf[!!rs6000_align_branch_targets]);
3117 + fprintf (stderr, DEBUG_FMT_D, "tls_size", rs6000_tls_size);
3118 + fprintf (stderr, DEBUG_FMT_D, "long_double_size",
3119 + rs6000_long_double_type_size);
3120 + fprintf (stderr, DEBUG_FMT_D, "sched_restricted_insns_priority",
3121 + (int)rs6000_sched_restricted_insns_priority);
3122 + fprintf (stderr, DEBUG_FMT_D, "Number of standard builtins",
3123 + (int)END_BUILTINS);
3124 + fprintf (stderr, DEBUG_FMT_D, "Number of rs6000 builtins",
3125 + (int)RS6000_BUILTIN_COUNT);
3127 + if (TARGET_VSX)
3128 + fprintf (stderr, DEBUG_FMT_D, "VSX easy 64-bit scalar element",
3129 + (int)VECTOR_ELEMENT_SCALAR_64BIT);
3133 +/* Update the addr mask bits in reg_addr to help secondary reload and go if
3134 + legitimate address support to figure out the appropriate addressing to
3135 + use. */
3137 +static void
3138 +rs6000_setup_reg_addr_masks (void)
3140 + ssize_t rc, reg, m, nregs;
3141 + addr_mask_type any_addr_mask, addr_mask;
3143 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
3145 + machine_mode m2 = (machine_mode)m;
3147 + /* SDmode is special in that we want to access it only via REG+REG
3148 + addressing on power7 and above, since we want to use the LFIWZX and
3149 + STFIWZX instructions to load it. */
3150 + bool indexed_only_p = (m == SDmode && TARGET_NO_SDMODE_STACK);
3152 + any_addr_mask = 0;
3153 + for (rc = FIRST_RELOAD_REG_CLASS; rc <= LAST_RELOAD_REG_CLASS; rc++)
3155 + addr_mask = 0;
3156 + reg = reload_reg_map[rc].reg;
3158 + /* Can mode values go in the GPR/FPR/Altivec registers? */
3159 + if (reg >= 0 && rs6000_hard_regno_mode_ok_p[m][reg])
3161 + nregs = rs6000_hard_regno_nregs[m][reg];
3162 + addr_mask |= RELOAD_REG_VALID;
3164 + /* Indicate if the mode takes more than 1 physical register. If
3165 + it takes a single register, indicate it can do REG+REG
3166 + addressing. */
3167 + if (nregs > 1 || m == BLKmode)
3168 + addr_mask |= RELOAD_REG_MULTIPLE;
3169 + else
3170 + addr_mask |= RELOAD_REG_INDEXED;
3172 + /* Figure out if we can do PRE_INC, PRE_DEC, or PRE_MODIFY
3173 + addressing. Restrict addressing on SPE for 64-bit types
3174 + because of the SUBREG hackery used to address 64-bit floats in
3175 + '32-bit' GPRs. */
3177 + if (TARGET_UPDATE
3178 + && (rc == RELOAD_REG_GPR || rc == RELOAD_REG_FPR)
3179 + && GET_MODE_SIZE (m2) <= 8
3180 + && !VECTOR_MODE_P (m2)
3181 + && !COMPLEX_MODE_P (m2)
3182 + && !indexed_only_p
3183 + && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (m2) == 8))
3185 + addr_mask |= RELOAD_REG_PRE_INCDEC;
3187 + /* PRE_MODIFY is more restricted than PRE_INC/PRE_DEC in that
3188 + we don't allow PRE_MODIFY for some multi-register
3189 + operations. */
3190 + switch (m)
3192 + default:
3193 + addr_mask |= RELOAD_REG_PRE_MODIFY;
3194 + break;
3196 + case DImode:
3197 + if (TARGET_POWERPC64)
3198 + addr_mask |= RELOAD_REG_PRE_MODIFY;
3199 + break;
3201 + case DFmode:
3202 + case DDmode:
3203 + if (TARGET_DF_INSN)
3204 + addr_mask |= RELOAD_REG_PRE_MODIFY;
3205 + break;
3210 + /* GPR and FPR registers can do REG+OFFSET addressing, except
3211 + possibly for SDmode. */
3212 + if ((addr_mask != 0) && !indexed_only_p
3213 + && (rc == RELOAD_REG_GPR || rc == RELOAD_REG_FPR))
3214 + addr_mask |= RELOAD_REG_OFFSET;
3216 + /* VMX registers can do (REG & -16) and ((REG+REG) & -16)
3217 + addressing on 128-bit types. */
3218 + if (rc == RELOAD_REG_VMX && GET_MODE_SIZE (m2) == 16
3219 + && (addr_mask & RELOAD_REG_VALID) != 0)
3220 + addr_mask |= RELOAD_REG_AND_M16;
3222 + reg_addr[m].addr_mask[rc] = addr_mask;
3223 + any_addr_mask |= addr_mask;
3226 + reg_addr[m].addr_mask[RELOAD_REG_ANY] = any_addr_mask;
3231 +/* Initialize the various global tables that are based on register size. */
3232 +static void
3233 +rs6000_init_hard_regno_mode_ok (bool global_init_p)
3235 + ssize_t r, m, c;
3236 + int align64;
3237 + int align32;
3239 + /* Precalculate REGNO_REG_CLASS. */
3240 + rs6000_regno_regclass[0] = GENERAL_REGS;
3241 + for (r = 1; r < 32; ++r)
3242 + rs6000_regno_regclass[r] = BASE_REGS;
3244 + for (r = 32; r < 64; ++r)
3245 + rs6000_regno_regclass[r] = FLOAT_REGS;
3247 + for (r = 64; r < FIRST_PSEUDO_REGISTER; ++r)
3248 + rs6000_regno_regclass[r] = NO_REGS;
3250 + for (r = FIRST_ALTIVEC_REGNO; r <= LAST_ALTIVEC_REGNO; ++r)
3251 + rs6000_regno_regclass[r] = ALTIVEC_REGS;
3253 + rs6000_regno_regclass[CR0_REGNO] = CR0_REGS;
3254 + for (r = CR1_REGNO; r <= CR7_REGNO; ++r)
3255 + rs6000_regno_regclass[r] = CR_REGS;
3257 + rs6000_regno_regclass[LR_REGNO] = LINK_REGS;
3258 + rs6000_regno_regclass[CTR_REGNO] = CTR_REGS;
3259 + rs6000_regno_regclass[CA_REGNO] = NO_REGS;
3260 + rs6000_regno_regclass[VRSAVE_REGNO] = VRSAVE_REGS;
3261 + rs6000_regno_regclass[VSCR_REGNO] = VRSAVE_REGS;
3262 + rs6000_regno_regclass[SPE_ACC_REGNO] = SPE_ACC_REGS;
3263 + rs6000_regno_regclass[SPEFSCR_REGNO] = SPEFSCR_REGS;
3264 + rs6000_regno_regclass[TFHAR_REGNO] = SPR_REGS;
3265 + rs6000_regno_regclass[TFIAR_REGNO] = SPR_REGS;
3266 + rs6000_regno_regclass[TEXASR_REGNO] = SPR_REGS;
3267 + rs6000_regno_regclass[ARG_POINTER_REGNUM] = BASE_REGS;
3268 + rs6000_regno_regclass[FRAME_POINTER_REGNUM] = BASE_REGS;
3270 + /* Precalculate register class to simpler reload register class. We don't
3271 + need all of the register classes that are combinations of different
3272 + classes, just the simple ones that have constraint letters. */
3273 + for (c = 0; c < N_REG_CLASSES; c++)
3274 + reg_class_to_reg_type[c] = NO_REG_TYPE;
3276 + reg_class_to_reg_type[(int)GENERAL_REGS] = GPR_REG_TYPE;
3277 + reg_class_to_reg_type[(int)BASE_REGS] = GPR_REG_TYPE;
3278 + reg_class_to_reg_type[(int)VSX_REGS] = VSX_REG_TYPE;
3279 + reg_class_to_reg_type[(int)VRSAVE_REGS] = SPR_REG_TYPE;
3280 + reg_class_to_reg_type[(int)VSCR_REGS] = SPR_REG_TYPE;
3281 + reg_class_to_reg_type[(int)LINK_REGS] = SPR_REG_TYPE;
3282 + reg_class_to_reg_type[(int)CTR_REGS] = SPR_REG_TYPE;
3283 + reg_class_to_reg_type[(int)LINK_OR_CTR_REGS] = SPR_REG_TYPE;
3284 + reg_class_to_reg_type[(int)CR_REGS] = CR_REG_TYPE;
3285 + reg_class_to_reg_type[(int)CR0_REGS] = CR_REG_TYPE;
3286 + reg_class_to_reg_type[(int)SPE_ACC_REGS] = SPE_ACC_TYPE;
3287 + reg_class_to_reg_type[(int)SPEFSCR_REGS] = SPEFSCR_REG_TYPE;
3289 + if (TARGET_VSX)
3291 + reg_class_to_reg_type[(int)FLOAT_REGS] = VSX_REG_TYPE;
3292 + reg_class_to_reg_type[(int)ALTIVEC_REGS] = VSX_REG_TYPE;
3294 + else
3296 + reg_class_to_reg_type[(int)FLOAT_REGS] = FPR_REG_TYPE;
3297 + reg_class_to_reg_type[(int)ALTIVEC_REGS] = ALTIVEC_REG_TYPE;
3300 + /* Precalculate the valid memory formats as well as the vector information,
3301 + this must be set up before the rs6000_hard_regno_nregs_internal calls
3302 + below. */
3303 + gcc_assert ((int)VECTOR_NONE == 0);
3304 + memset ((void *) &rs6000_vector_unit[0], '\0', sizeof (rs6000_vector_unit));
3305 + memset ((void *) &rs6000_vector_mem[0], '\0', sizeof (rs6000_vector_unit));
3307 + gcc_assert ((int)CODE_FOR_nothing == 0);
3308 + memset ((void *) &reg_addr[0], '\0', sizeof (reg_addr));
3310 + gcc_assert ((int)NO_REGS == 0);
3311 + memset ((void *) &rs6000_constraints[0], '\0', sizeof (rs6000_constraints));
3313 + /* The VSX hardware allows native alignment for vectors, but control whether the compiler
3314 + believes it can use native alignment or still uses 128-bit alignment. */
3315 + if (TARGET_VSX && !TARGET_VSX_ALIGN_128)
3317 + align64 = 64;
3318 + align32 = 32;
3320 + else
3322 + align64 = 128;
3323 + align32 = 128;
3326 + /* V2DF mode, VSX only. */
3327 + if (TARGET_VSX)
3329 + rs6000_vector_unit[V2DFmode] = VECTOR_VSX;
3330 + rs6000_vector_mem[V2DFmode] = VECTOR_VSX;
3331 + rs6000_vector_align[V2DFmode] = align64;
3334 + /* V4SF mode, either VSX or Altivec. */
3335 + if (TARGET_VSX)
3337 + rs6000_vector_unit[V4SFmode] = VECTOR_VSX;
3338 + rs6000_vector_mem[V4SFmode] = VECTOR_VSX;
3339 + rs6000_vector_align[V4SFmode] = align32;
3341 + else if (TARGET_ALTIVEC)
3343 + rs6000_vector_unit[V4SFmode] = VECTOR_ALTIVEC;
3344 + rs6000_vector_mem[V4SFmode] = VECTOR_ALTIVEC;
3345 + rs6000_vector_align[V4SFmode] = align32;
3348 + /* V16QImode, V8HImode, V4SImode are Altivec only, but possibly do VSX loads
3349 + and stores. */
3350 + if (TARGET_ALTIVEC)
3352 + rs6000_vector_unit[V4SImode] = VECTOR_ALTIVEC;
3353 + rs6000_vector_unit[V8HImode] = VECTOR_ALTIVEC;
3354 + rs6000_vector_unit[V16QImode] = VECTOR_ALTIVEC;
3355 + rs6000_vector_align[V4SImode] = align32;
3356 + rs6000_vector_align[V8HImode] = align32;
3357 + rs6000_vector_align[V16QImode] = align32;
3359 + if (TARGET_VSX)
3361 + rs6000_vector_mem[V4SImode] = VECTOR_VSX;
3362 + rs6000_vector_mem[V8HImode] = VECTOR_VSX;
3363 + rs6000_vector_mem[V16QImode] = VECTOR_VSX;
3365 + else
3367 + rs6000_vector_mem[V4SImode] = VECTOR_ALTIVEC;
3368 + rs6000_vector_mem[V8HImode] = VECTOR_ALTIVEC;
3369 + rs6000_vector_mem[V16QImode] = VECTOR_ALTIVEC;
3373 + /* V2DImode, full mode depends on ISA 2.07 vector mode. Allow under VSX to
3374 + do insert/splat/extract. Altivec doesn't have 64-bit integer support. */
3375 + if (TARGET_VSX)
3377 + rs6000_vector_mem[V2DImode] = VECTOR_VSX;
3378 + rs6000_vector_unit[V2DImode]
3379 + = (TARGET_P8_VECTOR) ? VECTOR_P8_VECTOR : VECTOR_NONE;
3380 + rs6000_vector_align[V2DImode] = align64;
3382 + rs6000_vector_mem[V1TImode] = VECTOR_VSX;
3383 + rs6000_vector_unit[V1TImode]
3384 + = (TARGET_P8_VECTOR) ? VECTOR_P8_VECTOR : VECTOR_NONE;
3385 + rs6000_vector_align[V1TImode] = 128;
3388 + /* DFmode, see if we want to use the VSX unit. Memory is handled
3389 + differently, so don't set rs6000_vector_mem. */
3390 + if (TARGET_VSX && TARGET_VSX_SCALAR_DOUBLE)
3392 + rs6000_vector_unit[DFmode] = VECTOR_VSX;
3393 + rs6000_vector_align[DFmode] = 64;
3396 + /* SFmode, see if we want to use the VSX unit. */
3397 + if (TARGET_P8_VECTOR && TARGET_VSX_SCALAR_FLOAT)
3399 + rs6000_vector_unit[SFmode] = VECTOR_VSX;
3400 + rs6000_vector_align[SFmode] = 32;
3403 + /* Allow TImode in VSX register and set the VSX memory macros. */
3404 + if (TARGET_VSX && TARGET_VSX_TIMODE)
3406 + rs6000_vector_mem[TImode] = VECTOR_VSX;
3407 + rs6000_vector_align[TImode] = align64;
3410 + /* TODO add SPE and paired floating point vector support. */
3412 + /* Register class constraints for the constraints that depend on compile
3413 + switches. When the VSX code was added, different constraints were added
3414 + based on the type (DFmode, V2DFmode, V4SFmode). For the vector types, all
3415 + of the VSX registers are used. The register classes for scalar floating
3416 + point types is set, based on whether we allow that type into the upper
3417 + (Altivec) registers. GCC has register classes to target the Altivec
3418 + registers for load/store operations, to select using a VSX memory
3419 + operation instead of the traditional floating point operation. The
3420 + constraints are:
3422 + d - Register class to use with traditional DFmode instructions.
3423 + f - Register class to use with traditional SFmode instructions.
3424 + v - Altivec register.
3425 + wa - Any VSX register.
3426 + wc - Reserved to represent individual CR bits (used in LLVM).
3427 + wd - Preferred register class for V2DFmode.
3428 + wf - Preferred register class for V4SFmode.
3429 + wg - Float register for power6x move insns.
3430 + wh - FP register for direct move instructions.
3431 + wi - FP or VSX register to hold 64-bit integers for VSX insns.
3432 + wj - FP or VSX register to hold 64-bit integers for direct moves.
3433 + wk - FP or VSX register to hold 64-bit doubles for direct moves.
3434 + wl - Float register if we can do 32-bit signed int loads.
3435 + wm - VSX register for ISA 2.07 direct move operations.
3436 + wn - always NO_REGS.
3437 + wr - GPR if 64-bit mode is permitted.
3438 + ws - Register class to do ISA 2.06 DF operations.
3439 + wt - VSX register for TImode in VSX registers.
3440 + wu - Altivec register for ISA 2.07 VSX SF/SI load/stores.
3441 + wv - Altivec register for ISA 2.06 VSX DF/DI load/stores.
3442 + ww - Register class to do SF conversions in with VSX operations.
3443 + wx - Float register if we can do 32-bit int stores.
3444 + wy - Register class to do ISA 2.07 SF operations.
3445 + wz - Float register if we can do 32-bit unsigned int loads. */
3447 + if (TARGET_HARD_FLOAT && TARGET_FPRS)
3448 + rs6000_constraints[RS6000_CONSTRAINT_f] = FLOAT_REGS; /* SFmode */
3450 + if (TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT)
3451 + rs6000_constraints[RS6000_CONSTRAINT_d] = FLOAT_REGS; /* DFmode */
3453 + if (TARGET_VSX)
3455 + rs6000_constraints[RS6000_CONSTRAINT_wa] = VSX_REGS;
3456 + rs6000_constraints[RS6000_CONSTRAINT_wd] = VSX_REGS; /* V2DFmode */
3457 + rs6000_constraints[RS6000_CONSTRAINT_wf] = VSX_REGS; /* V4SFmode */
3458 + rs6000_constraints[RS6000_CONSTRAINT_wi] = FLOAT_REGS; /* DImode */
3460 + if (TARGET_VSX_TIMODE)
3461 + rs6000_constraints[RS6000_CONSTRAINT_wt] = VSX_REGS; /* TImode */
3463 + if (TARGET_UPPER_REGS_DF) /* DFmode */
3465 + rs6000_constraints[RS6000_CONSTRAINT_ws] = VSX_REGS;
3466 + rs6000_constraints[RS6000_CONSTRAINT_wv] = ALTIVEC_REGS;
3468 + else
3469 + rs6000_constraints[RS6000_CONSTRAINT_ws] = FLOAT_REGS;
3472 + /* Add conditional constraints based on various options, to allow us to
3473 + collapse multiple insn patterns. */
3474 + if (TARGET_ALTIVEC)
3475 + rs6000_constraints[RS6000_CONSTRAINT_v] = ALTIVEC_REGS;
3477 + if (TARGET_MFPGPR) /* DFmode */
3478 + rs6000_constraints[RS6000_CONSTRAINT_wg] = FLOAT_REGS;
3480 + if (TARGET_LFIWAX)
3481 + rs6000_constraints[RS6000_CONSTRAINT_wl] = FLOAT_REGS; /* DImode */
3483 + if (TARGET_DIRECT_MOVE)
3485 + rs6000_constraints[RS6000_CONSTRAINT_wh] = FLOAT_REGS;
3486 + rs6000_constraints[RS6000_CONSTRAINT_wj] /* DImode */
3487 + = rs6000_constraints[RS6000_CONSTRAINT_wi];
3488 + rs6000_constraints[RS6000_CONSTRAINT_wk] /* DFmode */
3489 + = rs6000_constraints[RS6000_CONSTRAINT_ws];
3490 + rs6000_constraints[RS6000_CONSTRAINT_wm] = VSX_REGS;
3493 + if (TARGET_POWERPC64)
3494 + rs6000_constraints[RS6000_CONSTRAINT_wr] = GENERAL_REGS;
3496 + if (TARGET_P8_VECTOR && TARGET_UPPER_REGS_SF) /* SFmode */
3498 + rs6000_constraints[RS6000_CONSTRAINT_wu] = ALTIVEC_REGS;
3499 + rs6000_constraints[RS6000_CONSTRAINT_wy] = VSX_REGS;
3500 + rs6000_constraints[RS6000_CONSTRAINT_ww] = VSX_REGS;
3502 + else if (TARGET_P8_VECTOR)
3504 + rs6000_constraints[RS6000_CONSTRAINT_wy] = FLOAT_REGS;
3505 + rs6000_constraints[RS6000_CONSTRAINT_ww] = FLOAT_REGS;
3507 + else if (TARGET_VSX)
3508 + rs6000_constraints[RS6000_CONSTRAINT_ww] = FLOAT_REGS;
3510 + if (TARGET_STFIWX)
3511 + rs6000_constraints[RS6000_CONSTRAINT_wx] = FLOAT_REGS; /* DImode */
3513 + if (TARGET_LFIWZX)
3514 + rs6000_constraints[RS6000_CONSTRAINT_wz] = FLOAT_REGS; /* DImode */
3516 + /* Set up the reload helper and direct move functions. */
3517 + if (TARGET_VSX || TARGET_ALTIVEC)
3519 + if (TARGET_64BIT)
3521 + reg_addr[V16QImode].reload_store = CODE_FOR_reload_v16qi_di_store;
3522 + reg_addr[V16QImode].reload_load = CODE_FOR_reload_v16qi_di_load;
3523 + reg_addr[V8HImode].reload_store = CODE_FOR_reload_v8hi_di_store;
3524 + reg_addr[V8HImode].reload_load = CODE_FOR_reload_v8hi_di_load;
3525 + reg_addr[V4SImode].reload_store = CODE_FOR_reload_v4si_di_store;
3526 + reg_addr[V4SImode].reload_load = CODE_FOR_reload_v4si_di_load;
3527 + reg_addr[V2DImode].reload_store = CODE_FOR_reload_v2di_di_store;
3528 + reg_addr[V2DImode].reload_load = CODE_FOR_reload_v2di_di_load;
3529 + reg_addr[V1TImode].reload_store = CODE_FOR_reload_v1ti_di_store;
3530 + reg_addr[V1TImode].reload_load = CODE_FOR_reload_v1ti_di_load;
3531 + reg_addr[V4SFmode].reload_store = CODE_FOR_reload_v4sf_di_store;
3532 + reg_addr[V4SFmode].reload_load = CODE_FOR_reload_v4sf_di_load;
3533 + reg_addr[V2DFmode].reload_store = CODE_FOR_reload_v2df_di_store;
3534 + reg_addr[V2DFmode].reload_load = CODE_FOR_reload_v2df_di_load;
3535 + reg_addr[DFmode].reload_store = CODE_FOR_reload_df_di_store;
3536 + reg_addr[DFmode].reload_load = CODE_FOR_reload_df_di_load;
3537 + reg_addr[DDmode].reload_store = CODE_FOR_reload_dd_di_store;
3538 + reg_addr[DDmode].reload_load = CODE_FOR_reload_dd_di_load;
3539 + reg_addr[SFmode].reload_store = CODE_FOR_reload_sf_di_store;
3540 + reg_addr[SFmode].reload_load = CODE_FOR_reload_sf_di_load;
3542 + /* Only provide a reload handler for SDmode if lfiwzx/stfiwx are
3543 + available. */
3544 + if (TARGET_NO_SDMODE_STACK)
3546 + reg_addr[SDmode].reload_store = CODE_FOR_reload_sd_di_store;
3547 + reg_addr[SDmode].reload_load = CODE_FOR_reload_sd_di_load;
3550 + if (TARGET_VSX_TIMODE)
3552 + reg_addr[TImode].reload_store = CODE_FOR_reload_ti_di_store;
3553 + reg_addr[TImode].reload_load = CODE_FOR_reload_ti_di_load;
3556 + if (TARGET_DIRECT_MOVE)
3558 + reg_addr[TImode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxti;
3559 + reg_addr[V1TImode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv1ti;
3560 + reg_addr[V2DFmode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv2df;
3561 + reg_addr[V2DImode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv2di;
3562 + reg_addr[V4SFmode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv4sf;
3563 + reg_addr[V4SImode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv4si;
3564 + reg_addr[V8HImode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv8hi;
3565 + reg_addr[V16QImode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxv16qi;
3566 + reg_addr[SFmode].reload_gpr_vsx = CODE_FOR_reload_gpr_from_vsxsf;
3568 + reg_addr[TImode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprti;
3569 + reg_addr[V1TImode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv1ti;
3570 + reg_addr[V2DFmode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv2df;
3571 + reg_addr[V2DImode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv2di;
3572 + reg_addr[V4SFmode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv4sf;
3573 + reg_addr[V4SImode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv4si;
3574 + reg_addr[V8HImode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv8hi;
3575 + reg_addr[V16QImode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprv16qi;
3576 + reg_addr[SFmode].reload_vsx_gpr = CODE_FOR_reload_vsx_from_gprsf;
3579 + else
3581 + reg_addr[V16QImode].reload_store = CODE_FOR_reload_v16qi_si_store;
3582 + reg_addr[V16QImode].reload_load = CODE_FOR_reload_v16qi_si_load;
3583 + reg_addr[V8HImode].reload_store = CODE_FOR_reload_v8hi_si_store;
3584 + reg_addr[V8HImode].reload_load = CODE_FOR_reload_v8hi_si_load;
3585 + reg_addr[V4SImode].reload_store = CODE_FOR_reload_v4si_si_store;
3586 + reg_addr[V4SImode].reload_load = CODE_FOR_reload_v4si_si_load;
3587 + reg_addr[V2DImode].reload_store = CODE_FOR_reload_v2di_si_store;
3588 + reg_addr[V2DImode].reload_load = CODE_FOR_reload_v2di_si_load;
3589 + reg_addr[V1TImode].reload_store = CODE_FOR_reload_v1ti_si_store;
3590 + reg_addr[V1TImode].reload_load = CODE_FOR_reload_v1ti_si_load;
3591 + reg_addr[V4SFmode].reload_store = CODE_FOR_reload_v4sf_si_store;
3592 + reg_addr[V4SFmode].reload_load = CODE_FOR_reload_v4sf_si_load;
3593 + reg_addr[V2DFmode].reload_store = CODE_FOR_reload_v2df_si_store;
3594 + reg_addr[V2DFmode].reload_load = CODE_FOR_reload_v2df_si_load;
3595 + reg_addr[DFmode].reload_store = CODE_FOR_reload_df_si_store;
3596 + reg_addr[DFmode].reload_load = CODE_FOR_reload_df_si_load;
3597 + reg_addr[DDmode].reload_store = CODE_FOR_reload_dd_si_store;
3598 + reg_addr[DDmode].reload_load = CODE_FOR_reload_dd_si_load;
3599 + reg_addr[SFmode].reload_store = CODE_FOR_reload_sf_si_store;
3600 + reg_addr[SFmode].reload_load = CODE_FOR_reload_sf_si_load;
3602 + /* Only provide a reload handler for SDmode if lfiwzx/stfiwx are
3603 + available. */
3604 + if (TARGET_NO_SDMODE_STACK)
3606 + reg_addr[SDmode].reload_store = CODE_FOR_reload_sd_si_store;
3607 + reg_addr[SDmode].reload_load = CODE_FOR_reload_sd_si_load;
3610 + if (TARGET_VSX_TIMODE)
3612 + reg_addr[TImode].reload_store = CODE_FOR_reload_ti_si_store;
3613 + reg_addr[TImode].reload_load = CODE_FOR_reload_ti_si_load;
3616 + if (TARGET_DIRECT_MOVE)
3618 + reg_addr[DImode].reload_fpr_gpr = CODE_FOR_reload_fpr_from_gprdi;
3619 + reg_addr[DDmode].reload_fpr_gpr = CODE_FOR_reload_fpr_from_gprdd;
3620 + reg_addr[DFmode].reload_fpr_gpr = CODE_FOR_reload_fpr_from_gprdf;
3624 + if (TARGET_UPPER_REGS_DF)
3625 + reg_addr[DFmode].scalar_in_vmx_p = true;
3627 + if (TARGET_UPPER_REGS_SF)
3628 + reg_addr[SFmode].scalar_in_vmx_p = true;
3631 + /* Precalculate HARD_REGNO_NREGS. */
3632 + for (r = 0; r < FIRST_PSEUDO_REGISTER; ++r)
3633 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
3634 + rs6000_hard_regno_nregs[m][r]
3635 + = rs6000_hard_regno_nregs_internal (r, (machine_mode)m);
3637 + /* Precalculate HARD_REGNO_MODE_OK. */
3638 + for (r = 0; r < FIRST_PSEUDO_REGISTER; ++r)
3639 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
3640 + if (rs6000_hard_regno_mode_ok (r, (machine_mode)m))
3641 + rs6000_hard_regno_mode_ok_p[m][r] = true;
3643 + /* Precalculate CLASS_MAX_NREGS sizes. */
3644 + for (c = 0; c < LIM_REG_CLASSES; ++c)
3646 + int reg_size;
3648 + if (TARGET_VSX && VSX_REG_CLASS_P (c))
3649 + reg_size = UNITS_PER_VSX_WORD;
3651 + else if (c == ALTIVEC_REGS)
3652 + reg_size = UNITS_PER_ALTIVEC_WORD;
3654 + else if (c == FLOAT_REGS)
3655 + reg_size = UNITS_PER_FP_WORD;
3657 + else
3658 + reg_size = UNITS_PER_WORD;
3660 + for (m = 0; m < NUM_MACHINE_MODES; ++m)
3662 + machine_mode m2 = (machine_mode)m;
3663 + int reg_size2 = reg_size;
3665 + /* TFmode/TDmode always takes 2 registers, even in VSX. */
3666 + if (TARGET_VSX && VSX_REG_CLASS_P (c)
3667 + && (m == TDmode || m == TFmode))
3668 + reg_size2 = UNITS_PER_FP_WORD;
3670 + rs6000_class_max_nregs[m][c]
3671 + = (GET_MODE_SIZE (m2) + reg_size2 - 1) / reg_size2;
3675 + if (TARGET_E500_DOUBLE)
3676 + rs6000_class_max_nregs[DFmode][GENERAL_REGS] = 1;
3678 + /* Calculate which modes to automatically generate code to use a the
3679 + reciprocal divide and square root instructions. In the future, possibly
3680 + automatically generate the instructions even if the user did not specify
3681 + -mrecip. The older machines double precision reciprocal sqrt estimate is
3682 + not accurate enough. */
3683 + memset (rs6000_recip_bits, 0, sizeof (rs6000_recip_bits));
3684 + if (TARGET_FRES)
3685 + rs6000_recip_bits[SFmode] = RS6000_RECIP_MASK_HAVE_RE;
3686 + if (TARGET_FRE)
3687 + rs6000_recip_bits[DFmode] = RS6000_RECIP_MASK_HAVE_RE;
3688 + if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode))
3689 + rs6000_recip_bits[V4SFmode] = RS6000_RECIP_MASK_HAVE_RE;
3690 + if (VECTOR_UNIT_VSX_P (V2DFmode))
3691 + rs6000_recip_bits[V2DFmode] = RS6000_RECIP_MASK_HAVE_RE;
3693 + if (TARGET_FRSQRTES)
3694 + rs6000_recip_bits[SFmode] |= RS6000_RECIP_MASK_HAVE_RSQRTE;
3695 + if (TARGET_FRSQRTE)
3696 + rs6000_recip_bits[DFmode] |= RS6000_RECIP_MASK_HAVE_RSQRTE;
3697 + if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode))
3698 + rs6000_recip_bits[V4SFmode] |= RS6000_RECIP_MASK_HAVE_RSQRTE;
3699 + if (VECTOR_UNIT_VSX_P (V2DFmode))
3700 + rs6000_recip_bits[V2DFmode] |= RS6000_RECIP_MASK_HAVE_RSQRTE;
3702 + if (rs6000_recip_control)
3704 + if (!flag_finite_math_only)
3705 + warning (0, "-mrecip requires -ffinite-math or -ffast-math");
3706 + if (flag_trapping_math)
3707 + warning (0, "-mrecip requires -fno-trapping-math or -ffast-math");
3708 + if (!flag_reciprocal_math)
3709 + warning (0, "-mrecip requires -freciprocal-math or -ffast-math");
3710 + if (flag_finite_math_only && !flag_trapping_math && flag_reciprocal_math)
3712 + if (RS6000_RECIP_HAVE_RE_P (SFmode)
3713 + && (rs6000_recip_control & RECIP_SF_DIV) != 0)
3714 + rs6000_recip_bits[SFmode] |= RS6000_RECIP_MASK_AUTO_RE;
3716 + if (RS6000_RECIP_HAVE_RE_P (DFmode)
3717 + && (rs6000_recip_control & RECIP_DF_DIV) != 0)
3718 + rs6000_recip_bits[DFmode] |= RS6000_RECIP_MASK_AUTO_RE;
3720 + if (RS6000_RECIP_HAVE_RE_P (V4SFmode)
3721 + && (rs6000_recip_control & RECIP_V4SF_DIV) != 0)
3722 + rs6000_recip_bits[V4SFmode] |= RS6000_RECIP_MASK_AUTO_RE;
3724 + if (RS6000_RECIP_HAVE_RE_P (V2DFmode)
3725 + && (rs6000_recip_control & RECIP_V2DF_DIV) != 0)
3726 + rs6000_recip_bits[V2DFmode] |= RS6000_RECIP_MASK_AUTO_RE;
3728 + if (RS6000_RECIP_HAVE_RSQRTE_P (SFmode)
3729 + && (rs6000_recip_control & RECIP_SF_RSQRT) != 0)
3730 + rs6000_recip_bits[SFmode] |= RS6000_RECIP_MASK_AUTO_RSQRTE;
3732 + if (RS6000_RECIP_HAVE_RSQRTE_P (DFmode)
3733 + && (rs6000_recip_control & RECIP_DF_RSQRT) != 0)
3734 + rs6000_recip_bits[DFmode] |= RS6000_RECIP_MASK_AUTO_RSQRTE;
3736 + if (RS6000_RECIP_HAVE_RSQRTE_P (V4SFmode)
3737 + && (rs6000_recip_control & RECIP_V4SF_RSQRT) != 0)
3738 + rs6000_recip_bits[V4SFmode] |= RS6000_RECIP_MASK_AUTO_RSQRTE;
3740 + if (RS6000_RECIP_HAVE_RSQRTE_P (V2DFmode)
3741 + && (rs6000_recip_control & RECIP_V2DF_RSQRT) != 0)
3742 + rs6000_recip_bits[V2DFmode] |= RS6000_RECIP_MASK_AUTO_RSQRTE;
3746 + /* Update the addr mask bits in reg_addr to help secondary reload and go if
3747 + legitimate address support to figure out the appropriate addressing to
3748 + use. */
3749 + rs6000_setup_reg_addr_masks ();
3751 + if (global_init_p || TARGET_DEBUG_TARGET)
3753 + if (TARGET_DEBUG_REG)
3754 + rs6000_debug_reg_global ();
3756 + if (TARGET_DEBUG_COST || TARGET_DEBUG_REG)
3757 + fprintf (stderr,
3758 + "SImode variable mult cost = %d\n"
3759 + "SImode constant mult cost = %d\n"
3760 + "SImode short constant mult cost = %d\n"
3761 + "DImode multipliciation cost = %d\n"
3762 + "SImode division cost = %d\n"
3763 + "DImode division cost = %d\n"
3764 + "Simple fp operation cost = %d\n"
3765 + "DFmode multiplication cost = %d\n"
3766 + "SFmode division cost = %d\n"
3767 + "DFmode division cost = %d\n"
3768 + "cache line size = %d\n"
3769 + "l1 cache size = %d\n"
3770 + "l2 cache size = %d\n"
3771 + "simultaneous prefetches = %d\n"
3772 + "\n",
3773 + rs6000_cost->mulsi,
3774 + rs6000_cost->mulsi_const,
3775 + rs6000_cost->mulsi_const9,
3776 + rs6000_cost->muldi,
3777 + rs6000_cost->divsi,
3778 + rs6000_cost->divdi,
3779 + rs6000_cost->fp,
3780 + rs6000_cost->dmul,
3781 + rs6000_cost->sdiv,
3782 + rs6000_cost->ddiv,
3783 + rs6000_cost->cache_line_size,
3784 + rs6000_cost->l1_cache_size,
3785 + rs6000_cost->l2_cache_size,
3786 + rs6000_cost->simultaneous_prefetches);
3790 +#if TARGET_MACHO
3791 +/* The Darwin version of SUBTARGET_OVERRIDE_OPTIONS. */
3793 +static void
3794 +darwin_rs6000_override_options (void)
3796 + /* The Darwin ABI always includes AltiVec, can't be (validly) turned
3797 + off. */
3798 + rs6000_altivec_abi = 1;
3799 + TARGET_ALTIVEC_VRSAVE = 1;
3800 + rs6000_current_abi = ABI_DARWIN;
3802 + if (DEFAULT_ABI == ABI_DARWIN
3803 + && TARGET_64BIT)
3804 + darwin_one_byte_bool = 1;
3806 + if (TARGET_64BIT && ! TARGET_POWERPC64)
3808 + rs6000_isa_flags |= OPTION_MASK_POWERPC64;
3809 + warning (0, "-m64 requires PowerPC64 architecture, enabling");
3811 + if (flag_mkernel)
3813 + rs6000_default_long_calls = 1;
3814 + rs6000_isa_flags |= OPTION_MASK_SOFT_FLOAT;
3817 + /* Make -m64 imply -maltivec. Darwin's 64-bit ABI includes
3818 + Altivec. */
3819 + if (!flag_mkernel && !flag_apple_kext
3820 + && TARGET_64BIT
3821 + && ! (rs6000_isa_flags_explicit & OPTION_MASK_ALTIVEC))
3822 + rs6000_isa_flags |= OPTION_MASK_ALTIVEC;
3824 + /* Unless the user (not the configurer) has explicitly overridden
3825 + it with -mcpu=G3 or -mno-altivec, then 10.5+ targets default to
3826 + G4 unless targeting the kernel. */
3827 + if (!flag_mkernel
3828 + && !flag_apple_kext
3829 + && strverscmp (darwin_macosx_version_min, "10.5") >= 0
3830 + && ! (rs6000_isa_flags_explicit & OPTION_MASK_ALTIVEC)
3831 + && ! global_options_set.x_rs6000_cpu_index)
3833 + rs6000_isa_flags |= OPTION_MASK_ALTIVEC;
3836 +#endif
3838 +/* If not otherwise specified by a target, make 'long double' equivalent to
3839 + 'double'. */
3841 +#ifndef RS6000_DEFAULT_LONG_DOUBLE_SIZE
3842 +#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 64
3843 +#endif
3845 +/* Return the builtin mask of the various options used that could affect which
3846 + builtins were used. In the past we used target_flags, but we've run out of
3847 + bits, and some options like SPE and PAIRED are no longer in
3848 + target_flags. */
3850 +HOST_WIDE_INT
3851 +rs6000_builtin_mask_calculate (void)
3853 + return (((TARGET_ALTIVEC) ? RS6000_BTM_ALTIVEC : 0)
3854 + | ((TARGET_VSX) ? RS6000_BTM_VSX : 0)
3855 + | ((TARGET_SPE) ? RS6000_BTM_SPE : 0)
3856 + | ((TARGET_PAIRED_FLOAT) ? RS6000_BTM_PAIRED : 0)
3857 + | ((TARGET_FRE) ? RS6000_BTM_FRE : 0)
3858 + | ((TARGET_FRES) ? RS6000_BTM_FRES : 0)
3859 + | ((TARGET_FRSQRTE) ? RS6000_BTM_FRSQRTE : 0)
3860 + | ((TARGET_FRSQRTES) ? RS6000_BTM_FRSQRTES : 0)
3861 + | ((TARGET_POPCNTD) ? RS6000_BTM_POPCNTD : 0)
3862 + | ((rs6000_cpu == PROCESSOR_CELL) ? RS6000_BTM_CELL : 0)
3863 + | ((TARGET_P8_VECTOR) ? RS6000_BTM_P8_VECTOR : 0)
3864 + | ((TARGET_CRYPTO) ? RS6000_BTM_CRYPTO : 0)
3865 + | ((TARGET_HTM) ? RS6000_BTM_HTM : 0)
3866 + | ((TARGET_DFP) ? RS6000_BTM_DFP : 0)
3867 + | ((TARGET_HARD_FLOAT) ? RS6000_BTM_HARD_FLOAT : 0)
3868 + | ((TARGET_LONG_DOUBLE_128) ? RS6000_BTM_LDBL128 : 0));
3871 +/* Implement TARGET_MD_ASM_CLOBBERS. All asm statements are considered
3872 + to clobber the XER[CA] bit because clobbering that bit without telling
3873 + the compiler worked just fine with versions of GCC before GCC 5, and
3874 + breaking a lot of older code in ways that are hard to track down is
3875 + not such a great idea. */
3877 +static tree
3878 +rs6000_md_asm_clobbers (tree, tree, tree clobbers)
3880 + tree s = build_string (strlen (reg_names[CA_REGNO]), reg_names[CA_REGNO]);
3881 + return tree_cons (NULL_TREE, s, clobbers);
3884 +/* Override command line options. Mostly we process the processor type and
3885 + sometimes adjust other TARGET_ options. */
3887 +static bool
3888 +rs6000_option_override_internal (bool global_init_p)
3890 + bool ret = true;
3891 + bool have_cpu = false;
3893 + /* The default cpu requested at configure time, if any. */
3894 + const char *implicit_cpu = OPTION_TARGET_CPU_DEFAULT;
3896 + HOST_WIDE_INT set_masks;
3897 + int cpu_index;
3898 + int tune_index;
3899 + struct cl_target_option *main_target_opt
3900 + = ((global_init_p || target_option_default_node == NULL)
3901 + ? NULL : TREE_TARGET_OPTION (target_option_default_node));
3903 + /* Remember the explicit arguments. */
3904 + if (global_init_p)
3905 + rs6000_isa_flags_explicit = global_options_set.x_rs6000_isa_flags;
3907 + /* On 64-bit Darwin, power alignment is ABI-incompatible with some C
3908 + library functions, so warn about it. The flag may be useful for
3909 + performance studies from time to time though, so don't disable it
3910 + entirely. */
3911 + if (global_options_set.x_rs6000_alignment_flags
3912 + && rs6000_alignment_flags == MASK_ALIGN_POWER
3913 + && DEFAULT_ABI == ABI_DARWIN
3914 + && TARGET_64BIT)
3915 + warning (0, "-malign-power is not supported for 64-bit Darwin;"
3916 + " it is incompatible with the installed C and C++ libraries");
3918 + /* Numerous experiment shows that IRA based loop pressure
3919 + calculation works better for RTL loop invariant motion on targets
3920 + with enough (>= 32) registers. It is an expensive optimization.
3921 + So it is on only for peak performance. */
3922 + if (optimize >= 3 && global_init_p
3923 + && !global_options_set.x_flag_ira_loop_pressure)
3924 + flag_ira_loop_pressure = 1;
3926 + /* Set the pointer size. */
3927 + if (TARGET_64BIT)
3929 + rs6000_pmode = (int)DImode;
3930 + rs6000_pointer_size = 64;
3932 + else
3934 + rs6000_pmode = (int)SImode;
3935 + rs6000_pointer_size = 32;
3938 + /* Some OSs don't support saving the high part of 64-bit registers on context
3939 + switch. Other OSs don't support saving Altivec registers. On those OSs,
3940 + we don't touch the OPTION_MASK_POWERPC64 or OPTION_MASK_ALTIVEC settings;
3941 + if the user wants either, the user must explicitly specify them and we
3942 + won't interfere with the user's specification. */
3944 + set_masks = POWERPC_MASKS;
3945 +#ifdef OS_MISSING_POWERPC64
3946 + if (OS_MISSING_POWERPC64)
3947 + set_masks &= ~OPTION_MASK_POWERPC64;
3948 +#endif
3949 +#ifdef OS_MISSING_ALTIVEC
3950 + if (OS_MISSING_ALTIVEC)
3951 + set_masks &= ~(OPTION_MASK_ALTIVEC | OPTION_MASK_VSX);
3952 +#endif
3954 + /* Don't override by the processor default if given explicitly. */
3955 + set_masks &= ~rs6000_isa_flags_explicit;
3957 + /* Process the -mcpu=<xxx> and -mtune=<xxx> argument. If the user changed
3958 + the cpu in a target attribute or pragma, but did not specify a tuning
3959 + option, use the cpu for the tuning option rather than the option specified
3960 + with -mtune on the command line. Process a '--with-cpu' configuration
3961 + request as an implicit --cpu. */
3962 + if (rs6000_cpu_index >= 0)
3964 + cpu_index = rs6000_cpu_index;
3965 + have_cpu = true;
3967 + else if (main_target_opt != NULL && main_target_opt->x_rs6000_cpu_index >= 0)
3969 + rs6000_cpu_index = cpu_index = main_target_opt->x_rs6000_cpu_index;
3970 + have_cpu = true;
3972 + else if (implicit_cpu)
3974 + rs6000_cpu_index = cpu_index = rs6000_cpu_name_lookup (implicit_cpu);
3975 + have_cpu = true;
3977 + else
3979 + const char *default_cpu = (TARGET_POWERPC64 ? "powerpc64" : "powerpc");
3980 + rs6000_cpu_index = cpu_index = rs6000_cpu_name_lookup (default_cpu);
3981 + have_cpu = false;
3984 + gcc_assert (cpu_index >= 0);
3986 + /* If we have a cpu, either through an explicit -mcpu=<xxx> or if the
3987 + compiler was configured with --with-cpu=<xxx>, replace all of the ISA bits
3988 + with those from the cpu, except for options that were explicitly set. If
3989 + we don't have a cpu, do not override the target bits set in
3990 + TARGET_DEFAULT. */
3991 + if (have_cpu)
3993 + rs6000_isa_flags &= ~set_masks;
3994 + rs6000_isa_flags |= (processor_target_table[cpu_index].target_enable
3995 + & set_masks);
3997 + else
3998 + rs6000_isa_flags |= (processor_target_table[cpu_index].target_enable
3999 + & ~rs6000_isa_flags_explicit);
4001 + /* If no -mcpu=<xxx>, inherit any default options that were cleared via
4002 + POWERPC_MASKS. Originally, TARGET_DEFAULT was used to initialize
4003 + target_flags via the TARGET_DEFAULT_TARGET_FLAGS hook. When we switched
4004 + to using rs6000_isa_flags, we need to do the initialization here. */
4005 + if (!have_cpu)
4006 + rs6000_isa_flags |= (TARGET_DEFAULT & ~rs6000_isa_flags_explicit);
4008 + if (rs6000_tune_index >= 0)
4009 + tune_index = rs6000_tune_index;
4010 + else if (have_cpu)
4011 + rs6000_tune_index = tune_index = cpu_index;
4012 + else
4014 + size_t i;
4015 + enum processor_type tune_proc
4016 + = (TARGET_POWERPC64 ? PROCESSOR_DEFAULT64 : PROCESSOR_DEFAULT);
4018 + tune_index = -1;
4019 + for (i = 0; i < ARRAY_SIZE (processor_target_table); i++)
4020 + if (processor_target_table[i].processor == tune_proc)
4022 + rs6000_tune_index = tune_index = i;
4023 + break;
4027 + gcc_assert (tune_index >= 0);
4028 + rs6000_cpu = processor_target_table[tune_index].processor;
4030 + /* Pick defaults for SPE related control flags. Do this early to make sure
4031 + that the TARGET_ macros are representative ASAP. */
4033 + int spe_capable_cpu =
4034 + (rs6000_cpu == PROCESSOR_PPC8540
4035 + || rs6000_cpu == PROCESSOR_PPC8548);
4037 + if (!global_options_set.x_rs6000_spe_abi)
4038 + rs6000_spe_abi = spe_capable_cpu;
4040 + if (!global_options_set.x_rs6000_spe)
4041 + rs6000_spe = spe_capable_cpu;
4043 + if (!global_options_set.x_rs6000_float_gprs)
4044 + rs6000_float_gprs =
4045 + (rs6000_cpu == PROCESSOR_PPC8540 ? 1
4046 + : rs6000_cpu == PROCESSOR_PPC8548 ? 2
4047 + : 0);
4050 + if (global_options_set.x_rs6000_spe_abi
4051 + && rs6000_spe_abi
4052 + && !TARGET_SPE_ABI)
4053 + error ("not configured for SPE ABI");
4055 + if (global_options_set.x_rs6000_spe
4056 + && rs6000_spe
4057 + && !TARGET_SPE)
4058 + error ("not configured for SPE instruction set");
4060 + if (main_target_opt != NULL
4061 + && ((main_target_opt->x_rs6000_spe_abi != rs6000_spe_abi)
4062 + || (main_target_opt->x_rs6000_spe != rs6000_spe)
4063 + || (main_target_opt->x_rs6000_float_gprs != rs6000_float_gprs)))
4064 + error ("target attribute or pragma changes SPE ABI");
4066 + if (rs6000_cpu == PROCESSOR_PPCE300C2 || rs6000_cpu == PROCESSOR_PPCE300C3
4067 + || rs6000_cpu == PROCESSOR_PPCE500MC || rs6000_cpu == PROCESSOR_PPCE500MC64
4068 + || rs6000_cpu == PROCESSOR_PPCE5500)
4070 + if (TARGET_ALTIVEC)
4071 + error ("AltiVec not supported in this target");
4072 + if (TARGET_SPE)
4073 + error ("SPE not supported in this target");
4075 + if (rs6000_cpu == PROCESSOR_PPCE6500)
4077 + if (TARGET_SPE)
4078 + error ("SPE not supported in this target");
4081 + /* Disable Cell microcode if we are optimizing for the Cell
4082 + and not optimizing for size. */
4083 + if (rs6000_gen_cell_microcode == -1)
4084 + rs6000_gen_cell_microcode = !(rs6000_cpu == PROCESSOR_CELL
4085 + && !optimize_size);
4087 + /* If we are optimizing big endian systems for space and it's OK to
4088 + use instructions that would be microcoded on the Cell, use the
4089 + load/store multiple and string instructions. */
4090 + if (BYTES_BIG_ENDIAN && optimize_size && rs6000_gen_cell_microcode)
4091 + rs6000_isa_flags |= ~rs6000_isa_flags_explicit & (OPTION_MASK_MULTIPLE
4092 + | OPTION_MASK_STRING);
4094 + /* Don't allow -mmultiple or -mstring on little endian systems
4095 + unless the cpu is a 750, because the hardware doesn't support the
4096 + instructions used in little endian mode, and causes an alignment
4097 + trap. The 750 does not cause an alignment trap (except when the
4098 + target is unaligned). */
4100 + if (!BYTES_BIG_ENDIAN && rs6000_cpu != PROCESSOR_PPC750)
4102 + if (TARGET_MULTIPLE)
4104 + rs6000_isa_flags &= ~OPTION_MASK_MULTIPLE;
4105 + if ((rs6000_isa_flags_explicit & OPTION_MASK_MULTIPLE) != 0)
4106 + warning (0, "-mmultiple is not supported on little endian systems");
4109 + if (TARGET_STRING)
4111 + rs6000_isa_flags &= ~OPTION_MASK_STRING;
4112 + if ((rs6000_isa_flags_explicit & OPTION_MASK_STRING) != 0)
4113 + warning (0, "-mstring is not supported on little endian systems");
4117 + /* If little-endian, default to -mstrict-align on older processors.
4118 + Testing for htm matches power8 and later. */
4119 + if (!BYTES_BIG_ENDIAN
4120 + && !(processor_target_table[tune_index].target_enable & OPTION_MASK_HTM))
4121 + rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN;
4123 + /* -maltivec={le,be} implies -maltivec. */
4124 + if (rs6000_altivec_element_order != 0)
4125 + rs6000_isa_flags |= OPTION_MASK_ALTIVEC;
4127 + /* Disallow -maltivec=le in big endian mode for now. This is not
4128 + known to be useful for anyone. */
4129 + if (BYTES_BIG_ENDIAN && rs6000_altivec_element_order == 1)
4131 + warning (0, N_("-maltivec=le not allowed for big-endian targets"));
4132 + rs6000_altivec_element_order = 0;
4135 + /* Add some warnings for VSX. */
4136 + if (TARGET_VSX)
4138 + const char *msg = NULL;
4139 + if (!TARGET_HARD_FLOAT || !TARGET_FPRS
4140 + || !TARGET_SINGLE_FLOAT || !TARGET_DOUBLE_FLOAT)
4142 + if (rs6000_isa_flags_explicit & OPTION_MASK_VSX)
4143 + msg = N_("-mvsx requires hardware floating point");
4144 + else
4146 + rs6000_isa_flags &= ~ OPTION_MASK_VSX;
4147 + rs6000_isa_flags_explicit |= OPTION_MASK_VSX;
4150 + else if (TARGET_PAIRED_FLOAT)
4151 + msg = N_("-mvsx and -mpaired are incompatible");
4152 + else if (TARGET_AVOID_XFORM > 0)
4153 + msg = N_("-mvsx needs indexed addressing");
4154 + else if (!TARGET_ALTIVEC && (rs6000_isa_flags_explicit
4155 + & OPTION_MASK_ALTIVEC))
4157 + if (rs6000_isa_flags_explicit & OPTION_MASK_VSX)
4158 + msg = N_("-mvsx and -mno-altivec are incompatible");
4159 + else
4160 + msg = N_("-mno-altivec disables vsx");
4163 + if (msg)
4165 + warning (0, msg);
4166 + rs6000_isa_flags &= ~ OPTION_MASK_VSX;
4167 + rs6000_isa_flags_explicit |= OPTION_MASK_VSX;
4171 + /* If hard-float/altivec/vsx were explicitly turned off then don't allow
4172 + the -mcpu setting to enable options that conflict. */
4173 + if ((!TARGET_HARD_FLOAT || !TARGET_ALTIVEC || !TARGET_VSX)
4174 + && (rs6000_isa_flags_explicit & (OPTION_MASK_SOFT_FLOAT
4175 + | OPTION_MASK_ALTIVEC
4176 + | OPTION_MASK_VSX)) != 0)
4177 + rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO
4178 + | OPTION_MASK_DIRECT_MOVE)
4179 + & ~rs6000_isa_flags_explicit);
4181 + if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
4182 + rs6000_print_isa_options (stderr, 0, "before defaults", rs6000_isa_flags);
4184 + /* For the newer switches (vsx, dfp, etc.) set some of the older options,
4185 + unless the user explicitly used the -mno-<option> to disable the code. */
4186 + if (TARGET_P8_VECTOR || TARGET_DIRECT_MOVE || TARGET_CRYPTO)
4187 + rs6000_isa_flags |= (ISA_2_7_MASKS_SERVER & ~rs6000_isa_flags_explicit);
4188 + else if (TARGET_VSX)
4189 + rs6000_isa_flags |= (ISA_2_6_MASKS_SERVER & ~rs6000_isa_flags_explicit);
4190 + else if (TARGET_POPCNTD)
4191 + rs6000_isa_flags |= (ISA_2_6_MASKS_EMBEDDED & ~rs6000_isa_flags_explicit);
4192 + else if (TARGET_DFP)
4193 + rs6000_isa_flags |= (ISA_2_5_MASKS_SERVER & ~rs6000_isa_flags_explicit);
4194 + else if (TARGET_CMPB)
4195 + rs6000_isa_flags |= (ISA_2_5_MASKS_EMBEDDED & ~rs6000_isa_flags_explicit);
4196 + else if (TARGET_FPRND)
4197 + rs6000_isa_flags |= (ISA_2_4_MASKS & ~rs6000_isa_flags_explicit);
4198 + else if (TARGET_POPCNTB)
4199 + rs6000_isa_flags |= (ISA_2_2_MASKS & ~rs6000_isa_flags_explicit);
4200 + else if (TARGET_ALTIVEC)
4201 + rs6000_isa_flags |= (OPTION_MASK_PPC_GFXOPT & ~rs6000_isa_flags_explicit);
4203 + if (TARGET_CRYPTO && !TARGET_ALTIVEC)
4205 + if (rs6000_isa_flags_explicit & OPTION_MASK_CRYPTO)
4206 + error ("-mcrypto requires -maltivec");
4207 + rs6000_isa_flags &= ~OPTION_MASK_CRYPTO;
4210 + if (TARGET_DIRECT_MOVE && !TARGET_VSX)
4212 + if (rs6000_isa_flags_explicit & OPTION_MASK_DIRECT_MOVE)
4213 + error ("-mdirect-move requires -mvsx");
4214 + rs6000_isa_flags &= ~OPTION_MASK_DIRECT_MOVE;
4217 + if (TARGET_P8_VECTOR && !TARGET_ALTIVEC)
4219 + if (rs6000_isa_flags_explicit & OPTION_MASK_P8_VECTOR)
4220 + error ("-mpower8-vector requires -maltivec");
4221 + rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR;
4224 + if (TARGET_P8_VECTOR && !TARGET_VSX)
4226 + if (rs6000_isa_flags_explicit & OPTION_MASK_P8_VECTOR)
4227 + error ("-mpower8-vector requires -mvsx");
4228 + rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR;
4231 + if (TARGET_VSX_TIMODE && !TARGET_VSX)
4233 + if (rs6000_isa_flags_explicit & OPTION_MASK_VSX_TIMODE)
4234 + error ("-mvsx-timode requires -mvsx");
4235 + rs6000_isa_flags &= ~OPTION_MASK_VSX_TIMODE;
4238 + if (TARGET_DFP && !TARGET_HARD_FLOAT)
4240 + if (rs6000_isa_flags_explicit & OPTION_MASK_DFP)
4241 + error ("-mhard-dfp requires -mhard-float");
4242 + rs6000_isa_flags &= ~OPTION_MASK_DFP;
4245 + /* Allow an explicit -mupper-regs to set both -mupper-regs-df and
4246 + -mupper-regs-sf, depending on the cpu, unless the user explicitly also set
4247 + the individual option. */
4248 + if (TARGET_UPPER_REGS > 0)
4250 + if (TARGET_VSX
4251 + && !(rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_DF))
4253 + rs6000_isa_flags |= OPTION_MASK_UPPER_REGS_DF;
4254 + rs6000_isa_flags_explicit |= OPTION_MASK_UPPER_REGS_DF;
4256 + if (TARGET_P8_VECTOR
4257 + && !(rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_SF))
4259 + rs6000_isa_flags |= OPTION_MASK_UPPER_REGS_SF;
4260 + rs6000_isa_flags_explicit |= OPTION_MASK_UPPER_REGS_SF;
4263 + else if (TARGET_UPPER_REGS == 0)
4265 + if (TARGET_VSX
4266 + && !(rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_DF))
4268 + rs6000_isa_flags &= ~OPTION_MASK_UPPER_REGS_DF;
4269 + rs6000_isa_flags_explicit |= OPTION_MASK_UPPER_REGS_DF;
4271 + if (TARGET_P8_VECTOR
4272 + && !(rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_SF))
4274 + rs6000_isa_flags &= ~OPTION_MASK_UPPER_REGS_SF;
4275 + rs6000_isa_flags_explicit |= OPTION_MASK_UPPER_REGS_SF;
4279 + if (TARGET_UPPER_REGS_DF && !TARGET_VSX)
4281 + if (rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_DF)
4282 + error ("-mupper-regs-df requires -mvsx");
4283 + rs6000_isa_flags &= ~OPTION_MASK_UPPER_REGS_DF;
4286 + if (TARGET_UPPER_REGS_SF && !TARGET_P8_VECTOR)
4288 + if (rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_SF)
4289 + error ("-mupper-regs-sf requires -mpower8-vector");
4290 + rs6000_isa_flags &= ~OPTION_MASK_UPPER_REGS_SF;
4293 + /* The quad memory instructions only works in 64-bit mode. In 32-bit mode,
4294 + silently turn off quad memory mode. */
4295 + if ((TARGET_QUAD_MEMORY || TARGET_QUAD_MEMORY_ATOMIC) && !TARGET_POWERPC64)
4297 + if ((rs6000_isa_flags_explicit & OPTION_MASK_QUAD_MEMORY) != 0)
4298 + warning (0, N_("-mquad-memory requires 64-bit mode"));
4300 + if ((rs6000_isa_flags_explicit & OPTION_MASK_QUAD_MEMORY_ATOMIC) != 0)
4301 + warning (0, N_("-mquad-memory-atomic requires 64-bit mode"));
4303 + rs6000_isa_flags &= ~(OPTION_MASK_QUAD_MEMORY
4304 + | OPTION_MASK_QUAD_MEMORY_ATOMIC);
4307 + /* Non-atomic quad memory load/store are disabled for little endian, since
4308 + the words are reversed, but atomic operations can still be done by
4309 + swapping the words. */
4310 + if (TARGET_QUAD_MEMORY && !WORDS_BIG_ENDIAN)
4312 + if ((rs6000_isa_flags_explicit & OPTION_MASK_QUAD_MEMORY) != 0)
4313 + warning (0, N_("-mquad-memory is not available in little endian mode"));
4315 + rs6000_isa_flags &= ~OPTION_MASK_QUAD_MEMORY;
4318 + /* Assume if the user asked for normal quad memory instructions, they want
4319 + the atomic versions as well, unless they explicity told us not to use quad
4320 + word atomic instructions. */
4321 + if (TARGET_QUAD_MEMORY
4322 + && !TARGET_QUAD_MEMORY_ATOMIC
4323 + && ((rs6000_isa_flags_explicit & OPTION_MASK_QUAD_MEMORY_ATOMIC) == 0))
4324 + rs6000_isa_flags |= OPTION_MASK_QUAD_MEMORY_ATOMIC;
4326 + /* Enable power8 fusion if we are tuning for power8, even if we aren't
4327 + generating power8 instructions. */
4328 + if (!(rs6000_isa_flags_explicit & OPTION_MASK_P8_FUSION))
4329 + rs6000_isa_flags |= (processor_target_table[tune_index].target_enable
4330 + & OPTION_MASK_P8_FUSION);
4332 + /* Power8 does not fuse sign extended loads with the addis. If we are
4333 + optimizing at high levels for speed, convert a sign extended load into a
4334 + zero extending load, and an explicit sign extension. */
4335 + if (TARGET_P8_FUSION
4336 + && !(rs6000_isa_flags_explicit & OPTION_MASK_P8_FUSION_SIGN)
4337 + && optimize_function_for_speed_p (cfun)
4338 + && optimize >= 3)
4339 + rs6000_isa_flags |= OPTION_MASK_P8_FUSION_SIGN;
4341 + if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
4342 + rs6000_print_isa_options (stderr, 0, "after defaults", rs6000_isa_flags);
4344 + /* E500mc does "better" if we inline more aggressively. Respect the
4345 + user's opinion, though. */
4346 + if (rs6000_block_move_inline_limit == 0
4347 + && (rs6000_cpu == PROCESSOR_PPCE500MC
4348 + || rs6000_cpu == PROCESSOR_PPCE500MC64
4349 + || rs6000_cpu == PROCESSOR_PPCE5500
4350 + || rs6000_cpu == PROCESSOR_PPCE6500))
4351 + rs6000_block_move_inline_limit = 128;
4353 + /* store_one_arg depends on expand_block_move to handle at least the
4354 + size of reg_parm_stack_space. */
4355 + if (rs6000_block_move_inline_limit < (TARGET_POWERPC64 ? 64 : 32))
4356 + rs6000_block_move_inline_limit = (TARGET_POWERPC64 ? 64 : 32);
4358 + if (global_init_p)
4360 + /* If the appropriate debug option is enabled, replace the target hooks
4361 + with debug versions that call the real version and then prints
4362 + debugging information. */
4363 + if (TARGET_DEBUG_COST)
4365 + targetm.rtx_costs = rs6000_debug_rtx_costs;
4366 + targetm.address_cost = rs6000_debug_address_cost;
4367 + targetm.sched.adjust_cost = rs6000_debug_adjust_cost;
4370 + if (TARGET_DEBUG_ADDR)
4372 + targetm.legitimate_address_p = rs6000_debug_legitimate_address_p;
4373 + targetm.legitimize_address = rs6000_debug_legitimize_address;
4374 + rs6000_secondary_reload_class_ptr
4375 + = rs6000_debug_secondary_reload_class;
4376 + rs6000_secondary_memory_needed_ptr
4377 + = rs6000_debug_secondary_memory_needed;
4378 + rs6000_cannot_change_mode_class_ptr
4379 + = rs6000_debug_cannot_change_mode_class;
4380 + rs6000_preferred_reload_class_ptr
4381 + = rs6000_debug_preferred_reload_class;
4382 + rs6000_legitimize_reload_address_ptr
4383 + = rs6000_debug_legitimize_reload_address;
4384 + rs6000_mode_dependent_address_ptr
4385 + = rs6000_debug_mode_dependent_address;
4388 + if (rs6000_veclibabi_name)
4390 + if (strcmp (rs6000_veclibabi_name, "mass") == 0)
4391 + rs6000_veclib_handler = rs6000_builtin_vectorized_libmass;
4392 + else
4394 + error ("unknown vectorization library ABI type (%s) for "
4395 + "-mveclibabi= switch", rs6000_veclibabi_name);
4396 + ret = false;
4401 + if (!global_options_set.x_rs6000_long_double_type_size)
4403 + if (main_target_opt != NULL
4404 + && (main_target_opt->x_rs6000_long_double_type_size
4405 + != RS6000_DEFAULT_LONG_DOUBLE_SIZE))
4406 + error ("target attribute or pragma changes long double size");
4407 + else
4408 + rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE;
4411 +#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
4412 + if (!global_options_set.x_rs6000_ieeequad)
4413 + rs6000_ieeequad = 1;
4414 +#endif
4416 + /* Disable VSX and Altivec silently if the user switched cpus to power7 in a
4417 + target attribute or pragma which automatically enables both options,
4418 + unless the altivec ABI was set. This is set by default for 64-bit, but
4419 + not for 32-bit. */
4420 + if (main_target_opt != NULL && !main_target_opt->x_rs6000_altivec_abi)
4421 + rs6000_isa_flags &= ~((OPTION_MASK_VSX | OPTION_MASK_ALTIVEC)
4422 + & ~rs6000_isa_flags_explicit);
4424 + /* Enable Altivec ABI for AIX -maltivec. */
4425 + if (TARGET_XCOFF && (TARGET_ALTIVEC || TARGET_VSX))
4427 + if (main_target_opt != NULL && !main_target_opt->x_rs6000_altivec_abi)
4428 + error ("target attribute or pragma changes AltiVec ABI");
4429 + else
4430 + rs6000_altivec_abi = 1;
4433 + /* The AltiVec ABI is the default for PowerPC-64 GNU/Linux. For
4434 + PowerPC-32 GNU/Linux, -maltivec implies the AltiVec ABI. It can
4435 + be explicitly overridden in either case. */
4436 + if (TARGET_ELF)
4438 + if (!global_options_set.x_rs6000_altivec_abi
4439 + && (TARGET_64BIT || TARGET_ALTIVEC || TARGET_VSX))
4441 + if (main_target_opt != NULL &&
4442 + !main_target_opt->x_rs6000_altivec_abi)
4443 + error ("target attribute or pragma changes AltiVec ABI");
4444 + else
4445 + rs6000_altivec_abi = 1;
4449 + /* Set the Darwin64 ABI as default for 64-bit Darwin.
4450 + So far, the only darwin64 targets are also MACH-O. */
4451 + if (TARGET_MACHO
4452 + && DEFAULT_ABI == ABI_DARWIN
4453 + && TARGET_64BIT)
4455 + if (main_target_opt != NULL && !main_target_opt->x_rs6000_darwin64_abi)
4456 + error ("target attribute or pragma changes darwin64 ABI");
4457 + else
4459 + rs6000_darwin64_abi = 1;
4460 + /* Default to natural alignment, for better performance. */
4461 + rs6000_alignment_flags = MASK_ALIGN_NATURAL;
4465 + /* Place FP constants in the constant pool instead of TOC
4466 + if section anchors enabled. */
4467 + if (flag_section_anchors
4468 + && !global_options_set.x_TARGET_NO_FP_IN_TOC)
4469 + TARGET_NO_FP_IN_TOC = 1;
4471 + if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
4472 + rs6000_print_isa_options (stderr, 0, "before subtarget", rs6000_isa_flags);
4474 +#ifdef SUBTARGET_OVERRIDE_OPTIONS
4475 + SUBTARGET_OVERRIDE_OPTIONS;
4476 +#endif
4477 +#ifdef SUBSUBTARGET_OVERRIDE_OPTIONS
4478 + SUBSUBTARGET_OVERRIDE_OPTIONS;
4479 +#endif
4480 +#ifdef SUB3TARGET_OVERRIDE_OPTIONS
4481 + SUB3TARGET_OVERRIDE_OPTIONS;
4482 +#endif
4484 + if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
4485 + rs6000_print_isa_options (stderr, 0, "after subtarget", rs6000_isa_flags);
4487 + /* For the E500 family of cores, reset the single/double FP flags to let us
4488 + check that they remain constant across attributes or pragmas. Also,
4489 + clear a possible request for string instructions, not supported and which
4490 + we might have silently queried above for -Os.
4492 + For other families, clear ISEL in case it was set implicitly.
4493 + */
4495 + switch (rs6000_cpu)
4497 + case PROCESSOR_PPC8540:
4498 + case PROCESSOR_PPC8548:
4499 + case PROCESSOR_PPCE500MC:
4500 + case PROCESSOR_PPCE500MC64:
4501 + case PROCESSOR_PPCE5500:
4502 + case PROCESSOR_PPCE6500:
4504 + rs6000_single_float = TARGET_E500_SINGLE || TARGET_E500_DOUBLE;
4505 + rs6000_double_float = TARGET_E500_DOUBLE;
4507 + rs6000_isa_flags &= ~OPTION_MASK_STRING;
4509 + break;
4511 + default:
4513 + if (have_cpu && !(rs6000_isa_flags_explicit & OPTION_MASK_ISEL))
4514 + rs6000_isa_flags &= ~OPTION_MASK_ISEL;
4516 + break;
4519 + if (main_target_opt)
4521 + if (main_target_opt->x_rs6000_single_float != rs6000_single_float)
4522 + error ("target attribute or pragma changes single precision floating "
4523 + "point");
4524 + if (main_target_opt->x_rs6000_double_float != rs6000_double_float)
4525 + error ("target attribute or pragma changes double precision floating "
4526 + "point");
4529 + /* Detect invalid option combinations with E500. */
4530 + CHECK_E500_OPTIONS;
4532 + rs6000_always_hint = (rs6000_cpu != PROCESSOR_POWER4
4533 + && rs6000_cpu != PROCESSOR_POWER5
4534 + && rs6000_cpu != PROCESSOR_POWER6
4535 + && rs6000_cpu != PROCESSOR_POWER7
4536 + && rs6000_cpu != PROCESSOR_POWER8
4537 + && rs6000_cpu != PROCESSOR_PPCA2
4538 + && rs6000_cpu != PROCESSOR_CELL
4539 + && rs6000_cpu != PROCESSOR_PPC476);
4540 + rs6000_sched_groups = (rs6000_cpu == PROCESSOR_POWER4
4541 + || rs6000_cpu == PROCESSOR_POWER5
4542 + || rs6000_cpu == PROCESSOR_POWER7
4543 + || rs6000_cpu == PROCESSOR_POWER8);
4544 + rs6000_align_branch_targets = (rs6000_cpu == PROCESSOR_POWER4
4545 + || rs6000_cpu == PROCESSOR_POWER5
4546 + || rs6000_cpu == PROCESSOR_POWER6
4547 + || rs6000_cpu == PROCESSOR_POWER7
4548 + || rs6000_cpu == PROCESSOR_POWER8
4549 + || rs6000_cpu == PROCESSOR_PPCE500MC
4550 + || rs6000_cpu == PROCESSOR_PPCE500MC64
4551 + || rs6000_cpu == PROCESSOR_PPCE5500
4552 + || rs6000_cpu == PROCESSOR_PPCE6500);
4554 + /* Allow debug switches to override the above settings. These are set to -1
4555 + in rs6000.opt to indicate the user hasn't directly set the switch. */
4556 + if (TARGET_ALWAYS_HINT >= 0)
4557 + rs6000_always_hint = TARGET_ALWAYS_HINT;
4559 + if (TARGET_SCHED_GROUPS >= 0)
4560 + rs6000_sched_groups = TARGET_SCHED_GROUPS;
4562 + if (TARGET_ALIGN_BRANCH_TARGETS >= 0)
4563 + rs6000_align_branch_targets = TARGET_ALIGN_BRANCH_TARGETS;
4565 + rs6000_sched_restricted_insns_priority
4566 + = (rs6000_sched_groups ? 1 : 0);
4568 + /* Handle -msched-costly-dep option. */
4569 + rs6000_sched_costly_dep
4570 + = (rs6000_sched_groups ? true_store_to_load_dep_costly : no_dep_costly);
4572 + if (rs6000_sched_costly_dep_str)
4574 + if (! strcmp (rs6000_sched_costly_dep_str, "no"))
4575 + rs6000_sched_costly_dep = no_dep_costly;
4576 + else if (! strcmp (rs6000_sched_costly_dep_str, "all"))
4577 + rs6000_sched_costly_dep = all_deps_costly;
4578 + else if (! strcmp (rs6000_sched_costly_dep_str, "true_store_to_load"))
4579 + rs6000_sched_costly_dep = true_store_to_load_dep_costly;
4580 + else if (! strcmp (rs6000_sched_costly_dep_str, "store_to_load"))
4581 + rs6000_sched_costly_dep = store_to_load_dep_costly;
4582 + else
4583 + rs6000_sched_costly_dep = ((enum rs6000_dependence_cost)
4584 + atoi (rs6000_sched_costly_dep_str));
4587 + /* Handle -minsert-sched-nops option. */
4588 + rs6000_sched_insert_nops
4589 + = (rs6000_sched_groups ? sched_finish_regroup_exact : sched_finish_none);
4591 + if (rs6000_sched_insert_nops_str)
4593 + if (! strcmp (rs6000_sched_insert_nops_str, "no"))
4594 + rs6000_sched_insert_nops = sched_finish_none;
4595 + else if (! strcmp (rs6000_sched_insert_nops_str, "pad"))
4596 + rs6000_sched_insert_nops = sched_finish_pad_groups;
4597 + else if (! strcmp (rs6000_sched_insert_nops_str, "regroup_exact"))
4598 + rs6000_sched_insert_nops = sched_finish_regroup_exact;
4599 + else
4600 + rs6000_sched_insert_nops = ((enum rs6000_nop_insertion)
4601 + atoi (rs6000_sched_insert_nops_str));
4604 + if (global_init_p)
4606 +#ifdef TARGET_REGNAMES
4607 + /* If the user desires alternate register names, copy in the
4608 + alternate names now. */
4609 + if (TARGET_REGNAMES)
4610 + memcpy (rs6000_reg_names, alt_reg_names, sizeof (rs6000_reg_names));
4611 +#endif
4613 + /* Set aix_struct_return last, after the ABI is determined.
4614 + If -maix-struct-return or -msvr4-struct-return was explicitly
4615 + used, don't override with the ABI default. */
4616 + if (!global_options_set.x_aix_struct_return)
4617 + aix_struct_return = (DEFAULT_ABI != ABI_V4 || DRAFT_V4_STRUCT_RET);
4619 +#if 0
4620 + /* IBM XL compiler defaults to unsigned bitfields. */
4621 + if (TARGET_XL_COMPAT)
4622 + flag_signed_bitfields = 0;
4623 +#endif
4625 + if (TARGET_LONG_DOUBLE_128 && !TARGET_IEEEQUAD)
4626 + REAL_MODE_FORMAT (TFmode) = &ibm_extended_format;
4628 + if (TARGET_TOC)
4629 + ASM_GENERATE_INTERNAL_LABEL (toc_label_name, "LCTOC", 1);
4631 + /* We can only guarantee the availability of DI pseudo-ops when
4632 + assembling for 64-bit targets. */
4633 + if (!TARGET_64BIT)
4635 + targetm.asm_out.aligned_op.di = NULL;
4636 + targetm.asm_out.unaligned_op.di = NULL;
4640 + /* Set branch target alignment, if not optimizing for size. */
4641 + if (!optimize_size)
4643 + /* Cell wants to be aligned 8byte for dual issue. Titan wants to be
4644 + aligned 8byte to avoid misprediction by the branch predictor. */
4645 + if (rs6000_cpu == PROCESSOR_TITAN
4646 + || rs6000_cpu == PROCESSOR_CELL)
4648 + if (align_functions <= 0)
4649 + align_functions = 8;
4650 + if (align_jumps <= 0)
4651 + align_jumps = 8;
4652 + if (align_loops <= 0)
4653 + align_loops = 8;
4655 + if (rs6000_align_branch_targets)
4657 + if (align_functions <= 0)
4658 + align_functions = 16;
4659 + if (align_jumps <= 0)
4660 + align_jumps = 16;
4661 + if (align_loops <= 0)
4663 + can_override_loop_align = 1;
4664 + align_loops = 16;
4667 + if (align_jumps_max_skip <= 0)
4668 + align_jumps_max_skip = 15;
4669 + if (align_loops_max_skip <= 0)
4670 + align_loops_max_skip = 15;
4673 + /* Arrange to save and restore machine status around nested functions. */
4674 + init_machine_status = rs6000_init_machine_status;
4676 + /* We should always be splitting complex arguments, but we can't break
4677 + Linux and Darwin ABIs at the moment. For now, only AIX is fixed. */
4678 + if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN)
4679 + targetm.calls.split_complex_arg = NULL;
4682 + /* Initialize rs6000_cost with the appropriate target costs. */
4683 + if (optimize_size)
4684 + rs6000_cost = TARGET_POWERPC64 ? &size64_cost : &size32_cost;
4685 + else
4686 + switch (rs6000_cpu)
4688 + case PROCESSOR_RS64A:
4689 + rs6000_cost = &rs64a_cost;
4690 + break;
4692 + case PROCESSOR_MPCCORE:
4693 + rs6000_cost = &mpccore_cost;
4694 + break;
4696 + case PROCESSOR_PPC403:
4697 + rs6000_cost = &ppc403_cost;
4698 + break;
4700 + case PROCESSOR_PPC405:
4701 + rs6000_cost = &ppc405_cost;
4702 + break;
4704 + case PROCESSOR_PPC440:
4705 + rs6000_cost = &ppc440_cost;
4706 + break;
4708 + case PROCESSOR_PPC476:
4709 + rs6000_cost = &ppc476_cost;
4710 + break;
4712 + case PROCESSOR_PPC601:
4713 + rs6000_cost = &ppc601_cost;
4714 + break;
4716 + case PROCESSOR_PPC603:
4717 + rs6000_cost = &ppc603_cost;
4718 + break;
4720 + case PROCESSOR_PPC604:
4721 + rs6000_cost = &ppc604_cost;
4722 + break;
4724 + case PROCESSOR_PPC604e:
4725 + rs6000_cost = &ppc604e_cost;
4726 + break;
4728 + case PROCESSOR_PPC620:
4729 + rs6000_cost = &ppc620_cost;
4730 + break;
4732 + case PROCESSOR_PPC630:
4733 + rs6000_cost = &ppc630_cost;
4734 + break;
4736 + case PROCESSOR_CELL:
4737 + rs6000_cost = &ppccell_cost;
4738 + break;
4740 + case PROCESSOR_PPC750:
4741 + case PROCESSOR_PPC7400:
4742 + rs6000_cost = &ppc750_cost;
4743 + break;
4745 + case PROCESSOR_PPC7450:
4746 + rs6000_cost = &ppc7450_cost;
4747 + break;
4749 + case PROCESSOR_PPC8540:
4750 + case PROCESSOR_PPC8548:
4751 + rs6000_cost = &ppc8540_cost;
4752 + break;
4754 + case PROCESSOR_PPCE300C2:
4755 + case PROCESSOR_PPCE300C3:
4756 + rs6000_cost = &ppce300c2c3_cost;
4757 + break;
4759 + case PROCESSOR_PPCE500MC:
4760 + rs6000_cost = &ppce500mc_cost;
4761 + break;
4763 + case PROCESSOR_PPCE500MC64:
4764 + rs6000_cost = &ppce500mc64_cost;
4765 + break;
4767 + case PROCESSOR_PPCE5500:
4768 + rs6000_cost = &ppce5500_cost;
4769 + break;
4771 + case PROCESSOR_PPCE6500:
4772 + rs6000_cost = &ppce6500_cost;
4773 + break;
4775 + case PROCESSOR_TITAN:
4776 + rs6000_cost = &titan_cost;
4777 + break;
4779 + case PROCESSOR_POWER4:
4780 + case PROCESSOR_POWER5:
4781 + rs6000_cost = &power4_cost;
4782 + break;
4784 + case PROCESSOR_POWER6:
4785 + rs6000_cost = &power6_cost;
4786 + break;
4788 + case PROCESSOR_POWER7:
4789 + rs6000_cost = &power7_cost;
4790 + break;
4792 + case PROCESSOR_POWER8:
4793 + rs6000_cost = &power8_cost;
4794 + break;
4796 + case PROCESSOR_PPCA2:
4797 + rs6000_cost = &ppca2_cost;
4798 + break;
4800 + default:
4801 + gcc_unreachable ();
4804 + if (global_init_p)
4806 + maybe_set_param_value (PARAM_SIMULTANEOUS_PREFETCHES,
4807 + rs6000_cost->simultaneous_prefetches,
4808 + global_options.x_param_values,
4809 + global_options_set.x_param_values);
4810 + maybe_set_param_value (PARAM_L1_CACHE_SIZE, rs6000_cost->l1_cache_size,
4811 + global_options.x_param_values,
4812 + global_options_set.x_param_values);
4813 + maybe_set_param_value (PARAM_L1_CACHE_LINE_SIZE,
4814 + rs6000_cost->cache_line_size,
4815 + global_options.x_param_values,
4816 + global_options_set.x_param_values);
4817 + maybe_set_param_value (PARAM_L2_CACHE_SIZE, rs6000_cost->l2_cache_size,
4818 + global_options.x_param_values,
4819 + global_options_set.x_param_values);
4821 + /* Increase loop peeling limits based on performance analysis. */
4822 + maybe_set_param_value (PARAM_MAX_PEELED_INSNS, 400,
4823 + global_options.x_param_values,
4824 + global_options_set.x_param_values);
4825 + maybe_set_param_value (PARAM_MAX_COMPLETELY_PEELED_INSNS, 400,
4826 + global_options.x_param_values,
4827 + global_options_set.x_param_values);
4829 + /* If using typedef char *va_list, signal that
4830 + __builtin_va_start (&ap, 0) can be optimized to
4831 + ap = __builtin_next_arg (0). */
4832 + if (DEFAULT_ABI != ABI_V4)
4833 + targetm.expand_builtin_va_start = NULL;
4836 + /* Set up single/double float flags.
4837 + If TARGET_HARD_FLOAT is set, but neither single or double is set,
4838 + then set both flags. */
4839 + if (TARGET_HARD_FLOAT && TARGET_FPRS
4840 + && rs6000_single_float == 0 && rs6000_double_float == 0)
4841 + rs6000_single_float = rs6000_double_float = 1;
4843 + /* If not explicitly specified via option, decide whether to generate indexed
4844 + load/store instructions. */
4845 + if (TARGET_AVOID_XFORM == -1)
4846 + /* Avoid indexed addressing when targeting Power6 in order to avoid the
4847 + DERAT mispredict penalty. However the LVE and STVE altivec instructions
4848 + need indexed accesses and the type used is the scalar type of the element
4849 + being loaded or stored. */
4850 + TARGET_AVOID_XFORM = (rs6000_cpu == PROCESSOR_POWER6 && TARGET_CMPB
4851 + && !TARGET_ALTIVEC);
4853 + /* Set the -mrecip options. */
4854 + if (rs6000_recip_name)
4856 + char *p = ASTRDUP (rs6000_recip_name);
4857 + char *q;
4858 + unsigned int mask, i;
4859 + bool invert;
4861 + while ((q = strtok (p, ",")) != NULL)
4863 + p = NULL;
4864 + if (*q == '!')
4866 + invert = true;
4867 + q++;
4869 + else
4870 + invert = false;
4872 + if (!strcmp (q, "default"))
4873 + mask = ((TARGET_RECIP_PRECISION)
4874 + ? RECIP_HIGH_PRECISION : RECIP_LOW_PRECISION);
4875 + else
4877 + for (i = 0; i < ARRAY_SIZE (recip_options); i++)
4878 + if (!strcmp (q, recip_options[i].string))
4880 + mask = recip_options[i].mask;
4881 + break;
4884 + if (i == ARRAY_SIZE (recip_options))
4886 + error ("unknown option for -mrecip=%s", q);
4887 + invert = false;
4888 + mask = 0;
4889 + ret = false;
4893 + if (invert)
4894 + rs6000_recip_control &= ~mask;
4895 + else
4896 + rs6000_recip_control |= mask;
4900 + /* Set the builtin mask of the various options used that could affect which
4901 + builtins were used. In the past we used target_flags, but we've run out
4902 + of bits, and some options like SPE and PAIRED are no longer in
4903 + target_flags. */
4904 + rs6000_builtin_mask = rs6000_builtin_mask_calculate ();
4905 + if (TARGET_DEBUG_BUILTIN || TARGET_DEBUG_TARGET)
4907 + fprintf (stderr,
4908 + "new builtin mask = " HOST_WIDE_INT_PRINT_HEX ", ",
4909 + rs6000_builtin_mask);
4910 + rs6000_print_builtin_options (stderr, 0, NULL, rs6000_builtin_mask);
4913 + /* Initialize all of the registers. */
4914 + rs6000_init_hard_regno_mode_ok (global_init_p);
4916 + /* Save the initial options in case the user does function specific options */
4917 + if (global_init_p)
4918 + target_option_default_node = target_option_current_node
4919 + = build_target_option_node (&global_options);
4921 + /* If not explicitly specified via option, decide whether to generate the
4922 + extra blr's required to preserve the link stack on some cpus (eg, 476). */
4923 + if (TARGET_LINK_STACK == -1)
4924 + SET_TARGET_LINK_STACK (rs6000_cpu == PROCESSOR_PPC476 && flag_pic);
4926 + return ret;
4929 +/* Implement TARGET_OPTION_OVERRIDE. On the RS/6000 this is used to
4930 + define the target cpu type. */
4932 +static void
4933 +rs6000_option_override (void)
4935 + (void) rs6000_option_override_internal (true);
4937 + /* Register machine-specific passes. This needs to be done at start-up.
4938 + It's convenient to do it here (like i386 does). */
4939 + opt_pass *pass_analyze_swaps = make_pass_analyze_swaps (g);
4941 + struct register_pass_info analyze_swaps_info
4942 + = { pass_analyze_swaps, "cse1", 1, PASS_POS_INSERT_BEFORE };
4944 + register_pass (&analyze_swaps_info);
4948 +/* Implement targetm.vectorize.builtin_mask_for_load. */
4949 +static tree
4950 +rs6000_builtin_mask_for_load (void)
4952 + if (TARGET_ALTIVEC || TARGET_VSX)
4953 + return altivec_builtin_mask_for_load;
4954 + else
4955 + return 0;
4958 +/* Implement LOOP_ALIGN. */
4959 +int
4960 +rs6000_loop_align (rtx label)
4962 + basic_block bb;
4963 + int ninsns;
4965 + /* Don't override loop alignment if -falign-loops was specified. */
4966 + if (!can_override_loop_align)
4967 + return align_loops_log;
4969 + bb = BLOCK_FOR_INSN (label);
4970 + ninsns = num_loop_insns(bb->loop_father);
4972 + /* Align small loops to 32 bytes to fit in an icache sector, otherwise return default. */
4973 + if (ninsns > 4 && ninsns <= 8
4974 + && (rs6000_cpu == PROCESSOR_POWER4
4975 + || rs6000_cpu == PROCESSOR_POWER5
4976 + || rs6000_cpu == PROCESSOR_POWER6
4977 + || rs6000_cpu == PROCESSOR_POWER7
4978 + || rs6000_cpu == PROCESSOR_POWER8))
4979 + return 5;
4980 + else
4981 + return align_loops_log;
4984 +/* Implement TARGET_LOOP_ALIGN_MAX_SKIP. */
4985 +static int
4986 +rs6000_loop_align_max_skip (rtx_insn *label)
4988 + return (1 << rs6000_loop_align (label)) - 1;
4991 +/* Return true iff, data reference of TYPE can reach vector alignment (16)
4992 + after applying N number of iterations. This routine does not determine
4993 + how may iterations are required to reach desired alignment. */
4995 +static bool
4996 +rs6000_vector_alignment_reachable (const_tree type ATTRIBUTE_UNUSED, bool is_packed)
4998 + if (is_packed)
4999 + return false;
5001 + if (TARGET_32BIT)
5003 + if (rs6000_alignment_flags == MASK_ALIGN_NATURAL)
5004 + return true;
5006 + if (rs6000_alignment_flags == MASK_ALIGN_POWER)
5007 + return true;
5009 + return false;
5011 + else
5013 + if (TARGET_MACHO)
5014 + return false;
5016 + /* Assuming that all other types are naturally aligned. CHECKME! */
5017 + return true;
5021 +/* Return true if the vector misalignment factor is supported by the
5022 + target. */
5023 +static bool
5024 +rs6000_builtin_support_vector_misalignment (machine_mode mode,
5025 + const_tree type,
5026 + int misalignment,
5027 + bool is_packed)
5029 + if (TARGET_VSX)
5031 + /* Return if movmisalign pattern is not supported for this mode. */
5032 + if (optab_handler (movmisalign_optab, mode) == CODE_FOR_nothing)
5033 + return false;
5035 + if (misalignment == -1)
5037 + /* Misalignment factor is unknown at compile time but we know
5038 + it's word aligned. */
5039 + if (rs6000_vector_alignment_reachable (type, is_packed))
5041 + int element_size = TREE_INT_CST_LOW (TYPE_SIZE (type));
5043 + if (element_size == 64 || element_size == 32)
5044 + return true;
5047 + return false;
5050 + /* VSX supports word-aligned vector. */
5051 + if (misalignment % 4 == 0)
5052 + return true;
5054 + return false;
5057 +/* Implement targetm.vectorize.builtin_vectorization_cost. */
5058 +static int
5059 +rs6000_builtin_vectorization_cost (enum vect_cost_for_stmt type_of_cost,
5060 + tree vectype, int misalign)
5062 + unsigned elements;
5063 + tree elem_type;
5065 + switch (type_of_cost)
5067 + case scalar_stmt:
5068 + case scalar_load:
5069 + case scalar_store:
5070 + case vector_stmt:
5071 + case vector_load:
5072 + case vector_store:
5073 + case vec_to_scalar:
5074 + case scalar_to_vec:
5075 + case cond_branch_not_taken:
5076 + return 1;
5078 + case vec_perm:
5079 + if (TARGET_VSX)
5080 + return 3;
5081 + else
5082 + return 1;
5084 + case vec_promote_demote:
5085 + if (TARGET_VSX)
5086 + return 4;
5087 + else
5088 + return 1;
5090 + case cond_branch_taken:
5091 + return 3;
5093 + case unaligned_load:
5094 + if (TARGET_VSX && TARGET_ALLOW_MOVMISALIGN)
5096 + elements = TYPE_VECTOR_SUBPARTS (vectype);
5097 + if (elements == 2)
5098 + /* Double word aligned. */
5099 + return 2;
5101 + if (elements == 4)
5103 + switch (misalign)
5105 + case 8:
5106 + /* Double word aligned. */
5107 + return 2;
5109 + case -1:
5110 + /* Unknown misalignment. */
5111 + case 4:
5112 + case 12:
5113 + /* Word aligned. */
5114 + return 22;
5116 + default:
5117 + gcc_unreachable ();
5122 + if (TARGET_ALTIVEC)
5123 + /* Misaligned loads are not supported. */
5124 + gcc_unreachable ();
5126 + return 2;
5128 + case unaligned_store:
5129 + if (TARGET_VSX && TARGET_ALLOW_MOVMISALIGN)
5131 + elements = TYPE_VECTOR_SUBPARTS (vectype);
5132 + if (elements == 2)
5133 + /* Double word aligned. */
5134 + return 2;
5136 + if (elements == 4)
5138 + switch (misalign)
5140 + case 8:
5141 + /* Double word aligned. */
5142 + return 2;
5144 + case -1:
5145 + /* Unknown misalignment. */
5146 + case 4:
5147 + case 12:
5148 + /* Word aligned. */
5149 + return 23;
5151 + default:
5152 + gcc_unreachable ();
5157 + if (TARGET_ALTIVEC)
5158 + /* Misaligned stores are not supported. */
5159 + gcc_unreachable ();
5161 + return 2;
5163 + case vec_construct:
5164 + elements = TYPE_VECTOR_SUBPARTS (vectype);
5165 + elem_type = TREE_TYPE (vectype);
5166 + /* 32-bit vectors loaded into registers are stored as double
5167 + precision, so we need n/2 converts in addition to the usual
5168 + n/2 merges to construct a vector of short floats from them. */
5169 + if (SCALAR_FLOAT_TYPE_P (elem_type)
5170 + && TYPE_PRECISION (elem_type) == 32)
5171 + return elements + 1;
5172 + else
5173 + return elements / 2 + 1;
5175 + default:
5176 + gcc_unreachable ();
5180 +/* Implement targetm.vectorize.preferred_simd_mode. */
5182 +static machine_mode
5183 +rs6000_preferred_simd_mode (machine_mode mode)
5185 + if (TARGET_VSX)
5186 + switch (mode)
5188 + case DFmode:
5189 + return V2DFmode;
5190 + default:;
5192 + if (TARGET_ALTIVEC || TARGET_VSX)
5193 + switch (mode)
5195 + case SFmode:
5196 + return V4SFmode;
5197 + case TImode:
5198 + return V1TImode;
5199 + case DImode:
5200 + return V2DImode;
5201 + case SImode:
5202 + return V4SImode;
5203 + case HImode:
5204 + return V8HImode;
5205 + case QImode:
5206 + return V16QImode;
5207 + default:;
5209 + if (TARGET_SPE)
5210 + switch (mode)
5212 + case SFmode:
5213 + return V2SFmode;
5214 + case SImode:
5215 + return V2SImode;
5216 + default:;
5218 + if (TARGET_PAIRED_FLOAT
5219 + && mode == SFmode)
5220 + return V2SFmode;
5221 + return word_mode;
5224 +typedef struct _rs6000_cost_data
5226 + struct loop *loop_info;
5227 + unsigned cost[3];
5228 +} rs6000_cost_data;
5230 +/* Test for likely overcommitment of vector hardware resources. If a
5231 + loop iteration is relatively large, and too large a percentage of
5232 + instructions in the loop are vectorized, the cost model may not
5233 + adequately reflect delays from unavailable vector resources.
5234 + Penalize the loop body cost for this case. */
5236 +static void
5237 +rs6000_density_test (rs6000_cost_data *data)
5239 + const int DENSITY_PCT_THRESHOLD = 85;
5240 + const int DENSITY_SIZE_THRESHOLD = 70;
5241 + const int DENSITY_PENALTY = 10;
5242 + struct loop *loop = data->loop_info;
5243 + basic_block *bbs = get_loop_body (loop);
5244 + int nbbs = loop->num_nodes;
5245 + int vec_cost = data->cost[vect_body], not_vec_cost = 0;
5246 + int i, density_pct;
5248 + for (i = 0; i < nbbs; i++)
5250 + basic_block bb = bbs[i];
5251 + gimple_stmt_iterator gsi;
5253 + for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
5255 + gimple stmt = gsi_stmt (gsi);
5256 + stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
5258 + if (!STMT_VINFO_RELEVANT_P (stmt_info)
5259 + && !STMT_VINFO_IN_PATTERN_P (stmt_info))
5260 + not_vec_cost++;
5264 + free (bbs);
5265 + density_pct = (vec_cost * 100) / (vec_cost + not_vec_cost);
5267 + if (density_pct > DENSITY_PCT_THRESHOLD
5268 + && vec_cost + not_vec_cost > DENSITY_SIZE_THRESHOLD)
5270 + data->cost[vect_body] = vec_cost * (100 + DENSITY_PENALTY) / 100;
5271 + if (dump_enabled_p ())
5272 + dump_printf_loc (MSG_NOTE, vect_location,
5273 + "density %d%%, cost %d exceeds threshold, penalizing "
5274 + "loop body cost by %d%%", density_pct,
5275 + vec_cost + not_vec_cost, DENSITY_PENALTY);
5279 +/* Implement targetm.vectorize.init_cost. */
5281 +static void *
5282 +rs6000_init_cost (struct loop *loop_info)
5284 + rs6000_cost_data *data = XNEW (struct _rs6000_cost_data);
5285 + data->loop_info = loop_info;
5286 + data->cost[vect_prologue] = 0;
5287 + data->cost[vect_body] = 0;
5288 + data->cost[vect_epilogue] = 0;
5289 + return data;
5292 +/* Implement targetm.vectorize.add_stmt_cost. */
5294 +static unsigned
5295 +rs6000_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind,
5296 + struct _stmt_vec_info *stmt_info, int misalign,
5297 + enum vect_cost_model_location where)
5299 + rs6000_cost_data *cost_data = (rs6000_cost_data*) data;
5300 + unsigned retval = 0;
5302 + if (flag_vect_cost_model)
5304 + tree vectype = stmt_info ? stmt_vectype (stmt_info) : NULL_TREE;
5305 + int stmt_cost = rs6000_builtin_vectorization_cost (kind, vectype,
5306 + misalign);
5307 + /* Statements in an inner loop relative to the loop being
5308 + vectorized are weighted more heavily. The value here is
5309 + arbitrary and could potentially be improved with analysis. */
5310 + if (where == vect_body && stmt_info && stmt_in_inner_loop_p (stmt_info))
5311 + count *= 50; /* FIXME. */
5313 + retval = (unsigned) (count * stmt_cost);
5314 + cost_data->cost[where] += retval;
5317 + return retval;
5320 +/* Implement targetm.vectorize.finish_cost. */
5322 +static void
5323 +rs6000_finish_cost (void *data, unsigned *prologue_cost,
5324 + unsigned *body_cost, unsigned *epilogue_cost)
5326 + rs6000_cost_data *cost_data = (rs6000_cost_data*) data;
5328 + if (cost_data->loop_info)
5329 + rs6000_density_test (cost_data);
5331 + *prologue_cost = cost_data->cost[vect_prologue];
5332 + *body_cost = cost_data->cost[vect_body];
5333 + *epilogue_cost = cost_data->cost[vect_epilogue];
5336 +/* Implement targetm.vectorize.destroy_cost_data. */
5338 +static void
5339 +rs6000_destroy_cost_data (void *data)
5341 + free (data);
5344 +/* Handler for the Mathematical Acceleration Subsystem (mass) interface to a
5345 + library with vectorized intrinsics. */
5347 +static tree
5348 +rs6000_builtin_vectorized_libmass (tree fndecl, tree type_out, tree type_in)
5350 + char name[32];
5351 + const char *suffix = NULL;
5352 + tree fntype, new_fndecl, bdecl = NULL_TREE;
5353 + int n_args = 1;
5354 + const char *bname;
5355 + machine_mode el_mode, in_mode;
5356 + int n, in_n;
5358 + /* Libmass is suitable for unsafe math only as it does not correctly support
5359 + parts of IEEE with the required precision such as denormals. Only support
5360 + it if we have VSX to use the simd d2 or f4 functions.
5361 + XXX: Add variable length support. */
5362 + if (!flag_unsafe_math_optimizations || !TARGET_VSX)
5363 + return NULL_TREE;
5365 + el_mode = TYPE_MODE (TREE_TYPE (type_out));
5366 + n = TYPE_VECTOR_SUBPARTS (type_out);
5367 + in_mode = TYPE_MODE (TREE_TYPE (type_in));
5368 + in_n = TYPE_VECTOR_SUBPARTS (type_in);
5369 + if (el_mode != in_mode
5370 + || n != in_n)
5371 + return NULL_TREE;
5373 + if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL)
5375 + enum built_in_function fn = DECL_FUNCTION_CODE (fndecl);
5376 + switch (fn)
5378 + case BUILT_IN_ATAN2:
5379 + case BUILT_IN_HYPOT:
5380 + case BUILT_IN_POW:
5381 + n_args = 2;
5382 + /* fall through */
5384 + case BUILT_IN_ACOS:
5385 + case BUILT_IN_ACOSH:
5386 + case BUILT_IN_ASIN:
5387 + case BUILT_IN_ASINH:
5388 + case BUILT_IN_ATAN:
5389 + case BUILT_IN_ATANH:
5390 + case BUILT_IN_CBRT:
5391 + case BUILT_IN_COS:
5392 + case BUILT_IN_COSH:
5393 + case BUILT_IN_ERF:
5394 + case BUILT_IN_ERFC:
5395 + case BUILT_IN_EXP2:
5396 + case BUILT_IN_EXP:
5397 + case BUILT_IN_EXPM1:
5398 + case BUILT_IN_LGAMMA:
5399 + case BUILT_IN_LOG10:
5400 + case BUILT_IN_LOG1P:
5401 + case BUILT_IN_LOG2:
5402 + case BUILT_IN_LOG:
5403 + case BUILT_IN_SIN:
5404 + case BUILT_IN_SINH:
5405 + case BUILT_IN_SQRT:
5406 + case BUILT_IN_TAN:
5407 + case BUILT_IN_TANH:
5408 + bdecl = builtin_decl_implicit (fn);
5409 + suffix = "d2"; /* pow -> powd2 */
5410 + if (el_mode != DFmode
5411 + || n != 2
5412 + || !bdecl)
5413 + return NULL_TREE;
5414 + break;
5416 + case BUILT_IN_ATAN2F:
5417 + case BUILT_IN_HYPOTF:
5418 + case BUILT_IN_POWF:
5419 + n_args = 2;
5420 + /* fall through */
5422 + case BUILT_IN_ACOSF:
5423 + case BUILT_IN_ACOSHF:
5424 + case BUILT_IN_ASINF:
5425 + case BUILT_IN_ASINHF:
5426 + case BUILT_IN_ATANF:
5427 + case BUILT_IN_ATANHF:
5428 + case BUILT_IN_CBRTF:
5429 + case BUILT_IN_COSF:
5430 + case BUILT_IN_COSHF:
5431 + case BUILT_IN_ERFF:
5432 + case BUILT_IN_ERFCF:
5433 + case BUILT_IN_EXP2F:
5434 + case BUILT_IN_EXPF:
5435 + case BUILT_IN_EXPM1F:
5436 + case BUILT_IN_LGAMMAF:
5437 + case BUILT_IN_LOG10F:
5438 + case BUILT_IN_LOG1PF:
5439 + case BUILT_IN_LOG2F:
5440 + case BUILT_IN_LOGF:
5441 + case BUILT_IN_SINF:
5442 + case BUILT_IN_SINHF:
5443 + case BUILT_IN_SQRTF:
5444 + case BUILT_IN_TANF:
5445 + case BUILT_IN_TANHF:
5446 + bdecl = builtin_decl_implicit (fn);
5447 + suffix = "4"; /* powf -> powf4 */
5448 + if (el_mode != SFmode
5449 + || n != 4
5450 + || !bdecl)
5451 + return NULL_TREE;
5452 + break;
5454 + default:
5455 + return NULL_TREE;
5458 + else
5459 + return NULL_TREE;
5461 + gcc_assert (suffix != NULL);
5462 + bname = IDENTIFIER_POINTER (DECL_NAME (bdecl));
5463 + if (!bname)
5464 + return NULL_TREE;
5466 + strcpy (name, bname + sizeof ("__builtin_") - 1);
5467 + strcat (name, suffix);
5469 + if (n_args == 1)
5470 + fntype = build_function_type_list (type_out, type_in, NULL);
5471 + else if (n_args == 2)
5472 + fntype = build_function_type_list (type_out, type_in, type_in, NULL);
5473 + else
5474 + gcc_unreachable ();
5476 + /* Build a function declaration for the vectorized function. */
5477 + new_fndecl = build_decl (BUILTINS_LOCATION,
5478 + FUNCTION_DECL, get_identifier (name), fntype);
5479 + TREE_PUBLIC (new_fndecl) = 1;
5480 + DECL_EXTERNAL (new_fndecl) = 1;
5481 + DECL_IS_NOVOPS (new_fndecl) = 1;
5482 + TREE_READONLY (new_fndecl) = 1;
5484 + return new_fndecl;
5487 +/* Returns a function decl for a vectorized version of the builtin function
5488 + with builtin function code FN and the result vector type TYPE, or NULL_TREE
5489 + if it is not available. */
5491 +static tree
5492 +rs6000_builtin_vectorized_function (tree fndecl, tree type_out,
5493 + tree type_in)
5495 + machine_mode in_mode, out_mode;
5496 + int in_n, out_n;
5498 + if (TARGET_DEBUG_BUILTIN)
5499 + fprintf (stderr, "rs6000_builtin_vectorized_function (%s, %s, %s)\n",
5500 + IDENTIFIER_POINTER (DECL_NAME (fndecl)),
5501 + GET_MODE_NAME (TYPE_MODE (type_out)),
5502 + GET_MODE_NAME (TYPE_MODE (type_in)));
5504 + if (TREE_CODE (type_out) != VECTOR_TYPE
5505 + || TREE_CODE (type_in) != VECTOR_TYPE
5506 + || !TARGET_VECTORIZE_BUILTINS)
5507 + return NULL_TREE;
5509 + out_mode = TYPE_MODE (TREE_TYPE (type_out));
5510 + out_n = TYPE_VECTOR_SUBPARTS (type_out);
5511 + in_mode = TYPE_MODE (TREE_TYPE (type_in));
5512 + in_n = TYPE_VECTOR_SUBPARTS (type_in);
5514 + if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL)
5516 + enum built_in_function fn = DECL_FUNCTION_CODE (fndecl);
5517 + switch (fn)
5519 + case BUILT_IN_CLZIMAX:
5520 + case BUILT_IN_CLZLL:
5521 + case BUILT_IN_CLZL:
5522 + case BUILT_IN_CLZ:
5523 + if (TARGET_P8_VECTOR && in_mode == out_mode && out_n == in_n)
5525 + if (out_mode == QImode && out_n == 16)
5526 + return rs6000_builtin_decls[P8V_BUILTIN_VCLZB];
5527 + else if (out_mode == HImode && out_n == 8)
5528 + return rs6000_builtin_decls[P8V_BUILTIN_VCLZH];
5529 + else if (out_mode == SImode && out_n == 4)
5530 + return rs6000_builtin_decls[P8V_BUILTIN_VCLZW];
5531 + else if (out_mode == DImode && out_n == 2)
5532 + return rs6000_builtin_decls[P8V_BUILTIN_VCLZD];
5534 + break;
5535 + case BUILT_IN_COPYSIGN:
5536 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5537 + && out_mode == DFmode && out_n == 2
5538 + && in_mode == DFmode && in_n == 2)
5539 + return rs6000_builtin_decls[VSX_BUILTIN_CPSGNDP];
5540 + break;
5541 + case BUILT_IN_COPYSIGNF:
5542 + if (out_mode != SFmode || out_n != 4
5543 + || in_mode != SFmode || in_n != 4)
5544 + break;
5545 + if (VECTOR_UNIT_VSX_P (V4SFmode))
5546 + return rs6000_builtin_decls[VSX_BUILTIN_CPSGNSP];
5547 + if (VECTOR_UNIT_ALTIVEC_P (V4SFmode))
5548 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_COPYSIGN_V4SF];
5549 + break;
5550 + case BUILT_IN_POPCOUNTIMAX:
5551 + case BUILT_IN_POPCOUNTLL:
5552 + case BUILT_IN_POPCOUNTL:
5553 + case BUILT_IN_POPCOUNT:
5554 + if (TARGET_P8_VECTOR && in_mode == out_mode && out_n == in_n)
5556 + if (out_mode == QImode && out_n == 16)
5557 + return rs6000_builtin_decls[P8V_BUILTIN_VPOPCNTB];
5558 + else if (out_mode == HImode && out_n == 8)
5559 + return rs6000_builtin_decls[P8V_BUILTIN_VPOPCNTH];
5560 + else if (out_mode == SImode && out_n == 4)
5561 + return rs6000_builtin_decls[P8V_BUILTIN_VPOPCNTW];
5562 + else if (out_mode == DImode && out_n == 2)
5563 + return rs6000_builtin_decls[P8V_BUILTIN_VPOPCNTD];
5565 + break;
5566 + case BUILT_IN_SQRT:
5567 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5568 + && out_mode == DFmode && out_n == 2
5569 + && in_mode == DFmode && in_n == 2)
5570 + return rs6000_builtin_decls[VSX_BUILTIN_XVSQRTDP];
5571 + break;
5572 + case BUILT_IN_SQRTF:
5573 + if (VECTOR_UNIT_VSX_P (V4SFmode)
5574 + && out_mode == SFmode && out_n == 4
5575 + && in_mode == SFmode && in_n == 4)
5576 + return rs6000_builtin_decls[VSX_BUILTIN_XVSQRTSP];
5577 + break;
5578 + case BUILT_IN_CEIL:
5579 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5580 + && out_mode == DFmode && out_n == 2
5581 + && in_mode == DFmode && in_n == 2)
5582 + return rs6000_builtin_decls[VSX_BUILTIN_XVRDPIP];
5583 + break;
5584 + case BUILT_IN_CEILF:
5585 + if (out_mode != SFmode || out_n != 4
5586 + || in_mode != SFmode || in_n != 4)
5587 + break;
5588 + if (VECTOR_UNIT_VSX_P (V4SFmode))
5589 + return rs6000_builtin_decls[VSX_BUILTIN_XVRSPIP];
5590 + if (VECTOR_UNIT_ALTIVEC_P (V4SFmode))
5591 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_VRFIP];
5592 + break;
5593 + case BUILT_IN_FLOOR:
5594 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5595 + && out_mode == DFmode && out_n == 2
5596 + && in_mode == DFmode && in_n == 2)
5597 + return rs6000_builtin_decls[VSX_BUILTIN_XVRDPIM];
5598 + break;
5599 + case BUILT_IN_FLOORF:
5600 + if (out_mode != SFmode || out_n != 4
5601 + || in_mode != SFmode || in_n != 4)
5602 + break;
5603 + if (VECTOR_UNIT_VSX_P (V4SFmode))
5604 + return rs6000_builtin_decls[VSX_BUILTIN_XVRSPIM];
5605 + if (VECTOR_UNIT_ALTIVEC_P (V4SFmode))
5606 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_VRFIM];
5607 + break;
5608 + case BUILT_IN_FMA:
5609 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5610 + && out_mode == DFmode && out_n == 2
5611 + && in_mode == DFmode && in_n == 2)
5612 + return rs6000_builtin_decls[VSX_BUILTIN_XVMADDDP];
5613 + break;
5614 + case BUILT_IN_FMAF:
5615 + if (VECTOR_UNIT_VSX_P (V4SFmode)
5616 + && out_mode == SFmode && out_n == 4
5617 + && in_mode == SFmode && in_n == 4)
5618 + return rs6000_builtin_decls[VSX_BUILTIN_XVMADDSP];
5619 + else if (VECTOR_UNIT_ALTIVEC_P (V4SFmode)
5620 + && out_mode == SFmode && out_n == 4
5621 + && in_mode == SFmode && in_n == 4)
5622 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_VMADDFP];
5623 + break;
5624 + case BUILT_IN_TRUNC:
5625 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5626 + && out_mode == DFmode && out_n == 2
5627 + && in_mode == DFmode && in_n == 2)
5628 + return rs6000_builtin_decls[VSX_BUILTIN_XVRDPIZ];
5629 + break;
5630 + case BUILT_IN_TRUNCF:
5631 + if (out_mode != SFmode || out_n != 4
5632 + || in_mode != SFmode || in_n != 4)
5633 + break;
5634 + if (VECTOR_UNIT_VSX_P (V4SFmode))
5635 + return rs6000_builtin_decls[VSX_BUILTIN_XVRSPIZ];
5636 + if (VECTOR_UNIT_ALTIVEC_P (V4SFmode))
5637 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_VRFIZ];
5638 + break;
5639 + case BUILT_IN_NEARBYINT:
5640 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5641 + && flag_unsafe_math_optimizations
5642 + && out_mode == DFmode && out_n == 2
5643 + && in_mode == DFmode && in_n == 2)
5644 + return rs6000_builtin_decls[VSX_BUILTIN_XVRDPI];
5645 + break;
5646 + case BUILT_IN_NEARBYINTF:
5647 + if (VECTOR_UNIT_VSX_P (V4SFmode)
5648 + && flag_unsafe_math_optimizations
5649 + && out_mode == SFmode && out_n == 4
5650 + && in_mode == SFmode && in_n == 4)
5651 + return rs6000_builtin_decls[VSX_BUILTIN_XVRSPI];
5652 + break;
5653 + case BUILT_IN_RINT:
5654 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5655 + && !flag_trapping_math
5656 + && out_mode == DFmode && out_n == 2
5657 + && in_mode == DFmode && in_n == 2)
5658 + return rs6000_builtin_decls[VSX_BUILTIN_XVRDPIC];
5659 + break;
5660 + case BUILT_IN_RINTF:
5661 + if (VECTOR_UNIT_VSX_P (V4SFmode)
5662 + && !flag_trapping_math
5663 + && out_mode == SFmode && out_n == 4
5664 + && in_mode == SFmode && in_n == 4)
5665 + return rs6000_builtin_decls[VSX_BUILTIN_XVRSPIC];
5666 + break;
5667 + default:
5668 + break;
5672 + else if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD)
5674 + enum rs6000_builtins fn
5675 + = (enum rs6000_builtins)DECL_FUNCTION_CODE (fndecl);
5676 + switch (fn)
5678 + case RS6000_BUILTIN_RSQRTF:
5679 + if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode)
5680 + && out_mode == SFmode && out_n == 4
5681 + && in_mode == SFmode && in_n == 4)
5682 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_VRSQRTFP];
5683 + break;
5684 + case RS6000_BUILTIN_RSQRT:
5685 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5686 + && out_mode == DFmode && out_n == 2
5687 + && in_mode == DFmode && in_n == 2)
5688 + return rs6000_builtin_decls[VSX_BUILTIN_RSQRT_2DF];
5689 + break;
5690 + case RS6000_BUILTIN_RECIPF:
5691 + if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode)
5692 + && out_mode == SFmode && out_n == 4
5693 + && in_mode == SFmode && in_n == 4)
5694 + return rs6000_builtin_decls[ALTIVEC_BUILTIN_VRECIPFP];
5695 + break;
5696 + case RS6000_BUILTIN_RECIP:
5697 + if (VECTOR_UNIT_VSX_P (V2DFmode)
5698 + && out_mode == DFmode && out_n == 2
5699 + && in_mode == DFmode && in_n == 2)
5700 + return rs6000_builtin_decls[VSX_BUILTIN_RECIP_V2DF];
5701 + break;
5702 + default:
5703 + break;
5707 + /* Generate calls to libmass if appropriate. */
5708 + if (rs6000_veclib_handler)
5709 + return rs6000_veclib_handler (fndecl, type_out, type_in);
5711 + return NULL_TREE;
5714 +/* Default CPU string for rs6000*_file_start functions. */
5715 +static const char *rs6000_default_cpu;
5717 +/* Do anything needed at the start of the asm file. */
5719 +static void
5720 +rs6000_file_start (void)
5722 + char buffer[80];
5723 + const char *start = buffer;
5724 + FILE *file = asm_out_file;
5726 + rs6000_default_cpu = TARGET_CPU_DEFAULT;
5728 + default_file_start ();
5730 + if (flag_verbose_asm)
5732 + sprintf (buffer, "\n%s rs6000/powerpc options:", ASM_COMMENT_START);
5734 + if (rs6000_default_cpu != 0 && rs6000_default_cpu[0] != '\0')
5736 + fprintf (file, "%s --with-cpu=%s", start, rs6000_default_cpu);
5737 + start = "";
5740 + if (global_options_set.x_rs6000_cpu_index)
5742 + fprintf (file, "%s -mcpu=%s", start,
5743 + processor_target_table[rs6000_cpu_index].name);
5744 + start = "";
5747 + if (global_options_set.x_rs6000_tune_index)
5749 + fprintf (file, "%s -mtune=%s", start,
5750 + processor_target_table[rs6000_tune_index].name);
5751 + start = "";
5754 + if (PPC405_ERRATUM77)
5756 + fprintf (file, "%s PPC405CR_ERRATUM77", start);
5757 + start = "";
5760 +#ifdef USING_ELFOS_H
5761 + switch (rs6000_sdata)
5763 + case SDATA_NONE: fprintf (file, "%s -msdata=none", start); start = ""; break;
5764 + case SDATA_DATA: fprintf (file, "%s -msdata=data", start); start = ""; break;
5765 + case SDATA_SYSV: fprintf (file, "%s -msdata=sysv", start); start = ""; break;
5766 + case SDATA_EABI: fprintf (file, "%s -msdata=eabi", start); start = ""; break;
5769 + if (rs6000_sdata && g_switch_value)
5771 + fprintf (file, "%s -G %d", start,
5772 + g_switch_value);
5773 + start = "";
5775 +#endif
5777 + if (*start == '\0')
5778 + putc ('\n', file);
5781 +#ifdef USING_ELFOS_H
5782 + if (rs6000_default_cpu == 0 || rs6000_default_cpu[0] == '\0'
5783 + || !global_options_set.x_rs6000_cpu_index)
5785 + fputs ("\t.machine ", asm_out_file);
5786 + if ((rs6000_isa_flags & OPTION_MASK_DIRECT_MOVE) != 0)
5787 + fputs ("power8\n", asm_out_file);
5788 + else if ((rs6000_isa_flags & OPTION_MASK_POPCNTD) != 0)
5789 + fputs ("power7\n", asm_out_file);
5790 + else if ((rs6000_isa_flags & OPTION_MASK_CMPB) != 0)
5791 + fputs ("power6\n", asm_out_file);
5792 + else if ((rs6000_isa_flags & OPTION_MASK_POPCNTB) != 0)
5793 + fputs ("power5\n", asm_out_file);
5794 + else if ((rs6000_isa_flags & OPTION_MASK_MFCRF) != 0)
5795 + fputs ("power4\n", asm_out_file);
5796 + else if ((rs6000_isa_flags & OPTION_MASK_POWERPC64) != 0)
5797 + fputs ("ppc64\n", asm_out_file);
5798 + else
5799 + fputs ("ppc\n", asm_out_file);
5801 +#endif
5803 + if (DEFAULT_ABI == ABI_ELFv2)
5804 + fprintf (file, "\t.abiversion 2\n");
5806 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2
5807 + || (TARGET_ELF && flag_pic == 2))
5809 + switch_to_section (toc_section);
5810 + switch_to_section (text_section);
5815 +/* Return nonzero if this function is known to have a null epilogue. */
5817 +int
5818 +direct_return (void)
5820 + if (reload_completed)
5822 + rs6000_stack_t *info = rs6000_stack_info ();
5824 + if (info->first_gp_reg_save == 32
5825 + && info->first_fp_reg_save == 64
5826 + && info->first_altivec_reg_save == LAST_ALTIVEC_REGNO + 1
5827 + && ! info->lr_save_p
5828 + && ! info->cr_save_p
5829 + && info->vrsave_mask == 0
5830 + && ! info->push_p)
5831 + return 1;
5834 + return 0;
5837 +/* Return the number of instructions it takes to form a constant in an
5838 + integer register. */
5840 +int
5841 +num_insns_constant_wide (HOST_WIDE_INT value)
5843 + /* signed constant loadable with addi */
5844 + if (((unsigned HOST_WIDE_INT) value + 0x8000) < 0x10000)
5845 + return 1;
5847 + /* constant loadable with addis */
5848 + else if ((value & 0xffff) == 0
5849 + && (value >> 31 == -1 || value >> 31 == 0))
5850 + return 1;
5852 + else if (TARGET_POWERPC64)
5854 + HOST_WIDE_INT low = ((value & 0xffffffff) ^ 0x80000000) - 0x80000000;
5855 + HOST_WIDE_INT high = value >> 31;
5857 + if (high == 0 || high == -1)
5858 + return 2;
5860 + high >>= 1;
5862 + if (low == 0)
5863 + return num_insns_constant_wide (high) + 1;
5864 + else if (high == 0)
5865 + return num_insns_constant_wide (low) + 1;
5866 + else
5867 + return (num_insns_constant_wide (high)
5868 + + num_insns_constant_wide (low) + 1);
5871 + else
5872 + return 2;
5875 +int
5876 +num_insns_constant (rtx op, machine_mode mode)
5878 + HOST_WIDE_INT low, high;
5880 + switch (GET_CODE (op))
5882 + case CONST_INT:
5883 + if ((INTVAL (op) >> 31) != 0 && (INTVAL (op) >> 31) != -1
5884 + && mask64_operand (op, mode))
5885 + return 2;
5886 + else
5887 + return num_insns_constant_wide (INTVAL (op));
5889 + case CONST_WIDE_INT:
5891 + int i;
5892 + int ins = CONST_WIDE_INT_NUNITS (op) - 1;
5893 + for (i = 0; i < CONST_WIDE_INT_NUNITS (op); i++)
5894 + ins += num_insns_constant_wide (CONST_WIDE_INT_ELT (op, i));
5895 + return ins;
5898 + case CONST_DOUBLE:
5899 + if (mode == SFmode || mode == SDmode)
5901 + long l;
5902 + REAL_VALUE_TYPE rv;
5904 + REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
5905 + if (DECIMAL_FLOAT_MODE_P (mode))
5906 + REAL_VALUE_TO_TARGET_DECIMAL32 (rv, l);
5907 + else
5908 + REAL_VALUE_TO_TARGET_SINGLE (rv, l);
5909 + return num_insns_constant_wide ((HOST_WIDE_INT) l);
5912 + long l[2];
5913 + REAL_VALUE_TYPE rv;
5915 + REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
5916 + if (DECIMAL_FLOAT_MODE_P (mode))
5917 + REAL_VALUE_TO_TARGET_DECIMAL64 (rv, l);
5918 + else
5919 + REAL_VALUE_TO_TARGET_DOUBLE (rv, l);
5920 + high = l[WORDS_BIG_ENDIAN == 0];
5921 + low = l[WORDS_BIG_ENDIAN != 0];
5923 + if (TARGET_32BIT)
5924 + return (num_insns_constant_wide (low)
5925 + + num_insns_constant_wide (high));
5926 + else
5928 + if ((high == 0 && low >= 0)
5929 + || (high == -1 && low < 0))
5930 + return num_insns_constant_wide (low);
5932 + else if (mask64_operand (op, mode))
5933 + return 2;
5935 + else if (low == 0)
5936 + return num_insns_constant_wide (high) + 1;
5938 + else
5939 + return (num_insns_constant_wide (high)
5940 + + num_insns_constant_wide (low) + 1);
5943 + default:
5944 + gcc_unreachable ();
5948 +/* Interpret element ELT of the CONST_VECTOR OP as an integer value.
5949 + If the mode of OP is MODE_VECTOR_INT, this simply returns the
5950 + corresponding element of the vector, but for V4SFmode and V2SFmode,
5951 + the corresponding "float" is interpreted as an SImode integer. */
5953 +HOST_WIDE_INT
5954 +const_vector_elt_as_int (rtx op, unsigned int elt)
5956 + rtx tmp;
5958 + /* We can't handle V2DImode and V2DFmode vector constants here yet. */
5959 + gcc_assert (GET_MODE (op) != V2DImode
5960 + && GET_MODE (op) != V2DFmode);
5962 + tmp = CONST_VECTOR_ELT (op, elt);
5963 + if (GET_MODE (op) == V4SFmode
5964 + || GET_MODE (op) == V2SFmode)
5965 + tmp = gen_lowpart (SImode, tmp);
5966 + return INTVAL (tmp);
5969 +/* Return true if OP can be synthesized with a particular vspltisb, vspltish
5970 + or vspltisw instruction. OP is a CONST_VECTOR. Which instruction is used
5971 + depends on STEP and COPIES, one of which will be 1. If COPIES > 1,
5972 + all items are set to the same value and contain COPIES replicas of the
5973 + vsplt's operand; if STEP > 1, one in STEP elements is set to the vsplt's
5974 + operand and the others are set to the value of the operand's msb. */
5976 +static bool
5977 +vspltis_constant (rtx op, unsigned step, unsigned copies)
5979 + machine_mode mode = GET_MODE (op);
5980 + machine_mode inner = GET_MODE_INNER (mode);
5982 + unsigned i;
5983 + unsigned nunits;
5984 + unsigned bitsize;
5985 + unsigned mask;
5987 + HOST_WIDE_INT val;
5988 + HOST_WIDE_INT splat_val;
5989 + HOST_WIDE_INT msb_val;
5991 + if (mode == V2DImode || mode == V2DFmode || mode == V1TImode)
5992 + return false;
5994 + nunits = GET_MODE_NUNITS (mode);
5995 + bitsize = GET_MODE_BITSIZE (inner);
5996 + mask = GET_MODE_MASK (inner);
5998 + val = const_vector_elt_as_int (op, BYTES_BIG_ENDIAN ? nunits - 1 : 0);
5999 + splat_val = val;
6000 + msb_val = val >= 0 ? 0 : -1;
6002 + /* Construct the value to be splatted, if possible. If not, return 0. */
6003 + for (i = 2; i <= copies; i *= 2)
6005 + HOST_WIDE_INT small_val;
6006 + bitsize /= 2;
6007 + small_val = splat_val >> bitsize;
6008 + mask >>= bitsize;
6009 + if (splat_val != ((small_val << bitsize) | (small_val & mask)))
6010 + return false;
6011 + splat_val = small_val;
6014 + /* Check if SPLAT_VAL can really be the operand of a vspltis[bhw]. */
6015 + if (EASY_VECTOR_15 (splat_val))
6018 + /* Also check if we can splat, and then add the result to itself. Do so if
6019 + the value is positive, of if the splat instruction is using OP's mode;
6020 + for splat_val < 0, the splat and the add should use the same mode. */
6021 + else if (EASY_VECTOR_15_ADD_SELF (splat_val)
6022 + && (splat_val >= 0 || (step == 1 && copies == 1)))
6025 + /* Also check if are loading up the most significant bit which can be done by
6026 + loading up -1 and shifting the value left by -1. */
6027 + else if (EASY_VECTOR_MSB (splat_val, inner))
6030 + else
6031 + return false;
6033 + /* Check if VAL is present in every STEP-th element, and the
6034 + other elements are filled with its most significant bit. */
6035 + for (i = 1; i < nunits; ++i)
6037 + HOST_WIDE_INT desired_val;
6038 + unsigned elt = BYTES_BIG_ENDIAN ? nunits - 1 - i : i;
6039 + if ((i & (step - 1)) == 0)
6040 + desired_val = val;
6041 + else
6042 + desired_val = msb_val;
6044 + if (desired_val != const_vector_elt_as_int (op, elt))
6045 + return false;
6048 + return true;
6052 +/* Return true if OP is of the given MODE and can be synthesized
6053 + with a vspltisb, vspltish or vspltisw. */
6055 +bool
6056 +easy_altivec_constant (rtx op, machine_mode mode)
6058 + unsigned step, copies;
6060 + if (mode == VOIDmode)
6061 + mode = GET_MODE (op);
6062 + else if (mode != GET_MODE (op))
6063 + return false;
6065 + /* V2DI/V2DF was added with VSX. Only allow 0 and all 1's as easy
6066 + constants. */
6067 + if (mode == V2DFmode)
6068 + return zero_constant (op, mode);
6070 + else if (mode == V2DImode)
6072 + if (GET_CODE (CONST_VECTOR_ELT (op, 0)) != CONST_INT
6073 + || GET_CODE (CONST_VECTOR_ELT (op, 1)) != CONST_INT)
6074 + return false;
6076 + if (zero_constant (op, mode))
6077 + return true;
6079 + if (INTVAL (CONST_VECTOR_ELT (op, 0)) == -1
6080 + && INTVAL (CONST_VECTOR_ELT (op, 1)) == -1)
6081 + return true;
6083 + return false;
6086 + /* V1TImode is a special container for TImode. Ignore for now. */
6087 + else if (mode == V1TImode)
6088 + return false;
6090 + /* Start with a vspltisw. */
6091 + step = GET_MODE_NUNITS (mode) / 4;
6092 + copies = 1;
6094 + if (vspltis_constant (op, step, copies))
6095 + return true;
6097 + /* Then try with a vspltish. */
6098 + if (step == 1)
6099 + copies <<= 1;
6100 + else
6101 + step >>= 1;
6103 + if (vspltis_constant (op, step, copies))
6104 + return true;
6106 + /* And finally a vspltisb. */
6107 + if (step == 1)
6108 + copies <<= 1;
6109 + else
6110 + step >>= 1;
6112 + if (vspltis_constant (op, step, copies))
6113 + return true;
6115 + return false;
6118 +/* Generate a VEC_DUPLICATE representing a vspltis[bhw] instruction whose
6119 + result is OP. Abort if it is not possible. */
6121 +rtx
6122 +gen_easy_altivec_constant (rtx op)
6124 + machine_mode mode = GET_MODE (op);
6125 + int nunits = GET_MODE_NUNITS (mode);
6126 + rtx val = CONST_VECTOR_ELT (op, BYTES_BIG_ENDIAN ? nunits - 1 : 0);
6127 + unsigned step = nunits / 4;
6128 + unsigned copies = 1;
6130 + /* Start with a vspltisw. */
6131 + if (vspltis_constant (op, step, copies))
6132 + return gen_rtx_VEC_DUPLICATE (V4SImode, gen_lowpart (SImode, val));
6134 + /* Then try with a vspltish. */
6135 + if (step == 1)
6136 + copies <<= 1;
6137 + else
6138 + step >>= 1;
6140 + if (vspltis_constant (op, step, copies))
6141 + return gen_rtx_VEC_DUPLICATE (V8HImode, gen_lowpart (HImode, val));
6143 + /* And finally a vspltisb. */
6144 + if (step == 1)
6145 + copies <<= 1;
6146 + else
6147 + step >>= 1;
6149 + if (vspltis_constant (op, step, copies))
6150 + return gen_rtx_VEC_DUPLICATE (V16QImode, gen_lowpart (QImode, val));
6152 + gcc_unreachable ();
6155 +const char *
6156 +output_vec_const_move (rtx *operands)
6158 + int cst, cst2;
6159 + machine_mode mode;
6160 + rtx dest, vec;
6162 + dest = operands[0];
6163 + vec = operands[1];
6164 + mode = GET_MODE (dest);
6166 + if (TARGET_VSX)
6168 + if (zero_constant (vec, mode))
6169 + return "xxlxor %x0,%x0,%x0";
6171 + if ((mode == V2DImode || mode == V1TImode)
6172 + && INTVAL (CONST_VECTOR_ELT (vec, 0)) == -1
6173 + && INTVAL (CONST_VECTOR_ELT (vec, 1)) == -1)
6174 + return "vspltisw %0,-1";
6177 + if (TARGET_ALTIVEC)
6179 + rtx splat_vec;
6180 + if (zero_constant (vec, mode))
6181 + return "vxor %0,%0,%0";
6183 + splat_vec = gen_easy_altivec_constant (vec);
6184 + gcc_assert (GET_CODE (splat_vec) == VEC_DUPLICATE);
6185 + operands[1] = XEXP (splat_vec, 0);
6186 + if (!EASY_VECTOR_15 (INTVAL (operands[1])))
6187 + return "#";
6189 + switch (GET_MODE (splat_vec))
6191 + case V4SImode:
6192 + return "vspltisw %0,%1";
6194 + case V8HImode:
6195 + return "vspltish %0,%1";
6197 + case V16QImode:
6198 + return "vspltisb %0,%1";
6200 + default:
6201 + gcc_unreachable ();
6205 + gcc_assert (TARGET_SPE);
6207 + /* Vector constant 0 is handled as a splitter of V2SI, and in the
6208 + pattern of V1DI, V4HI, and V2SF.
6210 + FIXME: We should probably return # and add post reload
6211 + splitters for these, but this way is so easy ;-). */
6212 + cst = INTVAL (CONST_VECTOR_ELT (vec, 0));
6213 + cst2 = INTVAL (CONST_VECTOR_ELT (vec, 1));
6214 + operands[1] = CONST_VECTOR_ELT (vec, 0);
6215 + operands[2] = CONST_VECTOR_ELT (vec, 1);
6216 + if (cst == cst2)
6217 + return "li %0,%1\n\tevmergelo %0,%0,%0";
6218 + else if (WORDS_BIG_ENDIAN)
6219 + return "li %0,%1\n\tevmergelo %0,%0,%0\n\tli %0,%2";
6220 + else
6221 + return "li %0,%2\n\tevmergelo %0,%0,%0\n\tli %0,%1";
6224 +/* Initialize TARGET of vector PAIRED to VALS. */
6226 +void
6227 +paired_expand_vector_init (rtx target, rtx vals)
6229 + machine_mode mode = GET_MODE (target);
6230 + int n_elts = GET_MODE_NUNITS (mode);
6231 + int n_var = 0;
6232 + rtx x, new_rtx, tmp, constant_op, op1, op2;
6233 + int i;
6235 + for (i = 0; i < n_elts; ++i)
6237 + x = XVECEXP (vals, 0, i);
6238 + if (!(CONST_SCALAR_INT_P (x) || CONST_DOUBLE_P (x) || CONST_FIXED_P (x)))
6239 + ++n_var;
6241 + if (n_var == 0)
6243 + /* Load from constant pool. */
6244 + emit_move_insn (target, gen_rtx_CONST_VECTOR (mode, XVEC (vals, 0)));
6245 + return;
6248 + if (n_var == 2)
6250 + /* The vector is initialized only with non-constants. */
6251 + new_rtx = gen_rtx_VEC_CONCAT (V2SFmode, XVECEXP (vals, 0, 0),
6252 + XVECEXP (vals, 0, 1));
6254 + emit_move_insn (target, new_rtx);
6255 + return;
6258 + /* One field is non-constant and the other one is a constant. Load the
6259 + constant from the constant pool and use ps_merge instruction to
6260 + construct the whole vector. */
6261 + op1 = XVECEXP (vals, 0, 0);
6262 + op2 = XVECEXP (vals, 0, 1);
6264 + constant_op = (CONSTANT_P (op1)) ? op1 : op2;
6266 + tmp = gen_reg_rtx (GET_MODE (constant_op));
6267 + emit_move_insn (tmp, constant_op);
6269 + if (CONSTANT_P (op1))
6270 + new_rtx = gen_rtx_VEC_CONCAT (V2SFmode, tmp, op2);
6271 + else
6272 + new_rtx = gen_rtx_VEC_CONCAT (V2SFmode, op1, tmp);
6274 + emit_move_insn (target, new_rtx);
6277 +void
6278 +paired_expand_vector_move (rtx operands[])
6280 + rtx op0 = operands[0], op1 = operands[1];
6282 + emit_move_insn (op0, op1);
6285 +/* Emit vector compare for code RCODE. DEST is destination, OP1 and
6286 + OP2 are two VEC_COND_EXPR operands, CC_OP0 and CC_OP1 are the two
6287 + operands for the relation operation COND. This is a recursive
6288 + function. */
6290 +static void
6291 +paired_emit_vector_compare (enum rtx_code rcode,
6292 + rtx dest, rtx op0, rtx op1,
6293 + rtx cc_op0, rtx cc_op1)
6295 + rtx tmp = gen_reg_rtx (V2SFmode);
6296 + rtx tmp1, max, min;
6298 + gcc_assert (TARGET_PAIRED_FLOAT);
6299 + gcc_assert (GET_MODE (op0) == GET_MODE (op1));
6301 + switch (rcode)
6303 + case LT:
6304 + case LTU:
6305 + paired_emit_vector_compare (GE, dest, op1, op0, cc_op0, cc_op1);
6306 + return;
6307 + case GE:
6308 + case GEU:
6309 + emit_insn (gen_subv2sf3 (tmp, cc_op0, cc_op1));
6310 + emit_insn (gen_selv2sf4 (dest, tmp, op0, op1, CONST0_RTX (SFmode)));
6311 + return;
6312 + case LE:
6313 + case LEU:
6314 + paired_emit_vector_compare (GE, dest, op0, op1, cc_op1, cc_op0);
6315 + return;
6316 + case GT:
6317 + paired_emit_vector_compare (LE, dest, op1, op0, cc_op0, cc_op1);
6318 + return;
6319 + case EQ:
6320 + tmp1 = gen_reg_rtx (V2SFmode);
6321 + max = gen_reg_rtx (V2SFmode);
6322 + min = gen_reg_rtx (V2SFmode);
6323 + gen_reg_rtx (V2SFmode);
6325 + emit_insn (gen_subv2sf3 (tmp, cc_op0, cc_op1));
6326 + emit_insn (gen_selv2sf4
6327 + (max, tmp, cc_op0, cc_op1, CONST0_RTX (SFmode)));
6328 + emit_insn (gen_subv2sf3 (tmp, cc_op1, cc_op0));
6329 + emit_insn (gen_selv2sf4
6330 + (min, tmp, cc_op0, cc_op1, CONST0_RTX (SFmode)));
6331 + emit_insn (gen_subv2sf3 (tmp1, min, max));
6332 + emit_insn (gen_selv2sf4 (dest, tmp1, op0, op1, CONST0_RTX (SFmode)));
6333 + return;
6334 + case NE:
6335 + paired_emit_vector_compare (EQ, dest, op1, op0, cc_op0, cc_op1);
6336 + return;
6337 + case UNLE:
6338 + paired_emit_vector_compare (LE, dest, op1, op0, cc_op0, cc_op1);
6339 + return;
6340 + case UNLT:
6341 + paired_emit_vector_compare (LT, dest, op1, op0, cc_op0, cc_op1);
6342 + return;
6343 + case UNGE:
6344 + paired_emit_vector_compare (GE, dest, op1, op0, cc_op0, cc_op1);
6345 + return;
6346 + case UNGT:
6347 + paired_emit_vector_compare (GT, dest, op1, op0, cc_op0, cc_op1);
6348 + return;
6349 + default:
6350 + gcc_unreachable ();
6353 + return;
6356 +/* Emit vector conditional expression.
6357 + DEST is destination. OP1 and OP2 are two VEC_COND_EXPR operands.
6358 + CC_OP0 and CC_OP1 are the two operands for the relation operation COND. */
6360 +int
6361 +paired_emit_vector_cond_expr (rtx dest, rtx op1, rtx op2,
6362 + rtx cond, rtx cc_op0, rtx cc_op1)
6364 + enum rtx_code rcode = GET_CODE (cond);
6366 + if (!TARGET_PAIRED_FLOAT)
6367 + return 0;
6369 + paired_emit_vector_compare (rcode, dest, op1, op2, cc_op0, cc_op1);
6371 + return 1;
6374 +/* Initialize vector TARGET to VALS. */
6376 +void
6377 +rs6000_expand_vector_init (rtx target, rtx vals)
6379 + machine_mode mode = GET_MODE (target);
6380 + machine_mode inner_mode = GET_MODE_INNER (mode);
6381 + int n_elts = GET_MODE_NUNITS (mode);
6382 + int n_var = 0, one_var = -1;
6383 + bool all_same = true, all_const_zero = true;
6384 + rtx x, mem;
6385 + int i;
6387 + for (i = 0; i < n_elts; ++i)
6389 + x = XVECEXP (vals, 0, i);
6390 + if (!(CONST_SCALAR_INT_P (x) || CONST_DOUBLE_P (x) || CONST_FIXED_P (x)))
6391 + ++n_var, one_var = i;
6392 + else if (x != CONST0_RTX (inner_mode))
6393 + all_const_zero = false;
6395 + if (i > 0 && !rtx_equal_p (x, XVECEXP (vals, 0, 0)))
6396 + all_same = false;
6399 + if (n_var == 0)
6401 + rtx const_vec = gen_rtx_CONST_VECTOR (mode, XVEC (vals, 0));
6402 + bool int_vector_p = (GET_MODE_CLASS (mode) == MODE_VECTOR_INT);
6403 + if ((int_vector_p || TARGET_VSX) && all_const_zero)
6405 + /* Zero register. */
6406 + emit_insn (gen_rtx_SET (VOIDmode, target,
6407 + gen_rtx_XOR (mode, target, target)));
6408 + return;
6410 + else if (int_vector_p && easy_vector_constant (const_vec, mode))
6412 + /* Splat immediate. */
6413 + emit_insn (gen_rtx_SET (VOIDmode, target, const_vec));
6414 + return;
6416 + else
6418 + /* Load from constant pool. */
6419 + emit_move_insn (target, const_vec);
6420 + return;
6424 + /* Double word values on VSX can use xxpermdi or lxvdsx. */
6425 + if (VECTOR_MEM_VSX_P (mode) && (mode == V2DFmode || mode == V2DImode))
6427 + rtx op0 = XVECEXP (vals, 0, 0);
6428 + rtx op1 = XVECEXP (vals, 0, 1);
6429 + if (all_same)
6431 + if (!MEM_P (op0) && !REG_P (op0))
6432 + op0 = force_reg (inner_mode, op0);
6433 + if (mode == V2DFmode)
6434 + emit_insn (gen_vsx_splat_v2df (target, op0));
6435 + else
6436 + emit_insn (gen_vsx_splat_v2di (target, op0));
6438 + else
6440 + op0 = force_reg (inner_mode, op0);
6441 + op1 = force_reg (inner_mode, op1);
6442 + if (mode == V2DFmode)
6443 + emit_insn (gen_vsx_concat_v2df (target, op0, op1));
6444 + else
6445 + emit_insn (gen_vsx_concat_v2di (target, op0, op1));
6447 + return;
6450 + /* With single precision floating point on VSX, know that internally single
6451 + precision is actually represented as a double, and either make 2 V2DF
6452 + vectors, and convert these vectors to single precision, or do one
6453 + conversion, and splat the result to the other elements. */
6454 + if (mode == V4SFmode && VECTOR_MEM_VSX_P (mode))
6456 + if (all_same)
6458 + rtx freg = gen_reg_rtx (V4SFmode);
6459 + rtx sreg = force_reg (SFmode, XVECEXP (vals, 0, 0));
6460 + rtx cvt = ((TARGET_XSCVDPSPN)
6461 + ? gen_vsx_xscvdpspn_scalar (freg, sreg)
6462 + : gen_vsx_xscvdpsp_scalar (freg, sreg));
6464 + emit_insn (cvt);
6465 + emit_insn (gen_vsx_xxspltw_v4sf_direct (target, freg, const0_rtx));
6467 + else
6469 + rtx dbl_even = gen_reg_rtx (V2DFmode);
6470 + rtx dbl_odd = gen_reg_rtx (V2DFmode);
6471 + rtx flt_even = gen_reg_rtx (V4SFmode);
6472 + rtx flt_odd = gen_reg_rtx (V4SFmode);
6473 + rtx op0 = force_reg (SFmode, XVECEXP (vals, 0, 0));
6474 + rtx op1 = force_reg (SFmode, XVECEXP (vals, 0, 1));
6475 + rtx op2 = force_reg (SFmode, XVECEXP (vals, 0, 2));
6476 + rtx op3 = force_reg (SFmode, XVECEXP (vals, 0, 3));
6478 + emit_insn (gen_vsx_concat_v2sf (dbl_even, op0, op1));
6479 + emit_insn (gen_vsx_concat_v2sf (dbl_odd, op2, op3));
6480 + emit_insn (gen_vsx_xvcvdpsp (flt_even, dbl_even));
6481 + emit_insn (gen_vsx_xvcvdpsp (flt_odd, dbl_odd));
6482 + rs6000_expand_extract_even (target, flt_even, flt_odd);
6484 + return;
6487 + /* Store value to stack temp. Load vector element. Splat. However, splat
6488 + of 64-bit items is not supported on Altivec. */
6489 + if (all_same && GET_MODE_SIZE (inner_mode) <= 4)
6491 + mem = assign_stack_temp (mode, GET_MODE_SIZE (inner_mode));
6492 + emit_move_insn (adjust_address_nv (mem, inner_mode, 0),
6493 + XVECEXP (vals, 0, 0));
6494 + x = gen_rtx_UNSPEC (VOIDmode,
6495 + gen_rtvec (1, const0_rtx), UNSPEC_LVE);
6496 + emit_insn (gen_rtx_PARALLEL (VOIDmode,
6497 + gen_rtvec (2,
6498 + gen_rtx_SET (VOIDmode,
6499 + target, mem),
6500 + x)));
6501 + x = gen_rtx_VEC_SELECT (inner_mode, target,
6502 + gen_rtx_PARALLEL (VOIDmode,
6503 + gen_rtvec (1, const0_rtx)));
6504 + emit_insn (gen_rtx_SET (VOIDmode, target,
6505 + gen_rtx_VEC_DUPLICATE (mode, x)));
6506 + return;
6509 + /* One field is non-constant. Load constant then overwrite
6510 + varying field. */
6511 + if (n_var == 1)
6513 + rtx copy = copy_rtx (vals);
6515 + /* Load constant part of vector, substitute neighboring value for
6516 + varying element. */
6517 + XVECEXP (copy, 0, one_var) = XVECEXP (vals, 0, (one_var + 1) % n_elts);
6518 + rs6000_expand_vector_init (target, copy);
6520 + /* Insert variable. */
6521 + rs6000_expand_vector_set (target, XVECEXP (vals, 0, one_var), one_var);
6522 + return;
6525 + /* Construct the vector in memory one field at a time
6526 + and load the whole vector. */
6527 + mem = assign_stack_temp (mode, GET_MODE_SIZE (mode));
6528 + for (i = 0; i < n_elts; i++)
6529 + emit_move_insn (adjust_address_nv (mem, inner_mode,
6530 + i * GET_MODE_SIZE (inner_mode)),
6531 + XVECEXP (vals, 0, i));
6532 + emit_move_insn (target, mem);
6535 +/* Set field ELT of TARGET to VAL. */
6537 +void
6538 +rs6000_expand_vector_set (rtx target, rtx val, int elt)
6540 + machine_mode mode = GET_MODE (target);
6541 + machine_mode inner_mode = GET_MODE_INNER (mode);
6542 + rtx reg = gen_reg_rtx (mode);
6543 + rtx mask, mem, x;
6544 + int width = GET_MODE_SIZE (inner_mode);
6545 + int i;
6547 + if (VECTOR_MEM_VSX_P (mode) && (mode == V2DFmode || mode == V2DImode))
6549 + rtx (*set_func) (rtx, rtx, rtx, rtx)
6550 + = ((mode == V2DFmode) ? gen_vsx_set_v2df : gen_vsx_set_v2di);
6551 + emit_insn (set_func (target, target, val, GEN_INT (elt)));
6552 + return;
6555 + /* Simplify setting single element vectors like V1TImode. */
6556 + if (GET_MODE_SIZE (mode) == GET_MODE_SIZE (inner_mode) && elt == 0)
6558 + emit_move_insn (target, gen_lowpart (mode, val));
6559 + return;
6562 + /* Load single variable value. */
6563 + mem = assign_stack_temp (mode, GET_MODE_SIZE (inner_mode));
6564 + emit_move_insn (adjust_address_nv (mem, inner_mode, 0), val);
6565 + x = gen_rtx_UNSPEC (VOIDmode,
6566 + gen_rtvec (1, const0_rtx), UNSPEC_LVE);
6567 + emit_insn (gen_rtx_PARALLEL (VOIDmode,
6568 + gen_rtvec (2,
6569 + gen_rtx_SET (VOIDmode,
6570 + reg, mem),
6571 + x)));
6573 + /* Linear sequence. */
6574 + mask = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
6575 + for (i = 0; i < 16; ++i)
6576 + XVECEXP (mask, 0, i) = GEN_INT (i);
6578 + /* Set permute mask to insert element into target. */
6579 + for (i = 0; i < width; ++i)
6580 + XVECEXP (mask, 0, elt*width + i)
6581 + = GEN_INT (i + 0x10);
6582 + x = gen_rtx_CONST_VECTOR (V16QImode, XVEC (mask, 0));
6584 + if (BYTES_BIG_ENDIAN)
6585 + x = gen_rtx_UNSPEC (mode,
6586 + gen_rtvec (3, target, reg,
6587 + force_reg (V16QImode, x)),
6588 + UNSPEC_VPERM);
6589 + else
6591 + /* Invert selector. We prefer to generate VNAND on P8 so
6592 + that future fusion opportunities can kick in, but must
6593 + generate VNOR elsewhere. */
6594 + rtx notx = gen_rtx_NOT (V16QImode, force_reg (V16QImode, x));
6595 + rtx iorx = (TARGET_P8_VECTOR
6596 + ? gen_rtx_IOR (V16QImode, notx, notx)
6597 + : gen_rtx_AND (V16QImode, notx, notx));
6598 + rtx tmp = gen_reg_rtx (V16QImode);
6599 + emit_insn (gen_rtx_SET (VOIDmode, tmp, iorx));
6601 + /* Permute with operands reversed and adjusted selector. */
6602 + x = gen_rtx_UNSPEC (mode, gen_rtvec (3, reg, target, tmp),
6603 + UNSPEC_VPERM);
6606 + emit_insn (gen_rtx_SET (VOIDmode, target, x));
6609 +/* Extract field ELT from VEC into TARGET. */
6611 +void
6612 +rs6000_expand_vector_extract (rtx target, rtx vec, int elt)
6614 + machine_mode mode = GET_MODE (vec);
6615 + machine_mode inner_mode = GET_MODE_INNER (mode);
6616 + rtx mem;
6618 + if (VECTOR_MEM_VSX_P (mode))
6620 + switch (mode)
6622 + default:
6623 + break;
6624 + case V1TImode:
6625 + gcc_assert (elt == 0 && inner_mode == TImode);
6626 + emit_move_insn (target, gen_lowpart (TImode, vec));
6627 + break;
6628 + case V2DFmode:
6629 + emit_insn (gen_vsx_extract_v2df (target, vec, GEN_INT (elt)));
6630 + return;
6631 + case V2DImode:
6632 + emit_insn (gen_vsx_extract_v2di (target, vec, GEN_INT (elt)));
6633 + return;
6634 + case V4SFmode:
6635 + emit_insn (gen_vsx_extract_v4sf (target, vec, GEN_INT (elt)));
6636 + return;
6640 + /* Allocate mode-sized buffer. */
6641 + mem = assign_stack_temp (mode, GET_MODE_SIZE (mode));
6643 + emit_move_insn (mem, vec);
6645 + /* Add offset to field within buffer matching vector element. */
6646 + mem = adjust_address_nv (mem, inner_mode, elt * GET_MODE_SIZE (inner_mode));
6648 + emit_move_insn (target, adjust_address_nv (mem, inner_mode, 0));
6651 +/* Generates shifts and masks for a pair of rldicl or rldicr insns to
6652 + implement ANDing by the mask IN. */
6653 +void
6654 +build_mask64_2_operands (rtx in, rtx *out)
6656 + unsigned HOST_WIDE_INT c, lsb, m1, m2;
6657 + int shift;
6659 + gcc_assert (GET_CODE (in) == CONST_INT);
6661 + c = INTVAL (in);
6662 + if (c & 1)
6664 + /* Assume c initially something like 0x00fff000000fffff. The idea
6665 + is to rotate the word so that the middle ^^^^^^ group of zeros
6666 + is at the MS end and can be cleared with an rldicl mask. We then
6667 + rotate back and clear off the MS ^^ group of zeros with a
6668 + second rldicl. */
6669 + c = ~c; /* c == 0xff000ffffff00000 */
6670 + lsb = c & -c; /* lsb == 0x0000000000100000 */
6671 + m1 = -lsb; /* m1 == 0xfffffffffff00000 */
6672 + c = ~c; /* c == 0x00fff000000fffff */
6673 + c &= -lsb; /* c == 0x00fff00000000000 */
6674 + lsb = c & -c; /* lsb == 0x0000100000000000 */
6675 + c = ~c; /* c == 0xff000fffffffffff */
6676 + c &= -lsb; /* c == 0xff00000000000000 */
6677 + shift = 0;
6678 + while ((lsb >>= 1) != 0)
6679 + shift++; /* shift == 44 on exit from loop */
6680 + m1 <<= 64 - shift; /* m1 == 0xffffff0000000000 */
6681 + m1 = ~m1; /* m1 == 0x000000ffffffffff */
6682 + m2 = ~c; /* m2 == 0x00ffffffffffffff */
6684 + else
6686 + /* Assume c initially something like 0xff000f0000000000. The idea
6687 + is to rotate the word so that the ^^^ middle group of zeros
6688 + is at the LS end and can be cleared with an rldicr mask. We then
6689 + rotate back and clear off the LS group of ^^^^^^^^^^ zeros with
6690 + a second rldicr. */
6691 + lsb = c & -c; /* lsb == 0x0000010000000000 */
6692 + m2 = -lsb; /* m2 == 0xffffff0000000000 */
6693 + c = ~c; /* c == 0x00fff0ffffffffff */
6694 + c &= -lsb; /* c == 0x00fff00000000000 */
6695 + lsb = c & -c; /* lsb == 0x0000100000000000 */
6696 + c = ~c; /* c == 0xff000fffffffffff */
6697 + c &= -lsb; /* c == 0xff00000000000000 */
6698 + shift = 0;
6699 + while ((lsb >>= 1) != 0)
6700 + shift++; /* shift == 44 on exit from loop */
6701 + m1 = ~c; /* m1 == 0x00ffffffffffffff */
6702 + m1 >>= shift; /* m1 == 0x0000000000000fff */
6703 + m1 = ~m1; /* m1 == 0xfffffffffffff000 */
6706 + /* Note that when we only have two 0->1 and 1->0 transitions, one of the
6707 + masks will be all 1's. We are guaranteed more than one transition. */
6708 + out[0] = GEN_INT (64 - shift);
6709 + out[1] = GEN_INT (m1);
6710 + out[2] = GEN_INT (shift);
6711 + out[3] = GEN_INT (m2);
6714 +/* Return TRUE if OP is an invalid SUBREG operation on the e500. */
6716 +bool
6717 +invalid_e500_subreg (rtx op, machine_mode mode)
6719 + if (TARGET_E500_DOUBLE)
6721 + /* Reject (subreg:SI (reg:DF)); likewise with subreg:DI or
6722 + subreg:TI and reg:TF. Decimal float modes are like integer
6723 + modes (only low part of each register used) for this
6724 + purpose. */
6725 + if (GET_CODE (op) == SUBREG
6726 + && (mode == SImode || mode == DImode || mode == TImode
6727 + || mode == DDmode || mode == TDmode || mode == PTImode)
6728 + && REG_P (SUBREG_REG (op))
6729 + && (GET_MODE (SUBREG_REG (op)) == DFmode
6730 + || GET_MODE (SUBREG_REG (op)) == TFmode))
6731 + return true;
6733 + /* Reject (subreg:DF (reg:DI)); likewise with subreg:TF and
6734 + reg:TI. */
6735 + if (GET_CODE (op) == SUBREG
6736 + && (mode == DFmode || mode == TFmode)
6737 + && REG_P (SUBREG_REG (op))
6738 + && (GET_MODE (SUBREG_REG (op)) == DImode
6739 + || GET_MODE (SUBREG_REG (op)) == TImode
6740 + || GET_MODE (SUBREG_REG (op)) == PTImode
6741 + || GET_MODE (SUBREG_REG (op)) == DDmode
6742 + || GET_MODE (SUBREG_REG (op)) == TDmode))
6743 + return true;
6746 + if (TARGET_SPE
6747 + && GET_CODE (op) == SUBREG
6748 + && mode == SImode
6749 + && REG_P (SUBREG_REG (op))
6750 + && SPE_VECTOR_MODE (GET_MODE (SUBREG_REG (op))))
6751 + return true;
6753 + return false;
6756 +/* Return alignment of TYPE. Existing alignment is ALIGN. HOW
6757 + selects whether the alignment is abi mandated, optional, or
6758 + both abi and optional alignment. */
6760 +unsigned int
6761 +rs6000_data_alignment (tree type, unsigned int align, enum data_align how)
6763 + if (how != align_opt)
6765 + if (TREE_CODE (type) == VECTOR_TYPE)
6767 + if ((TARGET_SPE && SPE_VECTOR_MODE (TYPE_MODE (type)))
6768 + || (TARGET_PAIRED_FLOAT && PAIRED_VECTOR_MODE (TYPE_MODE (type))))
6770 + if (align < 64)
6771 + align = 64;
6773 + else if (align < 128)
6774 + align = 128;
6776 + else if (TARGET_E500_DOUBLE
6777 + && TREE_CODE (type) == REAL_TYPE
6778 + && TYPE_MODE (type) == DFmode)
6780 + if (align < 64)
6781 + align = 64;
6785 + if (how != align_abi)
6787 + if (TREE_CODE (type) == ARRAY_TYPE
6788 + && TYPE_MODE (TREE_TYPE (type)) == QImode)
6790 + if (align < BITS_PER_WORD)
6791 + align = BITS_PER_WORD;
6795 + return align;
6798 +/* Previous GCC releases forced all vector types to have 16-byte alignment. */
6800 +bool
6801 +rs6000_special_adjust_field_align_p (tree field, unsigned int computed)
6803 + if (TARGET_ALTIVEC && TREE_CODE (TREE_TYPE (field)) == VECTOR_TYPE)
6805 + if (computed != 128)
6807 + static bool warned;
6808 + if (!warned && warn_psabi)
6810 + warned = true;
6811 + inform (input_location,
6812 + "the layout of aggregates containing vectors with"
6813 + " %d-byte alignment has changed in GCC 5",
6814 + computed / BITS_PER_UNIT);
6817 + /* In current GCC there is no special case. */
6818 + return false;
6821 + return false;
6824 +/* AIX increases natural record alignment to doubleword if the first
6825 + field is an FP double while the FP fields remain word aligned. */
6827 +unsigned int
6828 +rs6000_special_round_type_align (tree type, unsigned int computed,
6829 + unsigned int specified)
6831 + unsigned int align = MAX (computed, specified);
6832 + tree field = TYPE_FIELDS (type);
6834 + /* Skip all non field decls */
6835 + while (field != NULL && TREE_CODE (field) != FIELD_DECL)
6836 + field = DECL_CHAIN (field);
6838 + if (field != NULL && field != type)
6840 + type = TREE_TYPE (field);
6841 + while (TREE_CODE (type) == ARRAY_TYPE)
6842 + type = TREE_TYPE (type);
6844 + if (type != error_mark_node && TYPE_MODE (type) == DFmode)
6845 + align = MAX (align, 64);
6848 + return align;
6851 +/* Darwin increases record alignment to the natural alignment of
6852 + the first field. */
6854 +unsigned int
6855 +darwin_rs6000_special_round_type_align (tree type, unsigned int computed,
6856 + unsigned int specified)
6858 + unsigned int align = MAX (computed, specified);
6860 + if (TYPE_PACKED (type))
6861 + return align;
6863 + /* Find the first field, looking down into aggregates. */
6864 + do {
6865 + tree field = TYPE_FIELDS (type);
6866 + /* Skip all non field decls */
6867 + while (field != NULL && TREE_CODE (field) != FIELD_DECL)
6868 + field = DECL_CHAIN (field);
6869 + if (! field)
6870 + break;
6871 + /* A packed field does not contribute any extra alignment. */
6872 + if (DECL_PACKED (field))
6873 + return align;
6874 + type = TREE_TYPE (field);
6875 + while (TREE_CODE (type) == ARRAY_TYPE)
6876 + type = TREE_TYPE (type);
6877 + } while (AGGREGATE_TYPE_P (type));
6879 + if (! AGGREGATE_TYPE_P (type) && type != error_mark_node)
6880 + align = MAX (align, TYPE_ALIGN (type));
6882 + return align;
6885 +/* Return 1 for an operand in small memory on V.4/eabi. */
6887 +int
6888 +small_data_operand (rtx op ATTRIBUTE_UNUSED,
6889 + machine_mode mode ATTRIBUTE_UNUSED)
6891 +#if TARGET_ELF
6892 + rtx sym_ref;
6894 + if (rs6000_sdata == SDATA_NONE || rs6000_sdata == SDATA_DATA)
6895 + return 0;
6897 + if (DEFAULT_ABI != ABI_V4)
6898 + return 0;
6900 + /* Vector and float memory instructions have a limited offset on the
6901 + SPE, so using a vector or float variable directly as an operand is
6902 + not useful. */
6903 + if (TARGET_SPE
6904 + && (SPE_VECTOR_MODE (mode) || FLOAT_MODE_P (mode)))
6905 + return 0;
6907 + if (GET_CODE (op) == SYMBOL_REF)
6908 + sym_ref = op;
6910 + else if (GET_CODE (op) != CONST
6911 + || GET_CODE (XEXP (op, 0)) != PLUS
6912 + || GET_CODE (XEXP (XEXP (op, 0), 0)) != SYMBOL_REF
6913 + || GET_CODE (XEXP (XEXP (op, 0), 1)) != CONST_INT)
6914 + return 0;
6916 + else
6918 + rtx sum = XEXP (op, 0);
6919 + HOST_WIDE_INT summand;
6921 + /* We have to be careful here, because it is the referenced address
6922 + that must be 32k from _SDA_BASE_, not just the symbol. */
6923 + summand = INTVAL (XEXP (sum, 1));
6924 + if (summand < 0 || summand > g_switch_value)
6925 + return 0;
6927 + sym_ref = XEXP (sum, 0);
6930 + return SYMBOL_REF_SMALL_P (sym_ref);
6931 +#else
6932 + return 0;
6933 +#endif
6936 +/* Return true if either operand is a general purpose register. */
6938 +bool
6939 +gpr_or_gpr_p (rtx op0, rtx op1)
6941 + return ((REG_P (op0) && INT_REGNO_P (REGNO (op0)))
6942 + || (REG_P (op1) && INT_REGNO_P (REGNO (op1))));
6945 +/* Return true if this is a move direct operation between GPR registers and
6946 + floating point/VSX registers. */
6948 +bool
6949 +direct_move_p (rtx op0, rtx op1)
6951 + int regno0, regno1;
6953 + if (!REG_P (op0) || !REG_P (op1))
6954 + return false;
6956 + if (!TARGET_DIRECT_MOVE && !TARGET_MFPGPR)
6957 + return false;
6959 + regno0 = REGNO (op0);
6960 + regno1 = REGNO (op1);
6961 + if (regno0 >= FIRST_PSEUDO_REGISTER || regno1 >= FIRST_PSEUDO_REGISTER)
6962 + return false;
6964 + if (INT_REGNO_P (regno0))
6965 + return (TARGET_DIRECT_MOVE) ? VSX_REGNO_P (regno1) : FP_REGNO_P (regno1);
6967 + else if (INT_REGNO_P (regno1))
6969 + if (TARGET_MFPGPR && FP_REGNO_P (regno0))
6970 + return true;
6972 + else if (TARGET_DIRECT_MOVE && VSX_REGNO_P (regno0))
6973 + return true;
6976 + return false;
6979 +/* Return true if this is a load or store quad operation. This function does
6980 + not handle the atomic quad memory instructions. */
6982 +bool
6983 +quad_load_store_p (rtx op0, rtx op1)
6985 + bool ret;
6987 + if (!TARGET_QUAD_MEMORY)
6988 + ret = false;
6990 + else if (REG_P (op0) && MEM_P (op1))
6991 + ret = (quad_int_reg_operand (op0, GET_MODE (op0))
6992 + && quad_memory_operand (op1, GET_MODE (op1))
6993 + && !reg_overlap_mentioned_p (op0, op1));
6995 + else if (MEM_P (op0) && REG_P (op1))
6996 + ret = (quad_memory_operand (op0, GET_MODE (op0))
6997 + && quad_int_reg_operand (op1, GET_MODE (op1)));
6999 + else
7000 + ret = false;
7002 + if (TARGET_DEBUG_ADDR)
7004 + fprintf (stderr, "\n========== quad_load_store, return %s\n",
7005 + ret ? "true" : "false");
7006 + debug_rtx (gen_rtx_SET (VOIDmode, op0, op1));
7009 + return ret;
7012 +/* Given an address, return a constant offset term if one exists. */
7014 +static rtx
7015 +address_offset (rtx op)
7017 + if (GET_CODE (op) == PRE_INC
7018 + || GET_CODE (op) == PRE_DEC)
7019 + op = XEXP (op, 0);
7020 + else if (GET_CODE (op) == PRE_MODIFY
7021 + || GET_CODE (op) == LO_SUM)
7022 + op = XEXP (op, 1);
7024 + if (GET_CODE (op) == CONST)
7025 + op = XEXP (op, 0);
7027 + if (GET_CODE (op) == PLUS)
7028 + op = XEXP (op, 1);
7030 + if (CONST_INT_P (op))
7031 + return op;
7033 + return NULL_RTX;
7036 +/* Return true if the MEM operand is a memory operand suitable for use
7037 + with a (full width, possibly multiple) gpr load/store. On
7038 + powerpc64 this means the offset must be divisible by 4.
7039 + Implements 'Y' constraint.
7041 + Accept direct, indexed, offset, lo_sum and tocref. Since this is
7042 + a constraint function we know the operand has satisfied a suitable
7043 + memory predicate. Also accept some odd rtl generated by reload
7044 + (see rs6000_legitimize_reload_address for various forms). It is
7045 + important that reload rtl be accepted by appropriate constraints
7046 + but not by the operand predicate.
7048 + Offsetting a lo_sum should not be allowed, except where we know by
7049 + alignment that a 32k boundary is not crossed, but see the ???
7050 + comment in rs6000_legitimize_reload_address. Note that by
7051 + "offsetting" here we mean a further offset to access parts of the
7052 + MEM. It's fine to have a lo_sum where the inner address is offset
7053 + from a sym, since the same sym+offset will appear in the high part
7054 + of the address calculation. */
7056 +bool
7057 +mem_operand_gpr (rtx op, machine_mode mode)
7059 + unsigned HOST_WIDE_INT offset;
7060 + int extra;
7061 + rtx addr = XEXP (op, 0);
7063 + op = address_offset (addr);
7064 + if (op == NULL_RTX)
7065 + return true;
7067 + offset = INTVAL (op);
7068 + if (TARGET_POWERPC64 && (offset & 3) != 0)
7069 + return false;
7071 + extra = GET_MODE_SIZE (mode) - UNITS_PER_WORD;
7072 + if (extra < 0)
7073 + extra = 0;
7075 + if (GET_CODE (addr) == LO_SUM)
7076 + /* For lo_sum addresses, we must allow any offset except one that
7077 + causes a wrap, so test only the low 16 bits. */
7078 + offset = ((offset & 0xffff) ^ 0x8000) - 0x8000;
7080 + return offset + 0x8000 < 0x10000u - extra;
7083 +/* Subroutines of rs6000_legitimize_address and rs6000_legitimate_address_p. */
7085 +static bool
7086 +reg_offset_addressing_ok_p (machine_mode mode)
7088 + switch (mode)
7090 + case V16QImode:
7091 + case V8HImode:
7092 + case V4SFmode:
7093 + case V4SImode:
7094 + case V2DFmode:
7095 + case V2DImode:
7096 + case V1TImode:
7097 + case TImode:
7098 + /* AltiVec/VSX vector modes. Only reg+reg addressing is valid. While
7099 + TImode is not a vector mode, if we want to use the VSX registers to
7100 + move it around, we need to restrict ourselves to reg+reg
7101 + addressing. */
7102 + if (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode))
7103 + return false;
7104 + break;
7106 + case V4HImode:
7107 + case V2SImode:
7108 + case V1DImode:
7109 + case V2SFmode:
7110 + /* Paired vector modes. Only reg+reg addressing is valid. */
7111 + if (TARGET_PAIRED_FLOAT)
7112 + return false;
7113 + break;
7115 + case SDmode:
7116 + /* If we can do direct load/stores of SDmode, restrict it to reg+reg
7117 + addressing for the LFIWZX and STFIWX instructions. */
7118 + if (TARGET_NO_SDMODE_STACK)
7119 + return false;
7120 + break;
7122 + default:
7123 + break;
7126 + return true;
7129 +static bool
7130 +virtual_stack_registers_memory_p (rtx op)
7132 + int regnum;
7134 + if (GET_CODE (op) == REG)
7135 + regnum = REGNO (op);
7137 + else if (GET_CODE (op) == PLUS
7138 + && GET_CODE (XEXP (op, 0)) == REG
7139 + && GET_CODE (XEXP (op, 1)) == CONST_INT)
7140 + regnum = REGNO (XEXP (op, 0));
7142 + else
7143 + return false;
7145 + return (regnum >= FIRST_VIRTUAL_REGISTER
7146 + && regnum <= LAST_VIRTUAL_POINTER_REGISTER);
7149 +/* Return true if a MODE sized memory accesses to OP plus OFFSET
7150 + is known to not straddle a 32k boundary. */
7152 +static bool
7153 +offsettable_ok_by_alignment (rtx op, HOST_WIDE_INT offset,
7154 + machine_mode mode)
7156 + tree decl, type;
7157 + unsigned HOST_WIDE_INT dsize, dalign, lsb, mask;
7159 + if (GET_CODE (op) != SYMBOL_REF)
7160 + return false;
7162 + dsize = GET_MODE_SIZE (mode);
7163 + decl = SYMBOL_REF_DECL (op);
7164 + if (!decl)
7166 + if (dsize == 0)
7167 + return false;
7169 + /* -fsection-anchors loses the original SYMBOL_REF_DECL when
7170 + replacing memory addresses with an anchor plus offset. We
7171 + could find the decl by rummaging around in the block->objects
7172 + VEC for the given offset but that seems like too much work. */
7173 + dalign = BITS_PER_UNIT;
7174 + if (SYMBOL_REF_HAS_BLOCK_INFO_P (op)
7175 + && SYMBOL_REF_ANCHOR_P (op)
7176 + && SYMBOL_REF_BLOCK (op) != NULL)
7178 + struct object_block *block = SYMBOL_REF_BLOCK (op);
7180 + dalign = block->alignment;
7181 + offset += SYMBOL_REF_BLOCK_OFFSET (op);
7183 + else if (CONSTANT_POOL_ADDRESS_P (op))
7185 + /* It would be nice to have get_pool_align().. */
7186 + machine_mode cmode = get_pool_mode (op);
7188 + dalign = GET_MODE_ALIGNMENT (cmode);
7191 + else if (DECL_P (decl))
7193 + dalign = DECL_ALIGN (decl);
7195 + if (dsize == 0)
7197 + /* Allow BLKmode when the entire object is known to not
7198 + cross a 32k boundary. */
7199 + if (!DECL_SIZE_UNIT (decl))
7200 + return false;
7202 + if (!tree_fits_uhwi_p (DECL_SIZE_UNIT (decl)))
7203 + return false;
7205 + dsize = tree_to_uhwi (DECL_SIZE_UNIT (decl));
7206 + if (dsize > 32768)
7207 + return false;
7209 + return dalign / BITS_PER_UNIT >= dsize;
7212 + else
7214 + type = TREE_TYPE (decl);
7216 + dalign = TYPE_ALIGN (type);
7217 + if (CONSTANT_CLASS_P (decl))
7218 + dalign = CONSTANT_ALIGNMENT (decl, dalign);
7219 + else
7220 + dalign = DATA_ALIGNMENT (decl, dalign);
7222 + if (dsize == 0)
7224 + /* BLKmode, check the entire object. */
7225 + if (TREE_CODE (decl) == STRING_CST)
7226 + dsize = TREE_STRING_LENGTH (decl);
7227 + else if (TYPE_SIZE_UNIT (type)
7228 + && tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)))
7229 + dsize = tree_to_uhwi (TYPE_SIZE_UNIT (type));
7230 + else
7231 + return false;
7232 + if (dsize > 32768)
7233 + return false;
7235 + return dalign / BITS_PER_UNIT >= dsize;
7239 + /* Find how many bits of the alignment we know for this access. */
7240 + mask = dalign / BITS_PER_UNIT - 1;
7241 + lsb = offset & -offset;
7242 + mask &= lsb - 1;
7243 + dalign = mask + 1;
7245 + return dalign >= dsize;
7248 +static bool
7249 +constant_pool_expr_p (rtx op)
7251 + rtx base, offset;
7253 + split_const (op, &base, &offset);
7254 + return (GET_CODE (base) == SYMBOL_REF
7255 + && CONSTANT_POOL_ADDRESS_P (base)
7256 + && ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (base), Pmode));
7259 +static const_rtx tocrel_base, tocrel_offset;
7261 +/* Return true if OP is a toc pointer relative address (the output
7262 + of create_TOC_reference). If STRICT, do not match high part or
7263 + non-split -mcmodel=large/medium toc pointer relative addresses. */
7265 +bool
7266 +toc_relative_expr_p (const_rtx op, bool strict)
7268 + if (!TARGET_TOC)
7269 + return false;
7271 + if (TARGET_CMODEL != CMODEL_SMALL)
7273 + /* Only match the low part. */
7274 + if (GET_CODE (op) == LO_SUM
7275 + && REG_P (XEXP (op, 0))
7276 + && INT_REG_OK_FOR_BASE_P (XEXP (op, 0), strict))
7277 + op = XEXP (op, 1);
7278 + else if (strict)
7279 + return false;
7282 + tocrel_base = op;
7283 + tocrel_offset = const0_rtx;
7284 + if (GET_CODE (op) == PLUS && add_cint_operand (XEXP (op, 1), GET_MODE (op)))
7286 + tocrel_base = XEXP (op, 0);
7287 + tocrel_offset = XEXP (op, 1);
7290 + return (GET_CODE (tocrel_base) == UNSPEC
7291 + && XINT (tocrel_base, 1) == UNSPEC_TOCREL);
7294 +/* Return true if X is a constant pool address, and also for cmodel=medium
7295 + if X is a toc-relative address known to be offsettable within MODE. */
7297 +bool
7298 +legitimate_constant_pool_address_p (const_rtx x, machine_mode mode,
7299 + bool strict)
7301 + return (toc_relative_expr_p (x, strict)
7302 + && (TARGET_CMODEL != CMODEL_MEDIUM
7303 + || constant_pool_expr_p (XVECEXP (tocrel_base, 0, 0))
7304 + || mode == QImode
7305 + || offsettable_ok_by_alignment (XVECEXP (tocrel_base, 0, 0),
7306 + INTVAL (tocrel_offset), mode)));
7309 +static bool
7310 +legitimate_small_data_p (machine_mode mode, rtx x)
7312 + return (DEFAULT_ABI == ABI_V4
7313 + && !flag_pic && !TARGET_TOC
7314 + && (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == CONST)
7315 + && small_data_operand (x, mode));
7318 +/* SPE offset addressing is limited to 5-bits worth of double words. */
7319 +#define SPE_CONST_OFFSET_OK(x) (((x) & ~0xf8) == 0)
7321 +bool
7322 +rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
7323 + bool strict, bool worst_case)
7325 + unsigned HOST_WIDE_INT offset;
7326 + unsigned int extra;
7328 + if (GET_CODE (x) != PLUS)
7329 + return false;
7330 + if (!REG_P (XEXP (x, 0)))
7331 + return false;
7332 + if (!INT_REG_OK_FOR_BASE_P (XEXP (x, 0), strict))
7333 + return false;
7334 + if (!reg_offset_addressing_ok_p (mode))
7335 + return virtual_stack_registers_memory_p (x);
7336 + if (legitimate_constant_pool_address_p (x, mode, strict || lra_in_progress))
7337 + return true;
7338 + if (GET_CODE (XEXP (x, 1)) != CONST_INT)
7339 + return false;
7341 + offset = INTVAL (XEXP (x, 1));
7342 + extra = 0;
7343 + switch (mode)
7345 + case V4HImode:
7346 + case V2SImode:
7347 + case V1DImode:
7348 + case V2SFmode:
7349 + /* SPE vector modes. */
7350 + return SPE_CONST_OFFSET_OK (offset);
7352 + case DFmode:
7353 + case DDmode:
7354 + case DImode:
7355 + /* On e500v2, we may have:
7357 + (subreg:DF (mem:DI (plus (reg) (const_int))) 0).
7359 + Which gets addressed with evldd instructions. */
7360 + if (TARGET_E500_DOUBLE)
7361 + return SPE_CONST_OFFSET_OK (offset);
7363 + /* If we are using VSX scalar loads, restrict ourselves to reg+reg
7364 + addressing. */
7365 + if (VECTOR_MEM_VSX_P (mode))
7366 + return false;
7368 + if (!worst_case)
7369 + break;
7370 + if (!TARGET_POWERPC64)
7371 + extra = 4;
7372 + else if (offset & 3)
7373 + return false;
7374 + break;
7376 + case TFmode:
7377 + if (TARGET_E500_DOUBLE)
7378 + return (SPE_CONST_OFFSET_OK (offset)
7379 + && SPE_CONST_OFFSET_OK (offset + 8));
7380 + /* fall through */
7382 + case TDmode:
7383 + case TImode:
7384 + case PTImode:
7385 + extra = 8;
7386 + if (!worst_case)
7387 + break;
7388 + if (!TARGET_POWERPC64)
7389 + extra = 12;
7390 + else if (offset & 3)
7391 + return false;
7392 + break;
7394 + default:
7395 + break;
7398 + offset += 0x8000;
7399 + return offset < 0x10000 - extra;
7402 +bool
7403 +legitimate_indexed_address_p (rtx x, int strict)
7405 + rtx op0, op1;
7407 + if (GET_CODE (x) != PLUS)
7408 + return false;
7410 + op0 = XEXP (x, 0);
7411 + op1 = XEXP (x, 1);
7413 + /* Recognize the rtl generated by reload which we know will later be
7414 + replaced with proper base and index regs. */
7415 + if (!strict
7416 + && reload_in_progress
7417 + && (REG_P (op0) || GET_CODE (op0) == PLUS)
7418 + && REG_P (op1))
7419 + return true;
7421 + return (REG_P (op0) && REG_P (op1)
7422 + && ((INT_REG_OK_FOR_BASE_P (op0, strict)
7423 + && INT_REG_OK_FOR_INDEX_P (op1, strict))
7424 + || (INT_REG_OK_FOR_BASE_P (op1, strict)
7425 + && INT_REG_OK_FOR_INDEX_P (op0, strict))));
7428 +bool
7429 +avoiding_indexed_address_p (machine_mode mode)
7431 + /* Avoid indexed addressing for modes that have non-indexed
7432 + load/store instruction forms. */
7433 + return (TARGET_AVOID_XFORM && VECTOR_MEM_NONE_P (mode));
7436 +bool
7437 +legitimate_indirect_address_p (rtx x, int strict)
7439 + return GET_CODE (x) == REG && INT_REG_OK_FOR_BASE_P (x, strict);
7442 +bool
7443 +macho_lo_sum_memory_operand (rtx x, machine_mode mode)
7445 + if (!TARGET_MACHO || !flag_pic
7446 + || mode != SImode || GET_CODE (x) != MEM)
7447 + return false;
7448 + x = XEXP (x, 0);
7450 + if (GET_CODE (x) != LO_SUM)
7451 + return false;
7452 + if (GET_CODE (XEXP (x, 0)) != REG)
7453 + return false;
7454 + if (!INT_REG_OK_FOR_BASE_P (XEXP (x, 0), 0))
7455 + return false;
7456 + x = XEXP (x, 1);
7458 + return CONSTANT_P (x);
7461 +static bool
7462 +legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
7464 + if (GET_CODE (x) != LO_SUM)
7465 + return false;
7466 + if (GET_CODE (XEXP (x, 0)) != REG)
7467 + return false;
7468 + if (!INT_REG_OK_FOR_BASE_P (XEXP (x, 0), strict))
7469 + return false;
7470 + /* Restrict addressing for DI because of our SUBREG hackery. */
7471 + if (TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
7472 + return false;
7473 + x = XEXP (x, 1);
7475 + if (TARGET_ELF || TARGET_MACHO)
7477 + bool large_toc_ok;
7479 + if (DEFAULT_ABI == ABI_V4 && flag_pic)
7480 + return false;
7481 + /* LRA don't use LEGITIMIZE_RELOAD_ADDRESS as it usually calls
7482 + push_reload from reload pass code. LEGITIMIZE_RELOAD_ADDRESS
7483 + recognizes some LO_SUM addresses as valid although this
7484 + function says opposite. In most cases, LRA through different
7485 + transformations can generate correct code for address reloads.
7486 + It can not manage only some LO_SUM cases. So we need to add
7487 + code analogous to one in rs6000_legitimize_reload_address for
7488 + LOW_SUM here saying that some addresses are still valid. */
7489 + large_toc_ok = (lra_in_progress && TARGET_CMODEL != CMODEL_SMALL
7490 + && small_toc_ref (x, VOIDmode));
7491 + if (TARGET_TOC && ! large_toc_ok)
7492 + return false;
7493 + if (GET_MODE_NUNITS (mode) != 1)
7494 + return false;
7495 + if (GET_MODE_SIZE (mode) > UNITS_PER_WORD
7496 + && !(/* ??? Assume floating point reg based on mode? */
7497 + TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
7498 + && (mode == DFmode || mode == DDmode)))
7499 + return false;
7501 + return CONSTANT_P (x) || large_toc_ok;
7504 + return false;
7508 +/* Try machine-dependent ways of modifying an illegitimate address
7509 + to be legitimate. If we find one, return the new, valid address.
7510 + This is used from only one place: `memory_address' in explow.c.
7512 + OLDX is the address as it was before break_out_memory_refs was
7513 + called. In some cases it is useful to look at this to decide what
7514 + needs to be done.
7516 + It is always safe for this function to do nothing. It exists to
7517 + recognize opportunities to optimize the output.
7519 + On RS/6000, first check for the sum of a register with a constant
7520 + integer that is out of range. If so, generate code to add the
7521 + constant with the low-order 16 bits masked to the register and force
7522 + this result into another register (this can be done with `cau').
7523 + Then generate an address of REG+(CONST&0xffff), allowing for the
7524 + possibility of bit 16 being a one.
7526 + Then check for the sum of a register and something not constant, try to
7527 + load the other things into a register and return the sum. */
7529 +static rtx
7530 +rs6000_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
7531 + machine_mode mode)
7533 + unsigned int extra;
7535 + if (!reg_offset_addressing_ok_p (mode))
7537 + if (virtual_stack_registers_memory_p (x))
7538 + return x;
7540 + /* In theory we should not be seeing addresses of the form reg+0,
7541 + but just in case it is generated, optimize it away. */
7542 + if (GET_CODE (x) == PLUS && XEXP (x, 1) == const0_rtx)
7543 + return force_reg (Pmode, XEXP (x, 0));
7545 + /* For TImode with load/store quad, restrict addresses to just a single
7546 + pointer, so it works with both GPRs and VSX registers. */
7547 + /* Make sure both operands are registers. */
7548 + else if (GET_CODE (x) == PLUS
7549 + && (mode != TImode || !TARGET_QUAD_MEMORY))
7550 + return gen_rtx_PLUS (Pmode,
7551 + force_reg (Pmode, XEXP (x, 0)),
7552 + force_reg (Pmode, XEXP (x, 1)));
7553 + else
7554 + return force_reg (Pmode, x);
7556 + if (GET_CODE (x) == SYMBOL_REF)
7558 + enum tls_model model = SYMBOL_REF_TLS_MODEL (x);
7559 + if (model != 0)
7560 + return rs6000_legitimize_tls_address (x, model);
7563 + extra = 0;
7564 + switch (mode)
7566 + case TFmode:
7567 + case TDmode:
7568 + case TImode:
7569 + case PTImode:
7570 + /* As in legitimate_offset_address_p we do not assume
7571 + worst-case. The mode here is just a hint as to the registers
7572 + used. A TImode is usually in gprs, but may actually be in
7573 + fprs. Leave worst-case scenario for reload to handle via
7574 + insn constraints. PTImode is only GPRs. */
7575 + extra = 8;
7576 + break;
7577 + default:
7578 + break;
7581 + if (GET_CODE (x) == PLUS
7582 + && GET_CODE (XEXP (x, 0)) == REG
7583 + && GET_CODE (XEXP (x, 1)) == CONST_INT
7584 + && ((unsigned HOST_WIDE_INT) (INTVAL (XEXP (x, 1)) + 0x8000)
7585 + >= 0x10000 - extra)
7586 + && !(SPE_VECTOR_MODE (mode)
7587 + || (TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD)))
7589 + HOST_WIDE_INT high_int, low_int;
7590 + rtx sum;
7591 + low_int = ((INTVAL (XEXP (x, 1)) & 0xffff) ^ 0x8000) - 0x8000;
7592 + if (low_int >= 0x8000 - extra)
7593 + low_int = 0;
7594 + high_int = INTVAL (XEXP (x, 1)) - low_int;
7595 + sum = force_operand (gen_rtx_PLUS (Pmode, XEXP (x, 0),
7596 + GEN_INT (high_int)), 0);
7597 + return plus_constant (Pmode, sum, low_int);
7599 + else if (GET_CODE (x) == PLUS
7600 + && GET_CODE (XEXP (x, 0)) == REG
7601 + && GET_CODE (XEXP (x, 1)) != CONST_INT
7602 + && GET_MODE_NUNITS (mode) == 1
7603 + && (GET_MODE_SIZE (mode) <= UNITS_PER_WORD
7604 + || (/* ??? Assume floating point reg based on mode? */
7605 + (TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT)
7606 + && (mode == DFmode || mode == DDmode)))
7607 + && !avoiding_indexed_address_p (mode))
7609 + return gen_rtx_PLUS (Pmode, XEXP (x, 0),
7610 + force_reg (Pmode, force_operand (XEXP (x, 1), 0)));
7612 + else if (SPE_VECTOR_MODE (mode)
7613 + || (TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD))
7615 + if (mode == DImode)
7616 + return x;
7617 + /* We accept [reg + reg] and [reg + OFFSET]. */
7619 + if (GET_CODE (x) == PLUS)
7621 + rtx op1 = XEXP (x, 0);
7622 + rtx op2 = XEXP (x, 1);
7623 + rtx y;
7625 + op1 = force_reg (Pmode, op1);
7627 + if (GET_CODE (op2) != REG
7628 + && (GET_CODE (op2) != CONST_INT
7629 + || !SPE_CONST_OFFSET_OK (INTVAL (op2))
7630 + || (GET_MODE_SIZE (mode) > 8
7631 + && !SPE_CONST_OFFSET_OK (INTVAL (op2) + 8))))
7632 + op2 = force_reg (Pmode, op2);
7634 + /* We can't always do [reg + reg] for these, because [reg +
7635 + reg + offset] is not a legitimate addressing mode. */
7636 + y = gen_rtx_PLUS (Pmode, op1, op2);
7638 + if ((GET_MODE_SIZE (mode) > 8 || mode == DDmode) && REG_P (op2))
7639 + return force_reg (Pmode, y);
7640 + else
7641 + return y;
7644 + return force_reg (Pmode, x);
7646 + else if ((TARGET_ELF
7647 +#if TARGET_MACHO
7648 + || !MACHO_DYNAMIC_NO_PIC_P
7649 +#endif
7651 + && TARGET_32BIT
7652 + && TARGET_NO_TOC
7653 + && ! flag_pic
7654 + && GET_CODE (x) != CONST_INT
7655 + && GET_CODE (x) != CONST_WIDE_INT
7656 + && GET_CODE (x) != CONST_DOUBLE
7657 + && CONSTANT_P (x)
7658 + && GET_MODE_NUNITS (mode) == 1
7659 + && (GET_MODE_SIZE (mode) <= UNITS_PER_WORD
7660 + || (/* ??? Assume floating point reg based on mode? */
7661 + (TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT)
7662 + && (mode == DFmode || mode == DDmode))))
7664 + rtx reg = gen_reg_rtx (Pmode);
7665 + if (TARGET_ELF)
7666 + emit_insn (gen_elf_high (reg, x));
7667 + else
7668 + emit_insn (gen_macho_high (reg, x));
7669 + return gen_rtx_LO_SUM (Pmode, reg, x);
7671 + else if (TARGET_TOC
7672 + && GET_CODE (x) == SYMBOL_REF
7673 + && constant_pool_expr_p (x)
7674 + && ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (x), Pmode))
7675 + return create_TOC_reference (x, NULL_RTX);
7676 + else
7677 + return x;
7680 +/* Debug version of rs6000_legitimize_address. */
7681 +static rtx
7682 +rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
7684 + rtx ret;
7685 + rtx_insn *insns;
7687 + start_sequence ();
7688 + ret = rs6000_legitimize_address (x, oldx, mode);
7689 + insns = get_insns ();
7690 + end_sequence ();
7692 + if (ret != x)
7694 + fprintf (stderr,
7695 + "\nrs6000_legitimize_address: mode %s, old code %s, "
7696 + "new code %s, modified\n",
7697 + GET_MODE_NAME (mode), GET_RTX_NAME (GET_CODE (x)),
7698 + GET_RTX_NAME (GET_CODE (ret)));
7700 + fprintf (stderr, "Original address:\n");
7701 + debug_rtx (x);
7703 + fprintf (stderr, "oldx:\n");
7704 + debug_rtx (oldx);
7706 + fprintf (stderr, "New address:\n");
7707 + debug_rtx (ret);
7709 + if (insns)
7711 + fprintf (stderr, "Insns added:\n");
7712 + debug_rtx_list (insns, 20);
7715 + else
7717 + fprintf (stderr,
7718 + "\nrs6000_legitimize_address: mode %s, code %s, no change:\n",
7719 + GET_MODE_NAME (mode), GET_RTX_NAME (GET_CODE (x)));
7721 + debug_rtx (x);
7724 + if (insns)
7725 + emit_insn (insns);
7727 + return ret;
7730 +/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
7731 + We need to emit DTP-relative relocations. */
7733 +static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
7734 +static void
7735 +rs6000_output_dwarf_dtprel (FILE *file, int size, rtx x)
7737 + switch (size)
7739 + case 4:
7740 + fputs ("\t.long\t", file);
7741 + break;
7742 + case 8:
7743 + fputs (DOUBLE_INT_ASM_OP, file);
7744 + break;
7745 + default:
7746 + gcc_unreachable ();
7748 + output_addr_const (file, x);
7749 + fputs ("@dtprel+0x8000", file);
7752 +/* Return true if X is a symbol that refers to real (rather than emulated)
7753 + TLS. */
7755 +static bool
7756 +rs6000_real_tls_symbol_ref_p (rtx x)
7758 + return (GET_CODE (x) == SYMBOL_REF
7759 + && SYMBOL_REF_TLS_MODEL (x) >= TLS_MODEL_REAL);
7762 +/* In the name of slightly smaller debug output, and to cater to
7763 + general assembler lossage, recognize various UNSPEC sequences
7764 + and turn them back into a direct symbol reference. */
7766 +static rtx
7767 +rs6000_delegitimize_address (rtx orig_x)
7769 + rtx x, y, offset;
7771 + orig_x = delegitimize_mem_from_attrs (orig_x);
7772 + x = orig_x;
7773 + if (MEM_P (x))
7774 + x = XEXP (x, 0);
7776 + y = x;
7777 + if (TARGET_CMODEL != CMODEL_SMALL
7778 + && GET_CODE (y) == LO_SUM)
7779 + y = XEXP (y, 1);
7781 + offset = NULL_RTX;
7782 + if (GET_CODE (y) == PLUS
7783 + && GET_MODE (y) == Pmode
7784 + && CONST_INT_P (XEXP (y, 1)))
7786 + offset = XEXP (y, 1);
7787 + y = XEXP (y, 0);
7790 + if (GET_CODE (y) == UNSPEC
7791 + && XINT (y, 1) == UNSPEC_TOCREL)
7793 + y = XVECEXP (y, 0, 0);
7795 +#ifdef HAVE_AS_TLS
7796 + /* Do not associate thread-local symbols with the original
7797 + constant pool symbol. */
7798 + if (TARGET_XCOFF
7799 + && GET_CODE (y) == SYMBOL_REF
7800 + && CONSTANT_POOL_ADDRESS_P (y)
7801 + && rs6000_real_tls_symbol_ref_p (get_pool_constant (y)))
7802 + return orig_x;
7803 +#endif
7805 + if (offset != NULL_RTX)
7806 + y = gen_rtx_PLUS (Pmode, y, offset);
7807 + if (!MEM_P (orig_x))
7808 + return y;
7809 + else
7810 + return replace_equiv_address_nv (orig_x, y);
7813 + if (TARGET_MACHO
7814 + && GET_CODE (orig_x) == LO_SUM
7815 + && GET_CODE (XEXP (orig_x, 1)) == CONST)
7817 + y = XEXP (XEXP (orig_x, 1), 0);
7818 + if (GET_CODE (y) == UNSPEC
7819 + && XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET)
7820 + return XVECEXP (y, 0, 0);
7823 + return orig_x;
7826 +/* Return true if X shouldn't be emitted into the debug info.
7827 + The linker doesn't like .toc section references from
7828 + .debug_* sections, so reject .toc section symbols. */
7830 +static bool
7831 +rs6000_const_not_ok_for_debug_p (rtx x)
7833 + if (GET_CODE (x) == SYMBOL_REF
7834 + && CONSTANT_POOL_ADDRESS_P (x))
7836 + rtx c = get_pool_constant (x);
7837 + machine_mode cmode = get_pool_mode (x);
7838 + if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (c, cmode))
7839 + return true;
7842 + return false;
7845 +/* Construct the SYMBOL_REF for the tls_get_addr function. */
7847 +static GTY(()) rtx rs6000_tls_symbol;
7848 +static rtx
7849 +rs6000_tls_get_addr (void)
7851 + if (!rs6000_tls_symbol)
7852 + rs6000_tls_symbol = init_one_libfunc ("__tls_get_addr");
7854 + return rs6000_tls_symbol;
7857 +/* Construct the SYMBOL_REF for TLS GOT references. */
7859 +static GTY(()) rtx rs6000_got_symbol;
7860 +static rtx
7861 +rs6000_got_sym (void)
7863 + if (!rs6000_got_symbol)
7865 + rs6000_got_symbol = gen_rtx_SYMBOL_REF (Pmode, "_GLOBAL_OFFSET_TABLE_");
7866 + SYMBOL_REF_FLAGS (rs6000_got_symbol) |= SYMBOL_FLAG_LOCAL;
7867 + SYMBOL_REF_FLAGS (rs6000_got_symbol) |= SYMBOL_FLAG_EXTERNAL;
7870 + return rs6000_got_symbol;
7873 +/* AIX Thread-Local Address support. */
7875 +static rtx
7876 +rs6000_legitimize_tls_address_aix (rtx addr, enum tls_model model)
7878 + rtx sym, mem, tocref, tlsreg, tmpreg, dest, tlsaddr;
7879 + const char *name;
7880 + char *tlsname;
7882 + name = XSTR (addr, 0);
7883 + /* Append TLS CSECT qualifier, unless the symbol already is qualified
7884 + or the symbol will be in TLS private data section. */
7885 + if (name[strlen (name) - 1] != ']'
7886 + && (TREE_PUBLIC (SYMBOL_REF_DECL (addr))
7887 + || bss_initializer_p (SYMBOL_REF_DECL (addr))))
7889 + tlsname = XALLOCAVEC (char, strlen (name) + 4);
7890 + strcpy (tlsname, name);
7891 + strcat (tlsname,
7892 + bss_initializer_p (SYMBOL_REF_DECL (addr)) ? "[UL]" : "[TL]");
7893 + tlsaddr = copy_rtx (addr);
7894 + XSTR (tlsaddr, 0) = ggc_strdup (tlsname);
7896 + else
7897 + tlsaddr = addr;
7899 + /* Place addr into TOC constant pool. */
7900 + sym = force_const_mem (GET_MODE (tlsaddr), tlsaddr);
7902 + /* Output the TOC entry and create the MEM referencing the value. */
7903 + if (constant_pool_expr_p (XEXP (sym, 0))
7904 + && ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (XEXP (sym, 0)), Pmode))
7906 + tocref = create_TOC_reference (XEXP (sym, 0), NULL_RTX);
7907 + mem = gen_const_mem (Pmode, tocref);
7908 + set_mem_alias_set (mem, get_TOC_alias_set ());
7910 + else
7911 + return sym;
7913 + /* Use global-dynamic for local-dynamic. */
7914 + if (model == TLS_MODEL_GLOBAL_DYNAMIC
7915 + || model == TLS_MODEL_LOCAL_DYNAMIC)
7917 + /* Create new TOC reference for @m symbol. */
7918 + name = XSTR (XVECEXP (XEXP (mem, 0), 0, 0), 0);
7919 + tlsname = XALLOCAVEC (char, strlen (name) + 1);
7920 + strcpy (tlsname, "*LCM");
7921 + strcat (tlsname, name + 3);
7922 + rtx modaddr = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (tlsname));
7923 + SYMBOL_REF_FLAGS (modaddr) |= SYMBOL_FLAG_LOCAL;
7924 + tocref = create_TOC_reference (modaddr, NULL_RTX);
7925 + rtx modmem = gen_const_mem (Pmode, tocref);
7926 + set_mem_alias_set (modmem, get_TOC_alias_set ());
7928 + rtx modreg = gen_reg_rtx (Pmode);
7929 + emit_insn (gen_rtx_SET (VOIDmode, modreg, modmem));
7931 + tmpreg = gen_reg_rtx (Pmode);
7932 + emit_insn (gen_rtx_SET (VOIDmode, tmpreg, mem));
7934 + dest = gen_reg_rtx (Pmode);
7935 + if (TARGET_32BIT)
7936 + emit_insn (gen_tls_get_addrsi (dest, modreg, tmpreg));
7937 + else
7938 + emit_insn (gen_tls_get_addrdi (dest, modreg, tmpreg));
7939 + return dest;
7941 + /* Obtain TLS pointer: 32 bit call or 64 bit GPR 13. */
7942 + else if (TARGET_32BIT)
7944 + tlsreg = gen_reg_rtx (SImode);
7945 + emit_insn (gen_tls_get_tpointer (tlsreg));
7947 + else
7948 + tlsreg = gen_rtx_REG (DImode, 13);
7950 + /* Load the TOC value into temporary register. */
7951 + tmpreg = gen_reg_rtx (Pmode);
7952 + emit_insn (gen_rtx_SET (VOIDmode, tmpreg, mem));
7953 + set_unique_reg_note (get_last_insn (), REG_EQUAL,
7954 + gen_rtx_MINUS (Pmode, addr, tlsreg));
7956 + /* Add TOC symbol value to TLS pointer. */
7957 + dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, tmpreg, tlsreg));
7959 + return dest;
7962 +/* ADDR contains a thread-local SYMBOL_REF. Generate code to compute
7963 + this (thread-local) address. */
7965 +static rtx
7966 +rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
7968 + rtx dest, insn;
7970 + if (TARGET_XCOFF)
7971 + return rs6000_legitimize_tls_address_aix (addr, model);
7973 + dest = gen_reg_rtx (Pmode);
7974 + if (model == TLS_MODEL_LOCAL_EXEC && rs6000_tls_size == 16)
7976 + rtx tlsreg;
7978 + if (TARGET_64BIT)
7980 + tlsreg = gen_rtx_REG (Pmode, 13);
7981 + insn = gen_tls_tprel_64 (dest, tlsreg, addr);
7983 + else
7985 + tlsreg = gen_rtx_REG (Pmode, 2);
7986 + insn = gen_tls_tprel_32 (dest, tlsreg, addr);
7988 + emit_insn (insn);
7990 + else if (model == TLS_MODEL_LOCAL_EXEC && rs6000_tls_size == 32)
7992 + rtx tlsreg, tmp;
7994 + tmp = gen_reg_rtx (Pmode);
7995 + if (TARGET_64BIT)
7997 + tlsreg = gen_rtx_REG (Pmode, 13);
7998 + insn = gen_tls_tprel_ha_64 (tmp, tlsreg, addr);
8000 + else
8002 + tlsreg = gen_rtx_REG (Pmode, 2);
8003 + insn = gen_tls_tprel_ha_32 (tmp, tlsreg, addr);
8005 + emit_insn (insn);
8006 + if (TARGET_64BIT)
8007 + insn = gen_tls_tprel_lo_64 (dest, tmp, addr);
8008 + else
8009 + insn = gen_tls_tprel_lo_32 (dest, tmp, addr);
8010 + emit_insn (insn);
8012 + else
8014 + rtx r3, got, tga, tmp1, tmp2, call_insn;
8016 + /* We currently use relocations like @got@tlsgd for tls, which
8017 + means the linker will handle allocation of tls entries, placing
8018 + them in the .got section. So use a pointer to the .got section,
8019 + not one to secondary TOC sections used by 64-bit -mminimal-toc,
8020 + or to secondary GOT sections used by 32-bit -fPIC. */
8021 + if (TARGET_64BIT)
8022 + got = gen_rtx_REG (Pmode, 2);
8023 + else
8025 + if (flag_pic == 1)
8026 + got = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
8027 + else
8029 + rtx gsym = rs6000_got_sym ();
8030 + got = gen_reg_rtx (Pmode);
8031 + if (flag_pic == 0)
8032 + rs6000_emit_move (got, gsym, Pmode);
8033 + else
8035 + rtx mem, lab, last;
8037 + tmp1 = gen_reg_rtx (Pmode);
8038 + tmp2 = gen_reg_rtx (Pmode);
8039 + mem = gen_const_mem (Pmode, tmp1);
8040 + lab = gen_label_rtx ();
8041 + emit_insn (gen_load_toc_v4_PIC_1b (gsym, lab));
8042 + emit_move_insn (tmp1, gen_rtx_REG (Pmode, LR_REGNO));
8043 + if (TARGET_LINK_STACK)
8044 + emit_insn (gen_addsi3 (tmp1, tmp1, GEN_INT (4)));
8045 + emit_move_insn (tmp2, mem);
8046 + last = emit_insn (gen_addsi3 (got, tmp1, tmp2));
8047 + set_unique_reg_note (last, REG_EQUAL, gsym);
8052 + if (model == TLS_MODEL_GLOBAL_DYNAMIC)
8054 + tga = rs6000_tls_get_addr ();
8055 + emit_library_call_value (tga, dest, LCT_CONST, Pmode,
8056 + 1, const0_rtx, Pmode);
8058 + r3 = gen_rtx_REG (Pmode, 3);
8059 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
8061 + if (TARGET_64BIT)
8062 + insn = gen_tls_gd_aix64 (r3, got, addr, tga, const0_rtx);
8063 + else
8064 + insn = gen_tls_gd_aix32 (r3, got, addr, tga, const0_rtx);
8066 + else if (DEFAULT_ABI == ABI_V4)
8067 + insn = gen_tls_gd_sysvsi (r3, got, addr, tga, const0_rtx);
8068 + else
8069 + gcc_unreachable ();
8070 + call_insn = last_call_insn ();
8071 + PATTERN (call_insn) = insn;
8072 + if (DEFAULT_ABI == ABI_V4 && TARGET_SECURE_PLT && flag_pic)
8073 + use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn),
8074 + pic_offset_table_rtx);
8076 + else if (model == TLS_MODEL_LOCAL_DYNAMIC)
8078 + tga = rs6000_tls_get_addr ();
8079 + tmp1 = gen_reg_rtx (Pmode);
8080 + emit_library_call_value (tga, tmp1, LCT_CONST, Pmode,
8081 + 1, const0_rtx, Pmode);
8083 + r3 = gen_rtx_REG (Pmode, 3);
8084 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
8086 + if (TARGET_64BIT)
8087 + insn = gen_tls_ld_aix64 (r3, got, tga, const0_rtx);
8088 + else
8089 + insn = gen_tls_ld_aix32 (r3, got, tga, const0_rtx);
8091 + else if (DEFAULT_ABI == ABI_V4)
8092 + insn = gen_tls_ld_sysvsi (r3, got, tga, const0_rtx);
8093 + else
8094 + gcc_unreachable ();
8095 + call_insn = last_call_insn ();
8096 + PATTERN (call_insn) = insn;
8097 + if (DEFAULT_ABI == ABI_V4 && TARGET_SECURE_PLT && flag_pic)
8098 + use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn),
8099 + pic_offset_table_rtx);
8101 + if (rs6000_tls_size == 16)
8103 + if (TARGET_64BIT)
8104 + insn = gen_tls_dtprel_64 (dest, tmp1, addr);
8105 + else
8106 + insn = gen_tls_dtprel_32 (dest, tmp1, addr);
8108 + else if (rs6000_tls_size == 32)
8110 + tmp2 = gen_reg_rtx (Pmode);
8111 + if (TARGET_64BIT)
8112 + insn = gen_tls_dtprel_ha_64 (tmp2, tmp1, addr);
8113 + else
8114 + insn = gen_tls_dtprel_ha_32 (tmp2, tmp1, addr);
8115 + emit_insn (insn);
8116 + if (TARGET_64BIT)
8117 + insn = gen_tls_dtprel_lo_64 (dest, tmp2, addr);
8118 + else
8119 + insn = gen_tls_dtprel_lo_32 (dest, tmp2, addr);
8121 + else
8123 + tmp2 = gen_reg_rtx (Pmode);
8124 + if (TARGET_64BIT)
8125 + insn = gen_tls_got_dtprel_64 (tmp2, got, addr);
8126 + else
8127 + insn = gen_tls_got_dtprel_32 (tmp2, got, addr);
8128 + emit_insn (insn);
8129 + insn = gen_rtx_SET (Pmode, dest,
8130 + gen_rtx_PLUS (Pmode, tmp2, tmp1));
8132 + emit_insn (insn);
8134 + else
8136 + /* IE, or 64-bit offset LE. */
8137 + tmp2 = gen_reg_rtx (Pmode);
8138 + if (TARGET_64BIT)
8139 + insn = gen_tls_got_tprel_64 (tmp2, got, addr);
8140 + else
8141 + insn = gen_tls_got_tprel_32 (tmp2, got, addr);
8142 + emit_insn (insn);
8143 + if (TARGET_64BIT)
8144 + insn = gen_tls_tls_64 (dest, tmp2, addr);
8145 + else
8146 + insn = gen_tls_tls_32 (dest, tmp2, addr);
8147 + emit_insn (insn);
8151 + return dest;
8154 +/* Implement TARGET_CANNOT_FORCE_CONST_MEM. */
8156 +static bool
8157 +rs6000_cannot_force_const_mem (machine_mode mode ATTRIBUTE_UNUSED, rtx x)
8159 + if (GET_CODE (x) == HIGH
8160 + && GET_CODE (XEXP (x, 0)) == UNSPEC)
8161 + return true;
8163 + /* A TLS symbol in the TOC cannot contain a sum. */
8164 + if (GET_CODE (x) == CONST
8165 + && GET_CODE (XEXP (x, 0)) == PLUS
8166 + && GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
8167 + && SYMBOL_REF_TLS_MODEL (XEXP (XEXP (x, 0), 0)) != 0)
8168 + return true;
8170 + /* Do not place an ELF TLS symbol in the constant pool. */
8171 + return TARGET_ELF && tls_referenced_p (x);
8174 +/* Return true iff the given SYMBOL_REF refers to a constant pool entry
8175 + that we have put in the TOC, or for cmodel=medium, if the SYMBOL_REF
8176 + can be addressed relative to the toc pointer. */
8178 +static bool
8179 +use_toc_relative_ref (rtx sym)
8181 + return ((constant_pool_expr_p (sym)
8182 + && ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (sym),
8183 + get_pool_mode (sym)))
8184 + || (TARGET_CMODEL == CMODEL_MEDIUM
8185 + && SYMBOL_REF_LOCAL_P (sym)));
8188 +/* Our implementation of LEGITIMIZE_RELOAD_ADDRESS. Returns a value to
8189 + replace the input X, or the original X if no replacement is called for.
8190 + The output parameter *WIN is 1 if the calling macro should goto WIN,
8191 + 0 if it should not.
8193 + For RS/6000, we wish to handle large displacements off a base
8194 + register by splitting the addend across an addiu/addis and the mem insn.
8195 + This cuts number of extra insns needed from 3 to 1.
8197 + On Darwin, we use this to generate code for floating point constants.
8198 + A movsf_low is generated so we wind up with 2 instructions rather than 3.
8199 + The Darwin code is inside #if TARGET_MACHO because only then are the
8200 + machopic_* functions defined. */
8201 +static rtx
8202 +rs6000_legitimize_reload_address (rtx x, machine_mode mode,
8203 + int opnum, int type,
8204 + int ind_levels ATTRIBUTE_UNUSED, int *win)
8206 + bool reg_offset_p = reg_offset_addressing_ok_p (mode);
8208 + /* Nasty hack for vsx_splat_V2DF/V2DI load from mem, which takes a
8209 + DFmode/DImode MEM. */
8210 + if (reg_offset_p
8211 + && opnum == 1
8212 + && ((mode == DFmode && recog_data.operand_mode[0] == V2DFmode)
8213 + || (mode == DImode && recog_data.operand_mode[0] == V2DImode)))
8214 + reg_offset_p = false;
8216 + /* We must recognize output that we have already generated ourselves. */
8217 + if (GET_CODE (x) == PLUS
8218 + && GET_CODE (XEXP (x, 0)) == PLUS
8219 + && GET_CODE (XEXP (XEXP (x, 0), 0)) == REG
8220 + && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT
8221 + && GET_CODE (XEXP (x, 1)) == CONST_INT)
8223 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8224 + BASE_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0,
8225 + opnum, (enum reload_type) type);
8226 + *win = 1;
8227 + return x;
8230 + /* Likewise for (lo_sum (high ...) ...) output we have generated. */
8231 + if (GET_CODE (x) == LO_SUM
8232 + && GET_CODE (XEXP (x, 0)) == HIGH)
8234 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8235 + BASE_REG_CLASS, Pmode, VOIDmode, 0, 0,
8236 + opnum, (enum reload_type) type);
8237 + *win = 1;
8238 + return x;
8241 +#if TARGET_MACHO
8242 + if (DEFAULT_ABI == ABI_DARWIN && flag_pic
8243 + && GET_CODE (x) == LO_SUM
8244 + && GET_CODE (XEXP (x, 0)) == PLUS
8245 + && XEXP (XEXP (x, 0), 0) == pic_offset_table_rtx
8246 + && GET_CODE (XEXP (XEXP (x, 0), 1)) == HIGH
8247 + && XEXP (XEXP (XEXP (x, 0), 1), 0) == XEXP (x, 1)
8248 + && machopic_operand_p (XEXP (x, 1)))
8250 + /* Result of previous invocation of this function on Darwin
8251 + floating point constant. */
8252 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8253 + BASE_REG_CLASS, Pmode, VOIDmode, 0, 0,
8254 + opnum, (enum reload_type) type);
8255 + *win = 1;
8256 + return x;
8258 +#endif
8260 + if (TARGET_CMODEL != CMODEL_SMALL
8261 + && reg_offset_p
8262 + && small_toc_ref (x, VOIDmode))
8264 + rtx hi = gen_rtx_HIGH (Pmode, copy_rtx (x));
8265 + x = gen_rtx_LO_SUM (Pmode, hi, x);
8266 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8267 + BASE_REG_CLASS, Pmode, VOIDmode, 0, 0,
8268 + opnum, (enum reload_type) type);
8269 + *win = 1;
8270 + return x;
8273 + if (GET_CODE (x) == PLUS
8274 + && GET_CODE (XEXP (x, 0)) == REG
8275 + && REGNO (XEXP (x, 0)) < FIRST_PSEUDO_REGISTER
8276 + && INT_REG_OK_FOR_BASE_P (XEXP (x, 0), 1)
8277 + && GET_CODE (XEXP (x, 1)) == CONST_INT
8278 + && reg_offset_p
8279 + && !SPE_VECTOR_MODE (mode)
8280 + && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
8281 + && (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode)))
8283 + HOST_WIDE_INT val = INTVAL (XEXP (x, 1));
8284 + HOST_WIDE_INT low = ((val & 0xffff) ^ 0x8000) - 0x8000;
8285 + HOST_WIDE_INT high
8286 + = (((val - low) & 0xffffffff) ^ 0x80000000) - 0x80000000;
8288 + /* Check for 32-bit overflow. */
8289 + if (high + low != val)
8291 + *win = 0;
8292 + return x;
8295 + /* Reload the high part into a base reg; leave the low part
8296 + in the mem directly. */
8298 + x = gen_rtx_PLUS (GET_MODE (x),
8299 + gen_rtx_PLUS (GET_MODE (x), XEXP (x, 0),
8300 + GEN_INT (high)),
8301 + GEN_INT (low));
8303 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8304 + BASE_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0,
8305 + opnum, (enum reload_type) type);
8306 + *win = 1;
8307 + return x;
8310 + if (GET_CODE (x) == SYMBOL_REF
8311 + && reg_offset_p
8312 + && (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode))
8313 + && !SPE_VECTOR_MODE (mode)
8314 +#if TARGET_MACHO
8315 + && DEFAULT_ABI == ABI_DARWIN
8316 + && (flag_pic || MACHO_DYNAMIC_NO_PIC_P)
8317 + && machopic_symbol_defined_p (x)
8318 +#else
8319 + && DEFAULT_ABI == ABI_V4
8320 + && !flag_pic
8321 +#endif
8322 + /* Don't do this for TFmode or TDmode, since the result isn't offsettable.
8323 + The same goes for DImode without 64-bit gprs and DFmode and DDmode
8324 + without fprs.
8325 + ??? Assume floating point reg based on mode? This assumption is
8326 + violated by eg. powerpc-linux -m32 compile of gcc.dg/pr28796-2.c
8327 + where reload ends up doing a DFmode load of a constant from
8328 + mem using two gprs. Unfortunately, at this point reload
8329 + hasn't yet selected regs so poking around in reload data
8330 + won't help and even if we could figure out the regs reliably,
8331 + we'd still want to allow this transformation when the mem is
8332 + naturally aligned. Since we say the address is good here, we
8333 + can't disable offsets from LO_SUMs in mem_operand_gpr.
8334 + FIXME: Allow offset from lo_sum for other modes too, when
8335 + mem is sufficiently aligned.
8337 + Also disallow this if the type can go in VMX/Altivec registers, since
8338 + those registers do not have d-form (reg+offset) address modes. */
8339 + && !reg_addr[mode].scalar_in_vmx_p
8340 + && mode != TFmode
8341 + && mode != TDmode
8342 + && (mode != TImode || !TARGET_VSX_TIMODE)
8343 + && mode != PTImode
8344 + && (mode != DImode || TARGET_POWERPC64)
8345 + && ((mode != DFmode && mode != DDmode) || TARGET_POWERPC64
8346 + || (TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT)))
8348 +#if TARGET_MACHO
8349 + if (flag_pic)
8351 + rtx offset = machopic_gen_offset (x);
8352 + x = gen_rtx_LO_SUM (GET_MODE (x),
8353 + gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
8354 + gen_rtx_HIGH (Pmode, offset)), offset);
8356 + else
8357 +#endif
8358 + x = gen_rtx_LO_SUM (GET_MODE (x),
8359 + gen_rtx_HIGH (Pmode, x), x);
8361 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8362 + BASE_REG_CLASS, Pmode, VOIDmode, 0, 0,
8363 + opnum, (enum reload_type) type);
8364 + *win = 1;
8365 + return x;
8368 + /* Reload an offset address wrapped by an AND that represents the
8369 + masking of the lower bits. Strip the outer AND and let reload
8370 + convert the offset address into an indirect address. For VSX,
8371 + force reload to create the address with an AND in a separate
8372 + register, because we can't guarantee an altivec register will
8373 + be used. */
8374 + if (VECTOR_MEM_ALTIVEC_P (mode)
8375 + && GET_CODE (x) == AND
8376 + && GET_CODE (XEXP (x, 0)) == PLUS
8377 + && GET_CODE (XEXP (XEXP (x, 0), 0)) == REG
8378 + && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT
8379 + && GET_CODE (XEXP (x, 1)) == CONST_INT
8380 + && INTVAL (XEXP (x, 1)) == -16)
8382 + x = XEXP (x, 0);
8383 + *win = 1;
8384 + return x;
8387 + if (TARGET_TOC
8388 + && reg_offset_p
8389 + && GET_CODE (x) == SYMBOL_REF
8390 + && use_toc_relative_ref (x))
8392 + x = create_TOC_reference (x, NULL_RTX);
8393 + if (TARGET_CMODEL != CMODEL_SMALL)
8394 + push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
8395 + BASE_REG_CLASS, Pmode, VOIDmode, 0, 0,
8396 + opnum, (enum reload_type) type);
8397 + *win = 1;
8398 + return x;
8400 + *win = 0;
8401 + return x;
8404 +/* Debug version of rs6000_legitimize_reload_address. */
8405 +static rtx
8406 +rs6000_debug_legitimize_reload_address (rtx x, machine_mode mode,
8407 + int opnum, int type,
8408 + int ind_levels, int *win)
8410 + rtx ret = rs6000_legitimize_reload_address (x, mode, opnum, type,
8411 + ind_levels, win);
8412 + fprintf (stderr,
8413 + "\nrs6000_legitimize_reload_address: mode = %s, opnum = %d, "
8414 + "type = %d, ind_levels = %d, win = %d, original addr:\n",
8415 + GET_MODE_NAME (mode), opnum, type, ind_levels, *win);
8416 + debug_rtx (x);
8418 + if (x == ret)
8419 + fprintf (stderr, "Same address returned\n");
8420 + else if (!ret)
8421 + fprintf (stderr, "NULL returned\n");
8422 + else
8424 + fprintf (stderr, "New address:\n");
8425 + debug_rtx (ret);
8428 + return ret;
8431 +/* TARGET_LEGITIMATE_ADDRESS_P recognizes an RTL expression
8432 + that is a valid memory address for an instruction.
8433 + The MODE argument is the machine mode for the MEM expression
8434 + that wants to use this address.
8436 + On the RS/6000, there are four valid address: a SYMBOL_REF that
8437 + refers to a constant pool entry of an address (or the sum of it
8438 + plus a constant), a short (16-bit signed) constant plus a register,
8439 + the sum of two registers, or a register indirect, possibly with an
8440 + auto-increment. For DFmode, DDmode and DImode with a constant plus
8441 + register, we must ensure that both words are addressable or PowerPC64
8442 + with offset word aligned.
8444 + For modes spanning multiple registers (DFmode and DDmode in 32-bit GPRs,
8445 + 32-bit DImode, TImode, TFmode, TDmode), indexed addressing cannot be used
8446 + because adjacent memory cells are accessed by adding word-sized offsets
8447 + during assembly output. */
8448 +static bool
8449 +rs6000_legitimate_address_p (machine_mode mode, rtx x, bool reg_ok_strict)
8451 + bool reg_offset_p = reg_offset_addressing_ok_p (mode);
8453 + /* If this is an unaligned stvx/ldvx type address, discard the outer AND. */
8454 + if (VECTOR_MEM_ALTIVEC_P (mode)
8455 + && GET_CODE (x) == AND
8456 + && GET_CODE (XEXP (x, 1)) == CONST_INT
8457 + && INTVAL (XEXP (x, 1)) == -16)
8458 + x = XEXP (x, 0);
8460 + if (TARGET_ELF && RS6000_SYMBOL_REF_TLS_P (x))
8461 + return 0;
8462 + if (legitimate_indirect_address_p (x, reg_ok_strict))
8463 + return 1;
8464 + if (TARGET_UPDATE
8465 + && (GET_CODE (x) == PRE_INC || GET_CODE (x) == PRE_DEC)
8466 + && mode_supports_pre_incdec_p (mode)
8467 + && legitimate_indirect_address_p (XEXP (x, 0), reg_ok_strict))
8468 + return 1;
8469 + if (virtual_stack_registers_memory_p (x))
8470 + return 1;
8471 + if (reg_offset_p && legitimate_small_data_p (mode, x))
8472 + return 1;
8473 + if (reg_offset_p
8474 + && legitimate_constant_pool_address_p (x, mode,
8475 + reg_ok_strict || lra_in_progress))
8476 + return 1;
8477 + /* For TImode, if we have load/store quad and TImode in VSX registers, only
8478 + allow register indirect addresses. This will allow the values to go in
8479 + either GPRs or VSX registers without reloading. The vector types would
8480 + tend to go into VSX registers, so we allow REG+REG, while TImode seems
8481 + somewhat split, in that some uses are GPR based, and some VSX based. */
8482 + if (mode == TImode && TARGET_QUAD_MEMORY && TARGET_VSX_TIMODE)
8483 + return 0;
8484 + /* If not REG_OK_STRICT (before reload) let pass any stack offset. */
8485 + if (! reg_ok_strict
8486 + && reg_offset_p
8487 + && GET_CODE (x) == PLUS
8488 + && GET_CODE (XEXP (x, 0)) == REG
8489 + && (XEXP (x, 0) == virtual_stack_vars_rtx
8490 + || XEXP (x, 0) == arg_pointer_rtx)
8491 + && GET_CODE (XEXP (x, 1)) == CONST_INT)
8492 + return 1;
8493 + if (rs6000_legitimate_offset_address_p (mode, x, reg_ok_strict, false))
8494 + return 1;
8495 + if (mode != TFmode
8496 + && mode != TDmode
8497 + && ((TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT)
8498 + || TARGET_POWERPC64
8499 + || (mode != DFmode && mode != DDmode)
8500 + || (TARGET_E500_DOUBLE && mode != DDmode))
8501 + && (TARGET_POWERPC64 || mode != DImode)
8502 + && (mode != TImode || VECTOR_MEM_VSX_P (TImode))
8503 + && mode != PTImode
8504 + && !avoiding_indexed_address_p (mode)
8505 + && legitimate_indexed_address_p (x, reg_ok_strict))
8506 + return 1;
8507 + if (TARGET_UPDATE && GET_CODE (x) == PRE_MODIFY
8508 + && mode_supports_pre_modify_p (mode)
8509 + && legitimate_indirect_address_p (XEXP (x, 0), reg_ok_strict)
8510 + && (rs6000_legitimate_offset_address_p (mode, XEXP (x, 1),
8511 + reg_ok_strict, false)
8512 + || (!avoiding_indexed_address_p (mode)
8513 + && legitimate_indexed_address_p (XEXP (x, 1), reg_ok_strict)))
8514 + && rtx_equal_p (XEXP (XEXP (x, 1), 0), XEXP (x, 0)))
8515 + return 1;
8516 + if (reg_offset_p && legitimate_lo_sum_address_p (mode, x, reg_ok_strict))
8517 + return 1;
8518 + return 0;
8521 +/* Debug version of rs6000_legitimate_address_p. */
8522 +static bool
8523 +rs6000_debug_legitimate_address_p (machine_mode mode, rtx x,
8524 + bool reg_ok_strict)
8526 + bool ret = rs6000_legitimate_address_p (mode, x, reg_ok_strict);
8527 + fprintf (stderr,
8528 + "\nrs6000_legitimate_address_p: return = %s, mode = %s, "
8529 + "strict = %d, reload = %s, code = %s\n",
8530 + ret ? "true" : "false",
8531 + GET_MODE_NAME (mode),
8532 + reg_ok_strict,
8533 + (reload_completed
8534 + ? "after"
8535 + : (reload_in_progress ? "progress" : "before")),
8536 + GET_RTX_NAME (GET_CODE (x)));
8537 + debug_rtx (x);
8539 + return ret;
8542 +/* Implement TARGET_MODE_DEPENDENT_ADDRESS_P. */
8544 +static bool
8545 +rs6000_mode_dependent_address_p (const_rtx addr,
8546 + addr_space_t as ATTRIBUTE_UNUSED)
8548 + return rs6000_mode_dependent_address_ptr (addr);
8551 +/* Go to LABEL if ADDR (a legitimate address expression)
8552 + has an effect that depends on the machine mode it is used for.
8554 + On the RS/6000 this is true of all integral offsets (since AltiVec
8555 + and VSX modes don't allow them) or is a pre-increment or decrement.
8557 + ??? Except that due to conceptual problems in offsettable_address_p
8558 + we can't really report the problems of integral offsets. So leave
8559 + this assuming that the adjustable offset must be valid for the
8560 + sub-words of a TFmode operand, which is what we had before. */
8562 +static bool
8563 +rs6000_mode_dependent_address (const_rtx addr)
8565 + switch (GET_CODE (addr))
8567 + case PLUS:
8568 + /* Any offset from virtual_stack_vars_rtx and arg_pointer_rtx
8569 + is considered a legitimate address before reload, so there
8570 + are no offset restrictions in that case. Note that this
8571 + condition is safe in strict mode because any address involving
8572 + virtual_stack_vars_rtx or arg_pointer_rtx would already have
8573 + been rejected as illegitimate. */
8574 + if (XEXP (addr, 0) != virtual_stack_vars_rtx
8575 + && XEXP (addr, 0) != arg_pointer_rtx
8576 + && GET_CODE (XEXP (addr, 1)) == CONST_INT)
8578 + unsigned HOST_WIDE_INT val = INTVAL (XEXP (addr, 1));
8579 + return val + 0x8000 >= 0x10000 - (TARGET_POWERPC64 ? 8 : 12);
8581 + break;
8583 + case LO_SUM:
8584 + /* Anything in the constant pool is sufficiently aligned that
8585 + all bytes have the same high part address. */
8586 + return !legitimate_constant_pool_address_p (addr, QImode, false);
8588 + /* Auto-increment cases are now treated generically in recog.c. */
8589 + case PRE_MODIFY:
8590 + return TARGET_UPDATE;
8592 + /* AND is only allowed in Altivec loads. */
8593 + case AND:
8594 + return true;
8596 + default:
8597 + break;
8600 + return false;
8603 +/* Debug version of rs6000_mode_dependent_address. */
8604 +static bool
8605 +rs6000_debug_mode_dependent_address (const_rtx addr)
8607 + bool ret = rs6000_mode_dependent_address (addr);
8609 + fprintf (stderr, "\nrs6000_mode_dependent_address: ret = %s\n",
8610 + ret ? "true" : "false");
8611 + debug_rtx (addr);
8613 + return ret;
8616 +/* Implement FIND_BASE_TERM. */
8618 +rtx
8619 +rs6000_find_base_term (rtx op)
8621 + rtx base;
8623 + base = op;
8624 + if (GET_CODE (base) == CONST)
8625 + base = XEXP (base, 0);
8626 + if (GET_CODE (base) == PLUS)
8627 + base = XEXP (base, 0);
8628 + if (GET_CODE (base) == UNSPEC)
8629 + switch (XINT (base, 1))
8631 + case UNSPEC_TOCREL:
8632 + case UNSPEC_MACHOPIC_OFFSET:
8633 + /* OP represents SYM [+ OFFSET] - ANCHOR. SYM is the base term
8634 + for aliasing purposes. */
8635 + return XVECEXP (base, 0, 0);
8638 + return op;
8641 +/* More elaborate version of recog's offsettable_memref_p predicate
8642 + that works around the ??? note of rs6000_mode_dependent_address.
8643 + In particular it accepts
8645 + (mem:DI (plus:SI (reg/f:SI 31 31) (const_int 32760 [0x7ff8])))
8647 + in 32-bit mode, that the recog predicate rejects. */
8649 +static bool
8650 +rs6000_offsettable_memref_p (rtx op, machine_mode reg_mode)
8652 + bool worst_case;
8654 + if (!MEM_P (op))
8655 + return false;
8657 + /* First mimic offsettable_memref_p. */
8658 + if (offsettable_address_p (true, GET_MODE (op), XEXP (op, 0)))
8659 + return true;
8661 + /* offsettable_address_p invokes rs6000_mode_dependent_address, but
8662 + the latter predicate knows nothing about the mode of the memory
8663 + reference and, therefore, assumes that it is the largest supported
8664 + mode (TFmode). As a consequence, legitimate offsettable memory
8665 + references are rejected. rs6000_legitimate_offset_address_p contains
8666 + the correct logic for the PLUS case of rs6000_mode_dependent_address,
8667 + at least with a little bit of help here given that we know the
8668 + actual registers used. */
8669 + worst_case = ((TARGET_POWERPC64 && GET_MODE_CLASS (reg_mode) == MODE_INT)
8670 + || GET_MODE_SIZE (reg_mode) == 4);
8671 + return rs6000_legitimate_offset_address_p (GET_MODE (op), XEXP (op, 0),
8672 + true, worst_case);
8675 +/* Change register usage conditional on target flags. */
8676 +static void
8677 +rs6000_conditional_register_usage (void)
8679 + int i;
8681 + if (TARGET_DEBUG_TARGET)
8682 + fprintf (stderr, "rs6000_conditional_register_usage called\n");
8684 + /* Set MQ register fixed (already call_used) so that it will not be
8685 + allocated. */
8686 + fixed_regs[64] = 1;
8688 + /* 64-bit AIX and Linux reserve GPR13 for thread-private data. */
8689 + if (TARGET_64BIT)
8690 + fixed_regs[13] = call_used_regs[13]
8691 + = call_really_used_regs[13] = 1;
8693 + /* Conditionally disable FPRs. */
8694 + if (TARGET_SOFT_FLOAT || !TARGET_FPRS)
8695 + for (i = 32; i < 64; i++)
8696 + fixed_regs[i] = call_used_regs[i]
8697 + = call_really_used_regs[i] = 1;
8699 + /* The TOC register is not killed across calls in a way that is
8700 + visible to the compiler. */
8701 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
8702 + call_really_used_regs[2] = 0;
8704 + if (DEFAULT_ABI == ABI_V4
8705 + && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM
8706 + && flag_pic == 2)
8707 + fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1;
8709 + if (DEFAULT_ABI == ABI_V4
8710 + && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM
8711 + && flag_pic == 1)
8712 + fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM]
8713 + = call_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM]
8714 + = call_really_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1;
8716 + if (DEFAULT_ABI == ABI_DARWIN
8717 + && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM)
8718 + fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM]
8719 + = call_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM]
8720 + = call_really_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1;
8722 + if (TARGET_TOC && TARGET_MINIMAL_TOC)
8723 + fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM]
8724 + = call_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1;
8726 + if (TARGET_SPE)
8728 + global_regs[SPEFSCR_REGNO] = 1;
8729 + /* We used to use r14 as FIXED_SCRATCH to address SPE 64-bit
8730 + registers in prologues and epilogues. We no longer use r14
8731 + for FIXED_SCRATCH, but we're keeping r14 out of the allocation
8732 + pool for link-compatibility with older versions of GCC. Once
8733 + "old" code has died out, we can return r14 to the allocation
8734 + pool. */
8735 + fixed_regs[14]
8736 + = call_used_regs[14]
8737 + = call_really_used_regs[14] = 1;
8740 + if (!TARGET_ALTIVEC && !TARGET_VSX)
8742 + for (i = FIRST_ALTIVEC_REGNO; i <= LAST_ALTIVEC_REGNO; ++i)
8743 + fixed_regs[i] = call_used_regs[i] = call_really_used_regs[i] = 1;
8744 + call_really_used_regs[VRSAVE_REGNO] = 1;
8747 + if (TARGET_ALTIVEC || TARGET_VSX)
8748 + global_regs[VSCR_REGNO] = 1;
8750 + if (TARGET_ALTIVEC_ABI)
8752 + for (i = FIRST_ALTIVEC_REGNO; i < FIRST_ALTIVEC_REGNO + 20; ++i)
8753 + call_used_regs[i] = call_really_used_regs[i] = 1;
8755 + /* AIX reserves VR20:31 in non-extended ABI mode. */
8756 + if (TARGET_XCOFF)
8757 + for (i = FIRST_ALTIVEC_REGNO + 20; i < FIRST_ALTIVEC_REGNO + 32; ++i)
8758 + fixed_regs[i] = call_used_regs[i] = call_really_used_regs[i] = 1;
8763 +/* Output insns to set DEST equal to the constant SOURCE as a series of
8764 + lis, ori and shl instructions and return TRUE. */
8766 +bool
8767 +rs6000_emit_set_const (rtx dest, rtx source)
8769 + machine_mode mode = GET_MODE (dest);
8770 + rtx temp, set;
8771 + rtx_insn *insn;
8772 + HOST_WIDE_INT c;
8774 + gcc_checking_assert (CONST_INT_P (source));
8775 + c = INTVAL (source);
8776 + switch (mode)
8778 + case QImode:
8779 + case HImode:
8780 + emit_insn (gen_rtx_SET (VOIDmode, dest, source));
8781 + return true;
8783 + case SImode:
8784 + temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (SImode);
8786 + emit_insn (gen_rtx_SET (VOIDmode, copy_rtx (temp),
8787 + GEN_INT (c & ~(HOST_WIDE_INT) 0xffff)));
8788 + emit_insn (gen_rtx_SET (VOIDmode, dest,
8789 + gen_rtx_IOR (SImode, copy_rtx (temp),
8790 + GEN_INT (c & 0xffff))));
8791 + break;
8793 + case DImode:
8794 + if (!TARGET_POWERPC64)
8796 + rtx hi, lo;
8798 + hi = operand_subword_force (copy_rtx (dest), WORDS_BIG_ENDIAN == 0,
8799 + DImode);
8800 + lo = operand_subword_force (dest, WORDS_BIG_ENDIAN != 0,
8801 + DImode);
8802 + emit_move_insn (hi, GEN_INT (c >> 32));
8803 + c = ((c & 0xffffffff) ^ 0x80000000) - 0x80000000;
8804 + emit_move_insn (lo, GEN_INT (c));
8806 + else
8807 + rs6000_emit_set_long_const (dest, c);
8808 + break;
8810 + default:
8811 + gcc_unreachable ();
8814 + insn = get_last_insn ();
8815 + set = single_set (insn);
8816 + if (! CONSTANT_P (SET_SRC (set)))
8817 + set_unique_reg_note (insn, REG_EQUAL, GEN_INT (c));
8819 + return true;
8822 +/* Subroutine of rs6000_emit_set_const, handling PowerPC64 DImode.
8823 + Output insns to set DEST equal to the constant C as a series of
8824 + lis, ori and shl instructions. */
8826 +static void
8827 +rs6000_emit_set_long_const (rtx dest, HOST_WIDE_INT c)
8829 + rtx temp;
8830 + HOST_WIDE_INT ud1, ud2, ud3, ud4;
8832 + ud1 = c & 0xffff;
8833 + c = c >> 16;
8834 + ud2 = c & 0xffff;
8835 + c = c >> 16;
8836 + ud3 = c & 0xffff;
8837 + c = c >> 16;
8838 + ud4 = c & 0xffff;
8840 + if ((ud4 == 0xffff && ud3 == 0xffff && ud2 == 0xffff && (ud1 & 0x8000))
8841 + || (ud4 == 0 && ud3 == 0 && ud2 == 0 && ! (ud1 & 0x8000)))
8842 + emit_move_insn (dest, GEN_INT ((ud1 ^ 0x8000) - 0x8000));
8844 + else if ((ud4 == 0xffff && ud3 == 0xffff && (ud2 & 0x8000))
8845 + || (ud4 == 0 && ud3 == 0 && ! (ud2 & 0x8000)))
8847 + temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (DImode);
8849 + emit_move_insn (ud1 != 0 ? copy_rtx (temp) : dest,
8850 + GEN_INT (((ud2 << 16) ^ 0x80000000) - 0x80000000));
8851 + if (ud1 != 0)
8852 + emit_move_insn (dest,
8853 + gen_rtx_IOR (DImode, copy_rtx (temp),
8854 + GEN_INT (ud1)));
8856 + else if (ud3 == 0 && ud4 == 0)
8858 + temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (DImode);
8860 + gcc_assert (ud2 & 0x8000);
8861 + emit_move_insn (copy_rtx (temp),
8862 + GEN_INT (((ud2 << 16) ^ 0x80000000) - 0x80000000));
8863 + if (ud1 != 0)
8864 + emit_move_insn (copy_rtx (temp),
8865 + gen_rtx_IOR (DImode, copy_rtx (temp),
8866 + GEN_INT (ud1)));
8867 + emit_move_insn (dest,
8868 + gen_rtx_ZERO_EXTEND (DImode,
8869 + gen_lowpart (SImode,
8870 + copy_rtx (temp))));
8872 + else if ((ud4 == 0xffff && (ud3 & 0x8000))
8873 + || (ud4 == 0 && ! (ud3 & 0x8000)))
8875 + temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (DImode);
8877 + emit_move_insn (copy_rtx (temp),
8878 + GEN_INT (((ud3 << 16) ^ 0x80000000) - 0x80000000));
8879 + if (ud2 != 0)
8880 + emit_move_insn (copy_rtx (temp),
8881 + gen_rtx_IOR (DImode, copy_rtx (temp),
8882 + GEN_INT (ud2)));
8883 + emit_move_insn (ud1 != 0 ? copy_rtx (temp) : dest,
8884 + gen_rtx_ASHIFT (DImode, copy_rtx (temp),
8885 + GEN_INT (16)));
8886 + if (ud1 != 0)
8887 + emit_move_insn (dest,
8888 + gen_rtx_IOR (DImode, copy_rtx (temp),
8889 + GEN_INT (ud1)));
8891 + else
8893 + temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (DImode);
8895 + emit_move_insn (copy_rtx (temp),
8896 + GEN_INT (((ud4 << 16) ^ 0x80000000) - 0x80000000));
8897 + if (ud3 != 0)
8898 + emit_move_insn (copy_rtx (temp),
8899 + gen_rtx_IOR (DImode, copy_rtx (temp),
8900 + GEN_INT (ud3)));
8902 + emit_move_insn (ud2 != 0 || ud1 != 0 ? copy_rtx (temp) : dest,
8903 + gen_rtx_ASHIFT (DImode, copy_rtx (temp),
8904 + GEN_INT (32)));
8905 + if (ud2 != 0)
8906 + emit_move_insn (ud1 != 0 ? copy_rtx (temp) : dest,
8907 + gen_rtx_IOR (DImode, copy_rtx (temp),
8908 + GEN_INT (ud2 << 16)));
8909 + if (ud1 != 0)
8910 + emit_move_insn (dest,
8911 + gen_rtx_IOR (DImode, copy_rtx (temp),
8912 + GEN_INT (ud1)));
8916 +/* Helper for the following. Get rid of [r+r] memory refs
8917 + in cases where it won't work (TImode, TFmode, TDmode, PTImode). */
8919 +static void
8920 +rs6000_eliminate_indexed_memrefs (rtx operands[2])
8922 + if (reload_in_progress)
8923 + return;
8925 + if (GET_CODE (operands[0]) == MEM
8926 + && GET_CODE (XEXP (operands[0], 0)) != REG
8927 + && ! legitimate_constant_pool_address_p (XEXP (operands[0], 0),
8928 + GET_MODE (operands[0]), false))
8929 + operands[0]
8930 + = replace_equiv_address (operands[0],
8931 + copy_addr_to_reg (XEXP (operands[0], 0)));
8933 + if (GET_CODE (operands[1]) == MEM
8934 + && GET_CODE (XEXP (operands[1], 0)) != REG
8935 + && ! legitimate_constant_pool_address_p (XEXP (operands[1], 0),
8936 + GET_MODE (operands[1]), false))
8937 + operands[1]
8938 + = replace_equiv_address (operands[1],
8939 + copy_addr_to_reg (XEXP (operands[1], 0)));
8942 +/* Generate a vector of constants to permute MODE for a little-endian
8943 + storage operation by swapping the two halves of a vector. */
8944 +static rtvec
8945 +rs6000_const_vec (machine_mode mode)
8947 + int i, subparts;
8948 + rtvec v;
8950 + switch (mode)
8952 + case V1TImode:
8953 + subparts = 1;
8954 + break;
8955 + case V2DFmode:
8956 + case V2DImode:
8957 + subparts = 2;
8958 + break;
8959 + case V4SFmode:
8960 + case V4SImode:
8961 + subparts = 4;
8962 + break;
8963 + case V8HImode:
8964 + subparts = 8;
8965 + break;
8966 + case V16QImode:
8967 + subparts = 16;
8968 + break;
8969 + default:
8970 + gcc_unreachable();
8973 + v = rtvec_alloc (subparts);
8975 + for (i = 0; i < subparts / 2; ++i)
8976 + RTVEC_ELT (v, i) = gen_rtx_CONST_INT (DImode, i + subparts / 2);
8977 + for (i = subparts / 2; i < subparts; ++i)
8978 + RTVEC_ELT (v, i) = gen_rtx_CONST_INT (DImode, i - subparts / 2);
8980 + return v;
8983 +/* Generate a permute rtx that represents an lxvd2x, stxvd2x, or xxpermdi
8984 + for a VSX load or store operation. */
8985 +rtx
8986 +rs6000_gen_le_vsx_permute (rtx source, machine_mode mode)
8988 + rtx par = gen_rtx_PARALLEL (VOIDmode, rs6000_const_vec (mode));
8989 + return gen_rtx_VEC_SELECT (mode, source, par);
8992 +/* Emit a little-endian load from vector memory location SOURCE to VSX
8993 + register DEST in mode MODE. The load is done with two permuting
8994 + insn's that represent an lxvd2x and xxpermdi. */
8995 +void
8996 +rs6000_emit_le_vsx_load (rtx dest, rtx source, machine_mode mode)
8998 + rtx tmp, permute_mem, permute_reg;
9000 + /* Use V2DImode to do swaps of types with 128-bit scalare parts (TImode,
9001 + V1TImode). */
9002 + if (mode == TImode || mode == V1TImode)
9004 + mode = V2DImode;
9005 + dest = gen_lowpart (V2DImode, dest);
9006 + source = adjust_address (source, V2DImode, 0);
9009 + tmp = can_create_pseudo_p () ? gen_reg_rtx_and_attrs (dest) : dest;
9010 + permute_mem = rs6000_gen_le_vsx_permute (source, mode);
9011 + permute_reg = rs6000_gen_le_vsx_permute (tmp, mode);
9012 + emit_insn (gen_rtx_SET (VOIDmode, tmp, permute_mem));
9013 + emit_insn (gen_rtx_SET (VOIDmode, dest, permute_reg));
9016 +/* Emit a little-endian store to vector memory location DEST from VSX
9017 + register SOURCE in mode MODE. The store is done with two permuting
9018 + insn's that represent an xxpermdi and an stxvd2x. */
9019 +void
9020 +rs6000_emit_le_vsx_store (rtx dest, rtx source, machine_mode mode)
9022 + rtx tmp, permute_src, permute_tmp;
9024 + /* Use V2DImode to do swaps of types with 128-bit scalare parts (TImode,
9025 + V1TImode). */
9026 + if (mode == TImode || mode == V1TImode)
9028 + mode = V2DImode;
9029 + dest = adjust_address (dest, V2DImode, 0);
9030 + source = gen_lowpart (V2DImode, source);
9033 + tmp = can_create_pseudo_p () ? gen_reg_rtx_and_attrs (source) : source;
9034 + permute_src = rs6000_gen_le_vsx_permute (source, mode);
9035 + permute_tmp = rs6000_gen_le_vsx_permute (tmp, mode);
9036 + emit_insn (gen_rtx_SET (VOIDmode, tmp, permute_src));
9037 + emit_insn (gen_rtx_SET (VOIDmode, dest, permute_tmp));
9040 +/* Emit a sequence representing a little-endian VSX load or store,
9041 + moving data from SOURCE to DEST in mode MODE. This is done
9042 + separately from rs6000_emit_move to ensure it is called only
9043 + during expand. LE VSX loads and stores introduced later are
9044 + handled with a split. The expand-time RTL generation allows
9045 + us to optimize away redundant pairs of register-permutes. */
9046 +void
9047 +rs6000_emit_le_vsx_move (rtx dest, rtx source, machine_mode mode)
9049 + gcc_assert (!BYTES_BIG_ENDIAN
9050 + && VECTOR_MEM_VSX_P (mode)
9051 + && !gpr_or_gpr_p (dest, source)
9052 + && (MEM_P (source) ^ MEM_P (dest)));
9054 + if (MEM_P (source))
9056 + gcc_assert (REG_P (dest) || GET_CODE (dest) == SUBREG);
9057 + rs6000_emit_le_vsx_load (dest, source, mode);
9059 + else
9061 + if (!REG_P (source))
9062 + source = force_reg (mode, source);
9063 + rs6000_emit_le_vsx_store (dest, source, mode);
9067 +/* Emit a move from SOURCE to DEST in mode MODE. */
9068 +void
9069 +rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
9071 + rtx operands[2];
9072 + operands[0] = dest;
9073 + operands[1] = source;
9075 + if (TARGET_DEBUG_ADDR)
9077 + fprintf (stderr,
9078 + "\nrs6000_emit_move: mode = %s, reload_in_progress = %d, "
9079 + "reload_completed = %d, can_create_pseudos = %d.\ndest:\n",
9080 + GET_MODE_NAME (mode),
9081 + reload_in_progress,
9082 + reload_completed,
9083 + can_create_pseudo_p ());
9084 + debug_rtx (dest);
9085 + fprintf (stderr, "source:\n");
9086 + debug_rtx (source);
9089 + /* Sanity checks. Check that we get CONST_DOUBLE only when we should. */
9090 + if (CONST_WIDE_INT_P (operands[1])
9091 + && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT)
9093 + /* This should be fixed with the introduction of CONST_WIDE_INT. */
9094 + gcc_unreachable ();
9097 + /* Check if GCC is setting up a block move that will end up using FP
9098 + registers as temporaries. We must make sure this is acceptable. */
9099 + if (GET_CODE (operands[0]) == MEM
9100 + && GET_CODE (operands[1]) == MEM
9101 + && mode == DImode
9102 + && (SLOW_UNALIGNED_ACCESS (DImode, MEM_ALIGN (operands[0]))
9103 + || SLOW_UNALIGNED_ACCESS (DImode, MEM_ALIGN (operands[1])))
9104 + && ! (SLOW_UNALIGNED_ACCESS (SImode, (MEM_ALIGN (operands[0]) > 32
9105 + ? 32 : MEM_ALIGN (operands[0])))
9106 + || SLOW_UNALIGNED_ACCESS (SImode, (MEM_ALIGN (operands[1]) > 32
9107 + ? 32
9108 + : MEM_ALIGN (operands[1]))))
9109 + && ! MEM_VOLATILE_P (operands [0])
9110 + && ! MEM_VOLATILE_P (operands [1]))
9112 + emit_move_insn (adjust_address (operands[0], SImode, 0),
9113 + adjust_address (operands[1], SImode, 0));
9114 + emit_move_insn (adjust_address (copy_rtx (operands[0]), SImode, 4),
9115 + adjust_address (copy_rtx (operands[1]), SImode, 4));
9116 + return;
9119 + if (can_create_pseudo_p () && GET_CODE (operands[0]) == MEM
9120 + && !gpc_reg_operand (operands[1], mode))
9121 + operands[1] = force_reg (mode, operands[1]);
9123 + /* Recognize the case where operand[1] is a reference to thread-local
9124 + data and load its address to a register. */
9125 + if (tls_referenced_p (operands[1]))
9127 + enum tls_model model;
9128 + rtx tmp = operands[1];
9129 + rtx addend = NULL;
9131 + if (GET_CODE (tmp) == CONST && GET_CODE (XEXP (tmp, 0)) == PLUS)
9133 + addend = XEXP (XEXP (tmp, 0), 1);
9134 + tmp = XEXP (XEXP (tmp, 0), 0);
9137 + gcc_assert (GET_CODE (tmp) == SYMBOL_REF);
9138 + model = SYMBOL_REF_TLS_MODEL (tmp);
9139 + gcc_assert (model != 0);
9141 + tmp = rs6000_legitimize_tls_address (tmp, model);
9142 + if (addend)
9144 + tmp = gen_rtx_PLUS (mode, tmp, addend);
9145 + tmp = force_operand (tmp, operands[0]);
9147 + operands[1] = tmp;
9150 + /* Handle the case where reload calls us with an invalid address. */
9151 + if (reload_in_progress && mode == Pmode
9152 + && (! general_operand (operands[1], mode)
9153 + || ! nonimmediate_operand (operands[0], mode)))
9154 + goto emit_set;
9156 + /* 128-bit constant floating-point values on Darwin should really be loaded
9157 + as two parts. However, this premature splitting is a problem when DFmode
9158 + values can go into Altivec registers. */
9159 + if (!TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128
9160 + && !reg_addr[DFmode].scalar_in_vmx_p
9161 + && mode == TFmode && GET_CODE (operands[1]) == CONST_DOUBLE)
9163 + rs6000_emit_move (simplify_gen_subreg (DFmode, operands[0], mode, 0),
9164 + simplify_gen_subreg (DFmode, operands[1], mode, 0),
9165 + DFmode);
9166 + rs6000_emit_move (simplify_gen_subreg (DFmode, operands[0], mode,
9167 + GET_MODE_SIZE (DFmode)),
9168 + simplify_gen_subreg (DFmode, operands[1], mode,
9169 + GET_MODE_SIZE (DFmode)),
9170 + DFmode);
9171 + return;
9174 + if (reload_in_progress && cfun->machine->sdmode_stack_slot != NULL_RTX)
9175 + cfun->machine->sdmode_stack_slot =
9176 + eliminate_regs (cfun->machine->sdmode_stack_slot, VOIDmode, NULL_RTX);
9179 + /* Transform (p0:DD, (SUBREG:DD p1:SD)) to ((SUBREG:SD p0:DD),
9180 + p1:SD) if p1 is not of floating point class and p0 is spilled as
9181 + we can have no analogous movsd_store for this. */
9182 + if (lra_in_progress && mode == DDmode
9183 + && REG_P (operands[0]) && REGNO (operands[0]) >= FIRST_PSEUDO_REGISTER
9184 + && reg_preferred_class (REGNO (operands[0])) == NO_REGS
9185 + && GET_CODE (operands[1]) == SUBREG && REG_P (SUBREG_REG (operands[1]))
9186 + && GET_MODE (SUBREG_REG (operands[1])) == SDmode)
9188 + enum reg_class cl;
9189 + int regno = REGNO (SUBREG_REG (operands[1]));
9191 + if (regno >= FIRST_PSEUDO_REGISTER)
9193 + cl = reg_preferred_class (regno);
9194 + regno = cl == NO_REGS ? -1 : ira_class_hard_regs[cl][1];
9196 + if (regno >= 0 && ! FP_REGNO_P (regno))
9198 + mode = SDmode;
9199 + operands[0] = gen_lowpart_SUBREG (SDmode, operands[0]);
9200 + operands[1] = SUBREG_REG (operands[1]);
9203 + if (lra_in_progress
9204 + && mode == SDmode
9205 + && REG_P (operands[0]) && REGNO (operands[0]) >= FIRST_PSEUDO_REGISTER
9206 + && reg_preferred_class (REGNO (operands[0])) == NO_REGS
9207 + && (REG_P (operands[1])
9208 + || (GET_CODE (operands[1]) == SUBREG
9209 + && REG_P (SUBREG_REG (operands[1])))))
9211 + int regno = REGNO (GET_CODE (operands[1]) == SUBREG
9212 + ? SUBREG_REG (operands[1]) : operands[1]);
9213 + enum reg_class cl;
9215 + if (regno >= FIRST_PSEUDO_REGISTER)
9217 + cl = reg_preferred_class (regno);
9218 + gcc_assert (cl != NO_REGS);
9219 + regno = ira_class_hard_regs[cl][0];
9221 + if (FP_REGNO_P (regno))
9223 + if (GET_MODE (operands[0]) != DDmode)
9224 + operands[0] = gen_rtx_SUBREG (DDmode, operands[0], 0);
9225 + emit_insn (gen_movsd_store (operands[0], operands[1]));
9227 + else if (INT_REGNO_P (regno))
9228 + emit_insn (gen_movsd_hardfloat (operands[0], operands[1]));
9229 + else
9230 + gcc_unreachable();
9231 + return;
9233 + /* Transform ((SUBREG:DD p0:SD), p1:DD) to (p0:SD, (SUBREG:SD
9234 + p:DD)) if p0 is not of floating point class and p1 is spilled as
9235 + we can have no analogous movsd_load for this. */
9236 + if (lra_in_progress && mode == DDmode
9237 + && GET_CODE (operands[0]) == SUBREG && REG_P (SUBREG_REG (operands[0]))
9238 + && GET_MODE (SUBREG_REG (operands[0])) == SDmode
9239 + && REG_P (operands[1]) && REGNO (operands[1]) >= FIRST_PSEUDO_REGISTER
9240 + && reg_preferred_class (REGNO (operands[1])) == NO_REGS)
9242 + enum reg_class cl;
9243 + int regno = REGNO (SUBREG_REG (operands[0]));
9245 + if (regno >= FIRST_PSEUDO_REGISTER)
9247 + cl = reg_preferred_class (regno);
9248 + regno = cl == NO_REGS ? -1 : ira_class_hard_regs[cl][0];
9250 + if (regno >= 0 && ! FP_REGNO_P (regno))
9252 + mode = SDmode;
9253 + operands[0] = SUBREG_REG (operands[0]);
9254 + operands[1] = gen_lowpart_SUBREG (SDmode, operands[1]);
9257 + if (lra_in_progress
9258 + && mode == SDmode
9259 + && (REG_P (operands[0])
9260 + || (GET_CODE (operands[0]) == SUBREG
9261 + && REG_P (SUBREG_REG (operands[0]))))
9262 + && REG_P (operands[1]) && REGNO (operands[1]) >= FIRST_PSEUDO_REGISTER
9263 + && reg_preferred_class (REGNO (operands[1])) == NO_REGS)
9265 + int regno = REGNO (GET_CODE (operands[0]) == SUBREG
9266 + ? SUBREG_REG (operands[0]) : operands[0]);
9267 + enum reg_class cl;
9269 + if (regno >= FIRST_PSEUDO_REGISTER)
9271 + cl = reg_preferred_class (regno);
9272 + gcc_assert (cl != NO_REGS);
9273 + regno = ira_class_hard_regs[cl][0];
9275 + if (FP_REGNO_P (regno))
9277 + if (GET_MODE (operands[1]) != DDmode)
9278 + operands[1] = gen_rtx_SUBREG (DDmode, operands[1], 0);
9279 + emit_insn (gen_movsd_load (operands[0], operands[1]));
9281 + else if (INT_REGNO_P (regno))
9282 + emit_insn (gen_movsd_hardfloat (operands[0], operands[1]));
9283 + else
9284 + gcc_unreachable();
9285 + return;
9288 + if (reload_in_progress
9289 + && mode == SDmode
9290 + && cfun->machine->sdmode_stack_slot != NULL_RTX
9291 + && MEM_P (operands[0])
9292 + && rtx_equal_p (operands[0], cfun->machine->sdmode_stack_slot)
9293 + && REG_P (operands[1]))
9295 + if (FP_REGNO_P (REGNO (operands[1])))
9297 + rtx mem = adjust_address_nv (operands[0], DDmode, 0);
9298 + mem = eliminate_regs (mem, VOIDmode, NULL_RTX);
9299 + emit_insn (gen_movsd_store (mem, operands[1]));
9301 + else if (INT_REGNO_P (REGNO (operands[1])))
9303 + rtx mem = operands[0];
9304 + if (BYTES_BIG_ENDIAN)
9305 + mem = adjust_address_nv (mem, mode, 4);
9306 + mem = eliminate_regs (mem, VOIDmode, NULL_RTX);
9307 + emit_insn (gen_movsd_hardfloat (mem, operands[1]));
9309 + else
9310 + gcc_unreachable();
9311 + return;
9313 + if (reload_in_progress
9314 + && mode == SDmode
9315 + && REG_P (operands[0])
9316 + && MEM_P (operands[1])
9317 + && cfun->machine->sdmode_stack_slot != NULL_RTX
9318 + && rtx_equal_p (operands[1], cfun->machine->sdmode_stack_slot))
9320 + if (FP_REGNO_P (REGNO (operands[0])))
9322 + rtx mem = adjust_address_nv (operands[1], DDmode, 0);
9323 + mem = eliminate_regs (mem, VOIDmode, NULL_RTX);
9324 + emit_insn (gen_movsd_load (operands[0], mem));
9326 + else if (INT_REGNO_P (REGNO (operands[0])))
9328 + rtx mem = operands[1];
9329 + if (BYTES_BIG_ENDIAN)
9330 + mem = adjust_address_nv (mem, mode, 4);
9331 + mem = eliminate_regs (mem, VOIDmode, NULL_RTX);
9332 + emit_insn (gen_movsd_hardfloat (operands[0], mem));
9334 + else
9335 + gcc_unreachable();
9336 + return;
9339 + /* FIXME: In the long term, this switch statement should go away
9340 + and be replaced by a sequence of tests based on things like
9341 + mode == Pmode. */
9342 + switch (mode)
9344 + case HImode:
9345 + case QImode:
9346 + if (CONSTANT_P (operands[1])
9347 + && GET_CODE (operands[1]) != CONST_INT)
9348 + operands[1] = force_const_mem (mode, operands[1]);
9349 + break;
9351 + case TFmode:
9352 + case TDmode:
9353 + rs6000_eliminate_indexed_memrefs (operands);
9354 + /* fall through */
9356 + case DFmode:
9357 + case DDmode:
9358 + case SFmode:
9359 + case SDmode:
9360 + if (CONSTANT_P (operands[1])
9361 + && ! easy_fp_constant (operands[1], mode))
9362 + operands[1] = force_const_mem (mode, operands[1]);
9363 + break;
9365 + case V16QImode:
9366 + case V8HImode:
9367 + case V4SFmode:
9368 + case V4SImode:
9369 + case V4HImode:
9370 + case V2SFmode:
9371 + case V2SImode:
9372 + case V1DImode:
9373 + case V2DFmode:
9374 + case V2DImode:
9375 + case V1TImode:
9376 + if (CONSTANT_P (operands[1])
9377 + && !easy_vector_constant (operands[1], mode))
9378 + operands[1] = force_const_mem (mode, operands[1]);
9379 + break;
9381 + case SImode:
9382 + case DImode:
9383 + /* Use default pattern for address of ELF small data */
9384 + if (TARGET_ELF
9385 + && mode == Pmode
9386 + && DEFAULT_ABI == ABI_V4
9387 + && (GET_CODE (operands[1]) == SYMBOL_REF
9388 + || GET_CODE (operands[1]) == CONST)
9389 + && small_data_operand (operands[1], mode))
9391 + emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1]));
9392 + return;
9395 + if (DEFAULT_ABI == ABI_V4
9396 + && mode == Pmode && mode == SImode
9397 + && flag_pic == 1 && got_operand (operands[1], mode))
9399 + emit_insn (gen_movsi_got (operands[0], operands[1]));
9400 + return;
9403 + if ((TARGET_ELF || DEFAULT_ABI == ABI_DARWIN)
9404 + && TARGET_NO_TOC
9405 + && ! flag_pic
9406 + && mode == Pmode
9407 + && CONSTANT_P (operands[1])
9408 + && GET_CODE (operands[1]) != HIGH
9409 + && GET_CODE (operands[1]) != CONST_INT)
9411 + rtx target = (!can_create_pseudo_p ()
9412 + ? operands[0]
9413 + : gen_reg_rtx (mode));
9415 + /* If this is a function address on -mcall-aixdesc,
9416 + convert it to the address of the descriptor. */
9417 + if (DEFAULT_ABI == ABI_AIX
9418 + && GET_CODE (operands[1]) == SYMBOL_REF
9419 + && XSTR (operands[1], 0)[0] == '.')
9421 + const char *name = XSTR (operands[1], 0);
9422 + rtx new_ref;
9423 + while (*name == '.')
9424 + name++;
9425 + new_ref = gen_rtx_SYMBOL_REF (Pmode, name);
9426 + CONSTANT_POOL_ADDRESS_P (new_ref)
9427 + = CONSTANT_POOL_ADDRESS_P (operands[1]);
9428 + SYMBOL_REF_FLAGS (new_ref) = SYMBOL_REF_FLAGS (operands[1]);
9429 + SYMBOL_REF_USED (new_ref) = SYMBOL_REF_USED (operands[1]);
9430 + SYMBOL_REF_DATA (new_ref) = SYMBOL_REF_DATA (operands[1]);
9431 + operands[1] = new_ref;
9434 + if (DEFAULT_ABI == ABI_DARWIN)
9436 +#if TARGET_MACHO
9437 + if (MACHO_DYNAMIC_NO_PIC_P)
9439 + /* Take care of any required data indirection. */
9440 + operands[1] = rs6000_machopic_legitimize_pic_address (
9441 + operands[1], mode, operands[0]);
9442 + if (operands[0] != operands[1])
9443 + emit_insn (gen_rtx_SET (VOIDmode,
9444 + operands[0], operands[1]));
9445 + return;
9447 +#endif
9448 + emit_insn (gen_macho_high (target, operands[1]));
9449 + emit_insn (gen_macho_low (operands[0], target, operands[1]));
9450 + return;
9453 + emit_insn (gen_elf_high (target, operands[1]));
9454 + emit_insn (gen_elf_low (operands[0], target, operands[1]));
9455 + return;
9458 + /* If this is a SYMBOL_REF that refers to a constant pool entry,
9459 + and we have put it in the TOC, we just need to make a TOC-relative
9460 + reference to it. */
9461 + if (TARGET_TOC
9462 + && GET_CODE (operands[1]) == SYMBOL_REF
9463 + && use_toc_relative_ref (operands[1]))
9464 + operands[1] = create_TOC_reference (operands[1], operands[0]);
9465 + else if (mode == Pmode
9466 + && CONSTANT_P (operands[1])
9467 + && GET_CODE (operands[1]) != HIGH
9468 + && ((GET_CODE (operands[1]) != CONST_INT
9469 + && ! easy_fp_constant (operands[1], mode))
9470 + || (GET_CODE (operands[1]) == CONST_INT
9471 + && (num_insns_constant (operands[1], mode)
9472 + > (TARGET_CMODEL != CMODEL_SMALL ? 3 : 2)))
9473 + || (GET_CODE (operands[0]) == REG
9474 + && FP_REGNO_P (REGNO (operands[0]))))
9475 + && !toc_relative_expr_p (operands[1], false)
9476 + && (TARGET_CMODEL == CMODEL_SMALL
9477 + || can_create_pseudo_p ()
9478 + || (REG_P (operands[0])
9479 + && INT_REG_OK_FOR_BASE_P (operands[0], true))))
9482 +#if TARGET_MACHO
9483 + /* Darwin uses a special PIC legitimizer. */
9484 + if (DEFAULT_ABI == ABI_DARWIN && MACHOPIC_INDIRECT)
9486 + operands[1] =
9487 + rs6000_machopic_legitimize_pic_address (operands[1], mode,
9488 + operands[0]);
9489 + if (operands[0] != operands[1])
9490 + emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1]));
9491 + return;
9493 +#endif
9495 + /* If we are to limit the number of things we put in the TOC and
9496 + this is a symbol plus a constant we can add in one insn,
9497 + just put the symbol in the TOC and add the constant. Don't do
9498 + this if reload is in progress. */
9499 + if (GET_CODE (operands[1]) == CONST
9500 + && TARGET_NO_SUM_IN_TOC && ! reload_in_progress
9501 + && GET_CODE (XEXP (operands[1], 0)) == PLUS
9502 + && add_operand (XEXP (XEXP (operands[1], 0), 1), mode)
9503 + && (GET_CODE (XEXP (XEXP (operands[1], 0), 0)) == LABEL_REF
9504 + || GET_CODE (XEXP (XEXP (operands[1], 0), 0)) == SYMBOL_REF)
9505 + && ! side_effects_p (operands[0]))
9507 + rtx sym =
9508 + force_const_mem (mode, XEXP (XEXP (operands[1], 0), 0));
9509 + rtx other = XEXP (XEXP (operands[1], 0), 1);
9511 + sym = force_reg (mode, sym);
9512 + emit_insn (gen_add3_insn (operands[0], sym, other));
9513 + return;
9516 + operands[1] = force_const_mem (mode, operands[1]);
9518 + if (TARGET_TOC
9519 + && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
9520 + && constant_pool_expr_p (XEXP (operands[1], 0))
9521 + && ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (
9522 + get_pool_constant (XEXP (operands[1], 0)),
9523 + get_pool_mode (XEXP (operands[1], 0))))
9525 + rtx tocref = create_TOC_reference (XEXP (operands[1], 0),
9526 + operands[0]);
9527 + operands[1] = gen_const_mem (mode, tocref);
9528 + set_mem_alias_set (operands[1], get_TOC_alias_set ());
9531 + break;
9533 + case TImode:
9534 + if (!VECTOR_MEM_VSX_P (TImode))
9535 + rs6000_eliminate_indexed_memrefs (operands);
9536 + break;
9538 + case PTImode:
9539 + rs6000_eliminate_indexed_memrefs (operands);
9540 + break;
9542 + default:
9543 + fatal_insn ("bad move", gen_rtx_SET (VOIDmode, dest, source));
9546 + /* Above, we may have called force_const_mem which may have returned
9547 + an invalid address. If we can, fix this up; otherwise, reload will
9548 + have to deal with it. */
9549 + if (GET_CODE (operands[1]) == MEM && ! reload_in_progress)
9550 + operands[1] = validize_mem (operands[1]);
9552 + emit_set:
9553 + emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1]));
9556 +/* Return true if a structure, union or array containing FIELD should be
9557 + accessed using `BLKMODE'.
9559 + For the SPE, simd types are V2SI, and gcc can be tempted to put the
9560 + entire thing in a DI and use subregs to access the internals.
9561 + store_bit_field() will force (subreg:DI (reg:V2SI x))'s to the
9562 + back-end. Because a single GPR can hold a V2SI, but not a DI, the
9563 + best thing to do is set structs to BLKmode and avoid Severe Tire
9564 + Damage.
9566 + On e500 v2, DF and DI modes suffer from the same anomaly. DF can
9567 + fit into 1, whereas DI still needs two. */
9569 +static bool
9570 +rs6000_member_type_forces_blk (const_tree field, machine_mode mode)
9572 + return ((TARGET_SPE && TREE_CODE (TREE_TYPE (field)) == VECTOR_TYPE)
9573 + || (TARGET_E500_DOUBLE && mode == DFmode));
9576 +/* Nonzero if we can use a floating-point register to pass this arg. */
9577 +#define USE_FP_FOR_ARG_P(CUM,MODE) \
9578 + (SCALAR_FLOAT_MODE_P (MODE) \
9579 + && (CUM)->fregno <= FP_ARG_MAX_REG \
9580 + && TARGET_HARD_FLOAT && TARGET_FPRS)
9582 +/* Nonzero if we can use an AltiVec register to pass this arg. */
9583 +#define USE_ALTIVEC_FOR_ARG_P(CUM,MODE,NAMED) \
9584 + (ALTIVEC_OR_VSX_VECTOR_MODE (MODE) \
9585 + && (CUM)->vregno <= ALTIVEC_ARG_MAX_REG \
9586 + && TARGET_ALTIVEC_ABI \
9587 + && (NAMED))
9589 +/* Walk down the type tree of TYPE counting consecutive base elements.
9590 + If *MODEP is VOIDmode, then set it to the first valid floating point
9591 + or vector type. If a non-floating point or vector type is found, or
9592 + if a floating point or vector type that doesn't match a non-VOIDmode
9593 + *MODEP is found, then return -1, otherwise return the count in the
9594 + sub-tree. */
9596 +static int
9597 +rs6000_aggregate_candidate (const_tree type, machine_mode *modep)
9599 + machine_mode mode;
9600 + HOST_WIDE_INT size;
9602 + switch (TREE_CODE (type))
9604 + case REAL_TYPE:
9605 + mode = TYPE_MODE (type);
9606 + if (!SCALAR_FLOAT_MODE_P (mode))
9607 + return -1;
9609 + if (*modep == VOIDmode)
9610 + *modep = mode;
9612 + if (*modep == mode)
9613 + return 1;
9615 + break;
9617 + case COMPLEX_TYPE:
9618 + mode = TYPE_MODE (TREE_TYPE (type));
9619 + if (!SCALAR_FLOAT_MODE_P (mode))
9620 + return -1;
9622 + if (*modep == VOIDmode)
9623 + *modep = mode;
9625 + if (*modep == mode)
9626 + return 2;
9628 + break;
9630 + case VECTOR_TYPE:
9631 + if (!TARGET_ALTIVEC_ABI || !TARGET_ALTIVEC)
9632 + return -1;
9634 + /* Use V4SImode as representative of all 128-bit vector types. */
9635 + size = int_size_in_bytes (type);
9636 + switch (size)
9638 + case 16:
9639 + mode = V4SImode;
9640 + break;
9641 + default:
9642 + return -1;
9645 + if (*modep == VOIDmode)
9646 + *modep = mode;
9648 + /* Vector modes are considered to be opaque: two vectors are
9649 + equivalent for the purposes of being homogeneous aggregates
9650 + if they are the same size. */
9651 + if (*modep == mode)
9652 + return 1;
9654 + break;
9656 + case ARRAY_TYPE:
9658 + int count;
9659 + tree index = TYPE_DOMAIN (type);
9661 + /* Can't handle incomplete types nor sizes that are not
9662 + fixed. */
9663 + if (!COMPLETE_TYPE_P (type)
9664 + || TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
9665 + return -1;
9667 + count = rs6000_aggregate_candidate (TREE_TYPE (type), modep);
9668 + if (count == -1
9669 + || !index
9670 + || !TYPE_MAX_VALUE (index)
9671 + || !tree_fits_uhwi_p (TYPE_MAX_VALUE (index))
9672 + || !TYPE_MIN_VALUE (index)
9673 + || !tree_fits_uhwi_p (TYPE_MIN_VALUE (index))
9674 + || count < 0)
9675 + return -1;
9677 + count *= (1 + tree_to_uhwi (TYPE_MAX_VALUE (index))
9678 + - tree_to_uhwi (TYPE_MIN_VALUE (index)));
9680 + /* There must be no padding. */
9681 + if (wi::ne_p (TYPE_SIZE (type), count * GET_MODE_BITSIZE (*modep)))
9682 + return -1;
9684 + return count;
9687 + case RECORD_TYPE:
9689 + int count = 0;
9690 + int sub_count;
9691 + tree field;
9693 + /* Can't handle incomplete types nor sizes that are not
9694 + fixed. */
9695 + if (!COMPLETE_TYPE_P (type)
9696 + || TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
9697 + return -1;
9699 + for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
9701 + if (TREE_CODE (field) != FIELD_DECL)
9702 + continue;
9704 + sub_count = rs6000_aggregate_candidate (TREE_TYPE (field), modep);
9705 + if (sub_count < 0)
9706 + return -1;
9707 + count += sub_count;
9710 + /* There must be no padding. */
9711 + if (wi::ne_p (TYPE_SIZE (type), count * GET_MODE_BITSIZE (*modep)))
9712 + return -1;
9714 + return count;
9717 + case UNION_TYPE:
9718 + case QUAL_UNION_TYPE:
9720 + /* These aren't very interesting except in a degenerate case. */
9721 + int count = 0;
9722 + int sub_count;
9723 + tree field;
9725 + /* Can't handle incomplete types nor sizes that are not
9726 + fixed. */
9727 + if (!COMPLETE_TYPE_P (type)
9728 + || TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
9729 + return -1;
9731 + for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
9733 + if (TREE_CODE (field) != FIELD_DECL)
9734 + continue;
9736 + sub_count = rs6000_aggregate_candidate (TREE_TYPE (field), modep);
9737 + if (sub_count < 0)
9738 + return -1;
9739 + count = count > sub_count ? count : sub_count;
9742 + /* There must be no padding. */
9743 + if (wi::ne_p (TYPE_SIZE (type), count * GET_MODE_BITSIZE (*modep)))
9744 + return -1;
9746 + return count;
9749 + default:
9750 + break;
9753 + return -1;
9756 +/* If an argument, whose type is described by TYPE and MODE, is a homogeneous
9757 + float or vector aggregate that shall be passed in FP/vector registers
9758 + according to the ELFv2 ABI, return the homogeneous element mode in
9759 + *ELT_MODE and the number of elements in *N_ELTS, and return TRUE.
9761 + Otherwise, set *ELT_MODE to MODE and *N_ELTS to 1, and return FALSE. */
9763 +static bool
9764 +rs6000_discover_homogeneous_aggregate (machine_mode mode, const_tree type,
9765 + machine_mode *elt_mode,
9766 + int *n_elts)
9768 + /* Note that we do not accept complex types at the top level as
9769 + homogeneous aggregates; these types are handled via the
9770 + targetm.calls.split_complex_arg mechanism. Complex types
9771 + can be elements of homogeneous aggregates, however. */
9772 + if (DEFAULT_ABI == ABI_ELFv2 && type && AGGREGATE_TYPE_P (type))
9774 + machine_mode field_mode = VOIDmode;
9775 + int field_count = rs6000_aggregate_candidate (type, &field_mode);
9777 + if (field_count > 0)
9779 + int n_regs = (SCALAR_FLOAT_MODE_P (field_mode)?
9780 + (GET_MODE_SIZE (field_mode) + 7) >> 3 : 1);
9782 + /* The ELFv2 ABI allows homogeneous aggregates to occupy
9783 + up to AGGR_ARG_NUM_REG registers. */
9784 + if (field_count * n_regs <= AGGR_ARG_NUM_REG)
9786 + if (elt_mode)
9787 + *elt_mode = field_mode;
9788 + if (n_elts)
9789 + *n_elts = field_count;
9790 + return true;
9795 + if (elt_mode)
9796 + *elt_mode = mode;
9797 + if (n_elts)
9798 + *n_elts = 1;
9799 + return false;
9802 +/* Return a nonzero value to say to return the function value in
9803 + memory, just as large structures are always returned. TYPE will be
9804 + the data type of the value, and FNTYPE will be the type of the
9805 + function doing the returning, or @code{NULL} for libcalls.
9807 + The AIX ABI for the RS/6000 specifies that all structures are
9808 + returned in memory. The Darwin ABI does the same.
9810 + For the Darwin 64 Bit ABI, a function result can be returned in
9811 + registers or in memory, depending on the size of the return data
9812 + type. If it is returned in registers, the value occupies the same
9813 + registers as it would if it were the first and only function
9814 + argument. Otherwise, the function places its result in memory at
9815 + the location pointed to by GPR3.
9817 + The SVR4 ABI specifies that structures <= 8 bytes are returned in r3/r4,
9818 + but a draft put them in memory, and GCC used to implement the draft
9819 + instead of the final standard. Therefore, aix_struct_return
9820 + controls this instead of DEFAULT_ABI; V.4 targets needing backward
9821 + compatibility can change DRAFT_V4_STRUCT_RET to override the
9822 + default, and -m switches get the final word. See
9823 + rs6000_option_override_internal for more details.
9825 + The PPC32 SVR4 ABI uses IEEE double extended for long double, if 128-bit
9826 + long double support is enabled. These values are returned in memory.
9828 + int_size_in_bytes returns -1 for variable size objects, which go in
9829 + memory always. The cast to unsigned makes -1 > 8. */
9831 +static bool
9832 +rs6000_return_in_memory (const_tree type, const_tree fntype ATTRIBUTE_UNUSED)
9834 + /* For the Darwin64 ABI, test if we can fit the return value in regs. */
9835 + if (TARGET_MACHO
9836 + && rs6000_darwin64_abi
9837 + && TREE_CODE (type) == RECORD_TYPE
9838 + && int_size_in_bytes (type) > 0)
9840 + CUMULATIVE_ARGS valcum;
9841 + rtx valret;
9843 + valcum.words = 0;
9844 + valcum.fregno = FP_ARG_MIN_REG;
9845 + valcum.vregno = ALTIVEC_ARG_MIN_REG;
9846 + /* Do a trial code generation as if this were going to be passed
9847 + as an argument; if any part goes in memory, we return NULL. */
9848 + valret = rs6000_darwin64_record_arg (&valcum, type, true, true);
9849 + if (valret)
9850 + return false;
9851 + /* Otherwise fall through to more conventional ABI rules. */
9854 + /* The ELFv2 ABI returns homogeneous VFP aggregates in registers */
9855 + if (rs6000_discover_homogeneous_aggregate (TYPE_MODE (type), type,
9856 + NULL, NULL))
9857 + return false;
9859 + /* The ELFv2 ABI returns aggregates up to 16B in registers */
9860 + if (DEFAULT_ABI == ABI_ELFv2 && AGGREGATE_TYPE_P (type)
9861 + && (unsigned HOST_WIDE_INT) int_size_in_bytes (type) <= 16)
9862 + return false;
9864 + if (AGGREGATE_TYPE_P (type)
9865 + && (aix_struct_return
9866 + || (unsigned HOST_WIDE_INT) int_size_in_bytes (type) > 8))
9867 + return true;
9869 + /* Allow -maltivec -mabi=no-altivec without warning. Altivec vector
9870 + modes only exist for GCC vector types if -maltivec. */
9871 + if (TARGET_32BIT && !TARGET_ALTIVEC_ABI
9872 + && ALTIVEC_VECTOR_MODE (TYPE_MODE (type)))
9873 + return false;
9875 + /* Return synthetic vectors in memory. */
9876 + if (TREE_CODE (type) == VECTOR_TYPE
9877 + && int_size_in_bytes (type) > (TARGET_ALTIVEC_ABI ? 16 : 8))
9879 + static bool warned_for_return_big_vectors = false;
9880 + if (!warned_for_return_big_vectors)
9882 + warning (0, "GCC vector returned by reference: "
9883 + "non-standard ABI extension with no compatibility guarantee");
9884 + warned_for_return_big_vectors = true;
9886 + return true;
9889 + if (DEFAULT_ABI == ABI_V4 && TARGET_IEEEQUAD && TYPE_MODE (type) == TFmode)
9890 + return true;
9892 + return false;
9895 +/* Specify whether values returned in registers should be at the most
9896 + significant end of a register. We want aggregates returned by
9897 + value to match the way aggregates are passed to functions. */
9899 +static bool
9900 +rs6000_return_in_msb (const_tree valtype)
9902 + return (DEFAULT_ABI == ABI_ELFv2
9903 + && BYTES_BIG_ENDIAN
9904 + && AGGREGATE_TYPE_P (valtype)
9905 + && FUNCTION_ARG_PADDING (TYPE_MODE (valtype), valtype) == upward);
9908 +#ifdef HAVE_AS_GNU_ATTRIBUTE
9909 +/* Return TRUE if a call to function FNDECL may be one that
9910 + potentially affects the function calling ABI of the object file. */
9912 +static bool
9913 +call_ABI_of_interest (tree fndecl)
9915 + if (symtab->state == EXPANSION)
9917 + struct cgraph_node *c_node;
9919 + /* Libcalls are always interesting. */
9920 + if (fndecl == NULL_TREE)
9921 + return true;
9923 + /* Any call to an external function is interesting. */
9924 + if (DECL_EXTERNAL (fndecl))
9925 + return true;
9927 + /* Interesting functions that we are emitting in this object file. */
9928 + c_node = cgraph_node::get (fndecl);
9929 + c_node = c_node->ultimate_alias_target ();
9930 + return !c_node->only_called_directly_p ();
9932 + return false;
9934 +#endif
9936 +/* Initialize a variable CUM of type CUMULATIVE_ARGS
9937 + for a call to a function whose data type is FNTYPE.
9938 + For a library call, FNTYPE is 0 and RETURN_MODE the return value mode.
9940 + For incoming args we set the number of arguments in the prototype large
9941 + so we never return a PARALLEL. */
9943 +void
9944 +init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype,
9945 + rtx libname ATTRIBUTE_UNUSED, int incoming,
9946 + int libcall, int n_named_args,
9947 + tree fndecl ATTRIBUTE_UNUSED,
9948 + machine_mode return_mode ATTRIBUTE_UNUSED)
9950 + static CUMULATIVE_ARGS zero_cumulative;
9952 + *cum = zero_cumulative;
9953 + cum->words = 0;
9954 + cum->fregno = FP_ARG_MIN_REG;
9955 + cum->vregno = ALTIVEC_ARG_MIN_REG;
9956 + cum->prototype = (fntype && prototype_p (fntype));
9957 + cum->call_cookie = ((DEFAULT_ABI == ABI_V4 && libcall)
9958 + ? CALL_LIBCALL : CALL_NORMAL);
9959 + cum->sysv_gregno = GP_ARG_MIN_REG;
9960 + cum->stdarg = stdarg_p (fntype);
9962 + cum->nargs_prototype = 0;
9963 + if (incoming || cum->prototype)
9964 + cum->nargs_prototype = n_named_args;
9966 + /* Check for a longcall attribute. */
9967 + if ((!fntype && rs6000_default_long_calls)
9968 + || (fntype
9969 + && lookup_attribute ("longcall", TYPE_ATTRIBUTES (fntype))
9970 + && !lookup_attribute ("shortcall", TYPE_ATTRIBUTES (fntype))))
9971 + cum->call_cookie |= CALL_LONG;
9973 + if (TARGET_DEBUG_ARG)
9975 + fprintf (stderr, "\ninit_cumulative_args:");
9976 + if (fntype)
9978 + tree ret_type = TREE_TYPE (fntype);
9979 + fprintf (stderr, " ret code = %s,",
9980 + get_tree_code_name (TREE_CODE (ret_type)));
9983 + if (cum->call_cookie & CALL_LONG)
9984 + fprintf (stderr, " longcall,");
9986 + fprintf (stderr, " proto = %d, nargs = %d\n",
9987 + cum->prototype, cum->nargs_prototype);
9990 +#ifdef HAVE_AS_GNU_ATTRIBUTE
9991 + if (DEFAULT_ABI == ABI_V4)
9993 + cum->escapes = call_ABI_of_interest (fndecl);
9994 + if (cum->escapes)
9996 + tree return_type;
9998 + if (fntype)
10000 + return_type = TREE_TYPE (fntype);
10001 + return_mode = TYPE_MODE (return_type);
10003 + else
10004 + return_type = lang_hooks.types.type_for_mode (return_mode, 0);
10006 + if (return_type != NULL)
10008 + if (TREE_CODE (return_type) == RECORD_TYPE
10009 + && TYPE_TRANSPARENT_AGGR (return_type))
10011 + return_type = TREE_TYPE (first_field (return_type));
10012 + return_mode = TYPE_MODE (return_type);
10014 + if (AGGREGATE_TYPE_P (return_type)
10015 + && ((unsigned HOST_WIDE_INT) int_size_in_bytes (return_type)
10016 + <= 8))
10017 + rs6000_returns_struct = true;
10019 + if (SCALAR_FLOAT_MODE_P (return_mode))
10020 + rs6000_passes_float = true;
10021 + else if (ALTIVEC_OR_VSX_VECTOR_MODE (return_mode)
10022 + || SPE_VECTOR_MODE (return_mode))
10023 + rs6000_passes_vector = true;
10026 +#endif
10028 + if (fntype
10029 + && !TARGET_ALTIVEC
10030 + && TARGET_ALTIVEC_ABI
10031 + && ALTIVEC_VECTOR_MODE (TYPE_MODE (TREE_TYPE (fntype))))
10033 + error ("cannot return value in vector register because"
10034 + " altivec instructions are disabled, use -maltivec"
10035 + " to enable them");
10039 +/* The mode the ABI uses for a word. This is not the same as word_mode
10040 + for -m32 -mpowerpc64. This is used to implement various target hooks. */
10042 +static machine_mode
10043 +rs6000_abi_word_mode (void)
10045 + return TARGET_32BIT ? SImode : DImode;
10048 +/* On rs6000, function arguments are promoted, as are function return
10049 + values. */
10051 +static machine_mode
10052 +rs6000_promote_function_mode (const_tree type ATTRIBUTE_UNUSED,
10053 + machine_mode mode,
10054 + int *punsignedp ATTRIBUTE_UNUSED,
10055 + const_tree, int)
10057 + PROMOTE_MODE (mode, *punsignedp, type);
10059 + return mode;
10062 +/* Return true if TYPE must be passed on the stack and not in registers. */
10064 +static bool
10065 +rs6000_must_pass_in_stack (machine_mode mode, const_tree type)
10067 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2 || TARGET_64BIT)
10068 + return must_pass_in_stack_var_size (mode, type);
10069 + else
10070 + return must_pass_in_stack_var_size_or_pad (mode, type);
10073 +/* If defined, a C expression which determines whether, and in which
10074 + direction, to pad out an argument with extra space. The value
10075 + should be of type `enum direction': either `upward' to pad above
10076 + the argument, `downward' to pad below, or `none' to inhibit
10077 + padding.
10079 + For the AIX ABI structs are always stored left shifted in their
10080 + argument slot. */
10082 +enum direction
10083 +function_arg_padding (machine_mode mode, const_tree type)
10085 +#ifndef AGGREGATE_PADDING_FIXED
10086 +#define AGGREGATE_PADDING_FIXED 0
10087 +#endif
10088 +#ifndef AGGREGATES_PAD_UPWARD_ALWAYS
10089 +#define AGGREGATES_PAD_UPWARD_ALWAYS 0
10090 +#endif
10092 + if (!AGGREGATE_PADDING_FIXED)
10094 + /* GCC used to pass structures of the same size as integer types as
10095 + if they were in fact integers, ignoring FUNCTION_ARG_PADDING.
10096 + i.e. Structures of size 1 or 2 (or 4 when TARGET_64BIT) were
10097 + passed padded downward, except that -mstrict-align further
10098 + muddied the water in that multi-component structures of 2 and 4
10099 + bytes in size were passed padded upward.
10101 + The following arranges for best compatibility with previous
10102 + versions of gcc, but removes the -mstrict-align dependency. */
10103 + if (BYTES_BIG_ENDIAN)
10105 + HOST_WIDE_INT size = 0;
10107 + if (mode == BLKmode)
10109 + if (type && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)
10110 + size = int_size_in_bytes (type);
10112 + else
10113 + size = GET_MODE_SIZE (mode);
10115 + if (size == 1 || size == 2 || size == 4)
10116 + return downward;
10118 + return upward;
10121 + if (AGGREGATES_PAD_UPWARD_ALWAYS)
10123 + if (type != 0 && AGGREGATE_TYPE_P (type))
10124 + return upward;
10127 + /* Fall back to the default. */
10128 + return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
10131 +/* If defined, a C expression that gives the alignment boundary, in bits,
10132 + of an argument with the specified mode and type. If it is not defined,
10133 + PARM_BOUNDARY is used for all arguments.
10135 + V.4 wants long longs and doubles to be double word aligned. Just
10136 + testing the mode size is a boneheaded way to do this as it means
10137 + that other types such as complex int are also double word aligned.
10138 + However, we're stuck with this because changing the ABI might break
10139 + existing library interfaces.
10141 + Doubleword align SPE vectors.
10142 + Quadword align Altivec/VSX vectors.
10143 + Quadword align large synthetic vector types. */
10145 +static unsigned int
10146 +rs6000_function_arg_boundary (machine_mode mode, const_tree type)
10148 + machine_mode elt_mode;
10149 + int n_elts;
10151 + rs6000_discover_homogeneous_aggregate (mode, type, &elt_mode, &n_elts);
10153 + if (DEFAULT_ABI == ABI_V4
10154 + && (GET_MODE_SIZE (mode) == 8
10155 + || (TARGET_HARD_FLOAT
10156 + && TARGET_FPRS
10157 + && (mode == TFmode || mode == TDmode))))
10158 + return 64;
10159 + else if (SPE_VECTOR_MODE (mode)
10160 + || (type && TREE_CODE (type) == VECTOR_TYPE
10161 + && int_size_in_bytes (type) >= 8
10162 + && int_size_in_bytes (type) < 16))
10163 + return 64;
10164 + else if (ALTIVEC_OR_VSX_VECTOR_MODE (elt_mode)
10165 + || (type && TREE_CODE (type) == VECTOR_TYPE
10166 + && int_size_in_bytes (type) >= 16))
10167 + return 128;
10169 + /* Aggregate types that need > 8 byte alignment are quadword-aligned
10170 + in the parameter area in the ELFv2 ABI, and in the AIX ABI unless
10171 + -mcompat-align-parm is used. */
10172 + if (((DEFAULT_ABI == ABI_AIX && !rs6000_compat_align_parm)
10173 + || DEFAULT_ABI == ABI_ELFv2)
10174 + && type && TYPE_ALIGN (type) > 64)
10176 + /* "Aggregate" means any AGGREGATE_TYPE except for single-element
10177 + or homogeneous float/vector aggregates here. We already handled
10178 + vector aggregates above, but still need to check for float here. */
10179 + bool aggregate_p = (AGGREGATE_TYPE_P (type)
10180 + && !SCALAR_FLOAT_MODE_P (elt_mode));
10182 + /* We used to check for BLKmode instead of the above aggregate type
10183 + check. Warn when this results in any difference to the ABI. */
10184 + if (aggregate_p != (mode == BLKmode))
10186 + static bool warned;
10187 + if (!warned && warn_psabi)
10189 + warned = true;
10190 + inform (input_location,
10191 + "the ABI of passing aggregates with %d-byte alignment"
10192 + " has changed in GCC 5",
10193 + (int) TYPE_ALIGN (type) / BITS_PER_UNIT);
10197 + if (aggregate_p)
10198 + return 128;
10201 + /* Similar for the Darwin64 ABI. Note that for historical reasons we
10202 + implement the "aggregate type" check as a BLKmode check here; this
10203 + means certain aggregate types are in fact not aligned. */
10204 + if (TARGET_MACHO && rs6000_darwin64_abi
10205 + && mode == BLKmode
10206 + && type && TYPE_ALIGN (type) > 64)
10207 + return 128;
10209 + return PARM_BOUNDARY;
10212 +/* The offset in words to the start of the parameter save area. */
10214 +static unsigned int
10215 +rs6000_parm_offset (void)
10217 + return (DEFAULT_ABI == ABI_V4 ? 2
10218 + : DEFAULT_ABI == ABI_ELFv2 ? 4
10219 + : 6);
10222 +/* For a function parm of MODE and TYPE, return the starting word in
10223 + the parameter area. NWORDS of the parameter area are already used. */
10225 +static unsigned int
10226 +rs6000_parm_start (machine_mode mode, const_tree type,
10227 + unsigned int nwords)
10229 + unsigned int align;
10231 + align = rs6000_function_arg_boundary (mode, type) / PARM_BOUNDARY - 1;
10232 + return nwords + (-(rs6000_parm_offset () + nwords) & align);
10235 +/* Compute the size (in words) of a function argument. */
10237 +static unsigned long
10238 +rs6000_arg_size (machine_mode mode, const_tree type)
10240 + unsigned long size;
10242 + if (mode != BLKmode)
10243 + size = GET_MODE_SIZE (mode);
10244 + else
10245 + size = int_size_in_bytes (type);
10247 + if (TARGET_32BIT)
10248 + return (size + 3) >> 2;
10249 + else
10250 + return (size + 7) >> 3;
10253 +/* Use this to flush pending int fields. */
10255 +static void
10256 +rs6000_darwin64_record_arg_advance_flush (CUMULATIVE_ARGS *cum,
10257 + HOST_WIDE_INT bitpos, int final)
10259 + unsigned int startbit, endbit;
10260 + int intregs, intoffset;
10261 + machine_mode mode;
10263 + /* Handle the situations where a float is taking up the first half
10264 + of the GPR, and the other half is empty (typically due to
10265 + alignment restrictions). We can detect this by a 8-byte-aligned
10266 + int field, or by seeing that this is the final flush for this
10267 + argument. Count the word and continue on. */
10268 + if (cum->floats_in_gpr == 1
10269 + && (cum->intoffset % 64 == 0
10270 + || (cum->intoffset == -1 && final)))
10272 + cum->words++;
10273 + cum->floats_in_gpr = 0;
10276 + if (cum->intoffset == -1)
10277 + return;
10279 + intoffset = cum->intoffset;
10280 + cum->intoffset = -1;
10281 + cum->floats_in_gpr = 0;
10283 + if (intoffset % BITS_PER_WORD != 0)
10285 + mode = mode_for_size (BITS_PER_WORD - intoffset % BITS_PER_WORD,
10286 + MODE_INT, 0);
10287 + if (mode == BLKmode)
10289 + /* We couldn't find an appropriate mode, which happens,
10290 + e.g., in packed structs when there are 3 bytes to load.
10291 + Back intoffset back to the beginning of the word in this
10292 + case. */
10293 + intoffset = intoffset & -BITS_PER_WORD;
10297 + startbit = intoffset & -BITS_PER_WORD;
10298 + endbit = (bitpos + BITS_PER_WORD - 1) & -BITS_PER_WORD;
10299 + intregs = (endbit - startbit) / BITS_PER_WORD;
10300 + cum->words += intregs;
10301 + /* words should be unsigned. */
10302 + if ((unsigned)cum->words < (endbit/BITS_PER_WORD))
10304 + int pad = (endbit/BITS_PER_WORD) - cum->words;
10305 + cum->words += pad;
10309 +/* The darwin64 ABI calls for us to recurse down through structs,
10310 + looking for elements passed in registers. Unfortunately, we have
10311 + to track int register count here also because of misalignments
10312 + in powerpc alignment mode. */
10314 +static void
10315 +rs6000_darwin64_record_arg_advance_recurse (CUMULATIVE_ARGS *cum,
10316 + const_tree type,
10317 + HOST_WIDE_INT startbitpos)
10319 + tree f;
10321 + for (f = TYPE_FIELDS (type); f ; f = DECL_CHAIN (f))
10322 + if (TREE_CODE (f) == FIELD_DECL)
10324 + HOST_WIDE_INT bitpos = startbitpos;
10325 + tree ftype = TREE_TYPE (f);
10326 + machine_mode mode;
10327 + if (ftype == error_mark_node)
10328 + continue;
10329 + mode = TYPE_MODE (ftype);
10331 + if (DECL_SIZE (f) != 0
10332 + && tree_fits_uhwi_p (bit_position (f)))
10333 + bitpos += int_bit_position (f);
10335 + /* ??? FIXME: else assume zero offset. */
10337 + if (TREE_CODE (ftype) == RECORD_TYPE)
10338 + rs6000_darwin64_record_arg_advance_recurse (cum, ftype, bitpos);
10339 + else if (USE_FP_FOR_ARG_P (cum, mode))
10341 + unsigned n_fpregs = (GET_MODE_SIZE (mode) + 7) >> 3;
10342 + rs6000_darwin64_record_arg_advance_flush (cum, bitpos, 0);
10343 + cum->fregno += n_fpregs;
10344 + /* Single-precision floats present a special problem for
10345 + us, because they are smaller than an 8-byte GPR, and so
10346 + the structure-packing rules combined with the standard
10347 + varargs behavior mean that we want to pack float/float
10348 + and float/int combinations into a single register's
10349 + space. This is complicated by the arg advance flushing,
10350 + which works on arbitrarily large groups of int-type
10351 + fields. */
10352 + if (mode == SFmode)
10354 + if (cum->floats_in_gpr == 1)
10356 + /* Two floats in a word; count the word and reset
10357 + the float count. */
10358 + cum->words++;
10359 + cum->floats_in_gpr = 0;
10361 + else if (bitpos % 64 == 0)
10363 + /* A float at the beginning of an 8-byte word;
10364 + count it and put off adjusting cum->words until
10365 + we see if a arg advance flush is going to do it
10366 + for us. */
10367 + cum->floats_in_gpr++;
10369 + else
10371 + /* The float is at the end of a word, preceded
10372 + by integer fields, so the arg advance flush
10373 + just above has already set cum->words and
10374 + everything is taken care of. */
10377 + else
10378 + cum->words += n_fpregs;
10380 + else if (USE_ALTIVEC_FOR_ARG_P (cum, mode, 1))
10382 + rs6000_darwin64_record_arg_advance_flush (cum, bitpos, 0);
10383 + cum->vregno++;
10384 + cum->words += 2;
10386 + else if (cum->intoffset == -1)
10387 + cum->intoffset = bitpos;
10391 +/* Check for an item that needs to be considered specially under the darwin 64
10392 + bit ABI. These are record types where the mode is BLK or the structure is
10393 + 8 bytes in size. */
10394 +static int
10395 +rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type)
10397 + return rs6000_darwin64_abi
10398 + && ((mode == BLKmode
10399 + && TREE_CODE (type) == RECORD_TYPE
10400 + && int_size_in_bytes (type) > 0)
10401 + || (type && TREE_CODE (type) == RECORD_TYPE
10402 + && int_size_in_bytes (type) == 8)) ? 1 : 0;
10405 +/* Update the data in CUM to advance over an argument
10406 + of mode MODE and data type TYPE.
10407 + (TYPE is null for libcalls where that information may not be available.)
10409 + Note that for args passed by reference, function_arg will be called
10410 + with MODE and TYPE set to that of the pointer to the arg, not the arg
10411 + itself. */
10413 +static void
10414 +rs6000_function_arg_advance_1 (CUMULATIVE_ARGS *cum, machine_mode mode,
10415 + const_tree type, bool named, int depth)
10417 + machine_mode elt_mode;
10418 + int n_elts;
10420 + rs6000_discover_homogeneous_aggregate (mode, type, &elt_mode, &n_elts);
10422 + /* Only tick off an argument if we're not recursing. */
10423 + if (depth == 0)
10424 + cum->nargs_prototype--;
10426 +#ifdef HAVE_AS_GNU_ATTRIBUTE
10427 + if (DEFAULT_ABI == ABI_V4
10428 + && cum->escapes)
10430 + if (SCALAR_FLOAT_MODE_P (mode))
10431 + rs6000_passes_float = true;
10432 + else if (named && ALTIVEC_OR_VSX_VECTOR_MODE (mode))
10433 + rs6000_passes_vector = true;
10434 + else if (SPE_VECTOR_MODE (mode)
10435 + && !cum->stdarg
10436 + && cum->sysv_gregno <= GP_ARG_MAX_REG)
10437 + rs6000_passes_vector = true;
10439 +#endif
10441 + if (TARGET_ALTIVEC_ABI
10442 + && (ALTIVEC_OR_VSX_VECTOR_MODE (elt_mode)
10443 + || (type && TREE_CODE (type) == VECTOR_TYPE
10444 + && int_size_in_bytes (type) == 16)))
10446 + bool stack = false;
10448 + if (USE_ALTIVEC_FOR_ARG_P (cum, elt_mode, named))
10450 + cum->vregno += n_elts;
10452 + if (!TARGET_ALTIVEC)
10453 + error ("cannot pass argument in vector register because"
10454 + " altivec instructions are disabled, use -maltivec"
10455 + " to enable them");
10457 + /* PowerPC64 Linux and AIX allocate GPRs for a vector argument
10458 + even if it is going to be passed in a vector register.
10459 + Darwin does the same for variable-argument functions. */
10460 + if (((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
10461 + && TARGET_64BIT)
10462 + || (cum->stdarg && DEFAULT_ABI != ABI_V4))
10463 + stack = true;
10465 + else
10466 + stack = true;
10468 + if (stack)
10470 + int align;
10472 + /* Vector parameters must be 16-byte aligned. In 32-bit
10473 + mode this means we need to take into account the offset
10474 + to the parameter save area. In 64-bit mode, they just
10475 + have to start on an even word, since the parameter save
10476 + area is 16-byte aligned. */
10477 + if (TARGET_32BIT)
10478 + align = -(rs6000_parm_offset () + cum->words) & 3;
10479 + else
10480 + align = cum->words & 1;
10481 + cum->words += align + rs6000_arg_size (mode, type);
10483 + if (TARGET_DEBUG_ARG)
10485 + fprintf (stderr, "function_adv: words = %2d, align=%d, ",
10486 + cum->words, align);
10487 + fprintf (stderr, "nargs = %4d, proto = %d, mode = %4s\n",
10488 + cum->nargs_prototype, cum->prototype,
10489 + GET_MODE_NAME (mode));
10493 + else if (TARGET_SPE_ABI && TARGET_SPE && SPE_VECTOR_MODE (mode)
10494 + && !cum->stdarg
10495 + && cum->sysv_gregno <= GP_ARG_MAX_REG)
10496 + cum->sysv_gregno++;
10498 + else if (TARGET_MACHO && rs6000_darwin64_struct_check_p (mode, type))
10500 + int size = int_size_in_bytes (type);
10501 + /* Variable sized types have size == -1 and are
10502 + treated as if consisting entirely of ints.
10503 + Pad to 16 byte boundary if needed. */
10504 + if (TYPE_ALIGN (type) >= 2 * BITS_PER_WORD
10505 + && (cum->words % 2) != 0)
10506 + cum->words++;
10507 + /* For varargs, we can just go up by the size of the struct. */
10508 + if (!named)
10509 + cum->words += (size + 7) / 8;
10510 + else
10512 + /* It is tempting to say int register count just goes up by
10513 + sizeof(type)/8, but this is wrong in a case such as
10514 + { int; double; int; } [powerpc alignment]. We have to
10515 + grovel through the fields for these too. */
10516 + cum->intoffset = 0;
10517 + cum->floats_in_gpr = 0;
10518 + rs6000_darwin64_record_arg_advance_recurse (cum, type, 0);
10519 + rs6000_darwin64_record_arg_advance_flush (cum,
10520 + size * BITS_PER_UNIT, 1);
10522 + if (TARGET_DEBUG_ARG)
10524 + fprintf (stderr, "function_adv: words = %2d, align=%d, size=%d",
10525 + cum->words, TYPE_ALIGN (type), size);
10526 + fprintf (stderr,
10527 + "nargs = %4d, proto = %d, mode = %4s (darwin64 abi)\n",
10528 + cum->nargs_prototype, cum->prototype,
10529 + GET_MODE_NAME (mode));
10532 + else if (DEFAULT_ABI == ABI_V4)
10534 + if (TARGET_HARD_FLOAT && TARGET_FPRS
10535 + && ((TARGET_SINGLE_FLOAT && mode == SFmode)
10536 + || (TARGET_DOUBLE_FLOAT && mode == DFmode)
10537 + || (mode == TFmode && !TARGET_IEEEQUAD)
10538 + || mode == SDmode || mode == DDmode || mode == TDmode))
10540 + /* _Decimal128 must use an even/odd register pair. This assumes
10541 + that the register number is odd when fregno is odd. */
10542 + if (mode == TDmode && (cum->fregno % 2) == 1)
10543 + cum->fregno++;
10545 + if (cum->fregno + (mode == TFmode || mode == TDmode ? 1 : 0)
10546 + <= FP_ARG_V4_MAX_REG)
10547 + cum->fregno += (GET_MODE_SIZE (mode) + 7) >> 3;
10548 + else
10550 + cum->fregno = FP_ARG_V4_MAX_REG + 1;
10551 + if (mode == DFmode || mode == TFmode
10552 + || mode == DDmode || mode == TDmode)
10553 + cum->words += cum->words & 1;
10554 + cum->words += rs6000_arg_size (mode, type);
10557 + else
10559 + int n_words = rs6000_arg_size (mode, type);
10560 + int gregno = cum->sysv_gregno;
10562 + /* Long long and SPE vectors are put in (r3,r4), (r5,r6),
10563 + (r7,r8) or (r9,r10). As does any other 2 word item such
10564 + as complex int due to a historical mistake. */
10565 + if (n_words == 2)
10566 + gregno += (1 - gregno) & 1;
10568 + /* Multi-reg args are not split between registers and stack. */
10569 + if (gregno + n_words - 1 > GP_ARG_MAX_REG)
10571 + /* Long long and SPE vectors are aligned on the stack.
10572 + So are other 2 word items such as complex int due to
10573 + a historical mistake. */
10574 + if (n_words == 2)
10575 + cum->words += cum->words & 1;
10576 + cum->words += n_words;
10579 + /* Note: continuing to accumulate gregno past when we've started
10580 + spilling to the stack indicates the fact that we've started
10581 + spilling to the stack to expand_builtin_saveregs. */
10582 + cum->sysv_gregno = gregno + n_words;
10585 + if (TARGET_DEBUG_ARG)
10587 + fprintf (stderr, "function_adv: words = %2d, fregno = %2d, ",
10588 + cum->words, cum->fregno);
10589 + fprintf (stderr, "gregno = %2d, nargs = %4d, proto = %d, ",
10590 + cum->sysv_gregno, cum->nargs_prototype, cum->prototype);
10591 + fprintf (stderr, "mode = %4s, named = %d\n",
10592 + GET_MODE_NAME (mode), named);
10595 + else
10597 + int n_words = rs6000_arg_size (mode, type);
10598 + int start_words = cum->words;
10599 + int align_words = rs6000_parm_start (mode, type, start_words);
10601 + cum->words = align_words + n_words;
10603 + if (SCALAR_FLOAT_MODE_P (elt_mode)
10604 + && TARGET_HARD_FLOAT && TARGET_FPRS)
10606 + /* _Decimal128 must be passed in an even/odd float register pair.
10607 + This assumes that the register number is odd when fregno is
10608 + odd. */
10609 + if (elt_mode == TDmode && (cum->fregno % 2) == 1)
10610 + cum->fregno++;
10611 + cum->fregno += n_elts * ((GET_MODE_SIZE (elt_mode) + 7) >> 3);
10614 + if (TARGET_DEBUG_ARG)
10616 + fprintf (stderr, "function_adv: words = %2d, fregno = %2d, ",
10617 + cum->words, cum->fregno);
10618 + fprintf (stderr, "nargs = %4d, proto = %d, mode = %4s, ",
10619 + cum->nargs_prototype, cum->prototype, GET_MODE_NAME (mode));
10620 + fprintf (stderr, "named = %d, align = %d, depth = %d\n",
10621 + named, align_words - start_words, depth);
10626 +static void
10627 +rs6000_function_arg_advance (cumulative_args_t cum, machine_mode mode,
10628 + const_tree type, bool named)
10630 + rs6000_function_arg_advance_1 (get_cumulative_args (cum), mode, type, named,
10631 + 0);
10634 +static rtx
10635 +spe_build_register_parallel (machine_mode mode, int gregno)
10637 + rtx r1, r3, r5, r7;
10639 + switch (mode)
10641 + case DFmode:
10642 + r1 = gen_rtx_REG (DImode, gregno);
10643 + r1 = gen_rtx_EXPR_LIST (VOIDmode, r1, const0_rtx);
10644 + return gen_rtx_PARALLEL (mode, gen_rtvec (1, r1));
10646 + case DCmode:
10647 + case TFmode:
10648 + r1 = gen_rtx_REG (DImode, gregno);
10649 + r1 = gen_rtx_EXPR_LIST (VOIDmode, r1, const0_rtx);
10650 + r3 = gen_rtx_REG (DImode, gregno + 2);
10651 + r3 = gen_rtx_EXPR_LIST (VOIDmode, r3, GEN_INT (8));
10652 + return gen_rtx_PARALLEL (mode, gen_rtvec (2, r1, r3));
10654 + case TCmode:
10655 + r1 = gen_rtx_REG (DImode, gregno);
10656 + r1 = gen_rtx_EXPR_LIST (VOIDmode, r1, const0_rtx);
10657 + r3 = gen_rtx_REG (DImode, gregno + 2);
10658 + r3 = gen_rtx_EXPR_LIST (VOIDmode, r3, GEN_INT (8));
10659 + r5 = gen_rtx_REG (DImode, gregno + 4);
10660 + r5 = gen_rtx_EXPR_LIST (VOIDmode, r5, GEN_INT (16));
10661 + r7 = gen_rtx_REG (DImode, gregno + 6);
10662 + r7 = gen_rtx_EXPR_LIST (VOIDmode, r7, GEN_INT (24));
10663 + return gen_rtx_PARALLEL (mode, gen_rtvec (4, r1, r3, r5, r7));
10665 + default:
10666 + gcc_unreachable ();
10670 +/* Determine where to put a SIMD argument on the SPE. */
10671 +static rtx
10672 +rs6000_spe_function_arg (const CUMULATIVE_ARGS *cum, machine_mode mode,
10673 + const_tree type)
10675 + int gregno = cum->sysv_gregno;
10677 + /* On E500 v2, double arithmetic is done on the full 64-bit GPR, but
10678 + are passed and returned in a pair of GPRs for ABI compatibility. */
10679 + if (TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode
10680 + || mode == DCmode || mode == TCmode))
10682 + int n_words = rs6000_arg_size (mode, type);
10684 + /* Doubles go in an odd/even register pair (r5/r6, etc). */
10685 + if (mode == DFmode)
10686 + gregno += (1 - gregno) & 1;
10688 + /* Multi-reg args are not split between registers and stack. */
10689 + if (gregno + n_words - 1 > GP_ARG_MAX_REG)
10690 + return NULL_RTX;
10692 + return spe_build_register_parallel (mode, gregno);
10694 + if (cum->stdarg)
10696 + int n_words = rs6000_arg_size (mode, type);
10698 + /* SPE vectors are put in odd registers. */
10699 + if (n_words == 2 && (gregno & 1) == 0)
10700 + gregno += 1;
10702 + if (gregno + n_words - 1 <= GP_ARG_MAX_REG)
10704 + rtx r1, r2;
10705 + machine_mode m = SImode;
10707 + r1 = gen_rtx_REG (m, gregno);
10708 + r1 = gen_rtx_EXPR_LIST (m, r1, const0_rtx);
10709 + r2 = gen_rtx_REG (m, gregno + 1);
10710 + r2 = gen_rtx_EXPR_LIST (m, r2, GEN_INT (4));
10711 + return gen_rtx_PARALLEL (mode, gen_rtvec (2, r1, r2));
10713 + else
10714 + return NULL_RTX;
10716 + else
10718 + if (gregno <= GP_ARG_MAX_REG)
10719 + return gen_rtx_REG (mode, gregno);
10720 + else
10721 + return NULL_RTX;
10725 +/* A subroutine of rs6000_darwin64_record_arg. Assign the bits of the
10726 + structure between cum->intoffset and bitpos to integer registers. */
10728 +static void
10729 +rs6000_darwin64_record_arg_flush (CUMULATIVE_ARGS *cum,
10730 + HOST_WIDE_INT bitpos, rtx rvec[], int *k)
10732 + machine_mode mode;
10733 + unsigned int regno;
10734 + unsigned int startbit, endbit;
10735 + int this_regno, intregs, intoffset;
10736 + rtx reg;
10738 + if (cum->intoffset == -1)
10739 + return;
10741 + intoffset = cum->intoffset;
10742 + cum->intoffset = -1;
10744 + /* If this is the trailing part of a word, try to only load that
10745 + much into the register. Otherwise load the whole register. Note
10746 + that in the latter case we may pick up unwanted bits. It's not a
10747 + problem at the moment but may wish to revisit. */
10749 + if (intoffset % BITS_PER_WORD != 0)
10751 + mode = mode_for_size (BITS_PER_WORD - intoffset % BITS_PER_WORD,
10752 + MODE_INT, 0);
10753 + if (mode == BLKmode)
10755 + /* We couldn't find an appropriate mode, which happens,
10756 + e.g., in packed structs when there are 3 bytes to load.
10757 + Back intoffset back to the beginning of the word in this
10758 + case. */
10759 + intoffset = intoffset & -BITS_PER_WORD;
10760 + mode = word_mode;
10763 + else
10764 + mode = word_mode;
10766 + startbit = intoffset & -BITS_PER_WORD;
10767 + endbit = (bitpos + BITS_PER_WORD - 1) & -BITS_PER_WORD;
10768 + intregs = (endbit - startbit) / BITS_PER_WORD;
10769 + this_regno = cum->words + intoffset / BITS_PER_WORD;
10771 + if (intregs > 0 && intregs > GP_ARG_NUM_REG - this_regno)
10772 + cum->use_stack = 1;
10774 + intregs = MIN (intregs, GP_ARG_NUM_REG - this_regno);
10775 + if (intregs <= 0)
10776 + return;
10778 + intoffset /= BITS_PER_UNIT;
10779 + do
10781 + regno = GP_ARG_MIN_REG + this_regno;
10782 + reg = gen_rtx_REG (mode, regno);
10783 + rvec[(*k)++] =
10784 + gen_rtx_EXPR_LIST (VOIDmode, reg, GEN_INT (intoffset));
10786 + this_regno += 1;
10787 + intoffset = (intoffset | (UNITS_PER_WORD-1)) + 1;
10788 + mode = word_mode;
10789 + intregs -= 1;
10791 + while (intregs > 0);
10794 +/* Recursive workhorse for the following. */
10796 +static void
10797 +rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, const_tree type,
10798 + HOST_WIDE_INT startbitpos, rtx rvec[],
10799 + int *k)
10801 + tree f;
10803 + for (f = TYPE_FIELDS (type); f ; f = DECL_CHAIN (f))
10804 + if (TREE_CODE (f) == FIELD_DECL)
10806 + HOST_WIDE_INT bitpos = startbitpos;
10807 + tree ftype = TREE_TYPE (f);
10808 + machine_mode mode;
10809 + if (ftype == error_mark_node)
10810 + continue;
10811 + mode = TYPE_MODE (ftype);
10813 + if (DECL_SIZE (f) != 0
10814 + && tree_fits_uhwi_p (bit_position (f)))
10815 + bitpos += int_bit_position (f);
10817 + /* ??? FIXME: else assume zero offset. */
10819 + if (TREE_CODE (ftype) == RECORD_TYPE)
10820 + rs6000_darwin64_record_arg_recurse (cum, ftype, bitpos, rvec, k);
10821 + else if (cum->named && USE_FP_FOR_ARG_P (cum, mode))
10823 + unsigned n_fpreg = (GET_MODE_SIZE (mode) + 7) >> 3;
10824 +#if 0
10825 + switch (mode)
10827 + case SCmode: mode = SFmode; break;
10828 + case DCmode: mode = DFmode; break;
10829 + case TCmode: mode = TFmode; break;
10830 + default: break;
10832 +#endif
10833 + rs6000_darwin64_record_arg_flush (cum, bitpos, rvec, k);
10834 + if (cum->fregno + n_fpreg > FP_ARG_MAX_REG + 1)
10836 + gcc_assert (cum->fregno == FP_ARG_MAX_REG
10837 + && (mode == TFmode || mode == TDmode));
10838 + /* Long double or _Decimal128 split over regs and memory. */
10839 + mode = DECIMAL_FLOAT_MODE_P (mode) ? DDmode : DFmode;
10840 + cum->use_stack=1;
10842 + rvec[(*k)++]
10843 + = gen_rtx_EXPR_LIST (VOIDmode,
10844 + gen_rtx_REG (mode, cum->fregno++),
10845 + GEN_INT (bitpos / BITS_PER_UNIT));
10846 + if (mode == TFmode || mode == TDmode)
10847 + cum->fregno++;
10849 + else if (cum->named && USE_ALTIVEC_FOR_ARG_P (cum, mode, 1))
10851 + rs6000_darwin64_record_arg_flush (cum, bitpos, rvec, k);
10852 + rvec[(*k)++]
10853 + = gen_rtx_EXPR_LIST (VOIDmode,
10854 + gen_rtx_REG (mode, cum->vregno++),
10855 + GEN_INT (bitpos / BITS_PER_UNIT));
10857 + else if (cum->intoffset == -1)
10858 + cum->intoffset = bitpos;
10862 +/* For the darwin64 ABI, we want to construct a PARALLEL consisting of
10863 + the register(s) to be used for each field and subfield of a struct
10864 + being passed by value, along with the offset of where the
10865 + register's value may be found in the block. FP fields go in FP
10866 + register, vector fields go in vector registers, and everything
10867 + else goes in int registers, packed as in memory.
10869 + This code is also used for function return values. RETVAL indicates
10870 + whether this is the case.
10872 + Much of this is taken from the SPARC V9 port, which has a similar
10873 + calling convention. */
10875 +static rtx
10876 +rs6000_darwin64_record_arg (CUMULATIVE_ARGS *orig_cum, const_tree type,
10877 + bool named, bool retval)
10879 + rtx rvec[FIRST_PSEUDO_REGISTER];
10880 + int k = 1, kbase = 1;
10881 + HOST_WIDE_INT typesize = int_size_in_bytes (type);
10882 + /* This is a copy; modifications are not visible to our caller. */
10883 + CUMULATIVE_ARGS copy_cum = *orig_cum;
10884 + CUMULATIVE_ARGS *cum = &copy_cum;
10886 + /* Pad to 16 byte boundary if needed. */
10887 + if (!retval && TYPE_ALIGN (type) >= 2 * BITS_PER_WORD
10888 + && (cum->words % 2) != 0)
10889 + cum->words++;
10891 + cum->intoffset = 0;
10892 + cum->use_stack = 0;
10893 + cum->named = named;
10895 + /* Put entries into rvec[] for individual FP and vector fields, and
10896 + for the chunks of memory that go in int regs. Note we start at
10897 + element 1; 0 is reserved for an indication of using memory, and
10898 + may or may not be filled in below. */
10899 + rs6000_darwin64_record_arg_recurse (cum, type, /* startbit pos= */ 0, rvec, &k);
10900 + rs6000_darwin64_record_arg_flush (cum, typesize * BITS_PER_UNIT, rvec, &k);
10902 + /* If any part of the struct went on the stack put all of it there.
10903 + This hack is because the generic code for
10904 + FUNCTION_ARG_PARTIAL_NREGS cannot handle cases where the register
10905 + parts of the struct are not at the beginning. */
10906 + if (cum->use_stack)
10908 + if (retval)
10909 + return NULL_RTX; /* doesn't go in registers at all */
10910 + kbase = 0;
10911 + rvec[0] = gen_rtx_EXPR_LIST (VOIDmode, NULL_RTX, const0_rtx);
10913 + if (k > 1 || cum->use_stack)
10914 + return gen_rtx_PARALLEL (BLKmode, gen_rtvec_v (k - kbase, &rvec[kbase]));
10915 + else
10916 + return NULL_RTX;
10919 +/* Determine where to place an argument in 64-bit mode with 32-bit ABI. */
10921 +static rtx
10922 +rs6000_mixed_function_arg (machine_mode mode, const_tree type,
10923 + int align_words)
10925 + int n_units;
10926 + int i, k;
10927 + rtx rvec[GP_ARG_NUM_REG + 1];
10929 + if (align_words >= GP_ARG_NUM_REG)
10930 + return NULL_RTX;
10932 + n_units = rs6000_arg_size (mode, type);
10934 + /* Optimize the simple case where the arg fits in one gpr, except in
10935 + the case of BLKmode due to assign_parms assuming that registers are
10936 + BITS_PER_WORD wide. */
10937 + if (n_units == 0
10938 + || (n_units == 1 && mode != BLKmode))
10939 + return gen_rtx_REG (mode, GP_ARG_MIN_REG + align_words);
10941 + k = 0;
10942 + if (align_words + n_units > GP_ARG_NUM_REG)
10943 + /* Not all of the arg fits in gprs. Say that it goes in memory too,
10944 + using a magic NULL_RTX component.
10945 + This is not strictly correct. Only some of the arg belongs in
10946 + memory, not all of it. However, the normal scheme using
10947 + function_arg_partial_nregs can result in unusual subregs, eg.
10948 + (subreg:SI (reg:DF) 4), which are not handled well. The code to
10949 + store the whole arg to memory is often more efficient than code
10950 + to store pieces, and we know that space is available in the right
10951 + place for the whole arg. */
10952 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, NULL_RTX, const0_rtx);
10954 + i = 0;
10955 + do
10957 + rtx r = gen_rtx_REG (SImode, GP_ARG_MIN_REG + align_words);
10958 + rtx off = GEN_INT (i++ * 4);
10959 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, r, off);
10961 + while (++align_words < GP_ARG_NUM_REG && --n_units != 0);
10963 + return gen_rtx_PARALLEL (mode, gen_rtvec_v (k, rvec));
10966 +/* We have an argument of MODE and TYPE that goes into FPRs or VRs,
10967 + but must also be copied into the parameter save area starting at
10968 + offset ALIGN_WORDS. Fill in RVEC with the elements corresponding
10969 + to the GPRs and/or memory. Return the number of elements used. */
10971 +static int
10972 +rs6000_psave_function_arg (machine_mode mode, const_tree type,
10973 + int align_words, rtx *rvec)
10975 + int k = 0;
10977 + if (align_words < GP_ARG_NUM_REG)
10979 + int n_words = rs6000_arg_size (mode, type);
10981 + if (align_words + n_words > GP_ARG_NUM_REG
10982 + || mode == BLKmode
10983 + || (TARGET_32BIT && TARGET_POWERPC64))
10985 + /* If this is partially on the stack, then we only
10986 + include the portion actually in registers here. */
10987 + machine_mode rmode = TARGET_32BIT ? SImode : DImode;
10988 + int i = 0;
10990 + if (align_words + n_words > GP_ARG_NUM_REG)
10992 + /* Not all of the arg fits in gprs. Say that it goes in memory
10993 + too, using a magic NULL_RTX component. Also see comment in
10994 + rs6000_mixed_function_arg for why the normal
10995 + function_arg_partial_nregs scheme doesn't work in this case. */
10996 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, NULL_RTX, const0_rtx);
10999 + do
11001 + rtx r = gen_rtx_REG (rmode, GP_ARG_MIN_REG + align_words);
11002 + rtx off = GEN_INT (i++ * GET_MODE_SIZE (rmode));
11003 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, r, off);
11005 + while (++align_words < GP_ARG_NUM_REG && --n_words != 0);
11007 + else
11009 + /* The whole arg fits in gprs. */
11010 + rtx r = gen_rtx_REG (mode, GP_ARG_MIN_REG + align_words);
11011 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, r, const0_rtx);
11014 + else
11016 + /* It's entirely in memory. */
11017 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, NULL_RTX, const0_rtx);
11020 + return k;
11023 +/* RVEC is a vector of K components of an argument of mode MODE.
11024 + Construct the final function_arg return value from it. */
11026 +static rtx
11027 +rs6000_finish_function_arg (machine_mode mode, rtx *rvec, int k)
11029 + gcc_assert (k >= 1);
11031 + /* Avoid returning a PARALLEL in the trivial cases. */
11032 + if (k == 1)
11034 + if (XEXP (rvec[0], 0) == NULL_RTX)
11035 + return NULL_RTX;
11037 + if (GET_MODE (XEXP (rvec[0], 0)) == mode)
11038 + return XEXP (rvec[0], 0);
11041 + return gen_rtx_PARALLEL (mode, gen_rtvec_v (k, rvec));
11044 +/* Determine where to put an argument to a function.
11045 + Value is zero to push the argument on the stack,
11046 + or a hard register in which to store the argument.
11048 + MODE is the argument's machine mode.
11049 + TYPE is the data type of the argument (as a tree).
11050 + This is null for libcalls where that information may
11051 + not be available.
11052 + CUM is a variable of type CUMULATIVE_ARGS which gives info about
11053 + the preceding args and about the function being called. It is
11054 + not modified in this routine.
11055 + NAMED is nonzero if this argument is a named parameter
11056 + (otherwise it is an extra parameter matching an ellipsis).
11058 + On RS/6000 the first eight words of non-FP are normally in registers
11059 + and the rest are pushed. Under AIX, the first 13 FP args are in registers.
11060 + Under V.4, the first 8 FP args are in registers.
11062 + If this is floating-point and no prototype is specified, we use
11063 + both an FP and integer register (or possibly FP reg and stack). Library
11064 + functions (when CALL_LIBCALL is set) always have the proper types for args,
11065 + so we can pass the FP value just in one register. emit_library_function
11066 + doesn't support PARALLEL anyway.
11068 + Note that for args passed by reference, function_arg will be called
11069 + with MODE and TYPE set to that of the pointer to the arg, not the arg
11070 + itself. */
11072 +static rtx
11073 +rs6000_function_arg (cumulative_args_t cum_v, machine_mode mode,
11074 + const_tree type, bool named)
11076 + CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v);
11077 + enum rs6000_abi abi = DEFAULT_ABI;
11078 + machine_mode elt_mode;
11079 + int n_elts;
11081 + /* Return a marker to indicate whether CR1 needs to set or clear the
11082 + bit that V.4 uses to say fp args were passed in registers.
11083 + Assume that we don't need the marker for software floating point,
11084 + or compiler generated library calls. */
11085 + if (mode == VOIDmode)
11087 + if (abi == ABI_V4
11088 + && (cum->call_cookie & CALL_LIBCALL) == 0
11089 + && (cum->stdarg
11090 + || (cum->nargs_prototype < 0
11091 + && (cum->prototype || TARGET_NO_PROTOTYPE))))
11093 + /* For the SPE, we need to crxor CR6 always. */
11094 + if (TARGET_SPE_ABI)
11095 + return GEN_INT (cum->call_cookie | CALL_V4_SET_FP_ARGS);
11096 + else if (TARGET_HARD_FLOAT && TARGET_FPRS)
11097 + return GEN_INT (cum->call_cookie
11098 + | ((cum->fregno == FP_ARG_MIN_REG)
11099 + ? CALL_V4_SET_FP_ARGS
11100 + : CALL_V4_CLEAR_FP_ARGS));
11103 + return GEN_INT (cum->call_cookie & ~CALL_LIBCALL);
11106 + rs6000_discover_homogeneous_aggregate (mode, type, &elt_mode, &n_elts);
11108 + if (TARGET_MACHO && rs6000_darwin64_struct_check_p (mode, type))
11110 + rtx rslt = rs6000_darwin64_record_arg (cum, type, named, /*retval= */false);
11111 + if (rslt != NULL_RTX)
11112 + return rslt;
11113 + /* Else fall through to usual handling. */
11116 + if (USE_ALTIVEC_FOR_ARG_P (cum, elt_mode, named))
11118 + rtx rvec[GP_ARG_NUM_REG + AGGR_ARG_NUM_REG + 1];
11119 + rtx r, off;
11120 + int i, k = 0;
11122 + /* Do we also need to pass this argument in the parameter
11123 + save area? */
11124 + if (TARGET_64BIT && ! cum->prototype)
11126 + int align_words = (cum->words + 1) & ~1;
11127 + k = rs6000_psave_function_arg (mode, type, align_words, rvec);
11130 + /* Describe where this argument goes in the vector registers. */
11131 + for (i = 0; i < n_elts && cum->vregno + i <= ALTIVEC_ARG_MAX_REG; i++)
11133 + r = gen_rtx_REG (elt_mode, cum->vregno + i);
11134 + off = GEN_INT (i * GET_MODE_SIZE (elt_mode));
11135 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, r, off);
11138 + return rs6000_finish_function_arg (mode, rvec, k);
11140 + else if (TARGET_ALTIVEC_ABI
11141 + && (ALTIVEC_OR_VSX_VECTOR_MODE (mode)
11142 + || (type && TREE_CODE (type) == VECTOR_TYPE
11143 + && int_size_in_bytes (type) == 16)))
11145 + if (named || abi == ABI_V4)
11146 + return NULL_RTX;
11147 + else
11149 + /* Vector parameters to varargs functions under AIX or Darwin
11150 + get passed in memory and possibly also in GPRs. */
11151 + int align, align_words, n_words;
11152 + machine_mode part_mode;
11154 + /* Vector parameters must be 16-byte aligned. In 32-bit
11155 + mode this means we need to take into account the offset
11156 + to the parameter save area. In 64-bit mode, they just
11157 + have to start on an even word, since the parameter save
11158 + area is 16-byte aligned. */
11159 + if (TARGET_32BIT)
11160 + align = -(rs6000_parm_offset () + cum->words) & 3;
11161 + else
11162 + align = cum->words & 1;
11163 + align_words = cum->words + align;
11165 + /* Out of registers? Memory, then. */
11166 + if (align_words >= GP_ARG_NUM_REG)
11167 + return NULL_RTX;
11169 + if (TARGET_32BIT && TARGET_POWERPC64)
11170 + return rs6000_mixed_function_arg (mode, type, align_words);
11172 + /* The vector value goes in GPRs. Only the part of the
11173 + value in GPRs is reported here. */
11174 + part_mode = mode;
11175 + n_words = rs6000_arg_size (mode, type);
11176 + if (align_words + n_words > GP_ARG_NUM_REG)
11177 + /* Fortunately, there are only two possibilities, the value
11178 + is either wholly in GPRs or half in GPRs and half not. */
11179 + part_mode = DImode;
11181 + return gen_rtx_REG (part_mode, GP_ARG_MIN_REG + align_words);
11184 + else if (TARGET_SPE_ABI && TARGET_SPE
11185 + && (SPE_VECTOR_MODE (mode)
11186 + || (TARGET_E500_DOUBLE && (mode == DFmode
11187 + || mode == DCmode
11188 + || mode == TFmode
11189 + || mode == TCmode))))
11190 + return rs6000_spe_function_arg (cum, mode, type);
11192 + else if (abi == ABI_V4)
11194 + if (TARGET_HARD_FLOAT && TARGET_FPRS
11195 + && ((TARGET_SINGLE_FLOAT && mode == SFmode)
11196 + || (TARGET_DOUBLE_FLOAT && mode == DFmode)
11197 + || (mode == TFmode && !TARGET_IEEEQUAD)
11198 + || mode == SDmode || mode == DDmode || mode == TDmode))
11200 + /* _Decimal128 must use an even/odd register pair. This assumes
11201 + that the register number is odd when fregno is odd. */
11202 + if (mode == TDmode && (cum->fregno % 2) == 1)
11203 + cum->fregno++;
11205 + if (cum->fregno + (mode == TFmode || mode == TDmode ? 1 : 0)
11206 + <= FP_ARG_V4_MAX_REG)
11207 + return gen_rtx_REG (mode, cum->fregno);
11208 + else
11209 + return NULL_RTX;
11211 + else
11213 + int n_words = rs6000_arg_size (mode, type);
11214 + int gregno = cum->sysv_gregno;
11216 + /* Long long and SPE vectors are put in (r3,r4), (r5,r6),
11217 + (r7,r8) or (r9,r10). As does any other 2 word item such
11218 + as complex int due to a historical mistake. */
11219 + if (n_words == 2)
11220 + gregno += (1 - gregno) & 1;
11222 + /* Multi-reg args are not split between registers and stack. */
11223 + if (gregno + n_words - 1 > GP_ARG_MAX_REG)
11224 + return NULL_RTX;
11226 + if (TARGET_32BIT && TARGET_POWERPC64)
11227 + return rs6000_mixed_function_arg (mode, type,
11228 + gregno - GP_ARG_MIN_REG);
11229 + return gen_rtx_REG (mode, gregno);
11232 + else
11234 + int align_words = rs6000_parm_start (mode, type, cum->words);
11236 + /* _Decimal128 must be passed in an even/odd float register pair.
11237 + This assumes that the register number is odd when fregno is odd. */
11238 + if (elt_mode == TDmode && (cum->fregno % 2) == 1)
11239 + cum->fregno++;
11241 + if (USE_FP_FOR_ARG_P (cum, elt_mode))
11243 + rtx rvec[GP_ARG_NUM_REG + AGGR_ARG_NUM_REG + 1];
11244 + rtx r, off;
11245 + int i, k = 0;
11246 + unsigned long n_fpreg = (GET_MODE_SIZE (elt_mode) + 7) >> 3;
11247 + int fpr_words;
11249 + /* Do we also need to pass this argument in the parameter
11250 + save area? */
11251 + if (type && (cum->nargs_prototype <= 0
11252 + || ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
11253 + && TARGET_XL_COMPAT
11254 + && align_words >= GP_ARG_NUM_REG)))
11255 + k = rs6000_psave_function_arg (mode, type, align_words, rvec);
11257 + /* Describe where this argument goes in the fprs. */
11258 + for (i = 0; i < n_elts
11259 + && cum->fregno + i * n_fpreg <= FP_ARG_MAX_REG; i++)
11261 + /* Check if the argument is split over registers and memory.
11262 + This can only ever happen for long double or _Decimal128;
11263 + complex types are handled via split_complex_arg. */
11264 + machine_mode fmode = elt_mode;
11265 + if (cum->fregno + (i + 1) * n_fpreg > FP_ARG_MAX_REG + 1)
11267 + gcc_assert (fmode == TFmode || fmode == TDmode);
11268 + fmode = DECIMAL_FLOAT_MODE_P (fmode) ? DDmode : DFmode;
11271 + r = gen_rtx_REG (fmode, cum->fregno + i * n_fpreg);
11272 + off = GEN_INT (i * GET_MODE_SIZE (elt_mode));
11273 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, r, off);
11276 + /* If there were not enough FPRs to hold the argument, the rest
11277 + usually goes into memory. However, if the current position
11278 + is still within the register parameter area, a portion may
11279 + actually have to go into GPRs.
11281 + Note that it may happen that the portion of the argument
11282 + passed in the first "half" of the first GPR was already
11283 + passed in the last FPR as well.
11285 + For unnamed arguments, we already set up GPRs to cover the
11286 + whole argument in rs6000_psave_function_arg, so there is
11287 + nothing further to do at this point. */
11288 + fpr_words = (i * GET_MODE_SIZE (elt_mode)) / (TARGET_32BIT ? 4 : 8);
11289 + if (i < n_elts && align_words + fpr_words < GP_ARG_NUM_REG
11290 + && cum->nargs_prototype > 0)
11292 + static bool warned;
11294 + machine_mode rmode = TARGET_32BIT ? SImode : DImode;
11295 + int n_words = rs6000_arg_size (mode, type);
11297 + align_words += fpr_words;
11298 + n_words -= fpr_words;
11300 + do
11302 + r = gen_rtx_REG (rmode, GP_ARG_MIN_REG + align_words);
11303 + off = GEN_INT (fpr_words++ * GET_MODE_SIZE (rmode));
11304 + rvec[k++] = gen_rtx_EXPR_LIST (VOIDmode, r, off);
11306 + while (++align_words < GP_ARG_NUM_REG && --n_words != 0);
11308 + if (!warned && warn_psabi)
11310 + warned = true;
11311 + inform (input_location,
11312 + "the ABI of passing homogeneous float aggregates"
11313 + " has changed in GCC 5");
11317 + return rs6000_finish_function_arg (mode, rvec, k);
11319 + else if (align_words < GP_ARG_NUM_REG)
11321 + if (TARGET_32BIT && TARGET_POWERPC64)
11322 + return rs6000_mixed_function_arg (mode, type, align_words);
11324 + return gen_rtx_REG (mode, GP_ARG_MIN_REG + align_words);
11326 + else
11327 + return NULL_RTX;
11331 +/* For an arg passed partly in registers and partly in memory, this is
11332 + the number of bytes passed in registers. For args passed entirely in
11333 + registers or entirely in memory, zero. When an arg is described by a
11334 + PARALLEL, perhaps using more than one register type, this function
11335 + returns the number of bytes used by the first element of the PARALLEL. */
11337 +static int
11338 +rs6000_arg_partial_bytes (cumulative_args_t cum_v, machine_mode mode,
11339 + tree type, bool named)
11341 + CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v);
11342 + bool passed_in_gprs = true;
11343 + int ret = 0;
11344 + int align_words;
11345 + machine_mode elt_mode;
11346 + int n_elts;
11348 + rs6000_discover_homogeneous_aggregate (mode, type, &elt_mode, &n_elts);
11350 + if (DEFAULT_ABI == ABI_V4)
11351 + return 0;
11353 + if (USE_ALTIVEC_FOR_ARG_P (cum, elt_mode, named))
11355 + /* If we are passing this arg in the fixed parameter save area
11356 + (gprs or memory) as well as VRs, we do not use the partial
11357 + bytes mechanism; instead, rs6000_function_arg will return a
11358 + PARALLEL including a memory element as necessary. */
11359 + if (TARGET_64BIT && ! cum->prototype)
11360 + return 0;
11362 + /* Otherwise, we pass in VRs only. Check for partial copies. */
11363 + passed_in_gprs = false;
11364 + if (cum->vregno + n_elts > ALTIVEC_ARG_MAX_REG + 1)
11365 + ret = (ALTIVEC_ARG_MAX_REG + 1 - cum->vregno) * 16;
11368 + /* In this complicated case we just disable the partial_nregs code. */
11369 + if (TARGET_MACHO && rs6000_darwin64_struct_check_p (mode, type))
11370 + return 0;
11372 + align_words = rs6000_parm_start (mode, type, cum->words);
11374 + if (USE_FP_FOR_ARG_P (cum, elt_mode))
11376 + unsigned long n_fpreg = (GET_MODE_SIZE (elt_mode) + 7) >> 3;
11378 + /* If we are passing this arg in the fixed parameter save area
11379 + (gprs or memory) as well as FPRs, we do not use the partial
11380 + bytes mechanism; instead, rs6000_function_arg will return a
11381 + PARALLEL including a memory element as necessary. */
11382 + if (type
11383 + && (cum->nargs_prototype <= 0
11384 + || ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
11385 + && TARGET_XL_COMPAT
11386 + && align_words >= GP_ARG_NUM_REG)))
11387 + return 0;
11389 + /* Otherwise, we pass in FPRs only. Check for partial copies. */
11390 + passed_in_gprs = false;
11391 + if (cum->fregno + n_elts * n_fpreg > FP_ARG_MAX_REG + 1)
11393 + /* Compute number of bytes / words passed in FPRs. If there
11394 + is still space available in the register parameter area
11395 + *after* that amount, a part of the argument will be passed
11396 + in GPRs. In that case, the total amount passed in any
11397 + registers is equal to the amount that would have been passed
11398 + in GPRs if everything were passed there, so we fall back to
11399 + the GPR code below to compute the appropriate value. */
11400 + int fpr = ((FP_ARG_MAX_REG + 1 - cum->fregno)
11401 + * MIN (8, GET_MODE_SIZE (elt_mode)));
11402 + int fpr_words = fpr / (TARGET_32BIT ? 4 : 8);
11404 + if (align_words + fpr_words < GP_ARG_NUM_REG)
11405 + passed_in_gprs = true;
11406 + else
11407 + ret = fpr;
11411 + if (passed_in_gprs
11412 + && align_words < GP_ARG_NUM_REG
11413 + && GP_ARG_NUM_REG < align_words + rs6000_arg_size (mode, type))
11414 + ret = (GP_ARG_NUM_REG - align_words) * (TARGET_32BIT ? 4 : 8);
11416 + if (ret != 0 && TARGET_DEBUG_ARG)
11417 + fprintf (stderr, "rs6000_arg_partial_bytes: %d\n", ret);
11419 + return ret;
11422 +/* A C expression that indicates when an argument must be passed by
11423 + reference. If nonzero for an argument, a copy of that argument is
11424 + made in memory and a pointer to the argument is passed instead of
11425 + the argument itself. The pointer is passed in whatever way is
11426 + appropriate for passing a pointer to that type.
11428 + Under V.4, aggregates and long double are passed by reference.
11430 + As an extension to all 32-bit ABIs, AltiVec vectors are passed by
11431 + reference unless the AltiVec vector extension ABI is in force.
11433 + As an extension to all ABIs, variable sized types are passed by
11434 + reference. */
11436 +static bool
11437 +rs6000_pass_by_reference (cumulative_args_t cum ATTRIBUTE_UNUSED,
11438 + machine_mode mode, const_tree type,
11439 + bool named ATTRIBUTE_UNUSED)
11441 + if (DEFAULT_ABI == ABI_V4 && TARGET_IEEEQUAD && mode == TFmode)
11443 + if (TARGET_DEBUG_ARG)
11444 + fprintf (stderr, "function_arg_pass_by_reference: V4 long double\n");
11445 + return 1;
11448 + if (!type)
11449 + return 0;
11451 + if (DEFAULT_ABI == ABI_V4 && AGGREGATE_TYPE_P (type))
11453 + if (TARGET_DEBUG_ARG)
11454 + fprintf (stderr, "function_arg_pass_by_reference: V4 aggregate\n");
11455 + return 1;
11458 + if (int_size_in_bytes (type) < 0)
11460 + if (TARGET_DEBUG_ARG)
11461 + fprintf (stderr, "function_arg_pass_by_reference: variable size\n");
11462 + return 1;
11465 + /* Allow -maltivec -mabi=no-altivec without warning. Altivec vector
11466 + modes only exist for GCC vector types if -maltivec. */
11467 + if (TARGET_32BIT && !TARGET_ALTIVEC_ABI && ALTIVEC_VECTOR_MODE (mode))
11469 + if (TARGET_DEBUG_ARG)
11470 + fprintf (stderr, "function_arg_pass_by_reference: AltiVec\n");
11471 + return 1;
11474 + /* Pass synthetic vectors in memory. */
11475 + if (TREE_CODE (type) == VECTOR_TYPE
11476 + && int_size_in_bytes (type) > (TARGET_ALTIVEC_ABI ? 16 : 8))
11478 + static bool warned_for_pass_big_vectors = false;
11479 + if (TARGET_DEBUG_ARG)
11480 + fprintf (stderr, "function_arg_pass_by_reference: synthetic vector\n");
11481 + if (!warned_for_pass_big_vectors)
11483 + warning (0, "GCC vector passed by reference: "
11484 + "non-standard ABI extension with no compatibility guarantee");
11485 + warned_for_pass_big_vectors = true;
11487 + return 1;
11490 + return 0;
11493 +/* Process parameter of type TYPE after ARGS_SO_FAR parameters were
11494 + already processes. Return true if the parameter must be passed
11495 + (fully or partially) on the stack. */
11497 +static bool
11498 +rs6000_parm_needs_stack (cumulative_args_t args_so_far, tree type)
11500 + machine_mode mode;
11501 + int unsignedp;
11502 + rtx entry_parm;
11504 + /* Catch errors. */
11505 + if (type == NULL || type == error_mark_node)
11506 + return true;
11508 + /* Handle types with no storage requirement. */
11509 + if (TYPE_MODE (type) == VOIDmode)
11510 + return false;
11512 + /* Handle complex types. */
11513 + if (TREE_CODE (type) == COMPLEX_TYPE)
11514 + return (rs6000_parm_needs_stack (args_so_far, TREE_TYPE (type))
11515 + || rs6000_parm_needs_stack (args_so_far, TREE_TYPE (type)));
11517 + /* Handle transparent aggregates. */
11518 + if ((TREE_CODE (type) == UNION_TYPE || TREE_CODE (type) == RECORD_TYPE)
11519 + && TYPE_TRANSPARENT_AGGR (type))
11520 + type = TREE_TYPE (first_field (type));
11522 + /* See if this arg was passed by invisible reference. */
11523 + if (pass_by_reference (get_cumulative_args (args_so_far),
11524 + TYPE_MODE (type), type, true))
11525 + type = build_pointer_type (type);
11527 + /* Find mode as it is passed by the ABI. */
11528 + unsignedp = TYPE_UNSIGNED (type);
11529 + mode = promote_mode (type, TYPE_MODE (type), &unsignedp);
11531 + /* If we must pass in stack, we need a stack. */
11532 + if (rs6000_must_pass_in_stack (mode, type))
11533 + return true;
11535 + /* If there is no incoming register, we need a stack. */
11536 + entry_parm = rs6000_function_arg (args_so_far, mode, type, true);
11537 + if (entry_parm == NULL)
11538 + return true;
11540 + /* Likewise if we need to pass both in registers and on the stack. */
11541 + if (GET_CODE (entry_parm) == PARALLEL
11542 + && XEXP (XVECEXP (entry_parm, 0, 0), 0) == NULL_RTX)
11543 + return true;
11545 + /* Also true if we're partially in registers and partially not. */
11546 + if (rs6000_arg_partial_bytes (args_so_far, mode, type, true) != 0)
11547 + return true;
11549 + /* Update info on where next arg arrives in registers. */
11550 + rs6000_function_arg_advance (args_so_far, mode, type, true);
11551 + return false;
11554 +/* Return true if FUN has no prototype, has a variable argument
11555 + list, or passes any parameter in memory. */
11557 +static bool
11558 +rs6000_function_parms_need_stack (tree fun, bool incoming)
11560 + tree fntype, result;
11561 + CUMULATIVE_ARGS args_so_far_v;
11562 + cumulative_args_t args_so_far;
11564 + if (!fun)
11565 + /* Must be a libcall, all of which only use reg parms. */
11566 + return false;
11568 + fntype = fun;
11569 + if (!TYPE_P (fun))
11570 + fntype = TREE_TYPE (fun);
11572 + /* Varargs functions need the parameter save area. */
11573 + if ((!incoming && !prototype_p (fntype)) || stdarg_p (fntype))
11574 + return true;
11576 + INIT_CUMULATIVE_INCOMING_ARGS (args_so_far_v, fntype, NULL_RTX);
11577 + args_so_far = pack_cumulative_args (&args_so_far_v);
11579 + /* When incoming, we will have been passed the function decl.
11580 + It is necessary to use the decl to handle K&R style functions,
11581 + where TYPE_ARG_TYPES may not be available. */
11582 + if (incoming)
11584 + gcc_assert (DECL_P (fun));
11585 + result = DECL_RESULT (fun);
11587 + else
11588 + result = TREE_TYPE (fntype);
11590 + if (result && aggregate_value_p (result, fntype))
11592 + if (!TYPE_P (result))
11593 + result = TREE_TYPE (result);
11594 + result = build_pointer_type (result);
11595 + rs6000_parm_needs_stack (args_so_far, result);
11598 + if (incoming)
11600 + tree parm;
11602 + for (parm = DECL_ARGUMENTS (fun);
11603 + parm && parm != void_list_node;
11604 + parm = TREE_CHAIN (parm))
11605 + if (rs6000_parm_needs_stack (args_so_far, TREE_TYPE (parm)))
11606 + return true;
11608 + else
11610 + function_args_iterator args_iter;
11611 + tree arg_type;
11613 + FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter)
11614 + if (rs6000_parm_needs_stack (args_so_far, arg_type))
11615 + return true;
11618 + return false;
11621 +/* Return the size of the REG_PARM_STACK_SPACE are for FUN. This is
11622 + usually a constant depending on the ABI. However, in the ELFv2 ABI
11623 + the register parameter area is optional when calling a function that
11624 + has a prototype is scope, has no variable argument list, and passes
11625 + all parameters in registers. */
11627 +int
11628 +rs6000_reg_parm_stack_space (tree fun, bool incoming)
11630 + int reg_parm_stack_space;
11632 + switch (DEFAULT_ABI)
11634 + default:
11635 + reg_parm_stack_space = 0;
11636 + break;
11638 + case ABI_AIX:
11639 + case ABI_DARWIN:
11640 + reg_parm_stack_space = TARGET_64BIT ? 64 : 32;
11641 + break;
11643 + case ABI_ELFv2:
11644 + /* ??? Recomputing this every time is a bit expensive. Is there
11645 + a place to cache this information? */
11646 + if (rs6000_function_parms_need_stack (fun, incoming))
11647 + reg_parm_stack_space = TARGET_64BIT ? 64 : 32;
11648 + else
11649 + reg_parm_stack_space = 0;
11650 + break;
11653 + return reg_parm_stack_space;
11656 +static void
11657 +rs6000_move_block_from_reg (int regno, rtx x, int nregs)
11659 + int i;
11660 + machine_mode reg_mode = TARGET_32BIT ? SImode : DImode;
11662 + if (nregs == 0)
11663 + return;
11665 + for (i = 0; i < nregs; i++)
11667 + rtx tem = adjust_address_nv (x, reg_mode, i * GET_MODE_SIZE (reg_mode));
11668 + if (reload_completed)
11670 + if (! strict_memory_address_p (reg_mode, XEXP (tem, 0)))
11671 + tem = NULL_RTX;
11672 + else
11673 + tem = simplify_gen_subreg (reg_mode, x, BLKmode,
11674 + i * GET_MODE_SIZE (reg_mode));
11676 + else
11677 + tem = replace_equiv_address (tem, XEXP (tem, 0));
11679 + gcc_assert (tem);
11681 + emit_move_insn (tem, gen_rtx_REG (reg_mode, regno + i));
11685 +/* Perform any needed actions needed for a function that is receiving a
11686 + variable number of arguments.
11688 + CUM is as above.
11690 + MODE and TYPE are the mode and type of the current parameter.
11692 + PRETEND_SIZE is a variable that should be set to the amount of stack
11693 + that must be pushed by the prolog to pretend that our caller pushed
11694 + it.
11696 + Normally, this macro will push all remaining incoming registers on the
11697 + stack and set PRETEND_SIZE to the length of the registers pushed. */
11699 +static void
11700 +setup_incoming_varargs (cumulative_args_t cum, machine_mode mode,
11701 + tree type, int *pretend_size ATTRIBUTE_UNUSED,
11702 + int no_rtl)
11704 + CUMULATIVE_ARGS next_cum;
11705 + int reg_size = TARGET_32BIT ? 4 : 8;
11706 + rtx save_area = NULL_RTX, mem;
11707 + int first_reg_offset;
11708 + alias_set_type set;
11710 + /* Skip the last named argument. */
11711 + next_cum = *get_cumulative_args (cum);
11712 + rs6000_function_arg_advance_1 (&next_cum, mode, type, true, 0);
11714 + if (DEFAULT_ABI == ABI_V4)
11716 + first_reg_offset = next_cum.sysv_gregno - GP_ARG_MIN_REG;
11718 + if (! no_rtl)
11720 + int gpr_reg_num = 0, gpr_size = 0, fpr_size = 0;
11721 + HOST_WIDE_INT offset = 0;
11723 + /* Try to optimize the size of the varargs save area.
11724 + The ABI requires that ap.reg_save_area is doubleword
11725 + aligned, but we don't need to allocate space for all
11726 + the bytes, only those to which we actually will save
11727 + anything. */
11728 + if (cfun->va_list_gpr_size && first_reg_offset < GP_ARG_NUM_REG)
11729 + gpr_reg_num = GP_ARG_NUM_REG - first_reg_offset;
11730 + if (TARGET_HARD_FLOAT && TARGET_FPRS
11731 + && next_cum.fregno <= FP_ARG_V4_MAX_REG
11732 + && cfun->va_list_fpr_size)
11734 + if (gpr_reg_num)
11735 + fpr_size = (next_cum.fregno - FP_ARG_MIN_REG)
11736 + * UNITS_PER_FP_WORD;
11737 + if (cfun->va_list_fpr_size
11738 + < FP_ARG_V4_MAX_REG + 1 - next_cum.fregno)
11739 + fpr_size += cfun->va_list_fpr_size * UNITS_PER_FP_WORD;
11740 + else
11741 + fpr_size += (FP_ARG_V4_MAX_REG + 1 - next_cum.fregno)
11742 + * UNITS_PER_FP_WORD;
11744 + if (gpr_reg_num)
11746 + offset = -((first_reg_offset * reg_size) & ~7);
11747 + if (!fpr_size && gpr_reg_num > cfun->va_list_gpr_size)
11749 + gpr_reg_num = cfun->va_list_gpr_size;
11750 + if (reg_size == 4 && (first_reg_offset & 1))
11751 + gpr_reg_num++;
11753 + gpr_size = (gpr_reg_num * reg_size + 7) & ~7;
11755 + else if (fpr_size)
11756 + offset = - (int) (next_cum.fregno - FP_ARG_MIN_REG)
11757 + * UNITS_PER_FP_WORD
11758 + - (int) (GP_ARG_NUM_REG * reg_size);
11760 + if (gpr_size + fpr_size)
11762 + rtx reg_save_area
11763 + = assign_stack_local (BLKmode, gpr_size + fpr_size, 64);
11764 + gcc_assert (GET_CODE (reg_save_area) == MEM);
11765 + reg_save_area = XEXP (reg_save_area, 0);
11766 + if (GET_CODE (reg_save_area) == PLUS)
11768 + gcc_assert (XEXP (reg_save_area, 0)
11769 + == virtual_stack_vars_rtx);
11770 + gcc_assert (GET_CODE (XEXP (reg_save_area, 1)) == CONST_INT);
11771 + offset += INTVAL (XEXP (reg_save_area, 1));
11773 + else
11774 + gcc_assert (reg_save_area == virtual_stack_vars_rtx);
11777 + cfun->machine->varargs_save_offset = offset;
11778 + save_area = plus_constant (Pmode, virtual_stack_vars_rtx, offset);
11781 + else
11783 + first_reg_offset = next_cum.words;
11784 + save_area = virtual_incoming_args_rtx;
11786 + if (targetm.calls.must_pass_in_stack (mode, type))
11787 + first_reg_offset += rs6000_arg_size (TYPE_MODE (type), type);
11790 + set = get_varargs_alias_set ();
11791 + if (! no_rtl && first_reg_offset < GP_ARG_NUM_REG
11792 + && cfun->va_list_gpr_size)
11794 + int n_gpr, nregs = GP_ARG_NUM_REG - first_reg_offset;
11796 + if (va_list_gpr_counter_field)
11797 + /* V4 va_list_gpr_size counts number of registers needed. */
11798 + n_gpr = cfun->va_list_gpr_size;
11799 + else
11800 + /* char * va_list instead counts number of bytes needed. */
11801 + n_gpr = (cfun->va_list_gpr_size + reg_size - 1) / reg_size;
11803 + if (nregs > n_gpr)
11804 + nregs = n_gpr;
11806 + mem = gen_rtx_MEM (BLKmode,
11807 + plus_constant (Pmode, save_area,
11808 + first_reg_offset * reg_size));
11809 + MEM_NOTRAP_P (mem) = 1;
11810 + set_mem_alias_set (mem, set);
11811 + set_mem_align (mem, BITS_PER_WORD);
11813 + rs6000_move_block_from_reg (GP_ARG_MIN_REG + first_reg_offset, mem,
11814 + nregs);
11817 + /* Save FP registers if needed. */
11818 + if (DEFAULT_ABI == ABI_V4
11819 + && TARGET_HARD_FLOAT && TARGET_FPRS
11820 + && ! no_rtl
11821 + && next_cum.fregno <= FP_ARG_V4_MAX_REG
11822 + && cfun->va_list_fpr_size)
11824 + int fregno = next_cum.fregno, nregs;
11825 + rtx cr1 = gen_rtx_REG (CCmode, CR1_REGNO);
11826 + rtx lab = gen_label_rtx ();
11827 + int off = (GP_ARG_NUM_REG * reg_size) + ((fregno - FP_ARG_MIN_REG)
11828 + * UNITS_PER_FP_WORD);
11830 + emit_jump_insn
11831 + (gen_rtx_SET (VOIDmode,
11832 + pc_rtx,
11833 + gen_rtx_IF_THEN_ELSE (VOIDmode,
11834 + gen_rtx_NE (VOIDmode, cr1,
11835 + const0_rtx),
11836 + gen_rtx_LABEL_REF (VOIDmode, lab),
11837 + pc_rtx)));
11839 + for (nregs = 0;
11840 + fregno <= FP_ARG_V4_MAX_REG && nregs < cfun->va_list_fpr_size;
11841 + fregno++, off += UNITS_PER_FP_WORD, nregs++)
11843 + mem = gen_rtx_MEM ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)
11844 + ? DFmode : SFmode,
11845 + plus_constant (Pmode, save_area, off));
11846 + MEM_NOTRAP_P (mem) = 1;
11847 + set_mem_alias_set (mem, set);
11848 + set_mem_align (mem, GET_MODE_ALIGNMENT (
11849 + (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)
11850 + ? DFmode : SFmode));
11851 + emit_move_insn (mem, gen_rtx_REG (
11852 + (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT)
11853 + ? DFmode : SFmode, fregno));
11856 + emit_label (lab);
11860 +/* Create the va_list data type. */
11862 +static tree
11863 +rs6000_build_builtin_va_list (void)
11865 + tree f_gpr, f_fpr, f_res, f_ovf, f_sav, record, type_decl;
11867 + /* For AIX, prefer 'char *' because that's what the system
11868 + header files like. */
11869 + if (DEFAULT_ABI != ABI_V4)
11870 + return build_pointer_type (char_type_node);
11872 + record = (*lang_hooks.types.make_type) (RECORD_TYPE);
11873 + type_decl = build_decl (BUILTINS_LOCATION, TYPE_DECL,
11874 + get_identifier ("__va_list_tag"), record);
11876 + f_gpr = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("gpr"),
11877 + unsigned_char_type_node);
11878 + f_fpr = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("fpr"),
11879 + unsigned_char_type_node);
11880 + /* Give the two bytes of padding a name, so that -Wpadded won't warn on
11881 + every user file. */
11882 + f_res = build_decl (BUILTINS_LOCATION, FIELD_DECL,
11883 + get_identifier ("reserved"), short_unsigned_type_node);
11884 + f_ovf = build_decl (BUILTINS_LOCATION, FIELD_DECL,
11885 + get_identifier ("overflow_arg_area"),
11886 + ptr_type_node);
11887 + f_sav = build_decl (BUILTINS_LOCATION, FIELD_DECL,
11888 + get_identifier ("reg_save_area"),
11889 + ptr_type_node);
11891 + va_list_gpr_counter_field = f_gpr;
11892 + va_list_fpr_counter_field = f_fpr;
11894 + DECL_FIELD_CONTEXT (f_gpr) = record;
11895 + DECL_FIELD_CONTEXT (f_fpr) = record;
11896 + DECL_FIELD_CONTEXT (f_res) = record;
11897 + DECL_FIELD_CONTEXT (f_ovf) = record;
11898 + DECL_FIELD_CONTEXT (f_sav) = record;
11900 + TYPE_STUB_DECL (record) = type_decl;
11901 + TYPE_NAME (record) = type_decl;
11902 + TYPE_FIELDS (record) = f_gpr;
11903 + DECL_CHAIN (f_gpr) = f_fpr;
11904 + DECL_CHAIN (f_fpr) = f_res;
11905 + DECL_CHAIN (f_res) = f_ovf;
11906 + DECL_CHAIN (f_ovf) = f_sav;
11908 + layout_type (record);
11910 + /* The correct type is an array type of one element. */
11911 + return build_array_type (record, build_index_type (size_zero_node));
11914 +/* Implement va_start. */
11916 +static void
11917 +rs6000_va_start (tree valist, rtx nextarg)
11919 + HOST_WIDE_INT words, n_gpr, n_fpr;
11920 + tree f_gpr, f_fpr, f_res, f_ovf, f_sav;
11921 + tree gpr, fpr, ovf, sav, t;
11923 + /* Only SVR4 needs something special. */
11924 + if (DEFAULT_ABI != ABI_V4)
11926 + std_expand_builtin_va_start (valist, nextarg);
11927 + return;
11930 + f_gpr = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
11931 + f_fpr = DECL_CHAIN (f_gpr);
11932 + f_res = DECL_CHAIN (f_fpr);
11933 + f_ovf = DECL_CHAIN (f_res);
11934 + f_sav = DECL_CHAIN (f_ovf);
11936 + valist = build_simple_mem_ref (valist);
11937 + gpr = build3 (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE);
11938 + fpr = build3 (COMPONENT_REF, TREE_TYPE (f_fpr), unshare_expr (valist),
11939 + f_fpr, NULL_TREE);
11940 + ovf = build3 (COMPONENT_REF, TREE_TYPE (f_ovf), unshare_expr (valist),
11941 + f_ovf, NULL_TREE);
11942 + sav = build3 (COMPONENT_REF, TREE_TYPE (f_sav), unshare_expr (valist),
11943 + f_sav, NULL_TREE);
11945 + /* Count number of gp and fp argument registers used. */
11946 + words = crtl->args.info.words;
11947 + n_gpr = MIN (crtl->args.info.sysv_gregno - GP_ARG_MIN_REG,
11948 + GP_ARG_NUM_REG);
11949 + n_fpr = MIN (crtl->args.info.fregno - FP_ARG_MIN_REG,
11950 + FP_ARG_NUM_REG);
11952 + if (TARGET_DEBUG_ARG)
11953 + fprintf (stderr, "va_start: words = "HOST_WIDE_INT_PRINT_DEC", n_gpr = "
11954 + HOST_WIDE_INT_PRINT_DEC", n_fpr = "HOST_WIDE_INT_PRINT_DEC"\n",
11955 + words, n_gpr, n_fpr);
11957 + if (cfun->va_list_gpr_size)
11959 + t = build2 (MODIFY_EXPR, TREE_TYPE (gpr), gpr,
11960 + build_int_cst (NULL_TREE, n_gpr));
11961 + TREE_SIDE_EFFECTS (t) = 1;
11962 + expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
11965 + if (cfun->va_list_fpr_size)
11967 + t = build2 (MODIFY_EXPR, TREE_TYPE (fpr), fpr,
11968 + build_int_cst (NULL_TREE, n_fpr));
11969 + TREE_SIDE_EFFECTS (t) = 1;
11970 + expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
11972 +#ifdef HAVE_AS_GNU_ATTRIBUTE
11973 + if (call_ABI_of_interest (cfun->decl))
11974 + rs6000_passes_float = true;
11975 +#endif
11978 + /* Find the overflow area. */
11979 + t = make_tree (TREE_TYPE (ovf), virtual_incoming_args_rtx);
11980 + if (words != 0)
11981 + t = fold_build_pointer_plus_hwi (t, words * MIN_UNITS_PER_WORD);
11982 + t = build2 (MODIFY_EXPR, TREE_TYPE (ovf), ovf, t);
11983 + TREE_SIDE_EFFECTS (t) = 1;
11984 + expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
11986 + /* If there were no va_arg invocations, don't set up the register
11987 + save area. */
11988 + if (!cfun->va_list_gpr_size
11989 + && !cfun->va_list_fpr_size
11990 + && n_gpr < GP_ARG_NUM_REG
11991 + && n_fpr < FP_ARG_V4_MAX_REG)
11992 + return;
11994 + /* Find the register save area. */
11995 + t = make_tree (TREE_TYPE (sav), virtual_stack_vars_rtx);
11996 + if (cfun->machine->varargs_save_offset)
11997 + t = fold_build_pointer_plus_hwi (t, cfun->machine->varargs_save_offset);
11998 + t = build2 (MODIFY_EXPR, TREE_TYPE (sav), sav, t);
11999 + TREE_SIDE_EFFECTS (t) = 1;
12000 + expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
12003 +/* Implement va_arg. */
12005 +static tree
12006 +rs6000_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p,
12007 + gimple_seq *post_p)
12009 + tree f_gpr, f_fpr, f_res, f_ovf, f_sav;
12010 + tree gpr, fpr, ovf, sav, reg, t, u;
12011 + int size, rsize, n_reg, sav_ofs, sav_scale;
12012 + tree lab_false, lab_over, addr;
12013 + int align;
12014 + tree ptrtype = build_pointer_type_for_mode (type, ptr_mode, true);
12015 + int regalign = 0;
12016 + gimple stmt;
12018 + if (pass_by_reference (NULL, TYPE_MODE (type), type, false))
12020 + t = rs6000_gimplify_va_arg (valist, ptrtype, pre_p, post_p);
12021 + return build_va_arg_indirect_ref (t);
12024 + /* We need to deal with the fact that the darwin ppc64 ABI is defined by an
12025 + earlier version of gcc, with the property that it always applied alignment
12026 + adjustments to the va-args (even for zero-sized types). The cheapest way
12027 + to deal with this is to replicate the effect of the part of
12028 + std_gimplify_va_arg_expr that carries out the align adjust, for the case
12029 + of relevance.
12030 + We don't need to check for pass-by-reference because of the test above.
12031 + We can return a simplifed answer, since we know there's no offset to add. */
12033 + if (((TARGET_MACHO
12034 + && rs6000_darwin64_abi)
12035 + || DEFAULT_ABI == ABI_ELFv2
12036 + || (DEFAULT_ABI == ABI_AIX && !rs6000_compat_align_parm))
12037 + && integer_zerop (TYPE_SIZE (type)))
12039 + unsigned HOST_WIDE_INT align, boundary;
12040 + tree valist_tmp = get_initialized_tmp_var (valist, pre_p, NULL);
12041 + align = PARM_BOUNDARY / BITS_PER_UNIT;
12042 + boundary = rs6000_function_arg_boundary (TYPE_MODE (type), type);
12043 + if (boundary > MAX_SUPPORTED_STACK_ALIGNMENT)
12044 + boundary = MAX_SUPPORTED_STACK_ALIGNMENT;
12045 + boundary /= BITS_PER_UNIT;
12046 + if (boundary > align)
12048 + tree t ;
12049 + /* This updates arg ptr by the amount that would be necessary
12050 + to align the zero-sized (but not zero-alignment) item. */
12051 + t = build2 (MODIFY_EXPR, TREE_TYPE (valist), valist_tmp,
12052 + fold_build_pointer_plus_hwi (valist_tmp, boundary - 1));
12053 + gimplify_and_add (t, pre_p);
12055 + t = fold_convert (sizetype, valist_tmp);
12056 + t = build2 (MODIFY_EXPR, TREE_TYPE (valist), valist_tmp,
12057 + fold_convert (TREE_TYPE (valist),
12058 + fold_build2 (BIT_AND_EXPR, sizetype, t,
12059 + size_int (-boundary))));
12060 + t = build2 (MODIFY_EXPR, TREE_TYPE (valist), valist, t);
12061 + gimplify_and_add (t, pre_p);
12063 + /* Since it is zero-sized there's no increment for the item itself. */
12064 + valist_tmp = fold_convert (build_pointer_type (type), valist_tmp);
12065 + return build_va_arg_indirect_ref (valist_tmp);
12068 + if (DEFAULT_ABI != ABI_V4)
12070 + if (targetm.calls.split_complex_arg && TREE_CODE (type) == COMPLEX_TYPE)
12072 + tree elem_type = TREE_TYPE (type);
12073 + machine_mode elem_mode = TYPE_MODE (elem_type);
12074 + int elem_size = GET_MODE_SIZE (elem_mode);
12076 + if (elem_size < UNITS_PER_WORD)
12078 + tree real_part, imag_part;
12079 + gimple_seq post = NULL;
12081 + real_part = rs6000_gimplify_va_arg (valist, elem_type, pre_p,
12082 + &post);
12083 + /* Copy the value into a temporary, lest the formal temporary
12084 + be reused out from under us. */
12085 + real_part = get_initialized_tmp_var (real_part, pre_p, &post);
12086 + gimple_seq_add_seq (pre_p, post);
12088 + imag_part = rs6000_gimplify_va_arg (valist, elem_type, pre_p,
12089 + post_p);
12091 + return build2 (COMPLEX_EXPR, type, real_part, imag_part);
12095 + return std_gimplify_va_arg_expr (valist, type, pre_p, post_p);
12098 + f_gpr = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
12099 + f_fpr = DECL_CHAIN (f_gpr);
12100 + f_res = DECL_CHAIN (f_fpr);
12101 + f_ovf = DECL_CHAIN (f_res);
12102 + f_sav = DECL_CHAIN (f_ovf);
12104 + valist = build_va_arg_indirect_ref (valist);
12105 + gpr = build3 (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE);
12106 + fpr = build3 (COMPONENT_REF, TREE_TYPE (f_fpr), unshare_expr (valist),
12107 + f_fpr, NULL_TREE);
12108 + ovf = build3 (COMPONENT_REF, TREE_TYPE (f_ovf), unshare_expr (valist),
12109 + f_ovf, NULL_TREE);
12110 + sav = build3 (COMPONENT_REF, TREE_TYPE (f_sav), unshare_expr (valist),
12111 + f_sav, NULL_TREE);
12113 + size = int_size_in_bytes (type);
12114 + rsize = (size + 3) / 4;
12115 + align = 1;
12117 + if (TARGET_HARD_FLOAT && TARGET_FPRS
12118 + && ((TARGET_SINGLE_FLOAT && TYPE_MODE (type) == SFmode)
12119 + || (TARGET_DOUBLE_FLOAT
12120 + && (TYPE_MODE (type) == DFmode
12121 + || TYPE_MODE (type) == TFmode
12122 + || TYPE_MODE (type) == SDmode
12123 + || TYPE_MODE (type) == DDmode
12124 + || TYPE_MODE (type) == TDmode))))
12126 + /* FP args go in FP registers, if present. */
12127 + reg = fpr;
12128 + n_reg = (size + 7) / 8;
12129 + sav_ofs = ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) ? 8 : 4) * 4;
12130 + sav_scale = ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) ? 8 : 4);
12131 + if (TYPE_MODE (type) != SFmode && TYPE_MODE (type) != SDmode)
12132 + align = 8;
12134 + else
12136 + /* Otherwise into GP registers. */
12137 + reg = gpr;
12138 + n_reg = rsize;
12139 + sav_ofs = 0;
12140 + sav_scale = 4;
12141 + if (n_reg == 2)
12142 + align = 8;
12145 + /* Pull the value out of the saved registers.... */
12147 + lab_over = NULL;
12148 + addr = create_tmp_var (ptr_type_node, "addr");
12150 + /* AltiVec vectors never go in registers when -mabi=altivec. */
12151 + if (TARGET_ALTIVEC_ABI && ALTIVEC_VECTOR_MODE (TYPE_MODE (type)))
12152 + align = 16;
12153 + else
12155 + lab_false = create_artificial_label (input_location);
12156 + lab_over = create_artificial_label (input_location);
12158 + /* Long long and SPE vectors are aligned in the registers.
12159 + As are any other 2 gpr item such as complex int due to a
12160 + historical mistake. */
12161 + u = reg;
12162 + if (n_reg == 2 && reg == gpr)
12164 + regalign = 1;
12165 + u = build2 (BIT_AND_EXPR, TREE_TYPE (reg), unshare_expr (reg),
12166 + build_int_cst (TREE_TYPE (reg), n_reg - 1));
12167 + u = build2 (POSTINCREMENT_EXPR, TREE_TYPE (reg),
12168 + unshare_expr (reg), u);
12170 + /* _Decimal128 is passed in even/odd fpr pairs; the stored
12171 + reg number is 0 for f1, so we want to make it odd. */
12172 + else if (reg == fpr && TYPE_MODE (type) == TDmode)
12174 + t = build2 (BIT_IOR_EXPR, TREE_TYPE (reg), unshare_expr (reg),
12175 + build_int_cst (TREE_TYPE (reg), 1));
12176 + u = build2 (MODIFY_EXPR, void_type_node, unshare_expr (reg), t);
12179 + t = fold_convert (TREE_TYPE (reg), size_int (8 - n_reg + 1));
12180 + t = build2 (GE_EXPR, boolean_type_node, u, t);
12181 + u = build1 (GOTO_EXPR, void_type_node, lab_false);
12182 + t = build3 (COND_EXPR, void_type_node, t, u, NULL_TREE);
12183 + gimplify_and_add (t, pre_p);
12185 + t = sav;
12186 + if (sav_ofs)
12187 + t = fold_build_pointer_plus_hwi (sav, sav_ofs);
12189 + u = build2 (POSTINCREMENT_EXPR, TREE_TYPE (reg), unshare_expr (reg),
12190 + build_int_cst (TREE_TYPE (reg), n_reg));
12191 + u = fold_convert (sizetype, u);
12192 + u = build2 (MULT_EXPR, sizetype, u, size_int (sav_scale));
12193 + t = fold_build_pointer_plus (t, u);
12195 + /* _Decimal32 varargs are located in the second word of the 64-bit
12196 + FP register for 32-bit binaries. */
12197 + if (TARGET_32BIT
12198 + && TARGET_HARD_FLOAT && TARGET_FPRS
12199 + && TYPE_MODE (type) == SDmode)
12200 + t = fold_build_pointer_plus_hwi (t, size);
12202 + gimplify_assign (addr, t, pre_p);
12204 + gimple_seq_add_stmt (pre_p, gimple_build_goto (lab_over));
12206 + stmt = gimple_build_label (lab_false);
12207 + gimple_seq_add_stmt (pre_p, stmt);
12209 + if ((n_reg == 2 && !regalign) || n_reg > 2)
12211 + /* Ensure that we don't find any more args in regs.
12212 + Alignment has taken care of for special cases. */
12213 + gimplify_assign (reg, build_int_cst (TREE_TYPE (reg), 8), pre_p);
12217 + /* ... otherwise out of the overflow area. */
12219 + /* Care for on-stack alignment if needed. */
12220 + t = ovf;
12221 + if (align != 1)
12223 + t = fold_build_pointer_plus_hwi (t, align - 1);
12224 + t = build2 (BIT_AND_EXPR, TREE_TYPE (t), t,
12225 + build_int_cst (TREE_TYPE (t), -align));
12227 + gimplify_expr (&t, pre_p, NULL, is_gimple_val, fb_rvalue);
12229 + gimplify_assign (unshare_expr (addr), t, pre_p);
12231 + t = fold_build_pointer_plus_hwi (t, size);
12232 + gimplify_assign (unshare_expr (ovf), t, pre_p);
12234 + if (lab_over)
12236 + stmt = gimple_build_label (lab_over);
12237 + gimple_seq_add_stmt (pre_p, stmt);
12240 + if (STRICT_ALIGNMENT
12241 + && (TYPE_ALIGN (type)
12242 + > (unsigned) BITS_PER_UNIT * (align < 4 ? 4 : align)))
12244 + /* The value (of type complex double, for example) may not be
12245 + aligned in memory in the saved registers, so copy via a
12246 + temporary. (This is the same code as used for SPARC.) */
12247 + tree tmp = create_tmp_var (type, "va_arg_tmp");
12248 + tree dest_addr = build_fold_addr_expr (tmp);
12250 + tree copy = build_call_expr (builtin_decl_implicit (BUILT_IN_MEMCPY),
12251 + 3, dest_addr, addr, size_int (rsize * 4));
12253 + gimplify_and_add (copy, pre_p);
12254 + addr = dest_addr;
12257 + addr = fold_convert (ptrtype, addr);
12258 + return build_va_arg_indirect_ref (addr);
12261 +/* Builtins. */
12263 +static void
12264 +def_builtin (const char *name, tree type, enum rs6000_builtins code)
12266 + tree t;
12267 + unsigned classify = rs6000_builtin_info[(int)code].attr;
12268 + const char *attr_string = "";
12270 + gcc_assert (name != NULL);
12271 + gcc_assert (IN_RANGE ((int)code, 0, (int)RS6000_BUILTIN_COUNT));
12273 + if (rs6000_builtin_decls[(int)code])
12274 + fatal_error (input_location,
12275 + "internal error: builtin function %s already processed", name);
12277 + rs6000_builtin_decls[(int)code] = t =
12278 + add_builtin_function (name, type, (int)code, BUILT_IN_MD, NULL, NULL_TREE);
12280 + /* Set any special attributes. */
12281 + if ((classify & RS6000_BTC_CONST) != 0)
12283 + /* const function, function only depends on the inputs. */
12284 + TREE_READONLY (t) = 1;
12285 + TREE_NOTHROW (t) = 1;
12286 + attr_string = ", pure";
12288 + else if ((classify & RS6000_BTC_PURE) != 0)
12290 + /* pure function, function can read global memory, but does not set any
12291 + external state. */
12292 + DECL_PURE_P (t) = 1;
12293 + TREE_NOTHROW (t) = 1;
12294 + attr_string = ", const";
12296 + else if ((classify & RS6000_BTC_FP) != 0)
12298 + /* Function is a math function. If rounding mode is on, then treat the
12299 + function as not reading global memory, but it can have arbitrary side
12300 + effects. If it is off, then assume the function is a const function.
12301 + This mimics the ATTR_MATHFN_FPROUNDING attribute in
12302 + builtin-attribute.def that is used for the math functions. */
12303 + TREE_NOTHROW (t) = 1;
12304 + if (flag_rounding_math)
12306 + DECL_PURE_P (t) = 1;
12307 + DECL_IS_NOVOPS (t) = 1;
12308 + attr_string = ", fp, pure";
12310 + else
12312 + TREE_READONLY (t) = 1;
12313 + attr_string = ", fp, const";
12316 + else if ((classify & RS6000_BTC_ATTR_MASK) != 0)
12317 + gcc_unreachable ();
12319 + if (TARGET_DEBUG_BUILTIN)
12320 + fprintf (stderr, "rs6000_builtin, code = %4d, %s%s\n",
12321 + (int)code, name, attr_string);
12324 +/* Simple ternary operations: VECd = foo (VECa, VECb, VECc). */
12326 +#undef RS6000_BUILTIN_1
12327 +#undef RS6000_BUILTIN_2
12328 +#undef RS6000_BUILTIN_3
12329 +#undef RS6000_BUILTIN_A
12330 +#undef RS6000_BUILTIN_D
12331 +#undef RS6000_BUILTIN_E
12332 +#undef RS6000_BUILTIN_H
12333 +#undef RS6000_BUILTIN_P
12334 +#undef RS6000_BUILTIN_Q
12335 +#undef RS6000_BUILTIN_S
12336 +#undef RS6000_BUILTIN_X
12338 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12339 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12340 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE) \
12341 + { MASK, ICODE, NAME, ENUM },
12343 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12344 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12345 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12346 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12347 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12348 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12349 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12350 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12352 +static const struct builtin_description bdesc_3arg[] =
12354 +#include "rs6000-builtin.def"
12357 +/* DST operations: void foo (void *, const int, const char). */
12359 +#undef RS6000_BUILTIN_1
12360 +#undef RS6000_BUILTIN_2
12361 +#undef RS6000_BUILTIN_3
12362 +#undef RS6000_BUILTIN_A
12363 +#undef RS6000_BUILTIN_D
12364 +#undef RS6000_BUILTIN_E
12365 +#undef RS6000_BUILTIN_H
12366 +#undef RS6000_BUILTIN_P
12367 +#undef RS6000_BUILTIN_Q
12368 +#undef RS6000_BUILTIN_S
12369 +#undef RS6000_BUILTIN_X
12371 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12372 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12373 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12374 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12375 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE) \
12376 + { MASK, ICODE, NAME, ENUM },
12378 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12379 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12380 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12381 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12382 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12383 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12385 +static const struct builtin_description bdesc_dst[] =
12387 +#include "rs6000-builtin.def"
12390 +/* Simple binary operations: VECc = foo (VECa, VECb). */
12392 +#undef RS6000_BUILTIN_1
12393 +#undef RS6000_BUILTIN_2
12394 +#undef RS6000_BUILTIN_3
12395 +#undef RS6000_BUILTIN_A
12396 +#undef RS6000_BUILTIN_D
12397 +#undef RS6000_BUILTIN_E
12398 +#undef RS6000_BUILTIN_H
12399 +#undef RS6000_BUILTIN_P
12400 +#undef RS6000_BUILTIN_Q
12401 +#undef RS6000_BUILTIN_S
12402 +#undef RS6000_BUILTIN_X
12404 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12405 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE) \
12406 + { MASK, ICODE, NAME, ENUM },
12408 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12409 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12410 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12411 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12412 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12413 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12414 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12415 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12416 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12418 +static const struct builtin_description bdesc_2arg[] =
12420 +#include "rs6000-builtin.def"
12423 +#undef RS6000_BUILTIN_1
12424 +#undef RS6000_BUILTIN_2
12425 +#undef RS6000_BUILTIN_3
12426 +#undef RS6000_BUILTIN_A
12427 +#undef RS6000_BUILTIN_D
12428 +#undef RS6000_BUILTIN_E
12429 +#undef RS6000_BUILTIN_H
12430 +#undef RS6000_BUILTIN_P
12431 +#undef RS6000_BUILTIN_Q
12432 +#undef RS6000_BUILTIN_S
12433 +#undef RS6000_BUILTIN_X
12435 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12436 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12437 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12438 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12439 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12440 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12441 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12442 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE) \
12443 + { MASK, ICODE, NAME, ENUM },
12445 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12446 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12447 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12449 +/* AltiVec predicates. */
12451 +static const struct builtin_description bdesc_altivec_preds[] =
12453 +#include "rs6000-builtin.def"
12456 +/* SPE predicates. */
12457 +#undef RS6000_BUILTIN_1
12458 +#undef RS6000_BUILTIN_2
12459 +#undef RS6000_BUILTIN_3
12460 +#undef RS6000_BUILTIN_A
12461 +#undef RS6000_BUILTIN_D
12462 +#undef RS6000_BUILTIN_E
12463 +#undef RS6000_BUILTIN_H
12464 +#undef RS6000_BUILTIN_P
12465 +#undef RS6000_BUILTIN_Q
12466 +#undef RS6000_BUILTIN_S
12467 +#undef RS6000_BUILTIN_X
12469 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12470 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12471 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12472 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12473 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12474 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12475 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12476 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12477 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12478 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE) \
12479 + { MASK, ICODE, NAME, ENUM },
12481 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12483 +static const struct builtin_description bdesc_spe_predicates[] =
12485 +#include "rs6000-builtin.def"
12488 +/* SPE evsel predicates. */
12489 +#undef RS6000_BUILTIN_1
12490 +#undef RS6000_BUILTIN_2
12491 +#undef RS6000_BUILTIN_3
12492 +#undef RS6000_BUILTIN_A
12493 +#undef RS6000_BUILTIN_D
12494 +#undef RS6000_BUILTIN_E
12495 +#undef RS6000_BUILTIN_H
12496 +#undef RS6000_BUILTIN_P
12497 +#undef RS6000_BUILTIN_Q
12498 +#undef RS6000_BUILTIN_S
12499 +#undef RS6000_BUILTIN_X
12501 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12502 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12503 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12504 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12505 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12506 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE) \
12507 + { MASK, ICODE, NAME, ENUM },
12509 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12510 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12511 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12512 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12513 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12515 +static const struct builtin_description bdesc_spe_evsel[] =
12517 +#include "rs6000-builtin.def"
12520 +/* PAIRED predicates. */
12521 +#undef RS6000_BUILTIN_1
12522 +#undef RS6000_BUILTIN_2
12523 +#undef RS6000_BUILTIN_3
12524 +#undef RS6000_BUILTIN_A
12525 +#undef RS6000_BUILTIN_D
12526 +#undef RS6000_BUILTIN_E
12527 +#undef RS6000_BUILTIN_H
12528 +#undef RS6000_BUILTIN_P
12529 +#undef RS6000_BUILTIN_Q
12530 +#undef RS6000_BUILTIN_S
12531 +#undef RS6000_BUILTIN_X
12533 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12534 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12535 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12536 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12537 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12538 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12539 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12540 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12541 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE) \
12542 + { MASK, ICODE, NAME, ENUM },
12544 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12545 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12547 +static const struct builtin_description bdesc_paired_preds[] =
12549 +#include "rs6000-builtin.def"
12552 +/* ABS* operations. */
12554 +#undef RS6000_BUILTIN_1
12555 +#undef RS6000_BUILTIN_2
12556 +#undef RS6000_BUILTIN_3
12557 +#undef RS6000_BUILTIN_A
12558 +#undef RS6000_BUILTIN_D
12559 +#undef RS6000_BUILTIN_E
12560 +#undef RS6000_BUILTIN_H
12561 +#undef RS6000_BUILTIN_P
12562 +#undef RS6000_BUILTIN_Q
12563 +#undef RS6000_BUILTIN_S
12564 +#undef RS6000_BUILTIN_X
12566 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12567 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12568 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12569 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE) \
12570 + { MASK, ICODE, NAME, ENUM },
12572 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12573 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12574 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12575 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12576 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12577 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12578 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12580 +static const struct builtin_description bdesc_abs[] =
12582 +#include "rs6000-builtin.def"
12585 +/* Simple unary operations: VECb = foo (unsigned literal) or VECb =
12586 + foo (VECa). */
12588 +#undef RS6000_BUILTIN_1
12589 +#undef RS6000_BUILTIN_2
12590 +#undef RS6000_BUILTIN_3
12591 +#undef RS6000_BUILTIN_A
12592 +#undef RS6000_BUILTIN_D
12593 +#undef RS6000_BUILTIN_E
12594 +#undef RS6000_BUILTIN_H
12595 +#undef RS6000_BUILTIN_P
12596 +#undef RS6000_BUILTIN_Q
12597 +#undef RS6000_BUILTIN_S
12598 +#undef RS6000_BUILTIN_X
12600 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE) \
12601 + { MASK, ICODE, NAME, ENUM },
12603 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12604 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12605 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12606 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12607 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12608 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE)
12609 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12610 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12611 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12612 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12614 +static const struct builtin_description bdesc_1arg[] =
12616 +#include "rs6000-builtin.def"
12619 +/* HTM builtins. */
12620 +#undef RS6000_BUILTIN_1
12621 +#undef RS6000_BUILTIN_2
12622 +#undef RS6000_BUILTIN_3
12623 +#undef RS6000_BUILTIN_A
12624 +#undef RS6000_BUILTIN_D
12625 +#undef RS6000_BUILTIN_E
12626 +#undef RS6000_BUILTIN_H
12627 +#undef RS6000_BUILTIN_P
12628 +#undef RS6000_BUILTIN_Q
12629 +#undef RS6000_BUILTIN_S
12630 +#undef RS6000_BUILTIN_X
12632 +#define RS6000_BUILTIN_1(ENUM, NAME, MASK, ATTR, ICODE)
12633 +#define RS6000_BUILTIN_2(ENUM, NAME, MASK, ATTR, ICODE)
12634 +#define RS6000_BUILTIN_3(ENUM, NAME, MASK, ATTR, ICODE)
12635 +#define RS6000_BUILTIN_A(ENUM, NAME, MASK, ATTR, ICODE)
12636 +#define RS6000_BUILTIN_D(ENUM, NAME, MASK, ATTR, ICODE)
12637 +#define RS6000_BUILTIN_E(ENUM, NAME, MASK, ATTR, ICODE)
12638 +#define RS6000_BUILTIN_H(ENUM, NAME, MASK, ATTR, ICODE) \
12639 + { MASK, ICODE, NAME, ENUM },
12641 +#define RS6000_BUILTIN_P(ENUM, NAME, MASK, ATTR, ICODE)
12642 +#define RS6000_BUILTIN_Q(ENUM, NAME, MASK, ATTR, ICODE)
12643 +#define RS6000_BUILTIN_S(ENUM, NAME, MASK, ATTR, ICODE)
12644 +#define RS6000_BUILTIN_X(ENUM, NAME, MASK, ATTR, ICODE)
12646 +static const struct builtin_description bdesc_htm[] =
12648 +#include "rs6000-builtin.def"
12651 +#undef RS6000_BUILTIN_1
12652 +#undef RS6000_BUILTIN_2
12653 +#undef RS6000_BUILTIN_3
12654 +#undef RS6000_BUILTIN_A
12655 +#undef RS6000_BUILTIN_D
12656 +#undef RS6000_BUILTIN_E
12657 +#undef RS6000_BUILTIN_H
12658 +#undef RS6000_BUILTIN_P
12659 +#undef RS6000_BUILTIN_Q
12660 +#undef RS6000_BUILTIN_S
12662 +/* Return true if a builtin function is overloaded. */
12663 +bool
12664 +rs6000_overloaded_builtin_p (enum rs6000_builtins fncode)
12666 + return (rs6000_builtin_info[(int)fncode].attr & RS6000_BTC_OVERLOADED) != 0;
12669 +/* Expand an expression EXP that calls a builtin without arguments. */
12670 +static rtx
12671 +rs6000_expand_zeroop_builtin (enum insn_code icode, rtx target)
12673 + rtx pat;
12674 + machine_mode tmode = insn_data[icode].operand[0].mode;
12676 + if (icode == CODE_FOR_nothing)
12677 + /* Builtin not supported on this processor. */
12678 + return 0;
12680 + if (target == 0
12681 + || GET_MODE (target) != tmode
12682 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
12683 + target = gen_reg_rtx (tmode);
12685 + pat = GEN_FCN (icode) (target);
12686 + if (! pat)
12687 + return 0;
12688 + emit_insn (pat);
12690 + return target;
12694 +static rtx
12695 +rs6000_expand_mtfsf_builtin (enum insn_code icode, tree exp)
12697 + rtx pat;
12698 + tree arg0 = CALL_EXPR_ARG (exp, 0);
12699 + tree arg1 = CALL_EXPR_ARG (exp, 1);
12700 + rtx op0 = expand_normal (arg0);
12701 + rtx op1 = expand_normal (arg1);
12702 + machine_mode mode0 = insn_data[icode].operand[0].mode;
12703 + machine_mode mode1 = insn_data[icode].operand[1].mode;
12705 + if (icode == CODE_FOR_nothing)
12706 + /* Builtin not supported on this processor. */
12707 + return 0;
12709 + /* If we got invalid arguments bail out before generating bad rtl. */
12710 + if (arg0 == error_mark_node || arg1 == error_mark_node)
12711 + return const0_rtx;
12713 + if (GET_CODE (op0) != CONST_INT
12714 + || INTVAL (op0) > 255
12715 + || INTVAL (op0) < 0)
12717 + error ("argument 1 must be an 8-bit field value");
12718 + return const0_rtx;
12721 + if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
12722 + op0 = copy_to_mode_reg (mode0, op0);
12724 + if (! (*insn_data[icode].operand[1].predicate) (op1, mode1))
12725 + op1 = copy_to_mode_reg (mode1, op1);
12727 + pat = GEN_FCN (icode) (op0, op1);
12728 + if (! pat)
12729 + return const0_rtx;
12730 + emit_insn (pat);
12732 + return NULL_RTX;
12736 +static rtx
12737 +rs6000_expand_unop_builtin (enum insn_code icode, tree exp, rtx target)
12739 + rtx pat;
12740 + tree arg0 = CALL_EXPR_ARG (exp, 0);
12741 + rtx op0 = expand_normal (arg0);
12742 + machine_mode tmode = insn_data[icode].operand[0].mode;
12743 + machine_mode mode0 = insn_data[icode].operand[1].mode;
12745 + if (icode == CODE_FOR_nothing)
12746 + /* Builtin not supported on this processor. */
12747 + return 0;
12749 + /* If we got invalid arguments bail out before generating bad rtl. */
12750 + if (arg0 == error_mark_node)
12751 + return const0_rtx;
12753 + if (icode == CODE_FOR_altivec_vspltisb
12754 + || icode == CODE_FOR_altivec_vspltish
12755 + || icode == CODE_FOR_altivec_vspltisw
12756 + || icode == CODE_FOR_spe_evsplatfi
12757 + || icode == CODE_FOR_spe_evsplati)
12759 + /* Only allow 5-bit *signed* literals. */
12760 + if (GET_CODE (op0) != CONST_INT
12761 + || INTVAL (op0) > 15
12762 + || INTVAL (op0) < -16)
12764 + error ("argument 1 must be a 5-bit signed literal");
12765 + return const0_rtx;
12769 + if (target == 0
12770 + || GET_MODE (target) != tmode
12771 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
12772 + target = gen_reg_rtx (tmode);
12774 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
12775 + op0 = copy_to_mode_reg (mode0, op0);
12777 + pat = GEN_FCN (icode) (target, op0);
12778 + if (! pat)
12779 + return 0;
12780 + emit_insn (pat);
12782 + return target;
12785 +static rtx
12786 +altivec_expand_abs_builtin (enum insn_code icode, tree exp, rtx target)
12788 + rtx pat, scratch1, scratch2;
12789 + tree arg0 = CALL_EXPR_ARG (exp, 0);
12790 + rtx op0 = expand_normal (arg0);
12791 + machine_mode tmode = insn_data[icode].operand[0].mode;
12792 + machine_mode mode0 = insn_data[icode].operand[1].mode;
12794 + /* If we have invalid arguments, bail out before generating bad rtl. */
12795 + if (arg0 == error_mark_node)
12796 + return const0_rtx;
12798 + if (target == 0
12799 + || GET_MODE (target) != tmode
12800 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
12801 + target = gen_reg_rtx (tmode);
12803 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
12804 + op0 = copy_to_mode_reg (mode0, op0);
12806 + scratch1 = gen_reg_rtx (mode0);
12807 + scratch2 = gen_reg_rtx (mode0);
12809 + pat = GEN_FCN (icode) (target, op0, scratch1, scratch2);
12810 + if (! pat)
12811 + return 0;
12812 + emit_insn (pat);
12814 + return target;
12817 +static rtx
12818 +rs6000_expand_binop_builtin (enum insn_code icode, tree exp, rtx target)
12820 + rtx pat;
12821 + tree arg0 = CALL_EXPR_ARG (exp, 0);
12822 + tree arg1 = CALL_EXPR_ARG (exp, 1);
12823 + rtx op0 = expand_normal (arg0);
12824 + rtx op1 = expand_normal (arg1);
12825 + machine_mode tmode = insn_data[icode].operand[0].mode;
12826 + machine_mode mode0 = insn_data[icode].operand[1].mode;
12827 + machine_mode mode1 = insn_data[icode].operand[2].mode;
12829 + if (icode == CODE_FOR_nothing)
12830 + /* Builtin not supported on this processor. */
12831 + return 0;
12833 + /* If we got invalid arguments bail out before generating bad rtl. */
12834 + if (arg0 == error_mark_node || arg1 == error_mark_node)
12835 + return const0_rtx;
12837 + if (icode == CODE_FOR_altivec_vcfux
12838 + || icode == CODE_FOR_altivec_vcfsx
12839 + || icode == CODE_FOR_altivec_vctsxs
12840 + || icode == CODE_FOR_altivec_vctuxs
12841 + || icode == CODE_FOR_altivec_vspltb
12842 + || icode == CODE_FOR_altivec_vsplth
12843 + || icode == CODE_FOR_altivec_vspltw
12844 + || icode == CODE_FOR_spe_evaddiw
12845 + || icode == CODE_FOR_spe_evldd
12846 + || icode == CODE_FOR_spe_evldh
12847 + || icode == CODE_FOR_spe_evldw
12848 + || icode == CODE_FOR_spe_evlhhesplat
12849 + || icode == CODE_FOR_spe_evlhhossplat
12850 + || icode == CODE_FOR_spe_evlhhousplat
12851 + || icode == CODE_FOR_spe_evlwhe
12852 + || icode == CODE_FOR_spe_evlwhos
12853 + || icode == CODE_FOR_spe_evlwhou
12854 + || icode == CODE_FOR_spe_evlwhsplat
12855 + || icode == CODE_FOR_spe_evlwwsplat
12856 + || icode == CODE_FOR_spe_evrlwi
12857 + || icode == CODE_FOR_spe_evslwi
12858 + || icode == CODE_FOR_spe_evsrwis
12859 + || icode == CODE_FOR_spe_evsubifw
12860 + || icode == CODE_FOR_spe_evsrwiu)
12862 + /* Only allow 5-bit unsigned literals. */
12863 + STRIP_NOPS (arg1);
12864 + if (TREE_CODE (arg1) != INTEGER_CST
12865 + || TREE_INT_CST_LOW (arg1) & ~0x1f)
12867 + error ("argument 2 must be a 5-bit unsigned literal");
12868 + return const0_rtx;
12872 + if (target == 0
12873 + || GET_MODE (target) != tmode
12874 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
12875 + target = gen_reg_rtx (tmode);
12877 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
12878 + op0 = copy_to_mode_reg (mode0, op0);
12879 + if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
12880 + op1 = copy_to_mode_reg (mode1, op1);
12882 + pat = GEN_FCN (icode) (target, op0, op1);
12883 + if (! pat)
12884 + return 0;
12885 + emit_insn (pat);
12887 + return target;
12890 +static rtx
12891 +altivec_expand_predicate_builtin (enum insn_code icode, tree exp, rtx target)
12893 + rtx pat, scratch;
12894 + tree cr6_form = CALL_EXPR_ARG (exp, 0);
12895 + tree arg0 = CALL_EXPR_ARG (exp, 1);
12896 + tree arg1 = CALL_EXPR_ARG (exp, 2);
12897 + rtx op0 = expand_normal (arg0);
12898 + rtx op1 = expand_normal (arg1);
12899 + machine_mode tmode = SImode;
12900 + machine_mode mode0 = insn_data[icode].operand[1].mode;
12901 + machine_mode mode1 = insn_data[icode].operand[2].mode;
12902 + int cr6_form_int;
12904 + if (TREE_CODE (cr6_form) != INTEGER_CST)
12906 + error ("argument 1 of __builtin_altivec_predicate must be a constant");
12907 + return const0_rtx;
12909 + else
12910 + cr6_form_int = TREE_INT_CST_LOW (cr6_form);
12912 + gcc_assert (mode0 == mode1);
12914 + /* If we have invalid arguments, bail out before generating bad rtl. */
12915 + if (arg0 == error_mark_node || arg1 == error_mark_node)
12916 + return const0_rtx;
12918 + if (target == 0
12919 + || GET_MODE (target) != tmode
12920 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
12921 + target = gen_reg_rtx (tmode);
12923 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
12924 + op0 = copy_to_mode_reg (mode0, op0);
12925 + if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
12926 + op1 = copy_to_mode_reg (mode1, op1);
12928 + scratch = gen_reg_rtx (mode0);
12930 + pat = GEN_FCN (icode) (scratch, op0, op1);
12931 + if (! pat)
12932 + return 0;
12933 + emit_insn (pat);
12935 + /* The vec_any* and vec_all* predicates use the same opcodes for two
12936 + different operations, but the bits in CR6 will be different
12937 + depending on what information we want. So we have to play tricks
12938 + with CR6 to get the right bits out.
12940 + If you think this is disgusting, look at the specs for the
12941 + AltiVec predicates. */
12943 + switch (cr6_form_int)
12945 + case 0:
12946 + emit_insn (gen_cr6_test_for_zero (target));
12947 + break;
12948 + case 1:
12949 + emit_insn (gen_cr6_test_for_zero_reverse (target));
12950 + break;
12951 + case 2:
12952 + emit_insn (gen_cr6_test_for_lt (target));
12953 + break;
12954 + case 3:
12955 + emit_insn (gen_cr6_test_for_lt_reverse (target));
12956 + break;
12957 + default:
12958 + error ("argument 1 of __builtin_altivec_predicate is out of range");
12959 + break;
12962 + return target;
12965 +static rtx
12966 +paired_expand_lv_builtin (enum insn_code icode, tree exp, rtx target)
12968 + rtx pat, addr;
12969 + tree arg0 = CALL_EXPR_ARG (exp, 0);
12970 + tree arg1 = CALL_EXPR_ARG (exp, 1);
12971 + machine_mode tmode = insn_data[icode].operand[0].mode;
12972 + machine_mode mode0 = Pmode;
12973 + machine_mode mode1 = Pmode;
12974 + rtx op0 = expand_normal (arg0);
12975 + rtx op1 = expand_normal (arg1);
12977 + if (icode == CODE_FOR_nothing)
12978 + /* Builtin not supported on this processor. */
12979 + return 0;
12981 + /* If we got invalid arguments bail out before generating bad rtl. */
12982 + if (arg0 == error_mark_node || arg1 == error_mark_node)
12983 + return const0_rtx;
12985 + if (target == 0
12986 + || GET_MODE (target) != tmode
12987 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
12988 + target = gen_reg_rtx (tmode);
12990 + op1 = copy_to_mode_reg (mode1, op1);
12992 + if (op0 == const0_rtx)
12994 + addr = gen_rtx_MEM (tmode, op1);
12996 + else
12998 + op0 = copy_to_mode_reg (mode0, op0);
12999 + addr = gen_rtx_MEM (tmode, gen_rtx_PLUS (Pmode, op0, op1));
13002 + pat = GEN_FCN (icode) (target, addr);
13004 + if (! pat)
13005 + return 0;
13006 + emit_insn (pat);
13008 + return target;
13011 +/* Return a constant vector for use as a little-endian permute control vector
13012 + to reverse the order of elements of the given vector mode. */
13013 +static rtx
13014 +swap_selector_for_mode (machine_mode mode)
13016 + /* These are little endian vectors, so their elements are reversed
13017 + from what you would normally expect for a permute control vector. */
13018 + unsigned int swap2[16] = {7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8};
13019 + unsigned int swap4[16] = {3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12};
13020 + unsigned int swap8[16] = {1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14};
13021 + unsigned int swap16[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
13022 + unsigned int *swaparray, i;
13023 + rtx perm[16];
13025 + switch (mode)
13027 + case V2DFmode:
13028 + case V2DImode:
13029 + swaparray = swap2;
13030 + break;
13031 + case V4SFmode:
13032 + case V4SImode:
13033 + swaparray = swap4;
13034 + break;
13035 + case V8HImode:
13036 + swaparray = swap8;
13037 + break;
13038 + case V16QImode:
13039 + swaparray = swap16;
13040 + break;
13041 + default:
13042 + gcc_unreachable ();
13045 + for (i = 0; i < 16; ++i)
13046 + perm[i] = GEN_INT (swaparray[i]);
13048 + return force_reg (V16QImode, gen_rtx_CONST_VECTOR (V16QImode, gen_rtvec_v (16, perm)));
13051 +/* Generate code for an "lvx", "lvxl", or "lve*x" built-in for a little endian target
13052 + with -maltivec=be specified. Issue the load followed by an element-reversing
13053 + permute. */
13054 +void
13055 +altivec_expand_lvx_be (rtx op0, rtx op1, machine_mode mode, unsigned unspec)
13057 + rtx tmp = gen_reg_rtx (mode);
13058 + rtx load = gen_rtx_SET (VOIDmode, tmp, op1);
13059 + rtx lvx = gen_rtx_UNSPEC (mode, gen_rtvec (1, const0_rtx), unspec);
13060 + rtx par = gen_rtx_PARALLEL (mode, gen_rtvec (2, load, lvx));
13061 + rtx sel = swap_selector_for_mode (mode);
13062 + rtx vperm = gen_rtx_UNSPEC (mode, gen_rtvec (3, tmp, tmp, sel), UNSPEC_VPERM);
13064 + gcc_assert (REG_P (op0));
13065 + emit_insn (par);
13066 + emit_insn (gen_rtx_SET (VOIDmode, op0, vperm));
13069 +/* Generate code for a "stvx" or "stvxl" built-in for a little endian target
13070 + with -maltivec=be specified. Issue the store preceded by an element-reversing
13071 + permute. */
13072 +void
13073 +altivec_expand_stvx_be (rtx op0, rtx op1, machine_mode mode, unsigned unspec)
13075 + rtx tmp = gen_reg_rtx (mode);
13076 + rtx store = gen_rtx_SET (VOIDmode, op0, tmp);
13077 + rtx stvx = gen_rtx_UNSPEC (mode, gen_rtvec (1, const0_rtx), unspec);
13078 + rtx par = gen_rtx_PARALLEL (mode, gen_rtvec (2, store, stvx));
13079 + rtx sel = swap_selector_for_mode (mode);
13080 + rtx vperm;
13082 + gcc_assert (REG_P (op1));
13083 + vperm = gen_rtx_UNSPEC (mode, gen_rtvec (3, op1, op1, sel), UNSPEC_VPERM);
13084 + emit_insn (gen_rtx_SET (VOIDmode, tmp, vperm));
13085 + emit_insn (par);
13088 +/* Generate code for a "stve*x" built-in for a little endian target with -maltivec=be
13089 + specified. Issue the store preceded by an element-reversing permute. */
13090 +void
13091 +altivec_expand_stvex_be (rtx op0, rtx op1, machine_mode mode, unsigned unspec)
13093 + machine_mode inner_mode = GET_MODE_INNER (mode);
13094 + rtx tmp = gen_reg_rtx (mode);
13095 + rtx stvx = gen_rtx_UNSPEC (inner_mode, gen_rtvec (1, tmp), unspec);
13096 + rtx sel = swap_selector_for_mode (mode);
13097 + rtx vperm;
13099 + gcc_assert (REG_P (op1));
13100 + vperm = gen_rtx_UNSPEC (mode, gen_rtvec (3, op1, op1, sel), UNSPEC_VPERM);
13101 + emit_insn (gen_rtx_SET (VOIDmode, tmp, vperm));
13102 + emit_insn (gen_rtx_SET (VOIDmode, op0, stvx));
13105 +static rtx
13106 +altivec_expand_lv_builtin (enum insn_code icode, tree exp, rtx target, bool blk)
13108 + rtx pat, addr;
13109 + tree arg0 = CALL_EXPR_ARG (exp, 0);
13110 + tree arg1 = CALL_EXPR_ARG (exp, 1);
13111 + machine_mode tmode = insn_data[icode].operand[0].mode;
13112 + machine_mode mode0 = Pmode;
13113 + machine_mode mode1 = Pmode;
13114 + rtx op0 = expand_normal (arg0);
13115 + rtx op1 = expand_normal (arg1);
13117 + if (icode == CODE_FOR_nothing)
13118 + /* Builtin not supported on this processor. */
13119 + return 0;
13121 + /* If we got invalid arguments bail out before generating bad rtl. */
13122 + if (arg0 == error_mark_node || arg1 == error_mark_node)
13123 + return const0_rtx;
13125 + if (target == 0
13126 + || GET_MODE (target) != tmode
13127 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
13128 + target = gen_reg_rtx (tmode);
13130 + op1 = copy_to_mode_reg (mode1, op1);
13132 + if (op0 == const0_rtx)
13134 + addr = gen_rtx_MEM (blk ? BLKmode : tmode, op1);
13136 + else
13138 + op0 = copy_to_mode_reg (mode0, op0);
13139 + addr = gen_rtx_MEM (blk ? BLKmode : tmode, gen_rtx_PLUS (Pmode, op0, op1));
13142 + pat = GEN_FCN (icode) (target, addr);
13144 + if (! pat)
13145 + return 0;
13146 + emit_insn (pat);
13148 + return target;
13151 +static rtx
13152 +spe_expand_stv_builtin (enum insn_code icode, tree exp)
13154 + tree arg0 = CALL_EXPR_ARG (exp, 0);
13155 + tree arg1 = CALL_EXPR_ARG (exp, 1);
13156 + tree arg2 = CALL_EXPR_ARG (exp, 2);
13157 + rtx op0 = expand_normal (arg0);
13158 + rtx op1 = expand_normal (arg1);
13159 + rtx op2 = expand_normal (arg2);
13160 + rtx pat;
13161 + machine_mode mode0 = insn_data[icode].operand[0].mode;
13162 + machine_mode mode1 = insn_data[icode].operand[1].mode;
13163 + machine_mode mode2 = insn_data[icode].operand[2].mode;
13165 + /* Invalid arguments. Bail before doing anything stoopid! */
13166 + if (arg0 == error_mark_node
13167 + || arg1 == error_mark_node
13168 + || arg2 == error_mark_node)
13169 + return const0_rtx;
13171 + if (! (*insn_data[icode].operand[2].predicate) (op0, mode2))
13172 + op0 = copy_to_mode_reg (mode2, op0);
13173 + if (! (*insn_data[icode].operand[0].predicate) (op1, mode0))
13174 + op1 = copy_to_mode_reg (mode0, op1);
13175 + if (! (*insn_data[icode].operand[1].predicate) (op2, mode1))
13176 + op2 = copy_to_mode_reg (mode1, op2);
13178 + pat = GEN_FCN (icode) (op1, op2, op0);
13179 + if (pat)
13180 + emit_insn (pat);
13181 + return NULL_RTX;
13184 +static rtx
13185 +paired_expand_stv_builtin (enum insn_code icode, tree exp)
13187 + tree arg0 = CALL_EXPR_ARG (exp, 0);
13188 + tree arg1 = CALL_EXPR_ARG (exp, 1);
13189 + tree arg2 = CALL_EXPR_ARG (exp, 2);
13190 + rtx op0 = expand_normal (arg0);
13191 + rtx op1 = expand_normal (arg1);
13192 + rtx op2 = expand_normal (arg2);
13193 + rtx pat, addr;
13194 + machine_mode tmode = insn_data[icode].operand[0].mode;
13195 + machine_mode mode1 = Pmode;
13196 + machine_mode mode2 = Pmode;
13198 + /* Invalid arguments. Bail before doing anything stoopid! */
13199 + if (arg0 == error_mark_node
13200 + || arg1 == error_mark_node
13201 + || arg2 == error_mark_node)
13202 + return const0_rtx;
13204 + if (! (*insn_data[icode].operand[1].predicate) (op0, tmode))
13205 + op0 = copy_to_mode_reg (tmode, op0);
13207 + op2 = copy_to_mode_reg (mode2, op2);
13209 + if (op1 == const0_rtx)
13211 + addr = gen_rtx_MEM (tmode, op2);
13213 + else
13215 + op1 = copy_to_mode_reg (mode1, op1);
13216 + addr = gen_rtx_MEM (tmode, gen_rtx_PLUS (Pmode, op1, op2));
13219 + pat = GEN_FCN (icode) (addr, op0);
13220 + if (pat)
13221 + emit_insn (pat);
13222 + return NULL_RTX;
13225 +static rtx
13226 +altivec_expand_stv_builtin (enum insn_code icode, tree exp)
13228 + tree arg0 = CALL_EXPR_ARG (exp, 0);
13229 + tree arg1 = CALL_EXPR_ARG (exp, 1);
13230 + tree arg2 = CALL_EXPR_ARG (exp, 2);
13231 + rtx op0 = expand_normal (arg0);
13232 + rtx op1 = expand_normal (arg1);
13233 + rtx op2 = expand_normal (arg2);
13234 + rtx pat, addr;
13235 + machine_mode tmode = insn_data[icode].operand[0].mode;
13236 + machine_mode smode = insn_data[icode].operand[1].mode;
13237 + machine_mode mode1 = Pmode;
13238 + machine_mode mode2 = Pmode;
13240 + /* Invalid arguments. Bail before doing anything stoopid! */
13241 + if (arg0 == error_mark_node
13242 + || arg1 == error_mark_node
13243 + || arg2 == error_mark_node)
13244 + return const0_rtx;
13246 + if (! (*insn_data[icode].operand[1].predicate) (op0, smode))
13247 + op0 = copy_to_mode_reg (smode, op0);
13249 + op2 = copy_to_mode_reg (mode2, op2);
13251 + if (op1 == const0_rtx)
13253 + addr = gen_rtx_MEM (tmode, op2);
13255 + else
13257 + op1 = copy_to_mode_reg (mode1, op1);
13258 + addr = gen_rtx_MEM (tmode, gen_rtx_PLUS (Pmode, op1, op2));
13261 + pat = GEN_FCN (icode) (addr, op0);
13262 + if (pat)
13263 + emit_insn (pat);
13264 + return NULL_RTX;
13267 +/* Return the appropriate SPR number associated with the given builtin. */
13268 +static inline HOST_WIDE_INT
13269 +htm_spr_num (enum rs6000_builtins code)
13271 + if (code == HTM_BUILTIN_GET_TFHAR
13272 + || code == HTM_BUILTIN_SET_TFHAR)
13273 + return TFHAR_SPR;
13274 + else if (code == HTM_BUILTIN_GET_TFIAR
13275 + || code == HTM_BUILTIN_SET_TFIAR)
13276 + return TFIAR_SPR;
13277 + else if (code == HTM_BUILTIN_GET_TEXASR
13278 + || code == HTM_BUILTIN_SET_TEXASR)
13279 + return TEXASR_SPR;
13280 + gcc_assert (code == HTM_BUILTIN_GET_TEXASRU
13281 + || code == HTM_BUILTIN_SET_TEXASRU);
13282 + return TEXASRU_SPR;
13285 +/* Return the appropriate SPR regno associated with the given builtin. */
13286 +static inline HOST_WIDE_INT
13287 +htm_spr_regno (enum rs6000_builtins code)
13289 + if (code == HTM_BUILTIN_GET_TFHAR
13290 + || code == HTM_BUILTIN_SET_TFHAR)
13291 + return TFHAR_REGNO;
13292 + else if (code == HTM_BUILTIN_GET_TFIAR
13293 + || code == HTM_BUILTIN_SET_TFIAR)
13294 + return TFIAR_REGNO;
13295 + gcc_assert (code == HTM_BUILTIN_GET_TEXASR
13296 + || code == HTM_BUILTIN_SET_TEXASR
13297 + || code == HTM_BUILTIN_GET_TEXASRU
13298 + || code == HTM_BUILTIN_SET_TEXASRU);
13299 + return TEXASR_REGNO;
13302 +/* Return the correct ICODE value depending on whether we are
13303 + setting or reading the HTM SPRs. */
13304 +static inline enum insn_code
13305 +rs6000_htm_spr_icode (bool nonvoid)
13307 + if (nonvoid)
13308 + return (TARGET_64BIT) ? CODE_FOR_htm_mfspr_di : CODE_FOR_htm_mfspr_si;
13309 + else
13310 + return (TARGET_64BIT) ? CODE_FOR_htm_mtspr_di : CODE_FOR_htm_mtspr_si;
13313 +/* Expand the HTM builtin in EXP and store the result in TARGET.
13314 + Store true in *EXPANDEDP if we found a builtin to expand. */
13315 +static rtx
13316 +htm_expand_builtin (tree exp, rtx target, bool * expandedp)
13318 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
13319 + bool nonvoid = TREE_TYPE (TREE_TYPE (fndecl)) != void_type_node;
13320 + enum rs6000_builtins fcode = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
13321 + const struct builtin_description *d;
13322 + size_t i;
13324 + *expandedp = false;
13326 + /* Expand the HTM builtins. */
13327 + d = bdesc_htm;
13328 + for (i = 0; i < ARRAY_SIZE (bdesc_htm); i++, d++)
13329 + if (d->code == fcode)
13331 + rtx op[MAX_HTM_OPERANDS], pat;
13332 + int nopnds = 0;
13333 + tree arg;
13334 + call_expr_arg_iterator iter;
13335 + unsigned attr = rs6000_builtin_info[fcode].attr;
13336 + enum insn_code icode = d->icode;
13338 + if (attr & RS6000_BTC_SPR)
13339 + icode = rs6000_htm_spr_icode (nonvoid);
13341 + if (nonvoid)
13343 + machine_mode tmode = insn_data[icode].operand[0].mode;
13344 + if (!target
13345 + || GET_MODE (target) != tmode
13346 + || !(*insn_data[icode].operand[0].predicate) (target, tmode))
13347 + target = gen_reg_rtx (tmode);
13348 + op[nopnds++] = target;
13351 + FOR_EACH_CALL_EXPR_ARG (arg, iter, exp)
13353 + const struct insn_operand_data *insn_op;
13355 + if (arg == error_mark_node || nopnds >= MAX_HTM_OPERANDS)
13356 + return NULL_RTX;
13358 + insn_op = &insn_data[icode].operand[nopnds];
13360 + op[nopnds] = expand_normal (arg);
13362 + if (!(*insn_op->predicate) (op[nopnds], insn_op->mode))
13364 + if (!strcmp (insn_op->constraint, "n"))
13366 + int arg_num = (nonvoid) ? nopnds : nopnds + 1;
13367 + if (!CONST_INT_P (op[nopnds]))
13368 + error ("argument %d must be an unsigned literal", arg_num);
13369 + else
13370 + error ("argument %d is an unsigned literal that is "
13371 + "out of range", arg_num);
13372 + return const0_rtx;
13374 + op[nopnds] = copy_to_mode_reg (insn_op->mode, op[nopnds]);
13377 + nopnds++;
13380 + /* Handle the builtins for extended mnemonics. These accept
13381 + no arguments, but map to builtins that take arguments. */
13382 + switch (fcode)
13384 + case HTM_BUILTIN_TENDALL: /* Alias for: tend. 1 */
13385 + case HTM_BUILTIN_TRESUME: /* Alias for: tsr. 1 */
13386 + op[nopnds++] = GEN_INT (1);
13387 +#ifdef ENABLE_CHECKING
13388 + attr |= RS6000_BTC_UNARY;
13389 +#endif
13390 + break;
13391 + case HTM_BUILTIN_TSUSPEND: /* Alias for: tsr. 0 */
13392 + op[nopnds++] = GEN_INT (0);
13393 +#ifdef ENABLE_CHECKING
13394 + attr |= RS6000_BTC_UNARY;
13395 +#endif
13396 + break;
13397 + default:
13398 + break;
13401 + /* If this builtin accesses SPRs, then pass in the appropriate
13402 + SPR number and SPR regno as the last two operands. */
13403 + if (attr & RS6000_BTC_SPR)
13405 + op[nopnds++] = gen_rtx_CONST_INT (Pmode, htm_spr_num (fcode));
13406 + op[nopnds++] = gen_rtx_REG (Pmode, htm_spr_regno (fcode));
13409 +#ifdef ENABLE_CHECKING
13410 + int expected_nopnds = 0;
13411 + if ((attr & RS6000_BTC_TYPE_MASK) == RS6000_BTC_UNARY)
13412 + expected_nopnds = 1;
13413 + else if ((attr & RS6000_BTC_TYPE_MASK) == RS6000_BTC_BINARY)
13414 + expected_nopnds = 2;
13415 + else if ((attr & RS6000_BTC_TYPE_MASK) == RS6000_BTC_TERNARY)
13416 + expected_nopnds = 3;
13417 + if (!(attr & RS6000_BTC_VOID))
13418 + expected_nopnds += 1;
13419 + if (attr & RS6000_BTC_SPR)
13420 + expected_nopnds += 2;
13422 + gcc_assert (nopnds == expected_nopnds && nopnds <= MAX_HTM_OPERANDS);
13423 +#endif
13425 + switch (nopnds)
13427 + case 1:
13428 + pat = GEN_FCN (icode) (op[0]);
13429 + break;
13430 + case 2:
13431 + pat = GEN_FCN (icode) (op[0], op[1]);
13432 + break;
13433 + case 3:
13434 + pat = GEN_FCN (icode) (op[0], op[1], op[2]);
13435 + break;
13436 + case 4:
13437 + pat = GEN_FCN (icode) (op[0], op[1], op[2], op[3]);
13438 + break;
13439 + default:
13440 + gcc_unreachable ();
13442 + if (!pat)
13443 + return NULL_RTX;
13444 + emit_insn (pat);
13446 + *expandedp = true;
13447 + if (nonvoid)
13448 + return target;
13449 + return const0_rtx;
13452 + return NULL_RTX;
13455 +static rtx
13456 +rs6000_expand_ternop_builtin (enum insn_code icode, tree exp, rtx target)
13458 + rtx pat;
13459 + tree arg0 = CALL_EXPR_ARG (exp, 0);
13460 + tree arg1 = CALL_EXPR_ARG (exp, 1);
13461 + tree arg2 = CALL_EXPR_ARG (exp, 2);
13462 + rtx op0 = expand_normal (arg0);
13463 + rtx op1 = expand_normal (arg1);
13464 + rtx op2 = expand_normal (arg2);
13465 + machine_mode tmode = insn_data[icode].operand[0].mode;
13466 + machine_mode mode0 = insn_data[icode].operand[1].mode;
13467 + machine_mode mode1 = insn_data[icode].operand[2].mode;
13468 + machine_mode mode2 = insn_data[icode].operand[3].mode;
13470 + if (icode == CODE_FOR_nothing)
13471 + /* Builtin not supported on this processor. */
13472 + return 0;
13474 + /* If we got invalid arguments bail out before generating bad rtl. */
13475 + if (arg0 == error_mark_node
13476 + || arg1 == error_mark_node
13477 + || arg2 == error_mark_node)
13478 + return const0_rtx;
13480 + /* Check and prepare argument depending on the instruction code.
13482 + Note that a switch statement instead of the sequence of tests
13483 + would be incorrect as many of the CODE_FOR values could be
13484 + CODE_FOR_nothing and that would yield multiple alternatives
13485 + with identical values. We'd never reach here at runtime in
13486 + this case. */
13487 + if (icode == CODE_FOR_altivec_vsldoi_v4sf
13488 + || icode == CODE_FOR_altivec_vsldoi_v4si
13489 + || icode == CODE_FOR_altivec_vsldoi_v8hi
13490 + || icode == CODE_FOR_altivec_vsldoi_v16qi)
13492 + /* Only allow 4-bit unsigned literals. */
13493 + STRIP_NOPS (arg2);
13494 + if (TREE_CODE (arg2) != INTEGER_CST
13495 + || TREE_INT_CST_LOW (arg2) & ~0xf)
13497 + error ("argument 3 must be a 4-bit unsigned literal");
13498 + return const0_rtx;
13501 + else if (icode == CODE_FOR_vsx_xxpermdi_v2df
13502 + || icode == CODE_FOR_vsx_xxpermdi_v2di
13503 + || icode == CODE_FOR_vsx_xxsldwi_v16qi
13504 + || icode == CODE_FOR_vsx_xxsldwi_v8hi
13505 + || icode == CODE_FOR_vsx_xxsldwi_v4si
13506 + || icode == CODE_FOR_vsx_xxsldwi_v4sf
13507 + || icode == CODE_FOR_vsx_xxsldwi_v2di
13508 + || icode == CODE_FOR_vsx_xxsldwi_v2df)
13510 + /* Only allow 2-bit unsigned literals. */
13511 + STRIP_NOPS (arg2);
13512 + if (TREE_CODE (arg2) != INTEGER_CST
13513 + || TREE_INT_CST_LOW (arg2) & ~0x3)
13515 + error ("argument 3 must be a 2-bit unsigned literal");
13516 + return const0_rtx;
13519 + else if (icode == CODE_FOR_vsx_set_v2df
13520 + || icode == CODE_FOR_vsx_set_v2di
13521 + || icode == CODE_FOR_bcdadd
13522 + || icode == CODE_FOR_bcdadd_lt
13523 + || icode == CODE_FOR_bcdadd_eq
13524 + || icode == CODE_FOR_bcdadd_gt
13525 + || icode == CODE_FOR_bcdsub
13526 + || icode == CODE_FOR_bcdsub_lt
13527 + || icode == CODE_FOR_bcdsub_eq
13528 + || icode == CODE_FOR_bcdsub_gt)
13530 + /* Only allow 1-bit unsigned literals. */
13531 + STRIP_NOPS (arg2);
13532 + if (TREE_CODE (arg2) != INTEGER_CST
13533 + || TREE_INT_CST_LOW (arg2) & ~0x1)
13535 + error ("argument 3 must be a 1-bit unsigned literal");
13536 + return const0_rtx;
13539 + else if (icode == CODE_FOR_dfp_ddedpd_dd
13540 + || icode == CODE_FOR_dfp_ddedpd_td)
13542 + /* Only allow 2-bit unsigned literals where the value is 0 or 2. */
13543 + STRIP_NOPS (arg0);
13544 + if (TREE_CODE (arg0) != INTEGER_CST
13545 + || TREE_INT_CST_LOW (arg2) & ~0x3)
13547 + error ("argument 1 must be 0 or 2");
13548 + return const0_rtx;
13551 + else if (icode == CODE_FOR_dfp_denbcd_dd
13552 + || icode == CODE_FOR_dfp_denbcd_td)
13554 + /* Only allow 1-bit unsigned literals. */
13555 + STRIP_NOPS (arg0);
13556 + if (TREE_CODE (arg0) != INTEGER_CST
13557 + || TREE_INT_CST_LOW (arg0) & ~0x1)
13559 + error ("argument 1 must be a 1-bit unsigned literal");
13560 + return const0_rtx;
13563 + else if (icode == CODE_FOR_dfp_dscli_dd
13564 + || icode == CODE_FOR_dfp_dscli_td
13565 + || icode == CODE_FOR_dfp_dscri_dd
13566 + || icode == CODE_FOR_dfp_dscri_td)
13568 + /* Only allow 6-bit unsigned literals. */
13569 + STRIP_NOPS (arg1);
13570 + if (TREE_CODE (arg1) != INTEGER_CST
13571 + || TREE_INT_CST_LOW (arg1) & ~0x3f)
13573 + error ("argument 2 must be a 6-bit unsigned literal");
13574 + return const0_rtx;
13577 + else if (icode == CODE_FOR_crypto_vshasigmaw
13578 + || icode == CODE_FOR_crypto_vshasigmad)
13580 + /* Check whether the 2nd and 3rd arguments are integer constants and in
13581 + range and prepare arguments. */
13582 + STRIP_NOPS (arg1);
13583 + if (TREE_CODE (arg1) != INTEGER_CST || wi::geu_p (arg1, 2))
13585 + error ("argument 2 must be 0 or 1");
13586 + return const0_rtx;
13589 + STRIP_NOPS (arg2);
13590 + if (TREE_CODE (arg2) != INTEGER_CST || wi::geu_p (arg1, 16))
13592 + error ("argument 3 must be in the range 0..15");
13593 + return const0_rtx;
13597 + if (target == 0
13598 + || GET_MODE (target) != tmode
13599 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
13600 + target = gen_reg_rtx (tmode);
13602 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
13603 + op0 = copy_to_mode_reg (mode0, op0);
13604 + if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
13605 + op1 = copy_to_mode_reg (mode1, op1);
13606 + if (! (*insn_data[icode].operand[3].predicate) (op2, mode2))
13607 + op2 = copy_to_mode_reg (mode2, op2);
13609 + if (TARGET_PAIRED_FLOAT && icode == CODE_FOR_selv2sf4)
13610 + pat = GEN_FCN (icode) (target, op0, op1, op2, CONST0_RTX (SFmode));
13611 + else
13612 + pat = GEN_FCN (icode) (target, op0, op1, op2);
13613 + if (! pat)
13614 + return 0;
13615 + emit_insn (pat);
13617 + return target;
13620 +/* Expand the lvx builtins. */
13621 +static rtx
13622 +altivec_expand_ld_builtin (tree exp, rtx target, bool *expandedp)
13624 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
13625 + unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
13626 + tree arg0;
13627 + machine_mode tmode, mode0;
13628 + rtx pat, op0;
13629 + enum insn_code icode;
13631 + switch (fcode)
13633 + case ALTIVEC_BUILTIN_LD_INTERNAL_16qi:
13634 + icode = CODE_FOR_vector_altivec_load_v16qi;
13635 + break;
13636 + case ALTIVEC_BUILTIN_LD_INTERNAL_8hi:
13637 + icode = CODE_FOR_vector_altivec_load_v8hi;
13638 + break;
13639 + case ALTIVEC_BUILTIN_LD_INTERNAL_4si:
13640 + icode = CODE_FOR_vector_altivec_load_v4si;
13641 + break;
13642 + case ALTIVEC_BUILTIN_LD_INTERNAL_4sf:
13643 + icode = CODE_FOR_vector_altivec_load_v4sf;
13644 + break;
13645 + case ALTIVEC_BUILTIN_LD_INTERNAL_2df:
13646 + icode = CODE_FOR_vector_altivec_load_v2df;
13647 + break;
13648 + case ALTIVEC_BUILTIN_LD_INTERNAL_2di:
13649 + icode = CODE_FOR_vector_altivec_load_v2di;
13650 + case ALTIVEC_BUILTIN_LD_INTERNAL_1ti:
13651 + icode = CODE_FOR_vector_altivec_load_v1ti;
13652 + break;
13653 + default:
13654 + *expandedp = false;
13655 + return NULL_RTX;
13658 + *expandedp = true;
13660 + arg0 = CALL_EXPR_ARG (exp, 0);
13661 + op0 = expand_normal (arg0);
13662 + tmode = insn_data[icode].operand[0].mode;
13663 + mode0 = insn_data[icode].operand[1].mode;
13665 + if (target == 0
13666 + || GET_MODE (target) != tmode
13667 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
13668 + target = gen_reg_rtx (tmode);
13670 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
13671 + op0 = gen_rtx_MEM (mode0, copy_to_mode_reg (Pmode, op0));
13673 + pat = GEN_FCN (icode) (target, op0);
13674 + if (! pat)
13675 + return 0;
13676 + emit_insn (pat);
13677 + return target;
13680 +/* Expand the stvx builtins. */
13681 +static rtx
13682 +altivec_expand_st_builtin (tree exp, rtx target ATTRIBUTE_UNUSED,
13683 + bool *expandedp)
13685 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
13686 + unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
13687 + tree arg0, arg1;
13688 + machine_mode mode0, mode1;
13689 + rtx pat, op0, op1;
13690 + enum insn_code icode;
13692 + switch (fcode)
13694 + case ALTIVEC_BUILTIN_ST_INTERNAL_16qi:
13695 + icode = CODE_FOR_vector_altivec_store_v16qi;
13696 + break;
13697 + case ALTIVEC_BUILTIN_ST_INTERNAL_8hi:
13698 + icode = CODE_FOR_vector_altivec_store_v8hi;
13699 + break;
13700 + case ALTIVEC_BUILTIN_ST_INTERNAL_4si:
13701 + icode = CODE_FOR_vector_altivec_store_v4si;
13702 + break;
13703 + case ALTIVEC_BUILTIN_ST_INTERNAL_4sf:
13704 + icode = CODE_FOR_vector_altivec_store_v4sf;
13705 + break;
13706 + case ALTIVEC_BUILTIN_ST_INTERNAL_2df:
13707 + icode = CODE_FOR_vector_altivec_store_v2df;
13708 + break;
13709 + case ALTIVEC_BUILTIN_ST_INTERNAL_2di:
13710 + icode = CODE_FOR_vector_altivec_store_v2di;
13711 + case ALTIVEC_BUILTIN_ST_INTERNAL_1ti:
13712 + icode = CODE_FOR_vector_altivec_store_v1ti;
13713 + break;
13714 + default:
13715 + *expandedp = false;
13716 + return NULL_RTX;
13719 + arg0 = CALL_EXPR_ARG (exp, 0);
13720 + arg1 = CALL_EXPR_ARG (exp, 1);
13721 + op0 = expand_normal (arg0);
13722 + op1 = expand_normal (arg1);
13723 + mode0 = insn_data[icode].operand[0].mode;
13724 + mode1 = insn_data[icode].operand[1].mode;
13726 + if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
13727 + op0 = gen_rtx_MEM (mode0, copy_to_mode_reg (Pmode, op0));
13728 + if (! (*insn_data[icode].operand[1].predicate) (op1, mode1))
13729 + op1 = copy_to_mode_reg (mode1, op1);
13731 + pat = GEN_FCN (icode) (op0, op1);
13732 + if (pat)
13733 + emit_insn (pat);
13735 + *expandedp = true;
13736 + return NULL_RTX;
13739 +/* Expand the dst builtins. */
13740 +static rtx
13741 +altivec_expand_dst_builtin (tree exp, rtx target ATTRIBUTE_UNUSED,
13742 + bool *expandedp)
13744 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
13745 + enum rs6000_builtins fcode = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
13746 + tree arg0, arg1, arg2;
13747 + machine_mode mode0, mode1;
13748 + rtx pat, op0, op1, op2;
13749 + const struct builtin_description *d;
13750 + size_t i;
13752 + *expandedp = false;
13754 + /* Handle DST variants. */
13755 + d = bdesc_dst;
13756 + for (i = 0; i < ARRAY_SIZE (bdesc_dst); i++, d++)
13757 + if (d->code == fcode)
13759 + arg0 = CALL_EXPR_ARG (exp, 0);
13760 + arg1 = CALL_EXPR_ARG (exp, 1);
13761 + arg2 = CALL_EXPR_ARG (exp, 2);
13762 + op0 = expand_normal (arg0);
13763 + op1 = expand_normal (arg1);
13764 + op2 = expand_normal (arg2);
13765 + mode0 = insn_data[d->icode].operand[0].mode;
13766 + mode1 = insn_data[d->icode].operand[1].mode;
13768 + /* Invalid arguments, bail out before generating bad rtl. */
13769 + if (arg0 == error_mark_node
13770 + || arg1 == error_mark_node
13771 + || arg2 == error_mark_node)
13772 + return const0_rtx;
13774 + *expandedp = true;
13775 + STRIP_NOPS (arg2);
13776 + if (TREE_CODE (arg2) != INTEGER_CST
13777 + || TREE_INT_CST_LOW (arg2) & ~0x3)
13779 + error ("argument to %qs must be a 2-bit unsigned literal", d->name);
13780 + return const0_rtx;
13783 + if (! (*insn_data[d->icode].operand[0].predicate) (op0, mode0))
13784 + op0 = copy_to_mode_reg (Pmode, op0);
13785 + if (! (*insn_data[d->icode].operand[1].predicate) (op1, mode1))
13786 + op1 = copy_to_mode_reg (mode1, op1);
13788 + pat = GEN_FCN (d->icode) (op0, op1, op2);
13789 + if (pat != 0)
13790 + emit_insn (pat);
13792 + return NULL_RTX;
13795 + return NULL_RTX;
13798 +/* Expand vec_init builtin. */
13799 +static rtx
13800 +altivec_expand_vec_init_builtin (tree type, tree exp, rtx target)
13802 + machine_mode tmode = TYPE_MODE (type);
13803 + machine_mode inner_mode = GET_MODE_INNER (tmode);
13804 + int i, n_elt = GET_MODE_NUNITS (tmode);
13806 + gcc_assert (VECTOR_MODE_P (tmode));
13807 + gcc_assert (n_elt == call_expr_nargs (exp));
13809 + if (!target || !register_operand (target, tmode))
13810 + target = gen_reg_rtx (tmode);
13812 + /* If we have a vector compromised of a single element, such as V1TImode, do
13813 + the initialization directly. */
13814 + if (n_elt == 1 && GET_MODE_SIZE (tmode) == GET_MODE_SIZE (inner_mode))
13816 + rtx x = expand_normal (CALL_EXPR_ARG (exp, 0));
13817 + emit_move_insn (target, gen_lowpart (tmode, x));
13819 + else
13821 + rtvec v = rtvec_alloc (n_elt);
13823 + for (i = 0; i < n_elt; ++i)
13825 + rtx x = expand_normal (CALL_EXPR_ARG (exp, i));
13826 + RTVEC_ELT (v, i) = gen_lowpart (inner_mode, x);
13829 + rs6000_expand_vector_init (target, gen_rtx_PARALLEL (tmode, v));
13832 + return target;
13835 +/* Return the integer constant in ARG. Constrain it to be in the range
13836 + of the subparts of VEC_TYPE; issue an error if not. */
13838 +static int
13839 +get_element_number (tree vec_type, tree arg)
13841 + unsigned HOST_WIDE_INT elt, max = TYPE_VECTOR_SUBPARTS (vec_type) - 1;
13843 + if (!tree_fits_uhwi_p (arg)
13844 + || (elt = tree_to_uhwi (arg), elt > max))
13846 + error ("selector must be an integer constant in the range 0..%wi", max);
13847 + return 0;
13850 + return elt;
13853 +/* Expand vec_set builtin. */
13854 +static rtx
13855 +altivec_expand_vec_set_builtin (tree exp)
13857 + machine_mode tmode, mode1;
13858 + tree arg0, arg1, arg2;
13859 + int elt;
13860 + rtx op0, op1;
13862 + arg0 = CALL_EXPR_ARG (exp, 0);
13863 + arg1 = CALL_EXPR_ARG (exp, 1);
13864 + arg2 = CALL_EXPR_ARG (exp, 2);
13866 + tmode = TYPE_MODE (TREE_TYPE (arg0));
13867 + mode1 = TYPE_MODE (TREE_TYPE (TREE_TYPE (arg0)));
13868 + gcc_assert (VECTOR_MODE_P (tmode));
13870 + op0 = expand_expr (arg0, NULL_RTX, tmode, EXPAND_NORMAL);
13871 + op1 = expand_expr (arg1, NULL_RTX, mode1, EXPAND_NORMAL);
13872 + elt = get_element_number (TREE_TYPE (arg0), arg2);
13874 + if (GET_MODE (op1) != mode1 && GET_MODE (op1) != VOIDmode)
13875 + op1 = convert_modes (mode1, GET_MODE (op1), op1, true);
13877 + op0 = force_reg (tmode, op0);
13878 + op1 = force_reg (mode1, op1);
13880 + rs6000_expand_vector_set (op0, op1, elt);
13882 + return op0;
13885 +/* Expand vec_ext builtin. */
13886 +static rtx
13887 +altivec_expand_vec_ext_builtin (tree exp, rtx target)
13889 + machine_mode tmode, mode0;
13890 + tree arg0, arg1;
13891 + int elt;
13892 + rtx op0;
13894 + arg0 = CALL_EXPR_ARG (exp, 0);
13895 + arg1 = CALL_EXPR_ARG (exp, 1);
13897 + op0 = expand_normal (arg0);
13898 + elt = get_element_number (TREE_TYPE (arg0), arg1);
13900 + tmode = TYPE_MODE (TREE_TYPE (TREE_TYPE (arg0)));
13901 + mode0 = TYPE_MODE (TREE_TYPE (arg0));
13902 + gcc_assert (VECTOR_MODE_P (mode0));
13904 + op0 = force_reg (mode0, op0);
13906 + if (optimize || !target || !register_operand (target, tmode))
13907 + target = gen_reg_rtx (tmode);
13909 + rs6000_expand_vector_extract (target, op0, elt);
13911 + return target;
13914 +/* Expand the builtin in EXP and store the result in TARGET. Store
13915 + true in *EXPANDEDP if we found a builtin to expand. */
13916 +static rtx
13917 +altivec_expand_builtin (tree exp, rtx target, bool *expandedp)
13919 + const struct builtin_description *d;
13920 + size_t i;
13921 + enum insn_code icode;
13922 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
13923 + tree arg0;
13924 + rtx op0, pat;
13925 + machine_mode tmode, mode0;
13926 + enum rs6000_builtins fcode
13927 + = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
13929 + if (rs6000_overloaded_builtin_p (fcode))
13931 + *expandedp = true;
13932 + error ("unresolved overload for Altivec builtin %qF", fndecl);
13934 + /* Given it is invalid, just generate a normal call. */
13935 + return expand_call (exp, target, false);
13938 + target = altivec_expand_ld_builtin (exp, target, expandedp);
13939 + if (*expandedp)
13940 + return target;
13942 + target = altivec_expand_st_builtin (exp, target, expandedp);
13943 + if (*expandedp)
13944 + return target;
13946 + target = altivec_expand_dst_builtin (exp, target, expandedp);
13947 + if (*expandedp)
13948 + return target;
13950 + *expandedp = true;
13952 + switch (fcode)
13954 + case ALTIVEC_BUILTIN_STVX_V2DF:
13955 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx_v2df, exp);
13956 + case ALTIVEC_BUILTIN_STVX_V2DI:
13957 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx_v2di, exp);
13958 + case ALTIVEC_BUILTIN_STVX_V4SF:
13959 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx_v4sf, exp);
13960 + case ALTIVEC_BUILTIN_STVX:
13961 + case ALTIVEC_BUILTIN_STVX_V4SI:
13962 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx_v4si, exp);
13963 + case ALTIVEC_BUILTIN_STVX_V8HI:
13964 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx_v8hi, exp);
13965 + case ALTIVEC_BUILTIN_STVX_V16QI:
13966 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvx_v16qi, exp);
13967 + case ALTIVEC_BUILTIN_STVEBX:
13968 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvebx, exp);
13969 + case ALTIVEC_BUILTIN_STVEHX:
13970 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvehx, exp);
13971 + case ALTIVEC_BUILTIN_STVEWX:
13972 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvewx, exp);
13973 + case ALTIVEC_BUILTIN_STVXL_V2DF:
13974 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvxl_v2df, exp);
13975 + case ALTIVEC_BUILTIN_STVXL_V2DI:
13976 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvxl_v2di, exp);
13977 + case ALTIVEC_BUILTIN_STVXL_V4SF:
13978 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvxl_v4sf, exp);
13979 + case ALTIVEC_BUILTIN_STVXL:
13980 + case ALTIVEC_BUILTIN_STVXL_V4SI:
13981 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvxl_v4si, exp);
13982 + case ALTIVEC_BUILTIN_STVXL_V8HI:
13983 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvxl_v8hi, exp);
13984 + case ALTIVEC_BUILTIN_STVXL_V16QI:
13985 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvxl_v16qi, exp);
13987 + case ALTIVEC_BUILTIN_STVLX:
13988 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvlx, exp);
13989 + case ALTIVEC_BUILTIN_STVLXL:
13990 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvlxl, exp);
13991 + case ALTIVEC_BUILTIN_STVRX:
13992 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvrx, exp);
13993 + case ALTIVEC_BUILTIN_STVRXL:
13994 + return altivec_expand_stv_builtin (CODE_FOR_altivec_stvrxl, exp);
13996 + case VSX_BUILTIN_STXVD2X_V1TI:
13997 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v1ti, exp);
13998 + case VSX_BUILTIN_STXVD2X_V2DF:
13999 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v2df, exp);
14000 + case VSX_BUILTIN_STXVD2X_V2DI:
14001 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v2di, exp);
14002 + case VSX_BUILTIN_STXVW4X_V4SF:
14003 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v4sf, exp);
14004 + case VSX_BUILTIN_STXVW4X_V4SI:
14005 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v4si, exp);
14006 + case VSX_BUILTIN_STXVW4X_V8HI:
14007 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v8hi, exp);
14008 + case VSX_BUILTIN_STXVW4X_V16QI:
14009 + return altivec_expand_stv_builtin (CODE_FOR_vsx_store_v16qi, exp);
14011 + case ALTIVEC_BUILTIN_MFVSCR:
14012 + icode = CODE_FOR_altivec_mfvscr;
14013 + tmode = insn_data[icode].operand[0].mode;
14015 + if (target == 0
14016 + || GET_MODE (target) != tmode
14017 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
14018 + target = gen_reg_rtx (tmode);
14020 + pat = GEN_FCN (icode) (target);
14021 + if (! pat)
14022 + return 0;
14023 + emit_insn (pat);
14024 + return target;
14026 + case ALTIVEC_BUILTIN_MTVSCR:
14027 + icode = CODE_FOR_altivec_mtvscr;
14028 + arg0 = CALL_EXPR_ARG (exp, 0);
14029 + op0 = expand_normal (arg0);
14030 + mode0 = insn_data[icode].operand[0].mode;
14032 + /* If we got invalid arguments bail out before generating bad rtl. */
14033 + if (arg0 == error_mark_node)
14034 + return const0_rtx;
14036 + if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
14037 + op0 = copy_to_mode_reg (mode0, op0);
14039 + pat = GEN_FCN (icode) (op0);
14040 + if (pat)
14041 + emit_insn (pat);
14042 + return NULL_RTX;
14044 + case ALTIVEC_BUILTIN_DSSALL:
14045 + emit_insn (gen_altivec_dssall ());
14046 + return NULL_RTX;
14048 + case ALTIVEC_BUILTIN_DSS:
14049 + icode = CODE_FOR_altivec_dss;
14050 + arg0 = CALL_EXPR_ARG (exp, 0);
14051 + STRIP_NOPS (arg0);
14052 + op0 = expand_normal (arg0);
14053 + mode0 = insn_data[icode].operand[0].mode;
14055 + /* If we got invalid arguments bail out before generating bad rtl. */
14056 + if (arg0 == error_mark_node)
14057 + return const0_rtx;
14059 + if (TREE_CODE (arg0) != INTEGER_CST
14060 + || TREE_INT_CST_LOW (arg0) & ~0x3)
14062 + error ("argument to dss must be a 2-bit unsigned literal");
14063 + return const0_rtx;
14066 + if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
14067 + op0 = copy_to_mode_reg (mode0, op0);
14069 + emit_insn (gen_altivec_dss (op0));
14070 + return NULL_RTX;
14072 + case ALTIVEC_BUILTIN_VEC_INIT_V4SI:
14073 + case ALTIVEC_BUILTIN_VEC_INIT_V8HI:
14074 + case ALTIVEC_BUILTIN_VEC_INIT_V16QI:
14075 + case ALTIVEC_BUILTIN_VEC_INIT_V4SF:
14076 + case VSX_BUILTIN_VEC_INIT_V2DF:
14077 + case VSX_BUILTIN_VEC_INIT_V2DI:
14078 + case VSX_BUILTIN_VEC_INIT_V1TI:
14079 + return altivec_expand_vec_init_builtin (TREE_TYPE (exp), exp, target);
14081 + case ALTIVEC_BUILTIN_VEC_SET_V4SI:
14082 + case ALTIVEC_BUILTIN_VEC_SET_V8HI:
14083 + case ALTIVEC_BUILTIN_VEC_SET_V16QI:
14084 + case ALTIVEC_BUILTIN_VEC_SET_V4SF:
14085 + case VSX_BUILTIN_VEC_SET_V2DF:
14086 + case VSX_BUILTIN_VEC_SET_V2DI:
14087 + case VSX_BUILTIN_VEC_SET_V1TI:
14088 + return altivec_expand_vec_set_builtin (exp);
14090 + case ALTIVEC_BUILTIN_VEC_EXT_V4SI:
14091 + case ALTIVEC_BUILTIN_VEC_EXT_V8HI:
14092 + case ALTIVEC_BUILTIN_VEC_EXT_V16QI:
14093 + case ALTIVEC_BUILTIN_VEC_EXT_V4SF:
14094 + case VSX_BUILTIN_VEC_EXT_V2DF:
14095 + case VSX_BUILTIN_VEC_EXT_V2DI:
14096 + case VSX_BUILTIN_VEC_EXT_V1TI:
14097 + return altivec_expand_vec_ext_builtin (exp, target);
14099 + default:
14100 + break;
14101 + /* Fall through. */
14104 + /* Expand abs* operations. */
14105 + d = bdesc_abs;
14106 + for (i = 0; i < ARRAY_SIZE (bdesc_abs); i++, d++)
14107 + if (d->code == fcode)
14108 + return altivec_expand_abs_builtin (d->icode, exp, target);
14110 + /* Expand the AltiVec predicates. */
14111 + d = bdesc_altivec_preds;
14112 + for (i = 0; i < ARRAY_SIZE (bdesc_altivec_preds); i++, d++)
14113 + if (d->code == fcode)
14114 + return altivec_expand_predicate_builtin (d->icode, exp, target);
14116 + /* LV* are funky. We initialized them differently. */
14117 + switch (fcode)
14119 + case ALTIVEC_BUILTIN_LVSL:
14120 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvsl,
14121 + exp, target, false);
14122 + case ALTIVEC_BUILTIN_LVSR:
14123 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvsr,
14124 + exp, target, false);
14125 + case ALTIVEC_BUILTIN_LVEBX:
14126 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvebx,
14127 + exp, target, false);
14128 + case ALTIVEC_BUILTIN_LVEHX:
14129 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvehx,
14130 + exp, target, false);
14131 + case ALTIVEC_BUILTIN_LVEWX:
14132 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvewx,
14133 + exp, target, false);
14134 + case ALTIVEC_BUILTIN_LVXL_V2DF:
14135 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvxl_v2df,
14136 + exp, target, false);
14137 + case ALTIVEC_BUILTIN_LVXL_V2DI:
14138 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvxl_v2di,
14139 + exp, target, false);
14140 + case ALTIVEC_BUILTIN_LVXL_V4SF:
14141 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvxl_v4sf,
14142 + exp, target, false);
14143 + case ALTIVEC_BUILTIN_LVXL:
14144 + case ALTIVEC_BUILTIN_LVXL_V4SI:
14145 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvxl_v4si,
14146 + exp, target, false);
14147 + case ALTIVEC_BUILTIN_LVXL_V8HI:
14148 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvxl_v8hi,
14149 + exp, target, false);
14150 + case ALTIVEC_BUILTIN_LVXL_V16QI:
14151 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvxl_v16qi,
14152 + exp, target, false);
14153 + case ALTIVEC_BUILTIN_LVX_V2DF:
14154 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx_v2df,
14155 + exp, target, false);
14156 + case ALTIVEC_BUILTIN_LVX_V2DI:
14157 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx_v2di,
14158 + exp, target, false);
14159 + case ALTIVEC_BUILTIN_LVX_V4SF:
14160 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx_v4sf,
14161 + exp, target, false);
14162 + case ALTIVEC_BUILTIN_LVX:
14163 + case ALTIVEC_BUILTIN_LVX_V4SI:
14164 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx_v4si,
14165 + exp, target, false);
14166 + case ALTIVEC_BUILTIN_LVX_V8HI:
14167 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx_v8hi,
14168 + exp, target, false);
14169 + case ALTIVEC_BUILTIN_LVX_V16QI:
14170 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvx_v16qi,
14171 + exp, target, false);
14172 + case ALTIVEC_BUILTIN_LVLX:
14173 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvlx,
14174 + exp, target, true);
14175 + case ALTIVEC_BUILTIN_LVLXL:
14176 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvlxl,
14177 + exp, target, true);
14178 + case ALTIVEC_BUILTIN_LVRX:
14179 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvrx,
14180 + exp, target, true);
14181 + case ALTIVEC_BUILTIN_LVRXL:
14182 + return altivec_expand_lv_builtin (CODE_FOR_altivec_lvrxl,
14183 + exp, target, true);
14184 + case VSX_BUILTIN_LXVD2X_V1TI:
14185 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v1ti,
14186 + exp, target, false);
14187 + case VSX_BUILTIN_LXVD2X_V2DF:
14188 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v2df,
14189 + exp, target, false);
14190 + case VSX_BUILTIN_LXVD2X_V2DI:
14191 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v2di,
14192 + exp, target, false);
14193 + case VSX_BUILTIN_LXVW4X_V4SF:
14194 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v4sf,
14195 + exp, target, false);
14196 + case VSX_BUILTIN_LXVW4X_V4SI:
14197 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v4si,
14198 + exp, target, false);
14199 + case VSX_BUILTIN_LXVW4X_V8HI:
14200 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v8hi,
14201 + exp, target, false);
14202 + case VSX_BUILTIN_LXVW4X_V16QI:
14203 + return altivec_expand_lv_builtin (CODE_FOR_vsx_load_v16qi,
14204 + exp, target, false);
14205 + break;
14206 + default:
14207 + break;
14208 + /* Fall through. */
14211 + *expandedp = false;
14212 + return NULL_RTX;
14215 +/* Expand the builtin in EXP and store the result in TARGET. Store
14216 + true in *EXPANDEDP if we found a builtin to expand. */
14217 +static rtx
14218 +paired_expand_builtin (tree exp, rtx target, bool * expandedp)
14220 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
14221 + enum rs6000_builtins fcode = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
14222 + const struct builtin_description *d;
14223 + size_t i;
14225 + *expandedp = true;
14227 + switch (fcode)
14229 + case PAIRED_BUILTIN_STX:
14230 + return paired_expand_stv_builtin (CODE_FOR_paired_stx, exp);
14231 + case PAIRED_BUILTIN_LX:
14232 + return paired_expand_lv_builtin (CODE_FOR_paired_lx, exp, target);
14233 + default:
14234 + break;
14235 + /* Fall through. */
14238 + /* Expand the paired predicates. */
14239 + d = bdesc_paired_preds;
14240 + for (i = 0; i < ARRAY_SIZE (bdesc_paired_preds); i++, d++)
14241 + if (d->code == fcode)
14242 + return paired_expand_predicate_builtin (d->icode, exp, target);
14244 + *expandedp = false;
14245 + return NULL_RTX;
14248 +/* Binops that need to be initialized manually, but can be expanded
14249 + automagically by rs6000_expand_binop_builtin. */
14250 +static const struct builtin_description bdesc_2arg_spe[] =
14252 + { RS6000_BTM_SPE, CODE_FOR_spe_evlddx, "__builtin_spe_evlddx", SPE_BUILTIN_EVLDDX },
14253 + { RS6000_BTM_SPE, CODE_FOR_spe_evldwx, "__builtin_spe_evldwx", SPE_BUILTIN_EVLDWX },
14254 + { RS6000_BTM_SPE, CODE_FOR_spe_evldhx, "__builtin_spe_evldhx", SPE_BUILTIN_EVLDHX },
14255 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhex, "__builtin_spe_evlwhex", SPE_BUILTIN_EVLWHEX },
14256 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhoux, "__builtin_spe_evlwhoux", SPE_BUILTIN_EVLWHOUX },
14257 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhosx, "__builtin_spe_evlwhosx", SPE_BUILTIN_EVLWHOSX },
14258 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwwsplatx, "__builtin_spe_evlwwsplatx", SPE_BUILTIN_EVLWWSPLATX },
14259 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhsplatx, "__builtin_spe_evlwhsplatx", SPE_BUILTIN_EVLWHSPLATX },
14260 + { RS6000_BTM_SPE, CODE_FOR_spe_evlhhesplatx, "__builtin_spe_evlhhesplatx", SPE_BUILTIN_EVLHHESPLATX },
14261 + { RS6000_BTM_SPE, CODE_FOR_spe_evlhhousplatx, "__builtin_spe_evlhhousplatx", SPE_BUILTIN_EVLHHOUSPLATX },
14262 + { RS6000_BTM_SPE, CODE_FOR_spe_evlhhossplatx, "__builtin_spe_evlhhossplatx", SPE_BUILTIN_EVLHHOSSPLATX },
14263 + { RS6000_BTM_SPE, CODE_FOR_spe_evldd, "__builtin_spe_evldd", SPE_BUILTIN_EVLDD },
14264 + { RS6000_BTM_SPE, CODE_FOR_spe_evldw, "__builtin_spe_evldw", SPE_BUILTIN_EVLDW },
14265 + { RS6000_BTM_SPE, CODE_FOR_spe_evldh, "__builtin_spe_evldh", SPE_BUILTIN_EVLDH },
14266 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhe, "__builtin_spe_evlwhe", SPE_BUILTIN_EVLWHE },
14267 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhou, "__builtin_spe_evlwhou", SPE_BUILTIN_EVLWHOU },
14268 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhos, "__builtin_spe_evlwhos", SPE_BUILTIN_EVLWHOS },
14269 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwwsplat, "__builtin_spe_evlwwsplat", SPE_BUILTIN_EVLWWSPLAT },
14270 + { RS6000_BTM_SPE, CODE_FOR_spe_evlwhsplat, "__builtin_spe_evlwhsplat", SPE_BUILTIN_EVLWHSPLAT },
14271 + { RS6000_BTM_SPE, CODE_FOR_spe_evlhhesplat, "__builtin_spe_evlhhesplat", SPE_BUILTIN_EVLHHESPLAT },
14272 + { RS6000_BTM_SPE, CODE_FOR_spe_evlhhousplat, "__builtin_spe_evlhhousplat", SPE_BUILTIN_EVLHHOUSPLAT },
14273 + { RS6000_BTM_SPE, CODE_FOR_spe_evlhhossplat, "__builtin_spe_evlhhossplat", SPE_BUILTIN_EVLHHOSSPLAT }
14276 +/* Expand the builtin in EXP and store the result in TARGET. Store
14277 + true in *EXPANDEDP if we found a builtin to expand.
14279 + This expands the SPE builtins that are not simple unary and binary
14280 + operations. */
14281 +static rtx
14282 +spe_expand_builtin (tree exp, rtx target, bool *expandedp)
14284 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
14285 + tree arg1, arg0;
14286 + enum rs6000_builtins fcode = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
14287 + enum insn_code icode;
14288 + machine_mode tmode, mode0;
14289 + rtx pat, op0;
14290 + const struct builtin_description *d;
14291 + size_t i;
14293 + *expandedp = true;
14295 + /* Syntax check for a 5-bit unsigned immediate. */
14296 + switch (fcode)
14298 + case SPE_BUILTIN_EVSTDD:
14299 + case SPE_BUILTIN_EVSTDH:
14300 + case SPE_BUILTIN_EVSTDW:
14301 + case SPE_BUILTIN_EVSTWHE:
14302 + case SPE_BUILTIN_EVSTWHO:
14303 + case SPE_BUILTIN_EVSTWWE:
14304 + case SPE_BUILTIN_EVSTWWO:
14305 + arg1 = CALL_EXPR_ARG (exp, 2);
14306 + if (TREE_CODE (arg1) != INTEGER_CST
14307 + || TREE_INT_CST_LOW (arg1) & ~0x1f)
14309 + error ("argument 2 must be a 5-bit unsigned literal");
14310 + return const0_rtx;
14312 + break;
14313 + default:
14314 + break;
14317 + /* The evsplat*i instructions are not quite generic. */
14318 + switch (fcode)
14320 + case SPE_BUILTIN_EVSPLATFI:
14321 + return rs6000_expand_unop_builtin (CODE_FOR_spe_evsplatfi,
14322 + exp, target);
14323 + case SPE_BUILTIN_EVSPLATI:
14324 + return rs6000_expand_unop_builtin (CODE_FOR_spe_evsplati,
14325 + exp, target);
14326 + default:
14327 + break;
14330 + d = bdesc_2arg_spe;
14331 + for (i = 0; i < ARRAY_SIZE (bdesc_2arg_spe); ++i, ++d)
14332 + if (d->code == fcode)
14333 + return rs6000_expand_binop_builtin (d->icode, exp, target);
14335 + d = bdesc_spe_predicates;
14336 + for (i = 0; i < ARRAY_SIZE (bdesc_spe_predicates); ++i, ++d)
14337 + if (d->code == fcode)
14338 + return spe_expand_predicate_builtin (d->icode, exp, target);
14340 + d = bdesc_spe_evsel;
14341 + for (i = 0; i < ARRAY_SIZE (bdesc_spe_evsel); ++i, ++d)
14342 + if (d->code == fcode)
14343 + return spe_expand_evsel_builtin (d->icode, exp, target);
14345 + switch (fcode)
14347 + case SPE_BUILTIN_EVSTDDX:
14348 + return spe_expand_stv_builtin (CODE_FOR_spe_evstddx, exp);
14349 + case SPE_BUILTIN_EVSTDHX:
14350 + return spe_expand_stv_builtin (CODE_FOR_spe_evstdhx, exp);
14351 + case SPE_BUILTIN_EVSTDWX:
14352 + return spe_expand_stv_builtin (CODE_FOR_spe_evstdwx, exp);
14353 + case SPE_BUILTIN_EVSTWHEX:
14354 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwhex, exp);
14355 + case SPE_BUILTIN_EVSTWHOX:
14356 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwhox, exp);
14357 + case SPE_BUILTIN_EVSTWWEX:
14358 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwwex, exp);
14359 + case SPE_BUILTIN_EVSTWWOX:
14360 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwwox, exp);
14361 + case SPE_BUILTIN_EVSTDD:
14362 + return spe_expand_stv_builtin (CODE_FOR_spe_evstdd, exp);
14363 + case SPE_BUILTIN_EVSTDH:
14364 + return spe_expand_stv_builtin (CODE_FOR_spe_evstdh, exp);
14365 + case SPE_BUILTIN_EVSTDW:
14366 + return spe_expand_stv_builtin (CODE_FOR_spe_evstdw, exp);
14367 + case SPE_BUILTIN_EVSTWHE:
14368 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwhe, exp);
14369 + case SPE_BUILTIN_EVSTWHO:
14370 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwho, exp);
14371 + case SPE_BUILTIN_EVSTWWE:
14372 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwwe, exp);
14373 + case SPE_BUILTIN_EVSTWWO:
14374 + return spe_expand_stv_builtin (CODE_FOR_spe_evstwwo, exp);
14375 + case SPE_BUILTIN_MFSPEFSCR:
14376 + icode = CODE_FOR_spe_mfspefscr;
14377 + tmode = insn_data[icode].operand[0].mode;
14379 + if (target == 0
14380 + || GET_MODE (target) != tmode
14381 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
14382 + target = gen_reg_rtx (tmode);
14384 + pat = GEN_FCN (icode) (target);
14385 + if (! pat)
14386 + return 0;
14387 + emit_insn (pat);
14388 + return target;
14389 + case SPE_BUILTIN_MTSPEFSCR:
14390 + icode = CODE_FOR_spe_mtspefscr;
14391 + arg0 = CALL_EXPR_ARG (exp, 0);
14392 + op0 = expand_normal (arg0);
14393 + mode0 = insn_data[icode].operand[0].mode;
14395 + if (arg0 == error_mark_node)
14396 + return const0_rtx;
14398 + if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
14399 + op0 = copy_to_mode_reg (mode0, op0);
14401 + pat = GEN_FCN (icode) (op0);
14402 + if (pat)
14403 + emit_insn (pat);
14404 + return NULL_RTX;
14405 + default:
14406 + break;
14409 + *expandedp = false;
14410 + return NULL_RTX;
14413 +static rtx
14414 +paired_expand_predicate_builtin (enum insn_code icode, tree exp, rtx target)
14416 + rtx pat, scratch, tmp;
14417 + tree form = CALL_EXPR_ARG (exp, 0);
14418 + tree arg0 = CALL_EXPR_ARG (exp, 1);
14419 + tree arg1 = CALL_EXPR_ARG (exp, 2);
14420 + rtx op0 = expand_normal (arg0);
14421 + rtx op1 = expand_normal (arg1);
14422 + machine_mode mode0 = insn_data[icode].operand[1].mode;
14423 + machine_mode mode1 = insn_data[icode].operand[2].mode;
14424 + int form_int;
14425 + enum rtx_code code;
14427 + if (TREE_CODE (form) != INTEGER_CST)
14429 + error ("argument 1 of __builtin_paired_predicate must be a constant");
14430 + return const0_rtx;
14432 + else
14433 + form_int = TREE_INT_CST_LOW (form);
14435 + gcc_assert (mode0 == mode1);
14437 + if (arg0 == error_mark_node || arg1 == error_mark_node)
14438 + return const0_rtx;
14440 + if (target == 0
14441 + || GET_MODE (target) != SImode
14442 + || !(*insn_data[icode].operand[0].predicate) (target, SImode))
14443 + target = gen_reg_rtx (SImode);
14444 + if (!(*insn_data[icode].operand[1].predicate) (op0, mode0))
14445 + op0 = copy_to_mode_reg (mode0, op0);
14446 + if (!(*insn_data[icode].operand[2].predicate) (op1, mode1))
14447 + op1 = copy_to_mode_reg (mode1, op1);
14449 + scratch = gen_reg_rtx (CCFPmode);
14451 + pat = GEN_FCN (icode) (scratch, op0, op1);
14452 + if (!pat)
14453 + return const0_rtx;
14455 + emit_insn (pat);
14457 + switch (form_int)
14459 + /* LT bit. */
14460 + case 0:
14461 + code = LT;
14462 + break;
14463 + /* GT bit. */
14464 + case 1:
14465 + code = GT;
14466 + break;
14467 + /* EQ bit. */
14468 + case 2:
14469 + code = EQ;
14470 + break;
14471 + /* UN bit. */
14472 + case 3:
14473 + emit_insn (gen_move_from_CR_ov_bit (target, scratch));
14474 + return target;
14475 + default:
14476 + error ("argument 1 of __builtin_paired_predicate is out of range");
14477 + return const0_rtx;
14480 + tmp = gen_rtx_fmt_ee (code, SImode, scratch, const0_rtx);
14481 + emit_move_insn (target, tmp);
14482 + return target;
14485 +static rtx
14486 +spe_expand_predicate_builtin (enum insn_code icode, tree exp, rtx target)
14488 + rtx pat, scratch, tmp;
14489 + tree form = CALL_EXPR_ARG (exp, 0);
14490 + tree arg0 = CALL_EXPR_ARG (exp, 1);
14491 + tree arg1 = CALL_EXPR_ARG (exp, 2);
14492 + rtx op0 = expand_normal (arg0);
14493 + rtx op1 = expand_normal (arg1);
14494 + machine_mode mode0 = insn_data[icode].operand[1].mode;
14495 + machine_mode mode1 = insn_data[icode].operand[2].mode;
14496 + int form_int;
14497 + enum rtx_code code;
14499 + if (TREE_CODE (form) != INTEGER_CST)
14501 + error ("argument 1 of __builtin_spe_predicate must be a constant");
14502 + return const0_rtx;
14504 + else
14505 + form_int = TREE_INT_CST_LOW (form);
14507 + gcc_assert (mode0 == mode1);
14509 + if (arg0 == error_mark_node || arg1 == error_mark_node)
14510 + return const0_rtx;
14512 + if (target == 0
14513 + || GET_MODE (target) != SImode
14514 + || ! (*insn_data[icode].operand[0].predicate) (target, SImode))
14515 + target = gen_reg_rtx (SImode);
14517 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
14518 + op0 = copy_to_mode_reg (mode0, op0);
14519 + if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
14520 + op1 = copy_to_mode_reg (mode1, op1);
14522 + scratch = gen_reg_rtx (CCmode);
14524 + pat = GEN_FCN (icode) (scratch, op0, op1);
14525 + if (! pat)
14526 + return const0_rtx;
14527 + emit_insn (pat);
14529 + /* There are 4 variants for each predicate: _any_, _all_, _upper_,
14530 + _lower_. We use one compare, but look in different bits of the
14531 + CR for each variant.
14533 + There are 2 elements in each SPE simd type (upper/lower). The CR
14534 + bits are set as follows:
14536 + BIT0 | BIT 1 | BIT 2 | BIT 3
14537 + U | L | (U | L) | (U & L)
14539 + So, for an "all" relationship, BIT 3 would be set.
14540 + For an "any" relationship, BIT 2 would be set. Etc.
14542 + Following traditional nomenclature, these bits map to:
14544 + BIT0 | BIT 1 | BIT 2 | BIT 3
14545 + LT | GT | EQ | OV
14547 + Later, we will generate rtl to look in the LT/EQ/EQ/OV bits.
14548 + */
14550 + switch (form_int)
14552 + /* All variant. OV bit. */
14553 + case 0:
14554 + /* We need to get to the OV bit, which is the ORDERED bit. We
14555 + could generate (ordered:SI (reg:CC xx) (const_int 0)), but
14556 + that's ugly and will make validate_condition_mode die.
14557 + So let's just use another pattern. */
14558 + emit_insn (gen_move_from_CR_ov_bit (target, scratch));
14559 + return target;
14560 + /* Any variant. EQ bit. */
14561 + case 1:
14562 + code = EQ;
14563 + break;
14564 + /* Upper variant. LT bit. */
14565 + case 2:
14566 + code = LT;
14567 + break;
14568 + /* Lower variant. GT bit. */
14569 + case 3:
14570 + code = GT;
14571 + break;
14572 + default:
14573 + error ("argument 1 of __builtin_spe_predicate is out of range");
14574 + return const0_rtx;
14577 + tmp = gen_rtx_fmt_ee (code, SImode, scratch, const0_rtx);
14578 + emit_move_insn (target, tmp);
14580 + return target;
14583 +/* The evsel builtins look like this:
14585 + e = __builtin_spe_evsel_OP (a, b, c, d);
14587 + and work like this:
14589 + e[upper] = a[upper] *OP* b[upper] ? c[upper] : d[upper];
14590 + e[lower] = a[lower] *OP* b[lower] ? c[lower] : d[lower];
14593 +static rtx
14594 +spe_expand_evsel_builtin (enum insn_code icode, tree exp, rtx target)
14596 + rtx pat, scratch;
14597 + tree arg0 = CALL_EXPR_ARG (exp, 0);
14598 + tree arg1 = CALL_EXPR_ARG (exp, 1);
14599 + tree arg2 = CALL_EXPR_ARG (exp, 2);
14600 + tree arg3 = CALL_EXPR_ARG (exp, 3);
14601 + rtx op0 = expand_normal (arg0);
14602 + rtx op1 = expand_normal (arg1);
14603 + rtx op2 = expand_normal (arg2);
14604 + rtx op3 = expand_normal (arg3);
14605 + machine_mode mode0 = insn_data[icode].operand[1].mode;
14606 + machine_mode mode1 = insn_data[icode].operand[2].mode;
14608 + gcc_assert (mode0 == mode1);
14610 + if (arg0 == error_mark_node || arg1 == error_mark_node
14611 + || arg2 == error_mark_node || arg3 == error_mark_node)
14612 + return const0_rtx;
14614 + if (target == 0
14615 + || GET_MODE (target) != mode0
14616 + || ! (*insn_data[icode].operand[0].predicate) (target, mode0))
14617 + target = gen_reg_rtx (mode0);
14619 + if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
14620 + op0 = copy_to_mode_reg (mode0, op0);
14621 + if (! (*insn_data[icode].operand[1].predicate) (op1, mode1))
14622 + op1 = copy_to_mode_reg (mode0, op1);
14623 + if (! (*insn_data[icode].operand[1].predicate) (op2, mode1))
14624 + op2 = copy_to_mode_reg (mode0, op2);
14625 + if (! (*insn_data[icode].operand[1].predicate) (op3, mode1))
14626 + op3 = copy_to_mode_reg (mode0, op3);
14628 + /* Generate the compare. */
14629 + scratch = gen_reg_rtx (CCmode);
14630 + pat = GEN_FCN (icode) (scratch, op0, op1);
14631 + if (! pat)
14632 + return const0_rtx;
14633 + emit_insn (pat);
14635 + if (mode0 == V2SImode)
14636 + emit_insn (gen_spe_evsel (target, op2, op3, scratch));
14637 + else
14638 + emit_insn (gen_spe_evsel_fs (target, op2, op3, scratch));
14640 + return target;
14643 +/* Raise an error message for a builtin function that is called without the
14644 + appropriate target options being set. */
14646 +static void
14647 +rs6000_invalid_builtin (enum rs6000_builtins fncode)
14649 + size_t uns_fncode = (size_t)fncode;
14650 + const char *name = rs6000_builtin_info[uns_fncode].name;
14651 + HOST_WIDE_INT fnmask = rs6000_builtin_info[uns_fncode].mask;
14653 + gcc_assert (name != NULL);
14654 + if ((fnmask & RS6000_BTM_CELL) != 0)
14655 + error ("Builtin function %s is only valid for the cell processor", name);
14656 + else if ((fnmask & RS6000_BTM_VSX) != 0)
14657 + error ("Builtin function %s requires the -mvsx option", name);
14658 + else if ((fnmask & RS6000_BTM_HTM) != 0)
14659 + error ("Builtin function %s requires the -mhtm option", name);
14660 + else if ((fnmask & RS6000_BTM_ALTIVEC) != 0)
14661 + error ("Builtin function %s requires the -maltivec option", name);
14662 + else if ((fnmask & RS6000_BTM_PAIRED) != 0)
14663 + error ("Builtin function %s requires the -mpaired option", name);
14664 + else if ((fnmask & RS6000_BTM_SPE) != 0)
14665 + error ("Builtin function %s requires the -mspe option", name);
14666 + else if ((fnmask & (RS6000_BTM_DFP | RS6000_BTM_P8_VECTOR))
14667 + == (RS6000_BTM_DFP | RS6000_BTM_P8_VECTOR))
14668 + error ("Builtin function %s requires the -mhard-dfp and"
14669 + " -mpower8-vector options", name);
14670 + else if ((fnmask & RS6000_BTM_DFP) != 0)
14671 + error ("Builtin function %s requires the -mhard-dfp option", name);
14672 + else if ((fnmask & RS6000_BTM_P8_VECTOR) != 0)
14673 + error ("Builtin function %s requires the -mpower8-vector option", name);
14674 + else if ((fnmask & (RS6000_BTM_HARD_FLOAT | RS6000_BTM_LDBL128))
14675 + == (RS6000_BTM_HARD_FLOAT | RS6000_BTM_LDBL128))
14676 + error ("Builtin function %s requires the -mhard-float and"
14677 + " -mlong-double-128 options", name);
14678 + else if ((fnmask & RS6000_BTM_HARD_FLOAT) != 0)
14679 + error ("Builtin function %s requires the -mhard-float option", name);
14680 + else
14681 + error ("Builtin function %s is not supported with the current options",
14682 + name);
14685 +/* Expand an expression EXP that calls a built-in function,
14686 + with result going to TARGET if that's convenient
14687 + (and in mode MODE if that's convenient).
14688 + SUBTARGET may be used as the target for computing one of EXP's operands.
14689 + IGNORE is nonzero if the value is to be ignored. */
14691 +static rtx
14692 +rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
14693 + machine_mode mode ATTRIBUTE_UNUSED,
14694 + int ignore ATTRIBUTE_UNUSED)
14696 + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
14697 + enum rs6000_builtins fcode
14698 + = (enum rs6000_builtins)DECL_FUNCTION_CODE (fndecl);
14699 + size_t uns_fcode = (size_t)fcode;
14700 + const struct builtin_description *d;
14701 + size_t i;
14702 + rtx ret;
14703 + bool success;
14704 + HOST_WIDE_INT mask = rs6000_builtin_info[uns_fcode].mask;
14705 + bool func_valid_p = ((rs6000_builtin_mask & mask) == mask);
14707 + if (TARGET_DEBUG_BUILTIN)
14709 + enum insn_code icode = rs6000_builtin_info[uns_fcode].icode;
14710 + const char *name1 = rs6000_builtin_info[uns_fcode].name;
14711 + const char *name2 = ((icode != CODE_FOR_nothing)
14712 + ? get_insn_name ((int)icode)
14713 + : "nothing");
14714 + const char *name3;
14716 + switch (rs6000_builtin_info[uns_fcode].attr & RS6000_BTC_TYPE_MASK)
14718 + default: name3 = "unknown"; break;
14719 + case RS6000_BTC_SPECIAL: name3 = "special"; break;
14720 + case RS6000_BTC_UNARY: name3 = "unary"; break;
14721 + case RS6000_BTC_BINARY: name3 = "binary"; break;
14722 + case RS6000_BTC_TERNARY: name3 = "ternary"; break;
14723 + case RS6000_BTC_PREDICATE: name3 = "predicate"; break;
14724 + case RS6000_BTC_ABS: name3 = "abs"; break;
14725 + case RS6000_BTC_EVSEL: name3 = "evsel"; break;
14726 + case RS6000_BTC_DST: name3 = "dst"; break;
14730 + fprintf (stderr,
14731 + "rs6000_expand_builtin, %s (%d), insn = %s (%d), type=%s%s\n",
14732 + (name1) ? name1 : "---", fcode,
14733 + (name2) ? name2 : "---", (int)icode,
14734 + name3,
14735 + func_valid_p ? "" : ", not valid");
14736 + }
14738 + if (!func_valid_p)
14740 + rs6000_invalid_builtin (fcode);
14742 + /* Given it is invalid, just generate a normal call. */
14743 + return expand_call (exp, target, ignore);
14746 + switch (fcode)
14748 + case RS6000_BUILTIN_RECIP:
14749 + return rs6000_expand_binop_builtin (CODE_FOR_recipdf3, exp, target);
14751 + case RS6000_BUILTIN_RECIPF:
14752 + return rs6000_expand_binop_builtin (CODE_FOR_recipsf3, exp, target);
14754 + case RS6000_BUILTIN_RSQRTF:
14755 + return rs6000_expand_unop_builtin (CODE_FOR_rsqrtsf2, exp, target);
14757 + case RS6000_BUILTIN_RSQRT:
14758 + return rs6000_expand_unop_builtin (CODE_FOR_rsqrtdf2, exp, target);
14760 + case POWER7_BUILTIN_BPERMD:
14761 + return rs6000_expand_binop_builtin (((TARGET_64BIT)
14762 + ? CODE_FOR_bpermd_di
14763 + : CODE_FOR_bpermd_si), exp, target);
14765 + case RS6000_BUILTIN_GET_TB:
14766 + return rs6000_expand_zeroop_builtin (CODE_FOR_rs6000_get_timebase,
14767 + target);
14769 + case RS6000_BUILTIN_MFTB:
14770 + return rs6000_expand_zeroop_builtin (((TARGET_64BIT)
14771 + ? CODE_FOR_rs6000_mftb_di
14772 + : CODE_FOR_rs6000_mftb_si),
14773 + target);
14775 + case RS6000_BUILTIN_MFFS:
14776 + return rs6000_expand_zeroop_builtin (CODE_FOR_rs6000_mffs, target);
14778 + case RS6000_BUILTIN_MTFSF:
14779 + return rs6000_expand_mtfsf_builtin (CODE_FOR_rs6000_mtfsf, exp);
14781 + case ALTIVEC_BUILTIN_MASK_FOR_LOAD:
14782 + case ALTIVEC_BUILTIN_MASK_FOR_STORE:
14784 + int icode = (BYTES_BIG_ENDIAN ? (int) CODE_FOR_altivec_lvsr_direct
14785 + : (int) CODE_FOR_altivec_lvsl_direct);
14786 + machine_mode tmode = insn_data[icode].operand[0].mode;
14787 + machine_mode mode = insn_data[icode].operand[1].mode;
14788 + tree arg;
14789 + rtx op, addr, pat;
14791 + gcc_assert (TARGET_ALTIVEC);
14793 + arg = CALL_EXPR_ARG (exp, 0);
14794 + gcc_assert (POINTER_TYPE_P (TREE_TYPE (arg)));
14795 + op = expand_expr (arg, NULL_RTX, Pmode, EXPAND_NORMAL);
14796 + addr = memory_address (mode, op);
14797 + if (fcode == ALTIVEC_BUILTIN_MASK_FOR_STORE)
14798 + op = addr;
14799 + else
14801 + /* For the load case need to negate the address. */
14802 + op = gen_reg_rtx (GET_MODE (addr));
14803 + emit_insn (gen_rtx_SET (VOIDmode, op,
14804 + gen_rtx_NEG (GET_MODE (addr), addr)));
14806 + op = gen_rtx_MEM (mode, op);
14808 + if (target == 0
14809 + || GET_MODE (target) != tmode
14810 + || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
14811 + target = gen_reg_rtx (tmode);
14813 + pat = GEN_FCN (icode) (target, op);
14814 + if (!pat)
14815 + return 0;
14816 + emit_insn (pat);
14818 + return target;
14821 + case ALTIVEC_BUILTIN_VCFUX:
14822 + case ALTIVEC_BUILTIN_VCFSX:
14823 + case ALTIVEC_BUILTIN_VCTUXS:
14824 + case ALTIVEC_BUILTIN_VCTSXS:
14825 + /* FIXME: There's got to be a nicer way to handle this case than
14826 + constructing a new CALL_EXPR. */
14827 + if (call_expr_nargs (exp) == 1)
14829 + exp = build_call_nary (TREE_TYPE (exp), CALL_EXPR_FN (exp),
14830 + 2, CALL_EXPR_ARG (exp, 0), integer_zero_node);
14832 + break;
14834 + default:
14835 + break;
14838 + if (TARGET_ALTIVEC)
14840 + ret = altivec_expand_builtin (exp, target, &success);
14842 + if (success)
14843 + return ret;
14845 + if (TARGET_SPE)
14847 + ret = spe_expand_builtin (exp, target, &success);
14849 + if (success)
14850 + return ret;
14852 + if (TARGET_PAIRED_FLOAT)
14854 + ret = paired_expand_builtin (exp, target, &success);
14856 + if (success)
14857 + return ret;
14858 + }
14859 + if (TARGET_HTM)
14861 + ret = htm_expand_builtin (exp, target, &success);
14863 + if (success)
14864 + return ret;
14865 + }
14867 + unsigned attr = rs6000_builtin_info[uns_fcode].attr & RS6000_BTC_TYPE_MASK;
14868 + gcc_assert (attr == RS6000_BTC_UNARY
14869 + || attr == RS6000_BTC_BINARY
14870 + || attr == RS6000_BTC_TERNARY);
14872 + /* Handle simple unary operations. */
14873 + d = bdesc_1arg;
14874 + for (i = 0; i < ARRAY_SIZE (bdesc_1arg); i++, d++)
14875 + if (d->code == fcode)
14876 + return rs6000_expand_unop_builtin (d->icode, exp, target);
14878 + /* Handle simple binary operations. */
14879 + d = bdesc_2arg;
14880 + for (i = 0; i < ARRAY_SIZE (bdesc_2arg); i++, d++)
14881 + if (d->code == fcode)
14882 + return rs6000_expand_binop_builtin (d->icode, exp, target);
14884 + /* Handle simple ternary operations. */
14885 + d = bdesc_3arg;
14886 + for (i = 0; i < ARRAY_SIZE (bdesc_3arg); i++, d++)
14887 + if (d->code == fcode)
14888 + return rs6000_expand_ternop_builtin (d->icode, exp, target);
14890 + gcc_unreachable ();
14893 +static void
14894 +rs6000_init_builtins (void)
14896 + tree tdecl;
14897 + tree ftype;
14898 + machine_mode mode;
14900 + if (TARGET_DEBUG_BUILTIN)
14901 + fprintf (stderr, "rs6000_init_builtins%s%s%s%s\n",
14902 + (TARGET_PAIRED_FLOAT) ? ", paired" : "",
14903 + (TARGET_SPE) ? ", spe" : "",
14904 + (TARGET_ALTIVEC) ? ", altivec" : "",
14905 + (TARGET_VSX) ? ", vsx" : "");
14907 + V2SI_type_node = build_vector_type (intSI_type_node, 2);
14908 + V2SF_type_node = build_vector_type (float_type_node, 2);
14909 + V2DI_type_node = build_vector_type (intDI_type_node, 2);
14910 + V2DF_type_node = build_vector_type (double_type_node, 2);
14911 + V4HI_type_node = build_vector_type (intHI_type_node, 4);
14912 + V4SI_type_node = build_vector_type (intSI_type_node, 4);
14913 + V4SF_type_node = build_vector_type (float_type_node, 4);
14914 + V8HI_type_node = build_vector_type (intHI_type_node, 8);
14915 + V16QI_type_node = build_vector_type (intQI_type_node, 16);
14917 + unsigned_V16QI_type_node = build_vector_type (unsigned_intQI_type_node, 16);
14918 + unsigned_V8HI_type_node = build_vector_type (unsigned_intHI_type_node, 8);
14919 + unsigned_V4SI_type_node = build_vector_type (unsigned_intSI_type_node, 4);
14920 + unsigned_V2DI_type_node = build_vector_type (unsigned_intDI_type_node, 2);
14922 + opaque_V2SF_type_node = build_opaque_vector_type (float_type_node, 2);
14923 + opaque_V2SI_type_node = build_opaque_vector_type (intSI_type_node, 2);
14924 + opaque_p_V2SI_type_node = build_pointer_type (opaque_V2SI_type_node);
14925 + opaque_V4SI_type_node = build_opaque_vector_type (intSI_type_node, 4);
14927 + /* We use V1TI mode as a special container to hold __int128_t items that
14928 + must live in VSX registers. */
14929 + if (intTI_type_node)
14931 + V1TI_type_node = build_vector_type (intTI_type_node, 1);
14932 + unsigned_V1TI_type_node = build_vector_type (unsigned_intTI_type_node, 1);
14935 + /* The 'vector bool ...' types must be kept distinct from 'vector unsigned ...'
14936 + types, especially in C++ land. Similarly, 'vector pixel' is distinct from
14937 + 'vector unsigned short'. */
14939 + bool_char_type_node = build_distinct_type_copy (unsigned_intQI_type_node);
14940 + bool_short_type_node = build_distinct_type_copy (unsigned_intHI_type_node);
14941 + bool_int_type_node = build_distinct_type_copy (unsigned_intSI_type_node);
14942 + bool_long_type_node = build_distinct_type_copy (unsigned_intDI_type_node);
14943 + pixel_type_node = build_distinct_type_copy (unsigned_intHI_type_node);
14945 + long_integer_type_internal_node = long_integer_type_node;
14946 + long_unsigned_type_internal_node = long_unsigned_type_node;
14947 + long_long_integer_type_internal_node = long_long_integer_type_node;
14948 + long_long_unsigned_type_internal_node = long_long_unsigned_type_node;
14949 + intQI_type_internal_node = intQI_type_node;
14950 + uintQI_type_internal_node = unsigned_intQI_type_node;
14951 + intHI_type_internal_node = intHI_type_node;
14952 + uintHI_type_internal_node = unsigned_intHI_type_node;
14953 + intSI_type_internal_node = intSI_type_node;
14954 + uintSI_type_internal_node = unsigned_intSI_type_node;
14955 + intDI_type_internal_node = intDI_type_node;
14956 + uintDI_type_internal_node = unsigned_intDI_type_node;
14957 + intTI_type_internal_node = intTI_type_node;
14958 + uintTI_type_internal_node = unsigned_intTI_type_node;
14959 + float_type_internal_node = float_type_node;
14960 + double_type_internal_node = double_type_node;
14961 + long_double_type_internal_node = long_double_type_node;
14962 + dfloat64_type_internal_node = dfloat64_type_node;
14963 + dfloat128_type_internal_node = dfloat128_type_node;
14964 + void_type_internal_node = void_type_node;
14966 + /* Initialize the modes for builtin_function_type, mapping a machine mode to
14967 + tree type node. */
14968 + builtin_mode_to_type[QImode][0] = integer_type_node;
14969 + builtin_mode_to_type[HImode][0] = integer_type_node;
14970 + builtin_mode_to_type[SImode][0] = intSI_type_node;
14971 + builtin_mode_to_type[SImode][1] = unsigned_intSI_type_node;
14972 + builtin_mode_to_type[DImode][0] = intDI_type_node;
14973 + builtin_mode_to_type[DImode][1] = unsigned_intDI_type_node;
14974 + builtin_mode_to_type[TImode][0] = intTI_type_node;
14975 + builtin_mode_to_type[TImode][1] = unsigned_intTI_type_node;
14976 + builtin_mode_to_type[SFmode][0] = float_type_node;
14977 + builtin_mode_to_type[DFmode][0] = double_type_node;
14978 + builtin_mode_to_type[TFmode][0] = long_double_type_node;
14979 + builtin_mode_to_type[DDmode][0] = dfloat64_type_node;
14980 + builtin_mode_to_type[TDmode][0] = dfloat128_type_node;
14981 + builtin_mode_to_type[V1TImode][0] = V1TI_type_node;
14982 + builtin_mode_to_type[V1TImode][1] = unsigned_V1TI_type_node;
14983 + builtin_mode_to_type[V2SImode][0] = V2SI_type_node;
14984 + builtin_mode_to_type[V2SFmode][0] = V2SF_type_node;
14985 + builtin_mode_to_type[V2DImode][0] = V2DI_type_node;
14986 + builtin_mode_to_type[V2DImode][1] = unsigned_V2DI_type_node;
14987 + builtin_mode_to_type[V2DFmode][0] = V2DF_type_node;
14988 + builtin_mode_to_type[V4HImode][0] = V4HI_type_node;
14989 + builtin_mode_to_type[V4SImode][0] = V4SI_type_node;
14990 + builtin_mode_to_type[V4SImode][1] = unsigned_V4SI_type_node;
14991 + builtin_mode_to_type[V4SFmode][0] = V4SF_type_node;
14992 + builtin_mode_to_type[V8HImode][0] = V8HI_type_node;
14993 + builtin_mode_to_type[V8HImode][1] = unsigned_V8HI_type_node;
14994 + builtin_mode_to_type[V16QImode][0] = V16QI_type_node;
14995 + builtin_mode_to_type[V16QImode][1] = unsigned_V16QI_type_node;
14997 + tdecl = add_builtin_type ("__bool char", bool_char_type_node);
14998 + TYPE_NAME (bool_char_type_node) = tdecl;
15000 + tdecl = add_builtin_type ("__bool short", bool_short_type_node);
15001 + TYPE_NAME (bool_short_type_node) = tdecl;
15003 + tdecl = add_builtin_type ("__bool int", bool_int_type_node);
15004 + TYPE_NAME (bool_int_type_node) = tdecl;
15006 + tdecl = add_builtin_type ("__pixel", pixel_type_node);
15007 + TYPE_NAME (pixel_type_node) = tdecl;
15009 + bool_V16QI_type_node = build_vector_type (bool_char_type_node, 16);
15010 + bool_V8HI_type_node = build_vector_type (bool_short_type_node, 8);
15011 + bool_V4SI_type_node = build_vector_type (bool_int_type_node, 4);
15012 + bool_V2DI_type_node = build_vector_type (bool_long_type_node, 2);
15013 + pixel_V8HI_type_node = build_vector_type (pixel_type_node, 8);
15015 + tdecl = add_builtin_type ("__vector unsigned char", unsigned_V16QI_type_node);
15016 + TYPE_NAME (unsigned_V16QI_type_node) = tdecl;
15018 + tdecl = add_builtin_type ("__vector signed char", V16QI_type_node);
15019 + TYPE_NAME (V16QI_type_node) = tdecl;
15021 + tdecl = add_builtin_type ("__vector __bool char", bool_V16QI_type_node);
15022 + TYPE_NAME ( bool_V16QI_type_node) = tdecl;
15024 + tdecl = add_builtin_type ("__vector unsigned short", unsigned_V8HI_type_node);
15025 + TYPE_NAME (unsigned_V8HI_type_node) = tdecl;
15027 + tdecl = add_builtin_type ("__vector signed short", V8HI_type_node);
15028 + TYPE_NAME (V8HI_type_node) = tdecl;
15030 + tdecl = add_builtin_type ("__vector __bool short", bool_V8HI_type_node);
15031 + TYPE_NAME (bool_V8HI_type_node) = tdecl;
15033 + tdecl = add_builtin_type ("__vector unsigned int", unsigned_V4SI_type_node);
15034 + TYPE_NAME (unsigned_V4SI_type_node) = tdecl;
15036 + tdecl = add_builtin_type ("__vector signed int", V4SI_type_node);
15037 + TYPE_NAME (V4SI_type_node) = tdecl;
15039 + tdecl = add_builtin_type ("__vector __bool int", bool_V4SI_type_node);
15040 + TYPE_NAME (bool_V4SI_type_node) = tdecl;
15042 + tdecl = add_builtin_type ("__vector float", V4SF_type_node);
15043 + TYPE_NAME (V4SF_type_node) = tdecl;
15045 + tdecl = add_builtin_type ("__vector __pixel", pixel_V8HI_type_node);
15046 + TYPE_NAME (pixel_V8HI_type_node) = tdecl;
15048 + tdecl = add_builtin_type ("__vector double", V2DF_type_node);
15049 + TYPE_NAME (V2DF_type_node) = tdecl;
15051 + if (TARGET_POWERPC64)
15053 + tdecl = add_builtin_type ("__vector long", V2DI_type_node);
15054 + TYPE_NAME (V2DI_type_node) = tdecl;
15056 + tdecl = add_builtin_type ("__vector unsigned long",
15057 + unsigned_V2DI_type_node);
15058 + TYPE_NAME (unsigned_V2DI_type_node) = tdecl;
15060 + tdecl = add_builtin_type ("__vector __bool long", bool_V2DI_type_node);
15061 + TYPE_NAME (bool_V2DI_type_node) = tdecl;
15063 + else
15065 + tdecl = add_builtin_type ("__vector long long", V2DI_type_node);
15066 + TYPE_NAME (V2DI_type_node) = tdecl;
15068 + tdecl = add_builtin_type ("__vector unsigned long long",
15069 + unsigned_V2DI_type_node);
15070 + TYPE_NAME (unsigned_V2DI_type_node) = tdecl;
15072 + tdecl = add_builtin_type ("__vector __bool long long",
15073 + bool_V2DI_type_node);
15074 + TYPE_NAME (bool_V2DI_type_node) = tdecl;
15077 + if (V1TI_type_node)
15079 + tdecl = add_builtin_type ("__vector __int128", V1TI_type_node);
15080 + TYPE_NAME (V1TI_type_node) = tdecl;
15082 + tdecl = add_builtin_type ("__vector unsigned __int128",
15083 + unsigned_V1TI_type_node);
15084 + TYPE_NAME (unsigned_V1TI_type_node) = tdecl;
15087 + /* Paired and SPE builtins are only available if you build a compiler with
15088 + the appropriate options, so only create those builtins with the
15089 + appropriate compiler option. Create Altivec and VSX builtins on machines
15090 + with at least the general purpose extensions (970 and newer) to allow the
15091 + use of the target attribute. */
15092 + if (TARGET_PAIRED_FLOAT)
15093 + paired_init_builtins ();
15094 + if (TARGET_SPE)
15095 + spe_init_builtins ();
15096 + if (TARGET_EXTRA_BUILTINS)
15097 + altivec_init_builtins ();
15098 + if (TARGET_HTM)
15099 + htm_init_builtins ();
15101 + if (TARGET_EXTRA_BUILTINS || TARGET_SPE || TARGET_PAIRED_FLOAT)
15102 + rs6000_common_init_builtins ();
15104 + ftype = builtin_function_type (DFmode, DFmode, DFmode, VOIDmode,
15105 + RS6000_BUILTIN_RECIP, "__builtin_recipdiv");
15106 + def_builtin ("__builtin_recipdiv", ftype, RS6000_BUILTIN_RECIP);
15108 + ftype = builtin_function_type (SFmode, SFmode, SFmode, VOIDmode,
15109 + RS6000_BUILTIN_RECIPF, "__builtin_recipdivf");
15110 + def_builtin ("__builtin_recipdivf", ftype, RS6000_BUILTIN_RECIPF);
15112 + ftype = builtin_function_type (DFmode, DFmode, VOIDmode, VOIDmode,
15113 + RS6000_BUILTIN_RSQRT, "__builtin_rsqrt");
15114 + def_builtin ("__builtin_rsqrt", ftype, RS6000_BUILTIN_RSQRT);
15116 + ftype = builtin_function_type (SFmode, SFmode, VOIDmode, VOIDmode,
15117 + RS6000_BUILTIN_RSQRTF, "__builtin_rsqrtf");
15118 + def_builtin ("__builtin_rsqrtf", ftype, RS6000_BUILTIN_RSQRTF);
15120 + mode = (TARGET_64BIT) ? DImode : SImode;
15121 + ftype = builtin_function_type (mode, mode, mode, VOIDmode,
15122 + POWER7_BUILTIN_BPERMD, "__builtin_bpermd");
15123 + def_builtin ("__builtin_bpermd", ftype, POWER7_BUILTIN_BPERMD);
15125 + ftype = build_function_type_list (unsigned_intDI_type_node,
15126 + NULL_TREE);
15127 + def_builtin ("__builtin_ppc_get_timebase", ftype, RS6000_BUILTIN_GET_TB);
15129 + if (TARGET_64BIT)
15130 + ftype = build_function_type_list (unsigned_intDI_type_node,
15131 + NULL_TREE);
15132 + else
15133 + ftype = build_function_type_list (unsigned_intSI_type_node,
15134 + NULL_TREE);
15135 + def_builtin ("__builtin_ppc_mftb", ftype, RS6000_BUILTIN_MFTB);
15137 + ftype = build_function_type_list (double_type_node, NULL_TREE);
15138 + def_builtin ("__builtin_mffs", ftype, RS6000_BUILTIN_MFFS);
15140 + ftype = build_function_type_list (void_type_node,
15141 + intSI_type_node, double_type_node,
15142 + NULL_TREE);
15143 + def_builtin ("__builtin_mtfsf", ftype, RS6000_BUILTIN_MTFSF);
15145 +#if TARGET_XCOFF
15146 + /* AIX libm provides clog as __clog. */
15147 + if ((tdecl = builtin_decl_explicit (BUILT_IN_CLOG)) != NULL_TREE)
15148 + set_user_assembler_name (tdecl, "__clog");
15149 +#endif
15151 +#ifdef SUBTARGET_INIT_BUILTINS
15152 + SUBTARGET_INIT_BUILTINS;
15153 +#endif
15156 +/* Returns the rs6000 builtin decl for CODE. */
15158 +static tree
15159 +rs6000_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED)
15161 + HOST_WIDE_INT fnmask;
15163 + if (code >= RS6000_BUILTIN_COUNT)
15164 + return error_mark_node;
15166 + fnmask = rs6000_builtin_info[code].mask;
15167 + if ((fnmask & rs6000_builtin_mask) != fnmask)
15169 + rs6000_invalid_builtin ((enum rs6000_builtins)code);
15170 + return error_mark_node;
15173 + return rs6000_builtin_decls[code];
15176 +static void
15177 +spe_init_builtins (void)
15179 + tree puint_type_node = build_pointer_type (unsigned_type_node);
15180 + tree pushort_type_node = build_pointer_type (short_unsigned_type_node);
15181 + const struct builtin_description *d;
15182 + size_t i;
15184 + tree v2si_ftype_4_v2si
15185 + = build_function_type_list (opaque_V2SI_type_node,
15186 + opaque_V2SI_type_node,
15187 + opaque_V2SI_type_node,
15188 + opaque_V2SI_type_node,
15189 + opaque_V2SI_type_node,
15190 + NULL_TREE);
15192 + tree v2sf_ftype_4_v2sf
15193 + = build_function_type_list (opaque_V2SF_type_node,
15194 + opaque_V2SF_type_node,
15195 + opaque_V2SF_type_node,
15196 + opaque_V2SF_type_node,
15197 + opaque_V2SF_type_node,
15198 + NULL_TREE);
15200 + tree int_ftype_int_v2si_v2si
15201 + = build_function_type_list (integer_type_node,
15202 + integer_type_node,
15203 + opaque_V2SI_type_node,
15204 + opaque_V2SI_type_node,
15205 + NULL_TREE);
15207 + tree int_ftype_int_v2sf_v2sf
15208 + = build_function_type_list (integer_type_node,
15209 + integer_type_node,
15210 + opaque_V2SF_type_node,
15211 + opaque_V2SF_type_node,
15212 + NULL_TREE);
15214 + tree void_ftype_v2si_puint_int
15215 + = build_function_type_list (void_type_node,
15216 + opaque_V2SI_type_node,
15217 + puint_type_node,
15218 + integer_type_node,
15219 + NULL_TREE);
15221 + tree void_ftype_v2si_puint_char
15222 + = build_function_type_list (void_type_node,
15223 + opaque_V2SI_type_node,
15224 + puint_type_node,
15225 + char_type_node,
15226 + NULL_TREE);
15228 + tree void_ftype_v2si_pv2si_int
15229 + = build_function_type_list (void_type_node,
15230 + opaque_V2SI_type_node,
15231 + opaque_p_V2SI_type_node,
15232 + integer_type_node,
15233 + NULL_TREE);
15235 + tree void_ftype_v2si_pv2si_char
15236 + = build_function_type_list (void_type_node,
15237 + opaque_V2SI_type_node,
15238 + opaque_p_V2SI_type_node,
15239 + char_type_node,
15240 + NULL_TREE);
15242 + tree void_ftype_int
15243 + = build_function_type_list (void_type_node, integer_type_node, NULL_TREE);
15245 + tree int_ftype_void
15246 + = build_function_type_list (integer_type_node, NULL_TREE);
15248 + tree v2si_ftype_pv2si_int
15249 + = build_function_type_list (opaque_V2SI_type_node,
15250 + opaque_p_V2SI_type_node,
15251 + integer_type_node,
15252 + NULL_TREE);
15254 + tree v2si_ftype_puint_int
15255 + = build_function_type_list (opaque_V2SI_type_node,
15256 + puint_type_node,
15257 + integer_type_node,
15258 + NULL_TREE);
15260 + tree v2si_ftype_pushort_int
15261 + = build_function_type_list (opaque_V2SI_type_node,
15262 + pushort_type_node,
15263 + integer_type_node,
15264 + NULL_TREE);
15266 + tree v2si_ftype_signed_char
15267 + = build_function_type_list (opaque_V2SI_type_node,
15268 + signed_char_type_node,
15269 + NULL_TREE);
15271 + add_builtin_type ("__ev64_opaque__", opaque_V2SI_type_node);
15273 + /* Initialize irregular SPE builtins. */
15275 + def_builtin ("__builtin_spe_mtspefscr", void_ftype_int, SPE_BUILTIN_MTSPEFSCR);
15276 + def_builtin ("__builtin_spe_mfspefscr", int_ftype_void, SPE_BUILTIN_MFSPEFSCR);
15277 + def_builtin ("__builtin_spe_evstddx", void_ftype_v2si_pv2si_int, SPE_BUILTIN_EVSTDDX);
15278 + def_builtin ("__builtin_spe_evstdhx", void_ftype_v2si_pv2si_int, SPE_BUILTIN_EVSTDHX);
15279 + def_builtin ("__builtin_spe_evstdwx", void_ftype_v2si_pv2si_int, SPE_BUILTIN_EVSTDWX);
15280 + def_builtin ("__builtin_spe_evstwhex", void_ftype_v2si_puint_int, SPE_BUILTIN_EVSTWHEX);
15281 + def_builtin ("__builtin_spe_evstwhox", void_ftype_v2si_puint_int, SPE_BUILTIN_EVSTWHOX);
15282 + def_builtin ("__builtin_spe_evstwwex", void_ftype_v2si_puint_int, SPE_BUILTIN_EVSTWWEX);
15283 + def_builtin ("__builtin_spe_evstwwox", void_ftype_v2si_puint_int, SPE_BUILTIN_EVSTWWOX);
15284 + def_builtin ("__builtin_spe_evstdd", void_ftype_v2si_pv2si_char, SPE_BUILTIN_EVSTDD);
15285 + def_builtin ("__builtin_spe_evstdh", void_ftype_v2si_pv2si_char, SPE_BUILTIN_EVSTDH);
15286 + def_builtin ("__builtin_spe_evstdw", void_ftype_v2si_pv2si_char, SPE_BUILTIN_EVSTDW);
15287 + def_builtin ("__builtin_spe_evstwhe", void_ftype_v2si_puint_char, SPE_BUILTIN_EVSTWHE);
15288 + def_builtin ("__builtin_spe_evstwho", void_ftype_v2si_puint_char, SPE_BUILTIN_EVSTWHO);
15289 + def_builtin ("__builtin_spe_evstwwe", void_ftype_v2si_puint_char, SPE_BUILTIN_EVSTWWE);
15290 + def_builtin ("__builtin_spe_evstwwo", void_ftype_v2si_puint_char, SPE_BUILTIN_EVSTWWO);
15291 + def_builtin ("__builtin_spe_evsplatfi", v2si_ftype_signed_char, SPE_BUILTIN_EVSPLATFI);
15292 + def_builtin ("__builtin_spe_evsplati", v2si_ftype_signed_char, SPE_BUILTIN_EVSPLATI);
15294 + /* Loads. */
15295 + def_builtin ("__builtin_spe_evlddx", v2si_ftype_pv2si_int, SPE_BUILTIN_EVLDDX);
15296 + def_builtin ("__builtin_spe_evldwx", v2si_ftype_pv2si_int, SPE_BUILTIN_EVLDWX);
15297 + def_builtin ("__builtin_spe_evldhx", v2si_ftype_pv2si_int, SPE_BUILTIN_EVLDHX);
15298 + def_builtin ("__builtin_spe_evlwhex", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHEX);
15299 + def_builtin ("__builtin_spe_evlwhoux", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHOUX);
15300 + def_builtin ("__builtin_spe_evlwhosx", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHOSX);
15301 + def_builtin ("__builtin_spe_evlwwsplatx", v2si_ftype_puint_int, SPE_BUILTIN_EVLWWSPLATX);
15302 + def_builtin ("__builtin_spe_evlwhsplatx", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHSPLATX);
15303 + def_builtin ("__builtin_spe_evlhhesplatx", v2si_ftype_pushort_int, SPE_BUILTIN_EVLHHESPLATX);
15304 + def_builtin ("__builtin_spe_evlhhousplatx", v2si_ftype_pushort_int, SPE_BUILTIN_EVLHHOUSPLATX);
15305 + def_builtin ("__builtin_spe_evlhhossplatx", v2si_ftype_pushort_int, SPE_BUILTIN_EVLHHOSSPLATX);
15306 + def_builtin ("__builtin_spe_evldd", v2si_ftype_pv2si_int, SPE_BUILTIN_EVLDD);
15307 + def_builtin ("__builtin_spe_evldw", v2si_ftype_pv2si_int, SPE_BUILTIN_EVLDW);
15308 + def_builtin ("__builtin_spe_evldh", v2si_ftype_pv2si_int, SPE_BUILTIN_EVLDH);
15309 + def_builtin ("__builtin_spe_evlhhesplat", v2si_ftype_pushort_int, SPE_BUILTIN_EVLHHESPLAT);
15310 + def_builtin ("__builtin_spe_evlhhossplat", v2si_ftype_pushort_int, SPE_BUILTIN_EVLHHOSSPLAT);
15311 + def_builtin ("__builtin_spe_evlhhousplat", v2si_ftype_pushort_int, SPE_BUILTIN_EVLHHOUSPLAT);
15312 + def_builtin ("__builtin_spe_evlwhe", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHE);
15313 + def_builtin ("__builtin_spe_evlwhos", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHOS);
15314 + def_builtin ("__builtin_spe_evlwhou", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHOU);
15315 + def_builtin ("__builtin_spe_evlwhsplat", v2si_ftype_puint_int, SPE_BUILTIN_EVLWHSPLAT);
15316 + def_builtin ("__builtin_spe_evlwwsplat", v2si_ftype_puint_int, SPE_BUILTIN_EVLWWSPLAT);
15318 + /* Predicates. */
15319 + d = bdesc_spe_predicates;
15320 + for (i = 0; i < ARRAY_SIZE (bdesc_spe_predicates); ++i, d++)
15322 + tree type;
15324 + switch (insn_data[d->icode].operand[1].mode)
15326 + case V2SImode:
15327 + type = int_ftype_int_v2si_v2si;
15328 + break;
15329 + case V2SFmode:
15330 + type = int_ftype_int_v2sf_v2sf;
15331 + break;
15332 + default:
15333 + gcc_unreachable ();
15336 + def_builtin (d->name, type, d->code);
15339 + /* Evsel predicates. */
15340 + d = bdesc_spe_evsel;
15341 + for (i = 0; i < ARRAY_SIZE (bdesc_spe_evsel); ++i, d++)
15343 + tree type;
15345 + switch (insn_data[d->icode].operand[1].mode)
15347 + case V2SImode:
15348 + type = v2si_ftype_4_v2si;
15349 + break;
15350 + case V2SFmode:
15351 + type = v2sf_ftype_4_v2sf;
15352 + break;
15353 + default:
15354 + gcc_unreachable ();
15357 + def_builtin (d->name, type, d->code);
15361 +static void
15362 +paired_init_builtins (void)
15364 + const struct builtin_description *d;
15365 + size_t i;
15367 + tree int_ftype_int_v2sf_v2sf
15368 + = build_function_type_list (integer_type_node,
15369 + integer_type_node,
15370 + V2SF_type_node,
15371 + V2SF_type_node,
15372 + NULL_TREE);
15373 + tree pcfloat_type_node =
15374 + build_pointer_type (build_qualified_type
15375 + (float_type_node, TYPE_QUAL_CONST));
15377 + tree v2sf_ftype_long_pcfloat = build_function_type_list (V2SF_type_node,
15378 + long_integer_type_node,
15379 + pcfloat_type_node,
15380 + NULL_TREE);
15381 + tree void_ftype_v2sf_long_pcfloat =
15382 + build_function_type_list (void_type_node,
15383 + V2SF_type_node,
15384 + long_integer_type_node,
15385 + pcfloat_type_node,
15386 + NULL_TREE);
15389 + def_builtin ("__builtin_paired_lx", v2sf_ftype_long_pcfloat,
15390 + PAIRED_BUILTIN_LX);
15393 + def_builtin ("__builtin_paired_stx", void_ftype_v2sf_long_pcfloat,
15394 + PAIRED_BUILTIN_STX);
15396 + /* Predicates. */
15397 + d = bdesc_paired_preds;
15398 + for (i = 0; i < ARRAY_SIZE (bdesc_paired_preds); ++i, d++)
15400 + tree type;
15402 + if (TARGET_DEBUG_BUILTIN)
15403 + fprintf (stderr, "paired pred #%d, insn = %s [%d], mode = %s\n",
15404 + (int)i, get_insn_name (d->icode), (int)d->icode,
15405 + GET_MODE_NAME (insn_data[d->icode].operand[1].mode));
15407 + switch (insn_data[d->icode].operand[1].mode)
15409 + case V2SFmode:
15410 + type = int_ftype_int_v2sf_v2sf;
15411 + break;
15412 + default:
15413 + gcc_unreachable ();
15416 + def_builtin (d->name, type, d->code);
15420 +static void
15421 +altivec_init_builtins (void)
15423 + const struct builtin_description *d;
15424 + size_t i;
15425 + tree ftype;
15426 + tree decl;
15428 + tree pvoid_type_node = build_pointer_type (void_type_node);
15430 + tree pcvoid_type_node
15431 + = build_pointer_type (build_qualified_type (void_type_node,
15432 + TYPE_QUAL_CONST));
15434 + tree int_ftype_opaque
15435 + = build_function_type_list (integer_type_node,
15436 + opaque_V4SI_type_node, NULL_TREE);
15437 + tree opaque_ftype_opaque
15438 + = build_function_type_list (integer_type_node, NULL_TREE);
15439 + tree opaque_ftype_opaque_int
15440 + = build_function_type_list (opaque_V4SI_type_node,
15441 + opaque_V4SI_type_node, integer_type_node, NULL_TREE);
15442 + tree opaque_ftype_opaque_opaque_int
15443 + = build_function_type_list (opaque_V4SI_type_node,
15444 + opaque_V4SI_type_node, opaque_V4SI_type_node,
15445 + integer_type_node, NULL_TREE);
15446 + tree int_ftype_int_opaque_opaque
15447 + = build_function_type_list (integer_type_node,
15448 + integer_type_node, opaque_V4SI_type_node,
15449 + opaque_V4SI_type_node, NULL_TREE);
15450 + tree int_ftype_int_v4si_v4si
15451 + = build_function_type_list (integer_type_node,
15452 + integer_type_node, V4SI_type_node,
15453 + V4SI_type_node, NULL_TREE);
15454 + tree int_ftype_int_v2di_v2di
15455 + = build_function_type_list (integer_type_node,
15456 + integer_type_node, V2DI_type_node,
15457 + V2DI_type_node, NULL_TREE);
15458 + tree void_ftype_v4si
15459 + = build_function_type_list (void_type_node, V4SI_type_node, NULL_TREE);
15460 + tree v8hi_ftype_void
15461 + = build_function_type_list (V8HI_type_node, NULL_TREE);
15462 + tree void_ftype_void
15463 + = build_function_type_list (void_type_node, NULL_TREE);
15464 + tree void_ftype_int
15465 + = build_function_type_list (void_type_node, integer_type_node, NULL_TREE);
15467 + tree opaque_ftype_long_pcvoid
15468 + = build_function_type_list (opaque_V4SI_type_node,
15469 + long_integer_type_node, pcvoid_type_node,
15470 + NULL_TREE);
15471 + tree v16qi_ftype_long_pcvoid
15472 + = build_function_type_list (V16QI_type_node,
15473 + long_integer_type_node, pcvoid_type_node,
15474 + NULL_TREE);
15475 + tree v8hi_ftype_long_pcvoid
15476 + = build_function_type_list (V8HI_type_node,
15477 + long_integer_type_node, pcvoid_type_node,
15478 + NULL_TREE);
15479 + tree v4si_ftype_long_pcvoid
15480 + = build_function_type_list (V4SI_type_node,
15481 + long_integer_type_node, pcvoid_type_node,
15482 + NULL_TREE);
15483 + tree v4sf_ftype_long_pcvoid
15484 + = build_function_type_list (V4SF_type_node,
15485 + long_integer_type_node, pcvoid_type_node,
15486 + NULL_TREE);
15487 + tree v2df_ftype_long_pcvoid
15488 + = build_function_type_list (V2DF_type_node,
15489 + long_integer_type_node, pcvoid_type_node,
15490 + NULL_TREE);
15491 + tree v2di_ftype_long_pcvoid
15492 + = build_function_type_list (V2DI_type_node,
15493 + long_integer_type_node, pcvoid_type_node,
15494 + NULL_TREE);
15496 + tree void_ftype_opaque_long_pvoid
15497 + = build_function_type_list (void_type_node,
15498 + opaque_V4SI_type_node, long_integer_type_node,
15499 + pvoid_type_node, NULL_TREE);
15500 + tree void_ftype_v4si_long_pvoid
15501 + = build_function_type_list (void_type_node,
15502 + V4SI_type_node, long_integer_type_node,
15503 + pvoid_type_node, NULL_TREE);
15504 + tree void_ftype_v16qi_long_pvoid
15505 + = build_function_type_list (void_type_node,
15506 + V16QI_type_node, long_integer_type_node,
15507 + pvoid_type_node, NULL_TREE);
15508 + tree void_ftype_v8hi_long_pvoid
15509 + = build_function_type_list (void_type_node,
15510 + V8HI_type_node, long_integer_type_node,
15511 + pvoid_type_node, NULL_TREE);
15512 + tree void_ftype_v4sf_long_pvoid
15513 + = build_function_type_list (void_type_node,
15514 + V4SF_type_node, long_integer_type_node,
15515 + pvoid_type_node, NULL_TREE);
15516 + tree void_ftype_v2df_long_pvoid
15517 + = build_function_type_list (void_type_node,
15518 + V2DF_type_node, long_integer_type_node,
15519 + pvoid_type_node, NULL_TREE);
15520 + tree void_ftype_v2di_long_pvoid
15521 + = build_function_type_list (void_type_node,
15522 + V2DI_type_node, long_integer_type_node,
15523 + pvoid_type_node, NULL_TREE);
15524 + tree int_ftype_int_v8hi_v8hi
15525 + = build_function_type_list (integer_type_node,
15526 + integer_type_node, V8HI_type_node,
15527 + V8HI_type_node, NULL_TREE);
15528 + tree int_ftype_int_v16qi_v16qi
15529 + = build_function_type_list (integer_type_node,
15530 + integer_type_node, V16QI_type_node,
15531 + V16QI_type_node, NULL_TREE);
15532 + tree int_ftype_int_v4sf_v4sf
15533 + = build_function_type_list (integer_type_node,
15534 + integer_type_node, V4SF_type_node,
15535 + V4SF_type_node, NULL_TREE);
15536 + tree int_ftype_int_v2df_v2df
15537 + = build_function_type_list (integer_type_node,
15538 + integer_type_node, V2DF_type_node,
15539 + V2DF_type_node, NULL_TREE);
15540 + tree v2di_ftype_v2di
15541 + = build_function_type_list (V2DI_type_node, V2DI_type_node, NULL_TREE);
15542 + tree v4si_ftype_v4si
15543 + = build_function_type_list (V4SI_type_node, V4SI_type_node, NULL_TREE);
15544 + tree v8hi_ftype_v8hi
15545 + = build_function_type_list (V8HI_type_node, V8HI_type_node, NULL_TREE);
15546 + tree v16qi_ftype_v16qi
15547 + = build_function_type_list (V16QI_type_node, V16QI_type_node, NULL_TREE);
15548 + tree v4sf_ftype_v4sf
15549 + = build_function_type_list (V4SF_type_node, V4SF_type_node, NULL_TREE);
15550 + tree v2df_ftype_v2df
15551 + = build_function_type_list (V2DF_type_node, V2DF_type_node, NULL_TREE);
15552 + tree void_ftype_pcvoid_int_int
15553 + = build_function_type_list (void_type_node,
15554 + pcvoid_type_node, integer_type_node,
15555 + integer_type_node, NULL_TREE);
15557 + def_builtin ("__builtin_altivec_mtvscr", void_ftype_v4si, ALTIVEC_BUILTIN_MTVSCR);
15558 + def_builtin ("__builtin_altivec_mfvscr", v8hi_ftype_void, ALTIVEC_BUILTIN_MFVSCR);
15559 + def_builtin ("__builtin_altivec_dssall", void_ftype_void, ALTIVEC_BUILTIN_DSSALL);
15560 + def_builtin ("__builtin_altivec_dss", void_ftype_int, ALTIVEC_BUILTIN_DSS);
15561 + def_builtin ("__builtin_altivec_lvsl", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVSL);
15562 + def_builtin ("__builtin_altivec_lvsr", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVSR);
15563 + def_builtin ("__builtin_altivec_lvebx", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVEBX);
15564 + def_builtin ("__builtin_altivec_lvehx", v8hi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVEHX);
15565 + def_builtin ("__builtin_altivec_lvewx", v4si_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVEWX);
15566 + def_builtin ("__builtin_altivec_lvxl", v4si_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVXL);
15567 + def_builtin ("__builtin_altivec_lvxl_v2df", v2df_ftype_long_pcvoid,
15568 + ALTIVEC_BUILTIN_LVXL_V2DF);
15569 + def_builtin ("__builtin_altivec_lvxl_v2di", v2di_ftype_long_pcvoid,
15570 + ALTIVEC_BUILTIN_LVXL_V2DI);
15571 + def_builtin ("__builtin_altivec_lvxl_v4sf", v4sf_ftype_long_pcvoid,
15572 + ALTIVEC_BUILTIN_LVXL_V4SF);
15573 + def_builtin ("__builtin_altivec_lvxl_v4si", v4si_ftype_long_pcvoid,
15574 + ALTIVEC_BUILTIN_LVXL_V4SI);
15575 + def_builtin ("__builtin_altivec_lvxl_v8hi", v8hi_ftype_long_pcvoid,
15576 + ALTIVEC_BUILTIN_LVXL_V8HI);
15577 + def_builtin ("__builtin_altivec_lvxl_v16qi", v16qi_ftype_long_pcvoid,
15578 + ALTIVEC_BUILTIN_LVXL_V16QI);
15579 + def_builtin ("__builtin_altivec_lvx", v4si_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVX);
15580 + def_builtin ("__builtin_altivec_lvx_v2df", v2df_ftype_long_pcvoid,
15581 + ALTIVEC_BUILTIN_LVX_V2DF);
15582 + def_builtin ("__builtin_altivec_lvx_v2di", v2di_ftype_long_pcvoid,
15583 + ALTIVEC_BUILTIN_LVX_V2DI);
15584 + def_builtin ("__builtin_altivec_lvx_v4sf", v4sf_ftype_long_pcvoid,
15585 + ALTIVEC_BUILTIN_LVX_V4SF);
15586 + def_builtin ("__builtin_altivec_lvx_v4si", v4si_ftype_long_pcvoid,
15587 + ALTIVEC_BUILTIN_LVX_V4SI);
15588 + def_builtin ("__builtin_altivec_lvx_v8hi", v8hi_ftype_long_pcvoid,
15589 + ALTIVEC_BUILTIN_LVX_V8HI);
15590 + def_builtin ("__builtin_altivec_lvx_v16qi", v16qi_ftype_long_pcvoid,
15591 + ALTIVEC_BUILTIN_LVX_V16QI);
15592 + def_builtin ("__builtin_altivec_stvx", void_ftype_v4si_long_pvoid, ALTIVEC_BUILTIN_STVX);
15593 + def_builtin ("__builtin_altivec_stvx_v2df", void_ftype_v2df_long_pvoid,
15594 + ALTIVEC_BUILTIN_STVX_V2DF);
15595 + def_builtin ("__builtin_altivec_stvx_v2di", void_ftype_v2di_long_pvoid,
15596 + ALTIVEC_BUILTIN_STVX_V2DI);
15597 + def_builtin ("__builtin_altivec_stvx_v4sf", void_ftype_v4sf_long_pvoid,
15598 + ALTIVEC_BUILTIN_STVX_V4SF);
15599 + def_builtin ("__builtin_altivec_stvx_v4si", void_ftype_v4si_long_pvoid,
15600 + ALTIVEC_BUILTIN_STVX_V4SI);
15601 + def_builtin ("__builtin_altivec_stvx_v8hi", void_ftype_v8hi_long_pvoid,
15602 + ALTIVEC_BUILTIN_STVX_V8HI);
15603 + def_builtin ("__builtin_altivec_stvx_v16qi", void_ftype_v16qi_long_pvoid,
15604 + ALTIVEC_BUILTIN_STVX_V16QI);
15605 + def_builtin ("__builtin_altivec_stvewx", void_ftype_v4si_long_pvoid, ALTIVEC_BUILTIN_STVEWX);
15606 + def_builtin ("__builtin_altivec_stvxl", void_ftype_v4si_long_pvoid, ALTIVEC_BUILTIN_STVXL);
15607 + def_builtin ("__builtin_altivec_stvxl_v2df", void_ftype_v2df_long_pvoid,
15608 + ALTIVEC_BUILTIN_STVXL_V2DF);
15609 + def_builtin ("__builtin_altivec_stvxl_v2di", void_ftype_v2di_long_pvoid,
15610 + ALTIVEC_BUILTIN_STVXL_V2DI);
15611 + def_builtin ("__builtin_altivec_stvxl_v4sf", void_ftype_v4sf_long_pvoid,
15612 + ALTIVEC_BUILTIN_STVXL_V4SF);
15613 + def_builtin ("__builtin_altivec_stvxl_v4si", void_ftype_v4si_long_pvoid,
15614 + ALTIVEC_BUILTIN_STVXL_V4SI);
15615 + def_builtin ("__builtin_altivec_stvxl_v8hi", void_ftype_v8hi_long_pvoid,
15616 + ALTIVEC_BUILTIN_STVXL_V8HI);
15617 + def_builtin ("__builtin_altivec_stvxl_v16qi", void_ftype_v16qi_long_pvoid,
15618 + ALTIVEC_BUILTIN_STVXL_V16QI);
15619 + def_builtin ("__builtin_altivec_stvebx", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_STVEBX);
15620 + def_builtin ("__builtin_altivec_stvehx", void_ftype_v8hi_long_pvoid, ALTIVEC_BUILTIN_STVEHX);
15621 + def_builtin ("__builtin_vec_ld", opaque_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LD);
15622 + def_builtin ("__builtin_vec_lde", opaque_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LDE);
15623 + def_builtin ("__builtin_vec_ldl", opaque_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LDL);
15624 + def_builtin ("__builtin_vec_lvsl", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVSL);
15625 + def_builtin ("__builtin_vec_lvsr", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVSR);
15626 + def_builtin ("__builtin_vec_lvebx", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVEBX);
15627 + def_builtin ("__builtin_vec_lvehx", v8hi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVEHX);
15628 + def_builtin ("__builtin_vec_lvewx", v4si_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVEWX);
15629 + def_builtin ("__builtin_vec_st", void_ftype_opaque_long_pvoid, ALTIVEC_BUILTIN_VEC_ST);
15630 + def_builtin ("__builtin_vec_ste", void_ftype_opaque_long_pvoid, ALTIVEC_BUILTIN_VEC_STE);
15631 + def_builtin ("__builtin_vec_stl", void_ftype_opaque_long_pvoid, ALTIVEC_BUILTIN_VEC_STL);
15632 + def_builtin ("__builtin_vec_stvewx", void_ftype_opaque_long_pvoid, ALTIVEC_BUILTIN_VEC_STVEWX);
15633 + def_builtin ("__builtin_vec_stvebx", void_ftype_opaque_long_pvoid, ALTIVEC_BUILTIN_VEC_STVEBX);
15634 + def_builtin ("__builtin_vec_stvehx", void_ftype_opaque_long_pvoid, ALTIVEC_BUILTIN_VEC_STVEHX);
15636 + def_builtin ("__builtin_vsx_lxvd2x_v2df", v2df_ftype_long_pcvoid,
15637 + VSX_BUILTIN_LXVD2X_V2DF);
15638 + def_builtin ("__builtin_vsx_lxvd2x_v2di", v2di_ftype_long_pcvoid,
15639 + VSX_BUILTIN_LXVD2X_V2DI);
15640 + def_builtin ("__builtin_vsx_lxvw4x_v4sf", v4sf_ftype_long_pcvoid,
15641 + VSX_BUILTIN_LXVW4X_V4SF);
15642 + def_builtin ("__builtin_vsx_lxvw4x_v4si", v4si_ftype_long_pcvoid,
15643 + VSX_BUILTIN_LXVW4X_V4SI);
15644 + def_builtin ("__builtin_vsx_lxvw4x_v8hi", v8hi_ftype_long_pcvoid,
15645 + VSX_BUILTIN_LXVW4X_V8HI);
15646 + def_builtin ("__builtin_vsx_lxvw4x_v16qi", v16qi_ftype_long_pcvoid,
15647 + VSX_BUILTIN_LXVW4X_V16QI);
15648 + def_builtin ("__builtin_vsx_stxvd2x_v2df", void_ftype_v2df_long_pvoid,
15649 + VSX_BUILTIN_STXVD2X_V2DF);
15650 + def_builtin ("__builtin_vsx_stxvd2x_v2di", void_ftype_v2di_long_pvoid,
15651 + VSX_BUILTIN_STXVD2X_V2DI);
15652 + def_builtin ("__builtin_vsx_stxvw4x_v4sf", void_ftype_v4sf_long_pvoid,
15653 + VSX_BUILTIN_STXVW4X_V4SF);
15654 + def_builtin ("__builtin_vsx_stxvw4x_v4si", void_ftype_v4si_long_pvoid,
15655 + VSX_BUILTIN_STXVW4X_V4SI);
15656 + def_builtin ("__builtin_vsx_stxvw4x_v8hi", void_ftype_v8hi_long_pvoid,
15657 + VSX_BUILTIN_STXVW4X_V8HI);
15658 + def_builtin ("__builtin_vsx_stxvw4x_v16qi", void_ftype_v16qi_long_pvoid,
15659 + VSX_BUILTIN_STXVW4X_V16QI);
15660 + def_builtin ("__builtin_vec_vsx_ld", opaque_ftype_long_pcvoid,
15661 + VSX_BUILTIN_VEC_LD);
15662 + def_builtin ("__builtin_vec_vsx_st", void_ftype_opaque_long_pvoid,
15663 + VSX_BUILTIN_VEC_ST);
15665 + def_builtin ("__builtin_vec_step", int_ftype_opaque, ALTIVEC_BUILTIN_VEC_STEP);
15666 + def_builtin ("__builtin_vec_splats", opaque_ftype_opaque, ALTIVEC_BUILTIN_VEC_SPLATS);
15667 + def_builtin ("__builtin_vec_promote", opaque_ftype_opaque, ALTIVEC_BUILTIN_VEC_PROMOTE);
15669 + def_builtin ("__builtin_vec_sld", opaque_ftype_opaque_opaque_int, ALTIVEC_BUILTIN_VEC_SLD);
15670 + def_builtin ("__builtin_vec_splat", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_SPLAT);
15671 + def_builtin ("__builtin_vec_extract", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_EXTRACT);
15672 + def_builtin ("__builtin_vec_insert", opaque_ftype_opaque_opaque_int, ALTIVEC_BUILTIN_VEC_INSERT);
15673 + def_builtin ("__builtin_vec_vspltw", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_VSPLTW);
15674 + def_builtin ("__builtin_vec_vsplth", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_VSPLTH);
15675 + def_builtin ("__builtin_vec_vspltb", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_VSPLTB);
15676 + def_builtin ("__builtin_vec_ctf", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_CTF);
15677 + def_builtin ("__builtin_vec_vcfsx", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_VCFSX);
15678 + def_builtin ("__builtin_vec_vcfux", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_VCFUX);
15679 + def_builtin ("__builtin_vec_cts", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_CTS);
15680 + def_builtin ("__builtin_vec_ctu", opaque_ftype_opaque_int, ALTIVEC_BUILTIN_VEC_CTU);
15682 + /* Cell builtins. */
15683 + def_builtin ("__builtin_altivec_lvlx", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVLX);
15684 + def_builtin ("__builtin_altivec_lvlxl", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVLXL);
15685 + def_builtin ("__builtin_altivec_lvrx", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVRX);
15686 + def_builtin ("__builtin_altivec_lvrxl", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_LVRXL);
15688 + def_builtin ("__builtin_vec_lvlx", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVLX);
15689 + def_builtin ("__builtin_vec_lvlxl", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVLXL);
15690 + def_builtin ("__builtin_vec_lvrx", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVRX);
15691 + def_builtin ("__builtin_vec_lvrxl", v16qi_ftype_long_pcvoid, ALTIVEC_BUILTIN_VEC_LVRXL);
15693 + def_builtin ("__builtin_altivec_stvlx", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_STVLX);
15694 + def_builtin ("__builtin_altivec_stvlxl", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_STVLXL);
15695 + def_builtin ("__builtin_altivec_stvrx", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_STVRX);
15696 + def_builtin ("__builtin_altivec_stvrxl", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_STVRXL);
15698 + def_builtin ("__builtin_vec_stvlx", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_VEC_STVLX);
15699 + def_builtin ("__builtin_vec_stvlxl", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_VEC_STVLXL);
15700 + def_builtin ("__builtin_vec_stvrx", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_VEC_STVRX);
15701 + def_builtin ("__builtin_vec_stvrxl", void_ftype_v16qi_long_pvoid, ALTIVEC_BUILTIN_VEC_STVRXL);
15703 + /* Add the DST variants. */
15704 + d = bdesc_dst;
15705 + for (i = 0; i < ARRAY_SIZE (bdesc_dst); i++, d++)
15706 + def_builtin (d->name, void_ftype_pcvoid_int_int, d->code);
15708 + /* Initialize the predicates. */
15709 + d = bdesc_altivec_preds;
15710 + for (i = 0; i < ARRAY_SIZE (bdesc_altivec_preds); i++, d++)
15712 + machine_mode mode1;
15713 + tree type;
15715 + if (rs6000_overloaded_builtin_p (d->code))
15716 + mode1 = VOIDmode;
15717 + else
15718 + mode1 = insn_data[d->icode].operand[1].mode;
15720 + switch (mode1)
15722 + case VOIDmode:
15723 + type = int_ftype_int_opaque_opaque;
15724 + break;
15725 + case V2DImode:
15726 + type = int_ftype_int_v2di_v2di;
15727 + break;
15728 + case V4SImode:
15729 + type = int_ftype_int_v4si_v4si;
15730 + break;
15731 + case V8HImode:
15732 + type = int_ftype_int_v8hi_v8hi;
15733 + break;
15734 + case V16QImode:
15735 + type = int_ftype_int_v16qi_v16qi;
15736 + break;
15737 + case V4SFmode:
15738 + type = int_ftype_int_v4sf_v4sf;
15739 + break;
15740 + case V2DFmode:
15741 + type = int_ftype_int_v2df_v2df;
15742 + break;
15743 + default:
15744 + gcc_unreachable ();
15747 + def_builtin (d->name, type, d->code);
15750 + /* Initialize the abs* operators. */
15751 + d = bdesc_abs;
15752 + for (i = 0; i < ARRAY_SIZE (bdesc_abs); i++, d++)
15754 + machine_mode mode0;
15755 + tree type;
15757 + mode0 = insn_data[d->icode].operand[0].mode;
15759 + switch (mode0)
15761 + case V2DImode:
15762 + type = v2di_ftype_v2di;
15763 + break;
15764 + case V4SImode:
15765 + type = v4si_ftype_v4si;
15766 + break;
15767 + case V8HImode:
15768 + type = v8hi_ftype_v8hi;
15769 + break;
15770 + case V16QImode:
15771 + type = v16qi_ftype_v16qi;
15772 + break;
15773 + case V4SFmode:
15774 + type = v4sf_ftype_v4sf;
15775 + break;
15776 + case V2DFmode:
15777 + type = v2df_ftype_v2df;
15778 + break;
15779 + default:
15780 + gcc_unreachable ();
15783 + def_builtin (d->name, type, d->code);
15786 + /* Initialize target builtin that implements
15787 + targetm.vectorize.builtin_mask_for_load. */
15789 + decl = add_builtin_function ("__builtin_altivec_mask_for_load",
15790 + v16qi_ftype_long_pcvoid,
15791 + ALTIVEC_BUILTIN_MASK_FOR_LOAD,
15792 + BUILT_IN_MD, NULL, NULL_TREE);
15793 + TREE_READONLY (decl) = 1;
15794 + /* Record the decl. Will be used by rs6000_builtin_mask_for_load. */
15795 + altivec_builtin_mask_for_load = decl;
15797 + /* Access to the vec_init patterns. */
15798 + ftype = build_function_type_list (V4SI_type_node, integer_type_node,
15799 + integer_type_node, integer_type_node,
15800 + integer_type_node, NULL_TREE);
15801 + def_builtin ("__builtin_vec_init_v4si", ftype, ALTIVEC_BUILTIN_VEC_INIT_V4SI);
15803 + ftype = build_function_type_list (V8HI_type_node, short_integer_type_node,
15804 + short_integer_type_node,
15805 + short_integer_type_node,
15806 + short_integer_type_node,
15807 + short_integer_type_node,
15808 + short_integer_type_node,
15809 + short_integer_type_node,
15810 + short_integer_type_node, NULL_TREE);
15811 + def_builtin ("__builtin_vec_init_v8hi", ftype, ALTIVEC_BUILTIN_VEC_INIT_V8HI);
15813 + ftype = build_function_type_list (V16QI_type_node, char_type_node,
15814 + char_type_node, char_type_node,
15815 + char_type_node, char_type_node,
15816 + char_type_node, char_type_node,
15817 + char_type_node, char_type_node,
15818 + char_type_node, char_type_node,
15819 + char_type_node, char_type_node,
15820 + char_type_node, char_type_node,
15821 + char_type_node, NULL_TREE);
15822 + def_builtin ("__builtin_vec_init_v16qi", ftype,
15823 + ALTIVEC_BUILTIN_VEC_INIT_V16QI);
15825 + ftype = build_function_type_list (V4SF_type_node, float_type_node,
15826 + float_type_node, float_type_node,
15827 + float_type_node, NULL_TREE);
15828 + def_builtin ("__builtin_vec_init_v4sf", ftype, ALTIVEC_BUILTIN_VEC_INIT_V4SF);
15830 + /* VSX builtins. */
15831 + ftype = build_function_type_list (V2DF_type_node, double_type_node,
15832 + double_type_node, NULL_TREE);
15833 + def_builtin ("__builtin_vec_init_v2df", ftype, VSX_BUILTIN_VEC_INIT_V2DF);
15835 + ftype = build_function_type_list (V2DI_type_node, intDI_type_node,
15836 + intDI_type_node, NULL_TREE);
15837 + def_builtin ("__builtin_vec_init_v2di", ftype, VSX_BUILTIN_VEC_INIT_V2DI);
15839 + /* Access to the vec_set patterns. */
15840 + ftype = build_function_type_list (V4SI_type_node, V4SI_type_node,
15841 + intSI_type_node,
15842 + integer_type_node, NULL_TREE);
15843 + def_builtin ("__builtin_vec_set_v4si", ftype, ALTIVEC_BUILTIN_VEC_SET_V4SI);
15845 + ftype = build_function_type_list (V8HI_type_node, V8HI_type_node,
15846 + intHI_type_node,
15847 + integer_type_node, NULL_TREE);
15848 + def_builtin ("__builtin_vec_set_v8hi", ftype, ALTIVEC_BUILTIN_VEC_SET_V8HI);
15850 + ftype = build_function_type_list (V16QI_type_node, V16QI_type_node,
15851 + intQI_type_node,
15852 + integer_type_node, NULL_TREE);
15853 + def_builtin ("__builtin_vec_set_v16qi", ftype, ALTIVEC_BUILTIN_VEC_SET_V16QI);
15855 + ftype = build_function_type_list (V4SF_type_node, V4SF_type_node,
15856 + float_type_node,
15857 + integer_type_node, NULL_TREE);
15858 + def_builtin ("__builtin_vec_set_v4sf", ftype, ALTIVEC_BUILTIN_VEC_SET_V4SF);
15860 + ftype = build_function_type_list (V2DF_type_node, V2DF_type_node,
15861 + double_type_node,
15862 + integer_type_node, NULL_TREE);
15863 + def_builtin ("__builtin_vec_set_v2df", ftype, VSX_BUILTIN_VEC_SET_V2DF);
15865 + ftype = build_function_type_list (V2DI_type_node, V2DI_type_node,
15866 + intDI_type_node,
15867 + integer_type_node, NULL_TREE);
15868 + def_builtin ("__builtin_vec_set_v2di", ftype, VSX_BUILTIN_VEC_SET_V2DI);
15870 + /* Access to the vec_extract patterns. */
15871 + ftype = build_function_type_list (intSI_type_node, V4SI_type_node,
15872 + integer_type_node, NULL_TREE);
15873 + def_builtin ("__builtin_vec_ext_v4si", ftype, ALTIVEC_BUILTIN_VEC_EXT_V4SI);
15875 + ftype = build_function_type_list (intHI_type_node, V8HI_type_node,
15876 + integer_type_node, NULL_TREE);
15877 + def_builtin ("__builtin_vec_ext_v8hi", ftype, ALTIVEC_BUILTIN_VEC_EXT_V8HI);
15879 + ftype = build_function_type_list (intQI_type_node, V16QI_type_node,
15880 + integer_type_node, NULL_TREE);
15881 + def_builtin ("__builtin_vec_ext_v16qi", ftype, ALTIVEC_BUILTIN_VEC_EXT_V16QI);
15883 + ftype = build_function_type_list (float_type_node, V4SF_type_node,
15884 + integer_type_node, NULL_TREE);
15885 + def_builtin ("__builtin_vec_ext_v4sf", ftype, ALTIVEC_BUILTIN_VEC_EXT_V4SF);
15887 + ftype = build_function_type_list (double_type_node, V2DF_type_node,
15888 + integer_type_node, NULL_TREE);
15889 + def_builtin ("__builtin_vec_ext_v2df", ftype, VSX_BUILTIN_VEC_EXT_V2DF);
15891 + ftype = build_function_type_list (intDI_type_node, V2DI_type_node,
15892 + integer_type_node, NULL_TREE);
15893 + def_builtin ("__builtin_vec_ext_v2di", ftype, VSX_BUILTIN_VEC_EXT_V2DI);
15896 + if (V1TI_type_node)
15898 + tree v1ti_ftype_long_pcvoid
15899 + = build_function_type_list (V1TI_type_node,
15900 + long_integer_type_node, pcvoid_type_node,
15901 + NULL_TREE);
15902 + tree void_ftype_v1ti_long_pvoid
15903 + = build_function_type_list (void_type_node,
15904 + V1TI_type_node, long_integer_type_node,
15905 + pvoid_type_node, NULL_TREE);
15906 + def_builtin ("__builtin_vsx_lxvd2x_v1ti", v1ti_ftype_long_pcvoid,
15907 + VSX_BUILTIN_LXVD2X_V1TI);
15908 + def_builtin ("__builtin_vsx_stxvd2x_v1ti", void_ftype_v1ti_long_pvoid,
15909 + VSX_BUILTIN_STXVD2X_V1TI);
15910 + ftype = build_function_type_list (V1TI_type_node, intTI_type_node,
15911 + NULL_TREE, NULL_TREE);
15912 + def_builtin ("__builtin_vec_init_v1ti", ftype, VSX_BUILTIN_VEC_INIT_V1TI);
15913 + ftype = build_function_type_list (V1TI_type_node, V1TI_type_node,
15914 + intTI_type_node,
15915 + integer_type_node, NULL_TREE);
15916 + def_builtin ("__builtin_vec_set_v1ti", ftype, VSX_BUILTIN_VEC_SET_V1TI);
15917 + ftype = build_function_type_list (intTI_type_node, V1TI_type_node,
15918 + integer_type_node, NULL_TREE);
15919 + def_builtin ("__builtin_vec_ext_v1ti", ftype, VSX_BUILTIN_VEC_EXT_V1TI);
15924 +static void
15925 +htm_init_builtins (void)
15927 + HOST_WIDE_INT builtin_mask = rs6000_builtin_mask;
15928 + const struct builtin_description *d;
15929 + size_t i;
15931 + d = bdesc_htm;
15932 + for (i = 0; i < ARRAY_SIZE (bdesc_htm); i++, d++)
15934 + tree op[MAX_HTM_OPERANDS], type;
15935 + HOST_WIDE_INT mask = d->mask;
15936 + unsigned attr = rs6000_builtin_info[d->code].attr;
15937 + bool void_func = (attr & RS6000_BTC_VOID);
15938 + int attr_args = (attr & RS6000_BTC_TYPE_MASK);
15939 + int nopnds = 0;
15940 + tree argtype = (attr & RS6000_BTC_SPR) ? long_unsigned_type_node
15941 + : unsigned_type_node;
15943 + if ((mask & builtin_mask) != mask)
15945 + if (TARGET_DEBUG_BUILTIN)
15946 + fprintf (stderr, "htm_builtin, skip binary %s\n", d->name);
15947 + continue;
15950 + if (d->name == 0)
15952 + if (TARGET_DEBUG_BUILTIN)
15953 + fprintf (stderr, "htm_builtin, bdesc_htm[%ld] no name\n",
15954 + (long unsigned) i);
15955 + continue;
15958 + op[nopnds++] = (void_func) ? void_type_node : argtype;
15960 + if (attr_args == RS6000_BTC_UNARY)
15961 + op[nopnds++] = argtype;
15962 + else if (attr_args == RS6000_BTC_BINARY)
15964 + op[nopnds++] = argtype;
15965 + op[nopnds++] = argtype;
15967 + else if (attr_args == RS6000_BTC_TERNARY)
15969 + op[nopnds++] = argtype;
15970 + op[nopnds++] = argtype;
15971 + op[nopnds++] = argtype;
15974 + switch (nopnds)
15976 + case 1:
15977 + type = build_function_type_list (op[0], NULL_TREE);
15978 + break;
15979 + case 2:
15980 + type = build_function_type_list (op[0], op[1], NULL_TREE);
15981 + break;
15982 + case 3:
15983 + type = build_function_type_list (op[0], op[1], op[2], NULL_TREE);
15984 + break;
15985 + case 4:
15986 + type = build_function_type_list (op[0], op[1], op[2], op[3],
15987 + NULL_TREE);
15988 + break;
15989 + default:
15990 + gcc_unreachable ();
15993 + def_builtin (d->name, type, d->code);
15997 +/* Hash function for builtin functions with up to 3 arguments and a return
15998 + type. */
15999 +hashval_t
16000 +builtin_hasher::hash (builtin_hash_struct *bh)
16002 + unsigned ret = 0;
16003 + int i;
16005 + for (i = 0; i < 4; i++)
16007 + ret = (ret * (unsigned)MAX_MACHINE_MODE) + ((unsigned)bh->mode[i]);
16008 + ret = (ret * 2) + bh->uns_p[i];
16011 + return ret;
16014 +/* Compare builtin hash entries H1 and H2 for equivalence. */
16015 +bool
16016 +builtin_hasher::equal (builtin_hash_struct *p1, builtin_hash_struct *p2)
16018 + return ((p1->mode[0] == p2->mode[0])
16019 + && (p1->mode[1] == p2->mode[1])
16020 + && (p1->mode[2] == p2->mode[2])
16021 + && (p1->mode[3] == p2->mode[3])
16022 + && (p1->uns_p[0] == p2->uns_p[0])
16023 + && (p1->uns_p[1] == p2->uns_p[1])
16024 + && (p1->uns_p[2] == p2->uns_p[2])
16025 + && (p1->uns_p[3] == p2->uns_p[3]));
16028 +/* Map types for builtin functions with an explicit return type and up to 3
16029 + arguments. Functions with fewer than 3 arguments use VOIDmode as the type
16030 + of the argument. */
16031 +static tree
16032 +builtin_function_type (machine_mode mode_ret, machine_mode mode_arg0,
16033 + machine_mode mode_arg1, machine_mode mode_arg2,
16034 + enum rs6000_builtins builtin, const char *name)
16036 + struct builtin_hash_struct h;
16037 + struct builtin_hash_struct *h2;
16038 + int num_args = 3;
16039 + int i;
16040 + tree ret_type = NULL_TREE;
16041 + tree arg_type[3] = { NULL_TREE, NULL_TREE, NULL_TREE };
16043 + /* Create builtin_hash_table. */
16044 + if (builtin_hash_table == NULL)
16045 + builtin_hash_table = hash_table<builtin_hasher>::create_ggc (1500);
16047 + h.type = NULL_TREE;
16048 + h.mode[0] = mode_ret;
16049 + h.mode[1] = mode_arg0;
16050 + h.mode[2] = mode_arg1;
16051 + h.mode[3] = mode_arg2;
16052 + h.uns_p[0] = 0;
16053 + h.uns_p[1] = 0;
16054 + h.uns_p[2] = 0;
16055 + h.uns_p[3] = 0;
16057 + /* If the builtin is a type that produces unsigned results or takes unsigned
16058 + arguments, and it is returned as a decl for the vectorizer (such as
16059 + widening multiplies, permute), make sure the arguments and return value
16060 + are type correct. */
16061 + switch (builtin)
16063 + /* unsigned 1 argument functions. */
16064 + case CRYPTO_BUILTIN_VSBOX:
16065 + case P8V_BUILTIN_VGBBD:
16066 + case MISC_BUILTIN_CDTBCD:
16067 + case MISC_BUILTIN_CBCDTD:
16068 + h.uns_p[0] = 1;
16069 + h.uns_p[1] = 1;
16070 + break;
16072 + /* unsigned 2 argument functions. */
16073 + case ALTIVEC_BUILTIN_VMULEUB_UNS:
16074 + case ALTIVEC_BUILTIN_VMULEUH_UNS:
16075 + case ALTIVEC_BUILTIN_VMULOUB_UNS:
16076 + case ALTIVEC_BUILTIN_VMULOUH_UNS:
16077 + case CRYPTO_BUILTIN_VCIPHER:
16078 + case CRYPTO_BUILTIN_VCIPHERLAST:
16079 + case CRYPTO_BUILTIN_VNCIPHER:
16080 + case CRYPTO_BUILTIN_VNCIPHERLAST:
16081 + case CRYPTO_BUILTIN_VPMSUMB:
16082 + case CRYPTO_BUILTIN_VPMSUMH:
16083 + case CRYPTO_BUILTIN_VPMSUMW:
16084 + case CRYPTO_BUILTIN_VPMSUMD:
16085 + case CRYPTO_BUILTIN_VPMSUM:
16086 + case MISC_BUILTIN_ADDG6S:
16087 + case MISC_BUILTIN_DIVWEU:
16088 + case MISC_BUILTIN_DIVWEUO:
16089 + case MISC_BUILTIN_DIVDEU:
16090 + case MISC_BUILTIN_DIVDEUO:
16091 + h.uns_p[0] = 1;
16092 + h.uns_p[1] = 1;
16093 + h.uns_p[2] = 1;
16094 + break;
16096 + /* unsigned 3 argument functions. */
16097 + case ALTIVEC_BUILTIN_VPERM_16QI_UNS:
16098 + case ALTIVEC_BUILTIN_VPERM_8HI_UNS:
16099 + case ALTIVEC_BUILTIN_VPERM_4SI_UNS:
16100 + case ALTIVEC_BUILTIN_VPERM_2DI_UNS:
16101 + case ALTIVEC_BUILTIN_VSEL_16QI_UNS:
16102 + case ALTIVEC_BUILTIN_VSEL_8HI_UNS:
16103 + case ALTIVEC_BUILTIN_VSEL_4SI_UNS:
16104 + case ALTIVEC_BUILTIN_VSEL_2DI_UNS:
16105 + case VSX_BUILTIN_VPERM_16QI_UNS:
16106 + case VSX_BUILTIN_VPERM_8HI_UNS:
16107 + case VSX_BUILTIN_VPERM_4SI_UNS:
16108 + case VSX_BUILTIN_VPERM_2DI_UNS:
16109 + case VSX_BUILTIN_XXSEL_16QI_UNS:
16110 + case VSX_BUILTIN_XXSEL_8HI_UNS:
16111 + case VSX_BUILTIN_XXSEL_4SI_UNS:
16112 + case VSX_BUILTIN_XXSEL_2DI_UNS:
16113 + case CRYPTO_BUILTIN_VPERMXOR:
16114 + case CRYPTO_BUILTIN_VPERMXOR_V2DI:
16115 + case CRYPTO_BUILTIN_VPERMXOR_V4SI:
16116 + case CRYPTO_BUILTIN_VPERMXOR_V8HI:
16117 + case CRYPTO_BUILTIN_VPERMXOR_V16QI:
16118 + case CRYPTO_BUILTIN_VSHASIGMAW:
16119 + case CRYPTO_BUILTIN_VSHASIGMAD:
16120 + case CRYPTO_BUILTIN_VSHASIGMA:
16121 + h.uns_p[0] = 1;
16122 + h.uns_p[1] = 1;
16123 + h.uns_p[2] = 1;
16124 + h.uns_p[3] = 1;
16125 + break;
16127 + /* signed permute functions with unsigned char mask. */
16128 + case ALTIVEC_BUILTIN_VPERM_16QI:
16129 + case ALTIVEC_BUILTIN_VPERM_8HI:
16130 + case ALTIVEC_BUILTIN_VPERM_4SI:
16131 + case ALTIVEC_BUILTIN_VPERM_4SF:
16132 + case ALTIVEC_BUILTIN_VPERM_2DI:
16133 + case ALTIVEC_BUILTIN_VPERM_2DF:
16134 + case VSX_BUILTIN_VPERM_16QI:
16135 + case VSX_BUILTIN_VPERM_8HI:
16136 + case VSX_BUILTIN_VPERM_4SI:
16137 + case VSX_BUILTIN_VPERM_4SF:
16138 + case VSX_BUILTIN_VPERM_2DI:
16139 + case VSX_BUILTIN_VPERM_2DF:
16140 + h.uns_p[3] = 1;
16141 + break;
16143 + /* unsigned args, signed return. */
16144 + case VSX_BUILTIN_XVCVUXDDP_UNS:
16145 + case ALTIVEC_BUILTIN_UNSFLOAT_V4SI_V4SF:
16146 + h.uns_p[1] = 1;
16147 + break;
16149 + /* signed args, unsigned return. */
16150 + case VSX_BUILTIN_XVCVDPUXDS_UNS:
16151 + case ALTIVEC_BUILTIN_FIXUNS_V4SF_V4SI:
16152 + case MISC_BUILTIN_UNPACK_TD:
16153 + case MISC_BUILTIN_UNPACK_V1TI:
16154 + h.uns_p[0] = 1;
16155 + break;
16157 + /* unsigned arguments for 128-bit pack instructions. */
16158 + case MISC_BUILTIN_PACK_TD:
16159 + case MISC_BUILTIN_PACK_V1TI:
16160 + h.uns_p[1] = 1;
16161 + h.uns_p[2] = 1;
16162 + break;
16164 + default:
16165 + break;
16168 + /* Figure out how many args are present. */
16169 + while (num_args > 0 && h.mode[num_args] == VOIDmode)
16170 + num_args--;
16172 + if (num_args == 0)
16173 + fatal_error (input_location,
16174 + "internal error: builtin function %s had no type", name);
16176 + ret_type = builtin_mode_to_type[h.mode[0]][h.uns_p[0]];
16177 + if (!ret_type && h.uns_p[0])
16178 + ret_type = builtin_mode_to_type[h.mode[0]][0];
16180 + if (!ret_type)
16181 + fatal_error (input_location,
16182 + "internal error: builtin function %s had an unexpected "
16183 + "return type %s", name, GET_MODE_NAME (h.mode[0]));
16185 + for (i = 0; i < (int) ARRAY_SIZE (arg_type); i++)
16186 + arg_type[i] = NULL_TREE;
16188 + for (i = 0; i < num_args; i++)
16190 + int m = (int) h.mode[i+1];
16191 + int uns_p = h.uns_p[i+1];
16193 + arg_type[i] = builtin_mode_to_type[m][uns_p];
16194 + if (!arg_type[i] && uns_p)
16195 + arg_type[i] = builtin_mode_to_type[m][0];
16197 + if (!arg_type[i])
16198 + fatal_error (input_location,
16199 + "internal error: builtin function %s, argument %d "
16200 + "had unexpected argument type %s", name, i,
16201 + GET_MODE_NAME (m));
16204 + builtin_hash_struct **found = builtin_hash_table->find_slot (&h, INSERT);
16205 + if (*found == NULL)
16207 + h2 = ggc_alloc<builtin_hash_struct> ();
16208 + *h2 = h;
16209 + *found = h2;
16211 + h2->type = build_function_type_list (ret_type, arg_type[0], arg_type[1],
16212 + arg_type[2], NULL_TREE);
16215 + return (*found)->type;
16218 +static void
16219 +rs6000_common_init_builtins (void)
16221 + const struct builtin_description *d;
16222 + size_t i;
16224 + tree opaque_ftype_opaque = NULL_TREE;
16225 + tree opaque_ftype_opaque_opaque = NULL_TREE;
16226 + tree opaque_ftype_opaque_opaque_opaque = NULL_TREE;
16227 + tree v2si_ftype_qi = NULL_TREE;
16228 + tree v2si_ftype_v2si_qi = NULL_TREE;
16229 + tree v2si_ftype_int_qi = NULL_TREE;
16230 + HOST_WIDE_INT builtin_mask = rs6000_builtin_mask;
16232 + if (!TARGET_PAIRED_FLOAT)
16234 + builtin_mode_to_type[V2SImode][0] = opaque_V2SI_type_node;
16235 + builtin_mode_to_type[V2SFmode][0] = opaque_V2SF_type_node;
16238 + /* Paired and SPE builtins are only available if you build a compiler with
16239 + the appropriate options, so only create those builtins with the
16240 + appropriate compiler option. Create Altivec and VSX builtins on machines
16241 + with at least the general purpose extensions (970 and newer) to allow the
16242 + use of the target attribute.. */
16244 + if (TARGET_EXTRA_BUILTINS)
16245 + builtin_mask |= RS6000_BTM_COMMON;
16247 + /* Add the ternary operators. */
16248 + d = bdesc_3arg;
16249 + for (i = 0; i < ARRAY_SIZE (bdesc_3arg); i++, d++)
16251 + tree type;
16252 + HOST_WIDE_INT mask = d->mask;
16254 + if ((mask & builtin_mask) != mask)
16256 + if (TARGET_DEBUG_BUILTIN)
16257 + fprintf (stderr, "rs6000_builtin, skip ternary %s\n", d->name);
16258 + continue;
16261 + if (rs6000_overloaded_builtin_p (d->code))
16263 + if (! (type = opaque_ftype_opaque_opaque_opaque))
16264 + type = opaque_ftype_opaque_opaque_opaque
16265 + = build_function_type_list (opaque_V4SI_type_node,
16266 + opaque_V4SI_type_node,
16267 + opaque_V4SI_type_node,
16268 + opaque_V4SI_type_node,
16269 + NULL_TREE);
16271 + else
16273 + enum insn_code icode = d->icode;
16274 + if (d->name == 0)
16276 + if (TARGET_DEBUG_BUILTIN)
16277 + fprintf (stderr, "rs6000_builtin, bdesc_3arg[%ld] no name\n",
16278 + (long unsigned)i);
16280 + continue;
16283 + if (icode == CODE_FOR_nothing)
16285 + if (TARGET_DEBUG_BUILTIN)
16286 + fprintf (stderr, "rs6000_builtin, skip ternary %s (no code)\n",
16287 + d->name);
16289 + continue;
16292 + type = builtin_function_type (insn_data[icode].operand[0].mode,
16293 + insn_data[icode].operand[1].mode,
16294 + insn_data[icode].operand[2].mode,
16295 + insn_data[icode].operand[3].mode,
16296 + d->code, d->name);
16299 + def_builtin (d->name, type, d->code);
16302 + /* Add the binary operators. */
16303 + d = bdesc_2arg;
16304 + for (i = 0; i < ARRAY_SIZE (bdesc_2arg); i++, d++)
16306 + machine_mode mode0, mode1, mode2;
16307 + tree type;
16308 + HOST_WIDE_INT mask = d->mask;
16310 + if ((mask & builtin_mask) != mask)
16312 + if (TARGET_DEBUG_BUILTIN)
16313 + fprintf (stderr, "rs6000_builtin, skip binary %s\n", d->name);
16314 + continue;
16317 + if (rs6000_overloaded_builtin_p (d->code))
16319 + if (! (type = opaque_ftype_opaque_opaque))
16320 + type = opaque_ftype_opaque_opaque
16321 + = build_function_type_list (opaque_V4SI_type_node,
16322 + opaque_V4SI_type_node,
16323 + opaque_V4SI_type_node,
16324 + NULL_TREE);
16326 + else
16328 + enum insn_code icode = d->icode;
16329 + if (d->name == 0)
16331 + if (TARGET_DEBUG_BUILTIN)
16332 + fprintf (stderr, "rs6000_builtin, bdesc_2arg[%ld] no name\n",
16333 + (long unsigned)i);
16335 + continue;
16338 + if (icode == CODE_FOR_nothing)
16340 + if (TARGET_DEBUG_BUILTIN)
16341 + fprintf (stderr, "rs6000_builtin, skip binary %s (no code)\n",
16342 + d->name);
16344 + continue;
16347 + mode0 = insn_data[icode].operand[0].mode;
16348 + mode1 = insn_data[icode].operand[1].mode;
16349 + mode2 = insn_data[icode].operand[2].mode;
16351 + if (mode0 == V2SImode && mode1 == V2SImode && mode2 == QImode)
16353 + if (! (type = v2si_ftype_v2si_qi))
16354 + type = v2si_ftype_v2si_qi
16355 + = build_function_type_list (opaque_V2SI_type_node,
16356 + opaque_V2SI_type_node,
16357 + char_type_node,
16358 + NULL_TREE);
16361 + else if (mode0 == V2SImode && GET_MODE_CLASS (mode1) == MODE_INT
16362 + && mode2 == QImode)
16364 + if (! (type = v2si_ftype_int_qi))
16365 + type = v2si_ftype_int_qi
16366 + = build_function_type_list (opaque_V2SI_type_node,
16367 + integer_type_node,
16368 + char_type_node,
16369 + NULL_TREE);
16372 + else
16373 + type = builtin_function_type (mode0, mode1, mode2, VOIDmode,
16374 + d->code, d->name);
16377 + def_builtin (d->name, type, d->code);
16380 + /* Add the simple unary operators. */
16381 + d = bdesc_1arg;
16382 + for (i = 0; i < ARRAY_SIZE (bdesc_1arg); i++, d++)
16384 + machine_mode mode0, mode1;
16385 + tree type;
16386 + HOST_WIDE_INT mask = d->mask;
16388 + if ((mask & builtin_mask) != mask)
16390 + if (TARGET_DEBUG_BUILTIN)
16391 + fprintf (stderr, "rs6000_builtin, skip unary %s\n", d->name);
16392 + continue;
16395 + if (rs6000_overloaded_builtin_p (d->code))
16397 + if (! (type = opaque_ftype_opaque))
16398 + type = opaque_ftype_opaque
16399 + = build_function_type_list (opaque_V4SI_type_node,
16400 + opaque_V4SI_type_node,
16401 + NULL_TREE);
16403 + else
16405 + enum insn_code icode = d->icode;
16406 + if (d->name == 0)
16408 + if (TARGET_DEBUG_BUILTIN)
16409 + fprintf (stderr, "rs6000_builtin, bdesc_1arg[%ld] no name\n",
16410 + (long unsigned)i);
16412 + continue;
16415 + if (icode == CODE_FOR_nothing)
16417 + if (TARGET_DEBUG_BUILTIN)
16418 + fprintf (stderr, "rs6000_builtin, skip unary %s (no code)\n",
16419 + d->name);
16421 + continue;
16424 + mode0 = insn_data[icode].operand[0].mode;
16425 + mode1 = insn_data[icode].operand[1].mode;
16427 + if (mode0 == V2SImode && mode1 == QImode)
16429 + if (! (type = v2si_ftype_qi))
16430 + type = v2si_ftype_qi
16431 + = build_function_type_list (opaque_V2SI_type_node,
16432 + char_type_node,
16433 + NULL_TREE);
16436 + else
16437 + type = builtin_function_type (mode0, mode1, VOIDmode, VOIDmode,
16438 + d->code, d->name);
16441 + def_builtin (d->name, type, d->code);
16445 +static void
16446 +rs6000_init_libfuncs (void)
16448 + if (!TARGET_IEEEQUAD)
16449 + /* AIX/Darwin/64-bit Linux quad floating point routines. */
16450 + if (!TARGET_XL_COMPAT)
16452 + set_optab_libfunc (add_optab, TFmode, "__gcc_qadd");
16453 + set_optab_libfunc (sub_optab, TFmode, "__gcc_qsub");
16454 + set_optab_libfunc (smul_optab, TFmode, "__gcc_qmul");
16455 + set_optab_libfunc (sdiv_optab, TFmode, "__gcc_qdiv");
16457 + if (!(TARGET_HARD_FLOAT && (TARGET_FPRS || TARGET_E500_DOUBLE)))
16459 + set_optab_libfunc (neg_optab, TFmode, "__gcc_qneg");
16460 + set_optab_libfunc (eq_optab, TFmode, "__gcc_qeq");
16461 + set_optab_libfunc (ne_optab, TFmode, "__gcc_qne");
16462 + set_optab_libfunc (gt_optab, TFmode, "__gcc_qgt");
16463 + set_optab_libfunc (ge_optab, TFmode, "__gcc_qge");
16464 + set_optab_libfunc (lt_optab, TFmode, "__gcc_qlt");
16465 + set_optab_libfunc (le_optab, TFmode, "__gcc_qle");
16467 + set_conv_libfunc (sext_optab, TFmode, SFmode, "__gcc_stoq");
16468 + set_conv_libfunc (sext_optab, TFmode, DFmode, "__gcc_dtoq");
16469 + set_conv_libfunc (trunc_optab, SFmode, TFmode, "__gcc_qtos");
16470 + set_conv_libfunc (trunc_optab, DFmode, TFmode, "__gcc_qtod");
16471 + set_conv_libfunc (sfix_optab, SImode, TFmode, "__gcc_qtoi");
16472 + set_conv_libfunc (ufix_optab, SImode, TFmode, "__gcc_qtou");
16473 + set_conv_libfunc (sfloat_optab, TFmode, SImode, "__gcc_itoq");
16474 + set_conv_libfunc (ufloat_optab, TFmode, SImode, "__gcc_utoq");
16477 + if (!(TARGET_HARD_FLOAT && TARGET_FPRS))
16478 + set_optab_libfunc (unord_optab, TFmode, "__gcc_qunord");
16480 + else
16482 + set_optab_libfunc (add_optab, TFmode, "_xlqadd");
16483 + set_optab_libfunc (sub_optab, TFmode, "_xlqsub");
16484 + set_optab_libfunc (smul_optab, TFmode, "_xlqmul");
16485 + set_optab_libfunc (sdiv_optab, TFmode, "_xlqdiv");
16487 + else
16489 + /* 32-bit SVR4 quad floating point routines. */
16491 + set_optab_libfunc (add_optab, TFmode, "_q_add");
16492 + set_optab_libfunc (sub_optab, TFmode, "_q_sub");
16493 + set_optab_libfunc (neg_optab, TFmode, "_q_neg");
16494 + set_optab_libfunc (smul_optab, TFmode, "_q_mul");
16495 + set_optab_libfunc (sdiv_optab, TFmode, "_q_div");
16496 + if (TARGET_PPC_GPOPT)
16497 + set_optab_libfunc (sqrt_optab, TFmode, "_q_sqrt");
16499 + set_optab_libfunc (eq_optab, TFmode, "_q_feq");
16500 + set_optab_libfunc (ne_optab, TFmode, "_q_fne");
16501 + set_optab_libfunc (gt_optab, TFmode, "_q_fgt");
16502 + set_optab_libfunc (ge_optab, TFmode, "_q_fge");
16503 + set_optab_libfunc (lt_optab, TFmode, "_q_flt");
16504 + set_optab_libfunc (le_optab, TFmode, "_q_fle");
16506 + set_conv_libfunc (sext_optab, TFmode, SFmode, "_q_stoq");
16507 + set_conv_libfunc (sext_optab, TFmode, DFmode, "_q_dtoq");
16508 + set_conv_libfunc (trunc_optab, SFmode, TFmode, "_q_qtos");
16509 + set_conv_libfunc (trunc_optab, DFmode, TFmode, "_q_qtod");
16510 + set_conv_libfunc (sfix_optab, SImode, TFmode, "_q_qtoi");
16511 + set_conv_libfunc (ufix_optab, SImode, TFmode, "_q_qtou");
16512 + set_conv_libfunc (sfloat_optab, TFmode, SImode, "_q_itoq");
16513 + set_conv_libfunc (ufloat_optab, TFmode, SImode, "_q_utoq");
16518 +/* Expand a block clear operation, and return 1 if successful. Return 0
16519 + if we should let the compiler generate normal code.
16521 + operands[0] is the destination
16522 + operands[1] is the length
16523 + operands[3] is the alignment */
16525 +int
16526 +expand_block_clear (rtx operands[])
16528 + rtx orig_dest = operands[0];
16529 + rtx bytes_rtx = operands[1];
16530 + rtx align_rtx = operands[3];
16531 + bool constp = (GET_CODE (bytes_rtx) == CONST_INT);
16532 + HOST_WIDE_INT align;
16533 + HOST_WIDE_INT bytes;
16534 + int offset;
16535 + int clear_bytes;
16536 + int clear_step;
16538 + /* If this is not a fixed size move, just call memcpy */
16539 + if (! constp)
16540 + return 0;
16542 + /* This must be a fixed size alignment */
16543 + gcc_assert (GET_CODE (align_rtx) == CONST_INT);
16544 + align = INTVAL (align_rtx) * BITS_PER_UNIT;
16546 + /* Anything to clear? */
16547 + bytes = INTVAL (bytes_rtx);
16548 + if (bytes <= 0)
16549 + return 1;
16551 + /* Use the builtin memset after a point, to avoid huge code bloat.
16552 + When optimize_size, avoid any significant code bloat; calling
16553 + memset is about 4 instructions, so allow for one instruction to
16554 + load zero and three to do clearing. */
16555 + if (TARGET_ALTIVEC && align >= 128)
16556 + clear_step = 16;
16557 + else if (TARGET_POWERPC64 && (align >= 64 || !STRICT_ALIGNMENT))
16558 + clear_step = 8;
16559 + else if (TARGET_SPE && align >= 64)
16560 + clear_step = 8;
16561 + else
16562 + clear_step = 4;
16564 + if (optimize_size && bytes > 3 * clear_step)
16565 + return 0;
16566 + if (! optimize_size && bytes > 8 * clear_step)
16567 + return 0;
16569 + for (offset = 0; bytes > 0; offset += clear_bytes, bytes -= clear_bytes)
16571 + machine_mode mode = BLKmode;
16572 + rtx dest;
16574 + if (bytes >= 16 && TARGET_ALTIVEC && align >= 128)
16576 + clear_bytes = 16;
16577 + mode = V4SImode;
16579 + else if (bytes >= 8 && TARGET_SPE && align >= 64)
16581 + clear_bytes = 8;
16582 + mode = V2SImode;
16584 + else if (bytes >= 8 && TARGET_POWERPC64
16585 + && (align >= 64 || !STRICT_ALIGNMENT))
16587 + clear_bytes = 8;
16588 + mode = DImode;
16589 + if (offset == 0 && align < 64)
16591 + rtx addr;
16593 + /* If the address form is reg+offset with offset not a
16594 + multiple of four, reload into reg indirect form here
16595 + rather than waiting for reload. This way we get one
16596 + reload, not one per store. */
16597 + addr = XEXP (orig_dest, 0);
16598 + if ((GET_CODE (addr) == PLUS || GET_CODE (addr) == LO_SUM)
16599 + && GET_CODE (XEXP (addr, 1)) == CONST_INT
16600 + && (INTVAL (XEXP (addr, 1)) & 3) != 0)
16602 + addr = copy_addr_to_reg (addr);
16603 + orig_dest = replace_equiv_address (orig_dest, addr);
16607 + else if (bytes >= 4 && (align >= 32 || !STRICT_ALIGNMENT))
16608 + { /* move 4 bytes */
16609 + clear_bytes = 4;
16610 + mode = SImode;
16612 + else if (bytes >= 2 && (align >= 16 || !STRICT_ALIGNMENT))
16613 + { /* move 2 bytes */
16614 + clear_bytes = 2;
16615 + mode = HImode;
16617 + else /* move 1 byte at a time */
16619 + clear_bytes = 1;
16620 + mode = QImode;
16623 + dest = adjust_address (orig_dest, mode, offset);
16625 + emit_move_insn (dest, CONST0_RTX (mode));
16628 + return 1;
16632 +/* Expand a block move operation, and return 1 if successful. Return 0
16633 + if we should let the compiler generate normal code.
16635 + operands[0] is the destination
16636 + operands[1] is the source
16637 + operands[2] is the length
16638 + operands[3] is the alignment */
16640 +#define MAX_MOVE_REG 4
16642 +int
16643 +expand_block_move (rtx operands[])
16645 + rtx orig_dest = operands[0];
16646 + rtx orig_src = operands[1];
16647 + rtx bytes_rtx = operands[2];
16648 + rtx align_rtx = operands[3];
16649 + int constp = (GET_CODE (bytes_rtx) == CONST_INT);
16650 + int align;
16651 + int bytes;
16652 + int offset;
16653 + int move_bytes;
16654 + rtx stores[MAX_MOVE_REG];
16655 + int num_reg = 0;
16657 + /* If this is not a fixed size move, just call memcpy */
16658 + if (! constp)
16659 + return 0;
16661 + /* This must be a fixed size alignment */
16662 + gcc_assert (GET_CODE (align_rtx) == CONST_INT);
16663 + align = INTVAL (align_rtx) * BITS_PER_UNIT;
16665 + /* Anything to move? */
16666 + bytes = INTVAL (bytes_rtx);
16667 + if (bytes <= 0)
16668 + return 1;
16670 + if (bytes > rs6000_block_move_inline_limit)
16671 + return 0;
16673 + for (offset = 0; bytes > 0; offset += move_bytes, bytes -= move_bytes)
16675 + union {
16676 + rtx (*movmemsi) (rtx, rtx, rtx, rtx);
16677 + rtx (*mov) (rtx, rtx);
16678 + } gen_func;
16679 + machine_mode mode = BLKmode;
16680 + rtx src, dest;
16682 + /* Altivec first, since it will be faster than a string move
16683 + when it applies, and usually not significantly larger. */
16684 + if (TARGET_ALTIVEC && bytes >= 16 && align >= 128)
16686 + move_bytes = 16;
16687 + mode = V4SImode;
16688 + gen_func.mov = gen_movv4si;
16690 + else if (TARGET_SPE && bytes >= 8 && align >= 64)
16692 + move_bytes = 8;
16693 + mode = V2SImode;
16694 + gen_func.mov = gen_movv2si;
16696 + else if (TARGET_STRING
16697 + && bytes > 24 /* move up to 32 bytes at a time */
16698 + && ! fixed_regs[5]
16699 + && ! fixed_regs[6]
16700 + && ! fixed_regs[7]
16701 + && ! fixed_regs[8]
16702 + && ! fixed_regs[9]
16703 + && ! fixed_regs[10]
16704 + && ! fixed_regs[11]
16705 + && ! fixed_regs[12])
16707 + move_bytes = (bytes > 32) ? 32 : bytes;
16708 + gen_func.movmemsi = gen_movmemsi_8reg;
16710 + else if (TARGET_STRING
16711 + && bytes > 16 /* move up to 24 bytes at a time */
16712 + && ! fixed_regs[5]
16713 + && ! fixed_regs[6]
16714 + && ! fixed_regs[7]
16715 + && ! fixed_regs[8]
16716 + && ! fixed_regs[9]
16717 + && ! fixed_regs[10])
16719 + move_bytes = (bytes > 24) ? 24 : bytes;
16720 + gen_func.movmemsi = gen_movmemsi_6reg;
16722 + else if (TARGET_STRING
16723 + && bytes > 8 /* move up to 16 bytes at a time */
16724 + && ! fixed_regs[5]
16725 + && ! fixed_regs[6]
16726 + && ! fixed_regs[7]
16727 + && ! fixed_regs[8])
16729 + move_bytes = (bytes > 16) ? 16 : bytes;
16730 + gen_func.movmemsi = gen_movmemsi_4reg;
16732 + else if (bytes >= 8 && TARGET_POWERPC64
16733 + && (align >= 64 || !STRICT_ALIGNMENT))
16735 + move_bytes = 8;
16736 + mode = DImode;
16737 + gen_func.mov = gen_movdi;
16738 + if (offset == 0 && align < 64)
16740 + rtx addr;
16742 + /* If the address form is reg+offset with offset not a
16743 + multiple of four, reload into reg indirect form here
16744 + rather than waiting for reload. This way we get one
16745 + reload, not one per load and/or store. */
16746 + addr = XEXP (orig_dest, 0);
16747 + if ((GET_CODE (addr) == PLUS || GET_CODE (addr) == LO_SUM)
16748 + && GET_CODE (XEXP (addr, 1)) == CONST_INT
16749 + && (INTVAL (XEXP (addr, 1)) & 3) != 0)
16751 + addr = copy_addr_to_reg (addr);
16752 + orig_dest = replace_equiv_address (orig_dest, addr);
16754 + addr = XEXP (orig_src, 0);
16755 + if ((GET_CODE (addr) == PLUS || GET_CODE (addr) == LO_SUM)
16756 + && GET_CODE (XEXP (addr, 1)) == CONST_INT
16757 + && (INTVAL (XEXP (addr, 1)) & 3) != 0)
16759 + addr = copy_addr_to_reg (addr);
16760 + orig_src = replace_equiv_address (orig_src, addr);
16764 + else if (TARGET_STRING && bytes > 4 && !TARGET_POWERPC64)
16765 + { /* move up to 8 bytes at a time */
16766 + move_bytes = (bytes > 8) ? 8 : bytes;
16767 + gen_func.movmemsi = gen_movmemsi_2reg;
16769 + else if (bytes >= 4 && (align >= 32 || !STRICT_ALIGNMENT))
16770 + { /* move 4 bytes */
16771 + move_bytes = 4;
16772 + mode = SImode;
16773 + gen_func.mov = gen_movsi;
16775 + else if (bytes >= 2 && (align >= 16 || !STRICT_ALIGNMENT))
16776 + { /* move 2 bytes */
16777 + move_bytes = 2;
16778 + mode = HImode;
16779 + gen_func.mov = gen_movhi;
16781 + else if (TARGET_STRING && bytes > 1)
16782 + { /* move up to 4 bytes at a time */
16783 + move_bytes = (bytes > 4) ? 4 : bytes;
16784 + gen_func.movmemsi = gen_movmemsi_1reg;
16786 + else /* move 1 byte at a time */
16788 + move_bytes = 1;
16789 + mode = QImode;
16790 + gen_func.mov = gen_movqi;
16793 + src = adjust_address (orig_src, mode, offset);
16794 + dest = adjust_address (orig_dest, mode, offset);
16796 + if (mode != BLKmode)
16798 + rtx tmp_reg = gen_reg_rtx (mode);
16800 + emit_insn ((*gen_func.mov) (tmp_reg, src));
16801 + stores[num_reg++] = (*gen_func.mov) (dest, tmp_reg);
16804 + if (mode == BLKmode || num_reg >= MAX_MOVE_REG || bytes == move_bytes)
16806 + int i;
16807 + for (i = 0; i < num_reg; i++)
16808 + emit_insn (stores[i]);
16809 + num_reg = 0;
16812 + if (mode == BLKmode)
16814 + /* Move the address into scratch registers. The movmemsi
16815 + patterns require zero offset. */
16816 + if (!REG_P (XEXP (src, 0)))
16818 + rtx src_reg = copy_addr_to_reg (XEXP (src, 0));
16819 + src = replace_equiv_address (src, src_reg);
16821 + set_mem_size (src, move_bytes);
16823 + if (!REG_P (XEXP (dest, 0)))
16825 + rtx dest_reg = copy_addr_to_reg (XEXP (dest, 0));
16826 + dest = replace_equiv_address (dest, dest_reg);
16828 + set_mem_size (dest, move_bytes);
16830 + emit_insn ((*gen_func.movmemsi) (dest, src,
16831 + GEN_INT (move_bytes & 31),
16832 + align_rtx));
16836 + return 1;
16840 +/* Return a string to perform a load_multiple operation.
16841 + operands[0] is the vector.
16842 + operands[1] is the source address.
16843 + operands[2] is the first destination register. */
16845 +const char *
16846 +rs6000_output_load_multiple (rtx operands[3])
16848 + /* We have to handle the case where the pseudo used to contain the address
16849 + is assigned to one of the output registers. */
16850 + int i, j;
16851 + int words = XVECLEN (operands[0], 0);
16852 + rtx xop[10];
16854 + if (XVECLEN (operands[0], 0) == 1)
16855 + return "lwz %2,0(%1)";
16857 + for (i = 0; i < words; i++)
16858 + if (refers_to_regno_p (REGNO (operands[2]) + i, operands[1]))
16860 + if (i == words-1)
16862 + xop[0] = GEN_INT (4 * (words-1));
16863 + xop[1] = operands[1];
16864 + xop[2] = operands[2];
16865 + output_asm_insn ("lswi %2,%1,%0\n\tlwz %1,%0(%1)", xop);
16866 + return "";
16868 + else if (i == 0)
16870 + xop[0] = GEN_INT (4 * (words-1));
16871 + xop[1] = operands[1];
16872 + xop[2] = gen_rtx_REG (SImode, REGNO (operands[2]) + 1);
16873 + output_asm_insn ("addi %1,%1,4\n\tlswi %2,%1,%0\n\tlwz %1,-4(%1)", xop);
16874 + return "";
16876 + else
16878 + for (j = 0; j < words; j++)
16879 + if (j != i)
16881 + xop[0] = GEN_INT (j * 4);
16882 + xop[1] = operands[1];
16883 + xop[2] = gen_rtx_REG (SImode, REGNO (operands[2]) + j);
16884 + output_asm_insn ("lwz %2,%0(%1)", xop);
16886 + xop[0] = GEN_INT (i * 4);
16887 + xop[1] = operands[1];
16888 + output_asm_insn ("lwz %1,%0(%1)", xop);
16889 + return "";
16893 + return "lswi %2,%1,%N0";
16897 +/* A validation routine: say whether CODE, a condition code, and MODE
16898 + match. The other alternatives either don't make sense or should
16899 + never be generated. */
16901 +void
16902 +validate_condition_mode (enum rtx_code code, machine_mode mode)
16904 + gcc_assert ((GET_RTX_CLASS (code) == RTX_COMPARE
16905 + || GET_RTX_CLASS (code) == RTX_COMM_COMPARE)
16906 + && GET_MODE_CLASS (mode) == MODE_CC);
16908 + /* These don't make sense. */
16909 + gcc_assert ((code != GT && code != LT && code != GE && code != LE)
16910 + || mode != CCUNSmode);
16912 + gcc_assert ((code != GTU && code != LTU && code != GEU && code != LEU)
16913 + || mode == CCUNSmode);
16915 + gcc_assert (mode == CCFPmode
16916 + || (code != ORDERED && code != UNORDERED
16917 + && code != UNEQ && code != LTGT
16918 + && code != UNGT && code != UNLT
16919 + && code != UNGE && code != UNLE));
16921 + /* These should never be generated except for
16922 + flag_finite_math_only. */
16923 + gcc_assert (mode != CCFPmode
16924 + || flag_finite_math_only
16925 + || (code != LE && code != GE
16926 + && code != UNEQ && code != LTGT
16927 + && code != UNGT && code != UNLT));
16929 + /* These are invalid; the information is not there. */
16930 + gcc_assert (mode != CCEQmode || code == EQ || code == NE);
16934 +/* Return 1 if ANDOP is a mask that has no bits on that are not in the
16935 + mask required to convert the result of a rotate insn into a shift
16936 + left insn of SHIFTOP bits. Both are known to be SImode CONST_INT. */
16938 +int
16939 +includes_lshift_p (rtx shiftop, rtx andop)
16941 + unsigned HOST_WIDE_INT shift_mask = ~(unsigned HOST_WIDE_INT) 0;
16943 + shift_mask <<= INTVAL (shiftop);
16945 + return (INTVAL (andop) & 0xffffffff & ~shift_mask) == 0;
16948 +/* Similar, but for right shift. */
16950 +int
16951 +includes_rshift_p (rtx shiftop, rtx andop)
16953 + unsigned HOST_WIDE_INT shift_mask = ~(unsigned HOST_WIDE_INT) 0;
16955 + shift_mask >>= INTVAL (shiftop);
16957 + return (INTVAL (andop) & 0xffffffff & ~shift_mask) == 0;
16960 +/* Return 1 if ANDOP is a mask suitable for use with an rldic insn
16961 + to perform a left shift. It must have exactly SHIFTOP least
16962 + significant 0's, then one or more 1's, then zero or more 0's. */
16964 +int
16965 +includes_rldic_lshift_p (rtx shiftop, rtx andop)
16967 + if (GET_CODE (andop) == CONST_INT)
16969 + unsigned HOST_WIDE_INT c, lsb, shift_mask;
16971 + c = INTVAL (andop);
16972 + if (c == 0 || c == HOST_WIDE_INT_M1U)
16973 + return 0;
16975 + shift_mask = HOST_WIDE_INT_M1U;
16976 + shift_mask <<= INTVAL (shiftop);
16978 + /* Find the least significant one bit. */
16979 + lsb = c & -c;
16981 + /* It must coincide with the LSB of the shift mask. */
16982 + if (-lsb != shift_mask)
16983 + return 0;
16985 + /* Invert to look for the next transition (if any). */
16986 + c = ~c;
16988 + /* Remove the low group of ones (originally low group of zeros). */
16989 + c &= -lsb;
16991 + /* Again find the lsb, and check we have all 1's above. */
16992 + lsb = c & -c;
16993 + return c == -lsb;
16995 + else
16996 + return 0;
16999 +/* Return 1 if ANDOP is a mask suitable for use with an rldicr insn
17000 + to perform a left shift. It must have SHIFTOP or more least
17001 + significant 0's, with the remainder of the word 1's. */
17003 +int
17004 +includes_rldicr_lshift_p (rtx shiftop, rtx andop)
17006 + if (GET_CODE (andop) == CONST_INT)
17008 + unsigned HOST_WIDE_INT c, lsb, shift_mask;
17010 + shift_mask = HOST_WIDE_INT_M1U;
17011 + shift_mask <<= INTVAL (shiftop);
17012 + c = INTVAL (andop);
17014 + /* Find the least significant one bit. */
17015 + lsb = c & -c;
17017 + /* It must be covered by the shift mask.
17018 + This test also rejects c == 0. */
17019 + if ((lsb & shift_mask) == 0)
17020 + return 0;
17022 + /* Check we have all 1's above the transition, and reject all 1's. */
17023 + return c == -lsb && lsb != 1;
17025 + else
17026 + return 0;
17029 +/* Return 1 if operands will generate a valid arguments to rlwimi
17030 +instruction for insert with right shift in 64-bit mode. The mask may
17031 +not start on the first bit or stop on the last bit because wrap-around
17032 +effects of instruction do not correspond to semantics of RTL insn. */
17034 +int
17035 +insvdi_rshift_rlwimi_p (rtx sizeop, rtx startop, rtx shiftop)
17037 + if (INTVAL (startop) > 32
17038 + && INTVAL (startop) < 64
17039 + && INTVAL (sizeop) > 1
17040 + && INTVAL (sizeop) + INTVAL (startop) < 64
17041 + && INTVAL (shiftop) > 0
17042 + && INTVAL (sizeop) + INTVAL (shiftop) < 32
17043 + && (64 - (INTVAL (shiftop) & 63)) >= INTVAL (sizeop))
17044 + return 1;
17046 + return 0;
17049 +/* Return 1 if REGNO (reg1) == REGNO (reg2) - 1 making them candidates
17050 + for lfq and stfq insns iff the registers are hard registers. */
17052 +int
17053 +registers_ok_for_quad_peep (rtx reg1, rtx reg2)
17055 + /* We might have been passed a SUBREG. */
17056 + if (GET_CODE (reg1) != REG || GET_CODE (reg2) != REG)
17057 + return 0;
17059 + /* We might have been passed non floating point registers. */
17060 + if (!FP_REGNO_P (REGNO (reg1))
17061 + || !FP_REGNO_P (REGNO (reg2)))
17062 + return 0;
17064 + return (REGNO (reg1) == REGNO (reg2) - 1);
17067 +/* Return 1 if addr1 and addr2 are suitable for lfq or stfq insn.
17068 + addr1 and addr2 must be in consecutive memory locations
17069 + (addr2 == addr1 + 8). */
17071 +int
17072 +mems_ok_for_quad_peep (rtx mem1, rtx mem2)
17074 + rtx addr1, addr2;
17075 + unsigned int reg1, reg2;
17076 + int offset1, offset2;
17078 + /* The mems cannot be volatile. */
17079 + if (MEM_VOLATILE_P (mem1) || MEM_VOLATILE_P (mem2))
17080 + return 0;
17082 + addr1 = XEXP (mem1, 0);
17083 + addr2 = XEXP (mem2, 0);
17085 + /* Extract an offset (if used) from the first addr. */
17086 + if (GET_CODE (addr1) == PLUS)
17088 + /* If not a REG, return zero. */
17089 + if (GET_CODE (XEXP (addr1, 0)) != REG)
17090 + return 0;
17091 + else
17093 + reg1 = REGNO (XEXP (addr1, 0));
17094 + /* The offset must be constant! */
17095 + if (GET_CODE (XEXP (addr1, 1)) != CONST_INT)
17096 + return 0;
17097 + offset1 = INTVAL (XEXP (addr1, 1));
17100 + else if (GET_CODE (addr1) != REG)
17101 + return 0;
17102 + else
17104 + reg1 = REGNO (addr1);
17105 + /* This was a simple (mem (reg)) expression. Offset is 0. */
17106 + offset1 = 0;
17109 + /* And now for the second addr. */
17110 + if (GET_CODE (addr2) == PLUS)
17112 + /* If not a REG, return zero. */
17113 + if (GET_CODE (XEXP (addr2, 0)) != REG)
17114 + return 0;
17115 + else
17117 + reg2 = REGNO (XEXP (addr2, 0));
17118 + /* The offset must be constant. */
17119 + if (GET_CODE (XEXP (addr2, 1)) != CONST_INT)
17120 + return 0;
17121 + offset2 = INTVAL (XEXP (addr2, 1));
17124 + else if (GET_CODE (addr2) != REG)
17125 + return 0;
17126 + else
17128 + reg2 = REGNO (addr2);
17129 + /* This was a simple (mem (reg)) expression. Offset is 0. */
17130 + offset2 = 0;
17133 + /* Both of these must have the same base register. */
17134 + if (reg1 != reg2)
17135 + return 0;
17137 + /* The offset for the second addr must be 8 more than the first addr. */
17138 + if (offset2 != offset1 + 8)
17139 + return 0;
17141 + /* All the tests passed. addr1 and addr2 are valid for lfq or stfq
17142 + instructions. */
17143 + return 1;
17147 +rtx
17148 +rs6000_secondary_memory_needed_rtx (machine_mode mode)
17150 + static bool eliminated = false;
17151 + rtx ret;
17153 + if (mode != SDmode || TARGET_NO_SDMODE_STACK)
17154 + ret = assign_stack_local (mode, GET_MODE_SIZE (mode), 0);
17155 + else
17157 + rtx mem = cfun->machine->sdmode_stack_slot;
17158 + gcc_assert (mem != NULL_RTX);
17160 + if (!eliminated)
17162 + mem = eliminate_regs (mem, VOIDmode, NULL_RTX);
17163 + cfun->machine->sdmode_stack_slot = mem;
17164 + eliminated = true;
17166 + ret = mem;
17169 + if (TARGET_DEBUG_ADDR)
17171 + fprintf (stderr, "\nrs6000_secondary_memory_needed_rtx, mode %s, rtx:\n",
17172 + GET_MODE_NAME (mode));
17173 + if (!ret)
17174 + fprintf (stderr, "\tNULL_RTX\n");
17175 + else
17176 + debug_rtx (ret);
17179 + return ret;
17182 +/* Return the mode to be used for memory when a secondary memory
17183 + location is needed. For SDmode values we need to use DDmode, in
17184 + all other cases we can use the same mode. */
17185 +machine_mode
17186 +rs6000_secondary_memory_needed_mode (machine_mode mode)
17188 + if (lra_in_progress && mode == SDmode)
17189 + return DDmode;
17190 + return mode;
17193 +static tree
17194 +rs6000_check_sdmode (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
17196 + /* Don't walk into types. */
17197 + if (*tp == NULL_TREE || *tp == error_mark_node || TYPE_P (*tp))
17199 + *walk_subtrees = 0;
17200 + return NULL_TREE;
17203 + switch (TREE_CODE (*tp))
17205 + case VAR_DECL:
17206 + case PARM_DECL:
17207 + case FIELD_DECL:
17208 + case RESULT_DECL:
17209 + case SSA_NAME:
17210 + case REAL_CST:
17211 + case MEM_REF:
17212 + case VIEW_CONVERT_EXPR:
17213 + if (TYPE_MODE (TREE_TYPE (*tp)) == SDmode)
17214 + return *tp;
17215 + break;
17216 + default:
17217 + break;
17220 + return NULL_TREE;
17223 +/* Classify a register type. Because the FMRGOW/FMRGEW instructions only work
17224 + on traditional floating point registers, and the VMRGOW/VMRGEW instructions
17225 + only work on the traditional altivec registers, note if an altivec register
17226 + was chosen. */
17228 +static enum rs6000_reg_type
17229 +register_to_reg_type (rtx reg, bool *is_altivec)
17231 + HOST_WIDE_INT regno;
17232 + enum reg_class rclass;
17234 + if (GET_CODE (reg) == SUBREG)
17235 + reg = SUBREG_REG (reg);
17237 + if (!REG_P (reg))
17238 + return NO_REG_TYPE;
17240 + regno = REGNO (reg);
17241 + if (regno >= FIRST_PSEUDO_REGISTER)
17243 + if (!lra_in_progress && !reload_in_progress && !reload_completed)
17244 + return PSEUDO_REG_TYPE;
17246 + regno = true_regnum (reg);
17247 + if (regno < 0 || regno >= FIRST_PSEUDO_REGISTER)
17248 + return PSEUDO_REG_TYPE;
17249 + }
17251 + gcc_assert (regno >= 0);
17253 + if (is_altivec && ALTIVEC_REGNO_P (regno))
17254 + *is_altivec = true;
17256 + rclass = rs6000_regno_regclass[regno];
17257 + return reg_class_to_reg_type[(int)rclass];
17260 +/* Helper function to return the cost of adding a TOC entry address. */
17262 +static inline int
17263 +rs6000_secondary_reload_toc_costs (addr_mask_type addr_mask)
17265 + int ret;
17267 + if (TARGET_CMODEL != CMODEL_SMALL)
17268 + ret = ((addr_mask & RELOAD_REG_OFFSET) == 0) ? 1 : 2;
17270 + else
17271 + ret = (TARGET_MINIMAL_TOC) ? 6 : 3;
17273 + return ret;
17276 +/* Helper function for rs6000_secondary_reload to determine whether the memory
17277 + address (ADDR) with a given register class (RCLASS) and machine mode (MODE)
17278 + needs reloading. Return negative if the memory is not handled by the memory
17279 + helper functions and to try a different reload method, 0 if no additional
17280 + instructions are need, and positive to give the extra cost for the
17281 + memory. */
17283 +static int
17284 +rs6000_secondary_reload_memory (rtx addr,
17285 + enum reg_class rclass,
17286 + enum machine_mode mode)
17288 + int extra_cost = 0;
17289 + rtx reg, and_arg, plus_arg0, plus_arg1;
17290 + addr_mask_type addr_mask;
17291 + const char *type = NULL;
17292 + const char *fail_msg = NULL;
17294 + if (GPR_REG_CLASS_P (rclass))
17295 + addr_mask = reg_addr[mode].addr_mask[RELOAD_REG_GPR];
17297 + else if (rclass == FLOAT_REGS)
17298 + addr_mask = reg_addr[mode].addr_mask[RELOAD_REG_FPR];
17300 + else if (rclass == ALTIVEC_REGS)
17301 + addr_mask = reg_addr[mode].addr_mask[RELOAD_REG_VMX];
17303 + /* For the combined VSX_REGS, turn off Altivec AND -16. */
17304 + else if (rclass == VSX_REGS)
17305 + addr_mask = (reg_addr[mode].addr_mask[RELOAD_REG_VMX]
17306 + & ~RELOAD_REG_AND_M16);
17308 + else
17310 + if (TARGET_DEBUG_ADDR)
17311 + fprintf (stderr,
17312 + "rs6000_secondary_reload_memory: mode = %s, class = %s, "
17313 + "class is not GPR, FPR, VMX\n",
17314 + GET_MODE_NAME (mode), reg_class_names[rclass]);
17316 + return -1;
17319 + /* If the register isn't valid in this register class, just return now. */
17320 + if ((addr_mask & RELOAD_REG_VALID) == 0)
17322 + if (TARGET_DEBUG_ADDR)
17323 + fprintf (stderr,
17324 + "rs6000_secondary_reload_memory: mode = %s, class = %s, "
17325 + "not valid in class\n",
17326 + GET_MODE_NAME (mode), reg_class_names[rclass]);
17328 + return -1;
17331 + switch (GET_CODE (addr))
17333 + /* Does the register class supports auto update forms for this mode? We
17334 + don't need a scratch register, since the powerpc only supports
17335 + PRE_INC, PRE_DEC, and PRE_MODIFY. */
17336 + case PRE_INC:
17337 + case PRE_DEC:
17338 + reg = XEXP (addr, 0);
17339 + if (!base_reg_operand (addr, GET_MODE (reg)))
17341 + fail_msg = "no base register #1";
17342 + extra_cost = -1;
17345 + else if ((addr_mask & RELOAD_REG_PRE_INCDEC) == 0)
17347 + extra_cost = 1;
17348 + type = "update";
17350 + break;
17352 + case PRE_MODIFY:
17353 + reg = XEXP (addr, 0);
17354 + plus_arg1 = XEXP (addr, 1);
17355 + if (!base_reg_operand (reg, GET_MODE (reg))
17356 + || GET_CODE (plus_arg1) != PLUS
17357 + || !rtx_equal_p (reg, XEXP (plus_arg1, 0)))
17359 + fail_msg = "bad PRE_MODIFY";
17360 + extra_cost = -1;
17363 + else if ((addr_mask & RELOAD_REG_PRE_MODIFY) == 0)
17365 + extra_cost = 1;
17366 + type = "update";
17368 + break;
17370 + /* Do we need to simulate AND -16 to clear the bottom address bits used
17371 + in VMX load/stores? Only allow the AND for vector sizes. */
17372 + case AND:
17373 + and_arg = XEXP (addr, 0);
17374 + if (GET_MODE_SIZE (mode) != 16
17375 + || GET_CODE (XEXP (addr, 1)) != CONST_INT
17376 + || INTVAL (XEXP (addr, 1)) != -16)
17378 + fail_msg = "bad Altivec AND #1";
17379 + extra_cost = -1;
17382 + if (rclass != ALTIVEC_REGS)
17384 + if (legitimate_indirect_address_p (and_arg, false))
17385 + extra_cost = 1;
17387 + else if (legitimate_indexed_address_p (and_arg, false))
17388 + extra_cost = 2;
17390 + else
17392 + fail_msg = "bad Altivec AND #2";
17393 + extra_cost = -1;
17396 + type = "and";
17398 + break;
17400 + /* If this is an indirect address, make sure it is a base register. */
17401 + case REG:
17402 + case SUBREG:
17403 + if (!legitimate_indirect_address_p (addr, false))
17405 + extra_cost = 1;
17406 + type = "move";
17408 + break;
17410 + /* If this is an indexed address, make sure the register class can handle
17411 + indexed addresses for this mode. */
17412 + case PLUS:
17413 + plus_arg0 = XEXP (addr, 0);
17414 + plus_arg1 = XEXP (addr, 1);
17416 + /* (plus (plus (reg) (constant)) (constant)) is generated during
17417 + push_reload processing, so handle it now. */
17418 + if (GET_CODE (plus_arg0) == PLUS && CONST_INT_P (plus_arg1))
17420 + if ((addr_mask & RELOAD_REG_OFFSET) == 0)
17422 + extra_cost = 1;
17423 + type = "offset";
17427 + /* (plus (plus (reg) (constant)) (reg)) is also generated during
17428 + push_reload processing, so handle it now. */
17429 + else if (GET_CODE (plus_arg0) == PLUS && REG_P (plus_arg1))
17431 + if ((addr_mask & RELOAD_REG_INDEXED) == 0)
17433 + extra_cost = 1;
17434 + type = "indexed #2";
17438 + else if (!base_reg_operand (plus_arg0, GET_MODE (plus_arg0)))
17440 + fail_msg = "no base register #2";
17441 + extra_cost = -1;
17444 + else if (int_reg_operand (plus_arg1, GET_MODE (plus_arg1)))
17446 + if ((addr_mask & RELOAD_REG_INDEXED) == 0
17447 + || !legitimate_indexed_address_p (addr, false))
17449 + extra_cost = 1;
17450 + type = "indexed";
17454 + /* Make sure the register class can handle offset addresses. */
17455 + else if (rs6000_legitimate_offset_address_p (mode, addr, false, true))
17457 + if ((addr_mask & RELOAD_REG_OFFSET) == 0)
17459 + extra_cost = 1;
17460 + type = "offset";
17464 + else
17466 + fail_msg = "bad PLUS";
17467 + extra_cost = -1;
17470 + break;
17472 + case LO_SUM:
17473 + if (!legitimate_lo_sum_address_p (mode, addr, false))
17475 + fail_msg = "bad LO_SUM";
17476 + extra_cost = -1;
17479 + if ((addr_mask & RELOAD_REG_OFFSET) == 0)
17481 + extra_cost = 1;
17482 + type = "lo_sum";
17484 + break;
17486 + /* Static addresses need to create a TOC entry. */
17487 + case CONST:
17488 + case SYMBOL_REF:
17489 + case LABEL_REF:
17490 + type = "address";
17491 + extra_cost = rs6000_secondary_reload_toc_costs (addr_mask);
17492 + break;
17494 + /* TOC references look like offsetable memory. */
17495 + case UNSPEC:
17496 + if (TARGET_CMODEL == CMODEL_SMALL || XINT (addr, 1) != UNSPEC_TOCREL)
17498 + fail_msg = "bad UNSPEC";
17499 + extra_cost = -1;
17502 + else if ((addr_mask & RELOAD_REG_OFFSET) == 0)
17504 + extra_cost = 1;
17505 + type = "toc reference";
17507 + break;
17509 + default:
17511 + fail_msg = "bad address";
17512 + extra_cost = -1;
17516 + if (TARGET_DEBUG_ADDR /* && extra_cost != 0 */)
17518 + if (extra_cost < 0)
17519 + fprintf (stderr,
17520 + "rs6000_secondary_reload_memory error: mode = %s, "
17521 + "class = %s, addr_mask = '%s', %s\n",
17522 + GET_MODE_NAME (mode),
17523 + reg_class_names[rclass],
17524 + rs6000_debug_addr_mask (addr_mask, false),
17525 + (fail_msg != NULL) ? fail_msg : "<bad address>");
17527 + else
17528 + fprintf (stderr,
17529 + "rs6000_secondary_reload_memory: mode = %s, class = %s, "
17530 + "addr_mask = '%s', extra cost = %d, %s\n",
17531 + GET_MODE_NAME (mode),
17532 + reg_class_names[rclass],
17533 + rs6000_debug_addr_mask (addr_mask, false),
17534 + extra_cost,
17535 + (type) ? type : "<none>");
17537 + debug_rtx (addr);
17540 + return extra_cost;
17543 +/* Helper function for rs6000_secondary_reload to return true if a move to a
17544 + different register classe is really a simple move. */
17546 +static bool
17547 +rs6000_secondary_reload_simple_move (enum rs6000_reg_type to_type,
17548 + enum rs6000_reg_type from_type,
17549 + machine_mode mode)
17551 + int size;
17553 + /* Add support for various direct moves available. In this function, we only
17554 + look at cases where we don't need any extra registers, and one or more
17555 + simple move insns are issued. At present, 32-bit integers are not allowed
17556 + in FPR/VSX registers. Single precision binary floating is not a simple
17557 + move because we need to convert to the single precision memory layout.
17558 + The 4-byte SDmode can be moved. */
17559 + size = GET_MODE_SIZE (mode);
17560 + if (TARGET_DIRECT_MOVE
17561 + && ((mode == SDmode) || (TARGET_POWERPC64 && size == 8))
17562 + && ((to_type == GPR_REG_TYPE && from_type == VSX_REG_TYPE)
17563 + || (to_type == VSX_REG_TYPE && from_type == GPR_REG_TYPE)))
17564 + return true;
17566 + else if (TARGET_MFPGPR && TARGET_POWERPC64 && size == 8
17567 + && ((to_type == GPR_REG_TYPE && from_type == FPR_REG_TYPE)
17568 + || (to_type == FPR_REG_TYPE && from_type == GPR_REG_TYPE)))
17569 + return true;
17571 + else if ((size == 4 || (TARGET_POWERPC64 && size == 8))
17572 + && ((to_type == GPR_REG_TYPE && from_type == SPR_REG_TYPE)
17573 + || (to_type == SPR_REG_TYPE && from_type == GPR_REG_TYPE)))
17574 + return true;
17576 + return false;
17579 +/* Power8 helper function for rs6000_secondary_reload, handle all of the
17580 + special direct moves that involve allocating an extra register, return the
17581 + insn code of the helper function if there is such a function or
17582 + CODE_FOR_nothing if not. */
17584 +static bool
17585 +rs6000_secondary_reload_direct_move (enum rs6000_reg_type to_type,
17586 + enum rs6000_reg_type from_type,
17587 + machine_mode mode,
17588 + secondary_reload_info *sri,
17589 + bool altivec_p)
17591 + bool ret = false;
17592 + enum insn_code icode = CODE_FOR_nothing;
17593 + int cost = 0;
17594 + int size = GET_MODE_SIZE (mode);
17596 + if (TARGET_POWERPC64)
17598 + if (size == 16)
17600 + /* Handle moving 128-bit values from GPRs to VSX point registers on
17601 + power8 when running in 64-bit mode using XXPERMDI to glue the two
17602 + 64-bit values back together. */
17603 + if (to_type == VSX_REG_TYPE && from_type == GPR_REG_TYPE)
17605 + cost = 3; /* 2 mtvsrd's, 1 xxpermdi. */
17606 + icode = reg_addr[mode].reload_vsx_gpr;
17609 + /* Handle moving 128-bit values from VSX point registers to GPRs on
17610 + power8 when running in 64-bit mode using XXPERMDI to get access to the
17611 + bottom 64-bit value. */
17612 + else if (to_type == GPR_REG_TYPE && from_type == VSX_REG_TYPE)
17614 + cost = 3; /* 2 mfvsrd's, 1 xxpermdi. */
17615 + icode = reg_addr[mode].reload_gpr_vsx;
17619 + else if (mode == SFmode)
17621 + if (to_type == GPR_REG_TYPE && from_type == VSX_REG_TYPE)
17623 + cost = 3; /* xscvdpspn, mfvsrd, and. */
17624 + icode = reg_addr[mode].reload_gpr_vsx;
17627 + else if (to_type == VSX_REG_TYPE && from_type == GPR_REG_TYPE)
17629 + cost = 2; /* mtvsrz, xscvspdpn. */
17630 + icode = reg_addr[mode].reload_vsx_gpr;
17635 + if (TARGET_POWERPC64 && size == 16)
17637 + /* Handle moving 128-bit values from GPRs to VSX point registers on
17638 + power8 when running in 64-bit mode using XXPERMDI to glue the two
17639 + 64-bit values back together. */
17640 + if (to_type == VSX_REG_TYPE && from_type == GPR_REG_TYPE)
17642 + cost = 3; /* 2 mtvsrd's, 1 xxpermdi. */
17643 + icode = reg_addr[mode].reload_vsx_gpr;
17646 + /* Handle moving 128-bit values from VSX point registers to GPRs on
17647 + power8 when running in 64-bit mode using XXPERMDI to get access to the
17648 + bottom 64-bit value. */
17649 + else if (to_type == GPR_REG_TYPE && from_type == VSX_REG_TYPE)
17651 + cost = 3; /* 2 mfvsrd's, 1 xxpermdi. */
17652 + icode = reg_addr[mode].reload_gpr_vsx;
17656 + else if (!TARGET_POWERPC64 && size == 8)
17658 + /* Handle moving 64-bit values from GPRs to floating point registers on
17659 + power8 when running in 32-bit mode using FMRGOW to glue the two 32-bit
17660 + values back together. Altivec register classes must be handled
17661 + specially since a different instruction is used, and the secondary
17662 + reload support requires a single instruction class in the scratch
17663 + register constraint. However, right now TFmode is not allowed in
17664 + Altivec registers, so the pattern will never match. */
17665 + if (to_type == VSX_REG_TYPE && from_type == GPR_REG_TYPE && !altivec_p)
17667 + cost = 3; /* 2 mtvsrwz's, 1 fmrgow. */
17668 + icode = reg_addr[mode].reload_fpr_gpr;
17672 + if (icode != CODE_FOR_nothing)
17674 + ret = true;
17675 + if (sri)
17677 + sri->icode = icode;
17678 + sri->extra_cost = cost;
17682 + return ret;
17685 +/* Return whether a move between two register classes can be done either
17686 + directly (simple move) or via a pattern that uses a single extra temporary
17687 + (using power8's direct move in this case. */
17689 +static bool
17690 +rs6000_secondary_reload_move (enum rs6000_reg_type to_type,
17691 + enum rs6000_reg_type from_type,
17692 + machine_mode mode,
17693 + secondary_reload_info *sri,
17694 + bool altivec_p)
17696 + /* Fall back to load/store reloads if either type is not a register. */
17697 + if (to_type == NO_REG_TYPE || from_type == NO_REG_TYPE)
17698 + return false;
17700 + /* If we haven't allocated registers yet, assume the move can be done for the
17701 + standard register types. */
17702 + if ((to_type == PSEUDO_REG_TYPE && from_type == PSEUDO_REG_TYPE)
17703 + || (to_type == PSEUDO_REG_TYPE && IS_STD_REG_TYPE (from_type))
17704 + || (from_type == PSEUDO_REG_TYPE && IS_STD_REG_TYPE (to_type)))
17705 + return true;
17707 + /* Moves to the same set of registers is a simple move for non-specialized
17708 + registers. */
17709 + if (to_type == from_type && IS_STD_REG_TYPE (to_type))
17710 + return true;
17712 + /* Check whether a simple move can be done directly. */
17713 + if (rs6000_secondary_reload_simple_move (to_type, from_type, mode))
17715 + if (sri)
17717 + sri->icode = CODE_FOR_nothing;
17718 + sri->extra_cost = 0;
17720 + return true;
17723 + /* Now check if we can do it in a few steps. */
17724 + return rs6000_secondary_reload_direct_move (to_type, from_type, mode, sri,
17725 + altivec_p);
17728 +/* Inform reload about cases where moving X with a mode MODE to a register in
17729 + RCLASS requires an extra scratch or immediate register. Return the class
17730 + needed for the immediate register.
17732 + For VSX and Altivec, we may need a register to convert sp+offset into
17733 + reg+sp.
17735 + For misaligned 64-bit gpr loads and stores we need a register to
17736 + convert an offset address to indirect. */
17738 +static reg_class_t
17739 +rs6000_secondary_reload (bool in_p,
17740 + rtx x,
17741 + reg_class_t rclass_i,
17742 + machine_mode mode,
17743 + secondary_reload_info *sri)
17745 + enum reg_class rclass = (enum reg_class) rclass_i;
17746 + reg_class_t ret = ALL_REGS;
17747 + enum insn_code icode;
17748 + bool default_p = false;
17749 + bool done_p = false;
17751 + /* Allow subreg of memory before/during reload. */
17752 + bool memory_p = (MEM_P (x)
17753 + || (!reload_completed && GET_CODE (x) == SUBREG
17754 + && MEM_P (SUBREG_REG (x))));
17756 + sri->icode = CODE_FOR_nothing;
17757 + sri->extra_cost = 0;
17758 + icode = ((in_p)
17759 + ? reg_addr[mode].reload_load
17760 + : reg_addr[mode].reload_store);
17762 + if (REG_P (x) || register_operand (x, mode))
17764 + enum rs6000_reg_type to_type = reg_class_to_reg_type[(int)rclass];
17765 + bool altivec_p = (rclass == ALTIVEC_REGS);
17766 + enum rs6000_reg_type from_type = register_to_reg_type (x, &altivec_p);
17768 + if (!in_p)
17770 + enum rs6000_reg_type exchange = to_type;
17771 + to_type = from_type;
17772 + from_type = exchange;
17775 + /* Can we do a direct move of some sort? */
17776 + if (rs6000_secondary_reload_move (to_type, from_type, mode, sri,
17777 + altivec_p))
17779 + icode = (enum insn_code)sri->icode;
17780 + default_p = false;
17781 + done_p = true;
17782 + ret = NO_REGS;
17786 + /* Make sure 0.0 is not reloaded or forced into memory. */
17787 + if (x == CONST0_RTX (mode) && VSX_REG_CLASS_P (rclass))
17789 + ret = NO_REGS;
17790 + default_p = false;
17791 + done_p = true;
17794 + /* If this is a scalar floating point value and we want to load it into the
17795 + traditional Altivec registers, do it via a move via a traditional floating
17796 + point register. Also make sure that non-zero constants use a FPR. */
17797 + if (!done_p && reg_addr[mode].scalar_in_vmx_p
17798 + && (rclass == VSX_REGS || rclass == ALTIVEC_REGS)
17799 + && (memory_p || (GET_CODE (x) == CONST_DOUBLE)))
17801 + ret = FLOAT_REGS;
17802 + default_p = false;
17803 + done_p = true;
17806 + /* Handle reload of load/stores if we have reload helper functions. */
17807 + if (!done_p && icode != CODE_FOR_nothing && memory_p)
17809 + int extra_cost = rs6000_secondary_reload_memory (XEXP (x, 0), rclass,
17810 + mode);
17812 + if (extra_cost >= 0)
17814 + done_p = true;
17815 + ret = NO_REGS;
17816 + if (extra_cost > 0)
17818 + sri->extra_cost = extra_cost;
17819 + sri->icode = icode;
17824 + /* Handle unaligned loads and stores of integer registers. */
17825 + if (!done_p && TARGET_POWERPC64
17826 + && reg_class_to_reg_type[(int)rclass] == GPR_REG_TYPE
17827 + && memory_p
17828 + && GET_MODE_SIZE (GET_MODE (x)) >= UNITS_PER_WORD)
17830 + rtx addr = XEXP (x, 0);
17831 + rtx off = address_offset (addr);
17833 + if (off != NULL_RTX)
17835 + unsigned int extra = GET_MODE_SIZE (GET_MODE (x)) - UNITS_PER_WORD;
17836 + unsigned HOST_WIDE_INT offset = INTVAL (off);
17838 + /* We need a secondary reload when our legitimate_address_p
17839 + says the address is good (as otherwise the entire address
17840 + will be reloaded), and the offset is not a multiple of
17841 + four or we have an address wrap. Address wrap will only
17842 + occur for LO_SUMs since legitimate_offset_address_p
17843 + rejects addresses for 16-byte mems that will wrap. */
17844 + if (GET_CODE (addr) == LO_SUM
17845 + ? (1 /* legitimate_address_p allows any offset for lo_sum */
17846 + && ((offset & 3) != 0
17847 + || ((offset & 0xffff) ^ 0x8000) >= 0x10000 - extra))
17848 + : (offset + 0x8000 < 0x10000 - extra /* legitimate_address_p */
17849 + && (offset & 3) != 0))
17851 + /* -m32 -mpowerpc64 needs to use a 32-bit scratch register. */
17852 + if (in_p)
17853 + sri->icode = ((TARGET_32BIT) ? CODE_FOR_reload_si_load
17854 + : CODE_FOR_reload_di_load);
17855 + else
17856 + sri->icode = ((TARGET_32BIT) ? CODE_FOR_reload_si_store
17857 + : CODE_FOR_reload_di_store);
17858 + sri->extra_cost = 2;
17859 + ret = NO_REGS;
17860 + done_p = true;
17862 + else
17863 + default_p = true;
17865 + else
17866 + default_p = true;
17869 + if (!done_p && !TARGET_POWERPC64
17870 + && reg_class_to_reg_type[(int)rclass] == GPR_REG_TYPE
17871 + && memory_p
17872 + && GET_MODE_SIZE (GET_MODE (x)) > UNITS_PER_WORD)
17874 + rtx addr = XEXP (x, 0);
17875 + rtx off = address_offset (addr);
17877 + if (off != NULL_RTX)
17879 + unsigned int extra = GET_MODE_SIZE (GET_MODE (x)) - UNITS_PER_WORD;
17880 + unsigned HOST_WIDE_INT offset = INTVAL (off);
17882 + /* We need a secondary reload when our legitimate_address_p
17883 + says the address is good (as otherwise the entire address
17884 + will be reloaded), and we have a wrap.
17886 + legitimate_lo_sum_address_p allows LO_SUM addresses to
17887 + have any offset so test for wrap in the low 16 bits.
17889 + legitimate_offset_address_p checks for the range
17890 + [-0x8000,0x7fff] for mode size of 8 and [-0x8000,0x7ff7]
17891 + for mode size of 16. We wrap at [0x7ffc,0x7fff] and
17892 + [0x7ff4,0x7fff] respectively, so test for the
17893 + intersection of these ranges, [0x7ffc,0x7fff] and
17894 + [0x7ff4,0x7ff7] respectively.
17896 + Note that the address we see here may have been
17897 + manipulated by legitimize_reload_address. */
17898 + if (GET_CODE (addr) == LO_SUM
17899 + ? ((offset & 0xffff) ^ 0x8000) >= 0x10000 - extra
17900 + : offset - (0x8000 - extra) < UNITS_PER_WORD)
17902 + if (in_p)
17903 + sri->icode = CODE_FOR_reload_si_load;
17904 + else
17905 + sri->icode = CODE_FOR_reload_si_store;
17906 + sri->extra_cost = 2;
17907 + ret = NO_REGS;
17908 + done_p = true;
17910 + else
17911 + default_p = true;
17913 + else
17914 + default_p = true;
17917 + if (!done_p)
17918 + default_p = true;
17920 + if (default_p)
17921 + ret = default_secondary_reload (in_p, x, rclass, mode, sri);
17923 + gcc_assert (ret != ALL_REGS);
17925 + if (TARGET_DEBUG_ADDR)
17927 + fprintf (stderr,
17928 + "\nrs6000_secondary_reload, return %s, in_p = %s, rclass = %s, "
17929 + "mode = %s",
17930 + reg_class_names[ret],
17931 + in_p ? "true" : "false",
17932 + reg_class_names[rclass],
17933 + GET_MODE_NAME (mode));
17935 + if (reload_completed)
17936 + fputs (", after reload", stderr);
17938 + if (!done_p)
17939 + fputs (", done_p not set", stderr);
17941 + if (default_p)
17942 + fputs (", default secondary reload", stderr);
17944 + if (sri->icode != CODE_FOR_nothing)
17945 + fprintf (stderr, ", reload func = %s, extra cost = %d",
17946 + insn_data[sri->icode].name, sri->extra_cost);
17948 + fputs ("\n", stderr);
17949 + debug_rtx (x);
17952 + return ret;
17955 +/* Better tracing for rs6000_secondary_reload_inner. */
17957 +static void
17958 +rs6000_secondary_reload_trace (int line, rtx reg, rtx mem, rtx scratch,
17959 + bool store_p)
17961 + rtx set, clobber;
17963 + gcc_assert (reg != NULL_RTX && mem != NULL_RTX && scratch != NULL_RTX);
17965 + fprintf (stderr, "rs6000_secondary_reload_inner:%d, type = %s\n", line,
17966 + store_p ? "store" : "load");
17968 + if (store_p)
17969 + set = gen_rtx_SET (VOIDmode, mem, reg);
17970 + else
17971 + set = gen_rtx_SET (VOIDmode, reg, mem);
17973 + clobber = gen_rtx_CLOBBER (VOIDmode, scratch);
17974 + debug_rtx (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, set, clobber)));
17977 +static void rs6000_secondary_reload_fail (int, rtx, rtx, rtx, bool)
17978 + ATTRIBUTE_NORETURN;
17980 +static void
17981 +rs6000_secondary_reload_fail (int line, rtx reg, rtx mem, rtx scratch,
17982 + bool store_p)
17984 + rs6000_secondary_reload_trace (line, reg, mem, scratch, store_p);
17985 + gcc_unreachable ();
17988 +/* Fixup reload addresses for values in GPR, FPR, and VMX registers that have
17989 + reload helper functions. These were identified in
17990 + rs6000_secondary_reload_memory, and if reload decided to use the secondary
17991 + reload, it calls the insns:
17992 + reload_<RELOAD:mode>_<P:mptrsize>_store
17993 + reload_<RELOAD:mode>_<P:mptrsize>_load
17995 + which in turn calls this function, to do whatever is necessary to create
17996 + valid addresses. */
17998 +void
17999 +rs6000_secondary_reload_inner (rtx reg, rtx mem, rtx scratch, bool store_p)
18001 + int regno = true_regnum (reg);
18002 + machine_mode mode = GET_MODE (reg);
18003 + addr_mask_type addr_mask;
18004 + rtx addr;
18005 + rtx new_addr;
18006 + rtx op_reg, op0, op1;
18007 + rtx and_op;
18008 + rtx cc_clobber;
18009 + rtvec rv;
18011 + if (regno < 0 || regno >= FIRST_PSEUDO_REGISTER || !MEM_P (mem)
18012 + || !base_reg_operand (scratch, GET_MODE (scratch)))
18013 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18015 + if (IN_RANGE (regno, FIRST_GPR_REGNO, LAST_GPR_REGNO))
18016 + addr_mask = reg_addr[mode].addr_mask[RELOAD_REG_GPR];
18018 + else if (IN_RANGE (regno, FIRST_FPR_REGNO, LAST_FPR_REGNO))
18019 + addr_mask = reg_addr[mode].addr_mask[RELOAD_REG_FPR];
18021 + else if (IN_RANGE (regno, FIRST_ALTIVEC_REGNO, LAST_ALTIVEC_REGNO))
18022 + addr_mask = reg_addr[mode].addr_mask[RELOAD_REG_VMX];
18024 + else
18025 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18027 + /* Make sure the mode is valid in this register class. */
18028 + if ((addr_mask & RELOAD_REG_VALID) == 0)
18029 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18031 + if (TARGET_DEBUG_ADDR)
18032 + rs6000_secondary_reload_trace (__LINE__, reg, mem, scratch, store_p);
18034 + new_addr = addr = XEXP (mem, 0);
18035 + switch (GET_CODE (addr))
18037 + /* Does the register class support auto update forms for this mode? If
18038 + not, do the update now. We don't need a scratch register, since the
18039 + powerpc only supports PRE_INC, PRE_DEC, and PRE_MODIFY. */
18040 + case PRE_INC:
18041 + case PRE_DEC:
18042 + op_reg = XEXP (addr, 0);
18043 + if (!base_reg_operand (op_reg, Pmode))
18044 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18046 + if ((addr_mask & RELOAD_REG_PRE_INCDEC) == 0)
18048 + emit_insn (gen_add2_insn (op_reg, GEN_INT (GET_MODE_SIZE (mode))));
18049 + new_addr = op_reg;
18051 + break;
18053 + case PRE_MODIFY:
18054 + op0 = XEXP (addr, 0);
18055 + op1 = XEXP (addr, 1);
18056 + if (!base_reg_operand (op0, Pmode)
18057 + || GET_CODE (op1) != PLUS
18058 + || !rtx_equal_p (op0, XEXP (op1, 0)))
18059 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18061 + if ((addr_mask & RELOAD_REG_PRE_MODIFY) == 0)
18063 + emit_insn (gen_rtx_SET (VOIDmode, op0, op1));
18064 + new_addr = reg;
18066 + break;
18068 + /* Do we need to simulate AND -16 to clear the bottom address bits used
18069 + in VMX load/stores? */
18070 + case AND:
18071 + op0 = XEXP (addr, 0);
18072 + op1 = XEXP (addr, 1);
18073 + if ((addr_mask & RELOAD_REG_AND_M16) == 0)
18075 + if (REG_P (op0) || GET_CODE (op0) == SUBREG)
18076 + op_reg = op0;
18078 + else if (GET_CODE (op1) == PLUS)
18080 + emit_insn (gen_rtx_SET (VOIDmode, scratch, op1));
18081 + op_reg = scratch;
18084 + else
18085 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18087 + and_op = gen_rtx_AND (GET_MODE (scratch), op_reg, op1);
18088 + cc_clobber = gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (CCmode));
18089 + rv = gen_rtvec (2, gen_rtx_SET (VOIDmode, scratch, and_op), cc_clobber);
18090 + emit_insn (gen_rtx_PARALLEL (VOIDmode, rv));
18091 + new_addr = scratch;
18093 + break;
18095 + /* If this is an indirect address, make sure it is a base register. */
18096 + case REG:
18097 + case SUBREG:
18098 + if (!base_reg_operand (addr, GET_MODE (addr)))
18100 + emit_insn (gen_rtx_SET (VOIDmode, scratch, addr));
18101 + new_addr = scratch;
18103 + break;
18105 + /* If this is an indexed address, make sure the register class can handle
18106 + indexed addresses for this mode. */
18107 + case PLUS:
18108 + op0 = XEXP (addr, 0);
18109 + op1 = XEXP (addr, 1);
18110 + if (!base_reg_operand (op0, Pmode))
18111 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18113 + else if (int_reg_operand (op1, Pmode))
18115 + if ((addr_mask & RELOAD_REG_INDEXED) == 0)
18117 + emit_insn (gen_rtx_SET (VOIDmode, scratch, addr));
18118 + new_addr = scratch;
18122 + /* Make sure the register class can handle offset addresses. */
18123 + else if (rs6000_legitimate_offset_address_p (mode, addr, false, true))
18125 + if ((addr_mask & RELOAD_REG_OFFSET) == 0)
18127 + emit_insn (gen_rtx_SET (VOIDmode, scratch, addr));
18128 + new_addr = scratch;
18132 + else
18133 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18135 + break;
18137 + case LO_SUM:
18138 + op0 = XEXP (addr, 0);
18139 + op1 = XEXP (addr, 1);
18140 + if (!base_reg_operand (op0, Pmode))
18141 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18143 + else if (int_reg_operand (op1, Pmode))
18145 + if ((addr_mask & RELOAD_REG_INDEXED) == 0)
18147 + emit_insn (gen_rtx_SET (VOIDmode, scratch, addr));
18148 + new_addr = scratch;
18152 + /* Make sure the register class can handle offset addresses. */
18153 + else if (legitimate_lo_sum_address_p (mode, addr, false))
18155 + if ((addr_mask & RELOAD_REG_OFFSET) == 0)
18157 + emit_insn (gen_rtx_SET (VOIDmode, scratch, addr));
18158 + new_addr = scratch;
18162 + else
18163 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18165 + break;
18167 + case SYMBOL_REF:
18168 + case CONST:
18169 + case LABEL_REF:
18170 + rs6000_emit_move (scratch, addr, Pmode);
18171 + new_addr = scratch;
18172 + break;
18174 + default:
18175 + rs6000_secondary_reload_fail (__LINE__, reg, mem, scratch, store_p);
18178 + /* Adjust the address if it changed. */
18179 + if (addr != new_addr)
18181 + mem = replace_equiv_address_nv (mem, new_addr);
18182 + if (TARGET_DEBUG_ADDR)
18183 + fprintf (stderr, "\nrs6000_secondary_reload_inner, mem adjusted.\n");
18186 + /* Now create the move. */
18187 + if (store_p)
18188 + emit_insn (gen_rtx_SET (VOIDmode, mem, reg));
18189 + else
18190 + emit_insn (gen_rtx_SET (VOIDmode, reg, mem));
18192 + return;
18195 +/* Convert reloads involving 64-bit gprs and misaligned offset
18196 + addressing, or multiple 32-bit gprs and offsets that are too large,
18197 + to use indirect addressing. */
18199 +void
18200 +rs6000_secondary_reload_gpr (rtx reg, rtx mem, rtx scratch, bool store_p)
18202 + int regno = true_regnum (reg);
18203 + enum reg_class rclass;
18204 + rtx addr;
18205 + rtx scratch_or_premodify = scratch;
18207 + if (TARGET_DEBUG_ADDR)
18209 + fprintf (stderr, "\nrs6000_secondary_reload_gpr, type = %s\n",
18210 + store_p ? "store" : "load");
18211 + fprintf (stderr, "reg:\n");
18212 + debug_rtx (reg);
18213 + fprintf (stderr, "mem:\n");
18214 + debug_rtx (mem);
18215 + fprintf (stderr, "scratch:\n");
18216 + debug_rtx (scratch);
18219 + gcc_assert (regno >= 0 && regno < FIRST_PSEUDO_REGISTER);
18220 + gcc_assert (GET_CODE (mem) == MEM);
18221 + rclass = REGNO_REG_CLASS (regno);
18222 + gcc_assert (rclass == GENERAL_REGS || rclass == BASE_REGS);
18223 + addr = XEXP (mem, 0);
18225 + if (GET_CODE (addr) == PRE_MODIFY)
18227 + scratch_or_premodify = XEXP (addr, 0);
18228 + gcc_assert (REG_P (scratch_or_premodify));
18229 + addr = XEXP (addr, 1);
18231 + gcc_assert (GET_CODE (addr) == PLUS || GET_CODE (addr) == LO_SUM);
18233 + rs6000_emit_move (scratch_or_premodify, addr, Pmode);
18235 + mem = replace_equiv_address_nv (mem, scratch_or_premodify);
18237 + /* Now create the move. */
18238 + if (store_p)
18239 + emit_insn (gen_rtx_SET (VOIDmode, mem, reg));
18240 + else
18241 + emit_insn (gen_rtx_SET (VOIDmode, reg, mem));
18243 + return;
18246 +/* Allocate a 64-bit stack slot to be used for copying SDmode values through if
18247 + this function has any SDmode references. If we are on a power7 or later, we
18248 + don't need the 64-bit stack slot since the LFIWZX and STIFWX instructions
18249 + can load/store the value. */
18251 +static void
18252 +rs6000_alloc_sdmode_stack_slot (void)
18254 + tree t;
18255 + basic_block bb;
18256 + gimple_stmt_iterator gsi;
18258 + gcc_assert (cfun->machine->sdmode_stack_slot == NULL_RTX);
18259 + /* We use a different approach for dealing with the secondary
18260 + memory in LRA. */
18261 + if (ira_use_lra_p)
18262 + return;
18264 + if (TARGET_NO_SDMODE_STACK)
18265 + return;
18267 + FOR_EACH_BB_FN (bb, cfun)
18268 + for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
18270 + tree ret = walk_gimple_op (gsi_stmt (gsi), rs6000_check_sdmode, NULL);
18271 + if (ret)
18273 + rtx stack = assign_stack_local (DDmode, GET_MODE_SIZE (DDmode), 0);
18274 + cfun->machine->sdmode_stack_slot = adjust_address_nv (stack,
18275 + SDmode, 0);
18276 + return;
18280 + /* Check for any SDmode parameters of the function. */
18281 + for (t = DECL_ARGUMENTS (cfun->decl); t; t = DECL_CHAIN (t))
18283 + if (TREE_TYPE (t) == error_mark_node)
18284 + continue;
18286 + if (TYPE_MODE (TREE_TYPE (t)) == SDmode
18287 + || TYPE_MODE (DECL_ARG_TYPE (t)) == SDmode)
18289 + rtx stack = assign_stack_local (DDmode, GET_MODE_SIZE (DDmode), 0);
18290 + cfun->machine->sdmode_stack_slot = adjust_address_nv (stack,
18291 + SDmode, 0);
18292 + return;
18297 +static void
18298 +rs6000_instantiate_decls (void)
18300 + if (cfun->machine->sdmode_stack_slot != NULL_RTX)
18301 + instantiate_decl_rtl (cfun->machine->sdmode_stack_slot);
18304 +/* Given an rtx X being reloaded into a reg required to be
18305 + in class CLASS, return the class of reg to actually use.
18306 + In general this is just CLASS; but on some machines
18307 + in some cases it is preferable to use a more restrictive class.
18309 + On the RS/6000, we have to return NO_REGS when we want to reload a
18310 + floating-point CONST_DOUBLE to force it to be copied to memory.
18312 + We also don't want to reload integer values into floating-point
18313 + registers if we can at all help it. In fact, this can
18314 + cause reload to die, if it tries to generate a reload of CTR
18315 + into a FP register and discovers it doesn't have the memory location
18316 + required.
18318 + ??? Would it be a good idea to have reload do the converse, that is
18319 + try to reload floating modes into FP registers if possible?
18320 + */
18322 +static enum reg_class
18323 +rs6000_preferred_reload_class (rtx x, enum reg_class rclass)
18325 + machine_mode mode = GET_MODE (x);
18326 + bool is_constant = CONSTANT_P (x);
18328 + /* Do VSX tests before handling traditional floaitng point registers. */
18329 + if (TARGET_VSX && VSX_REG_CLASS_P (rclass))
18331 + if (is_constant)
18333 + /* Zero is always allowed in all VSX registers. */
18334 + if (x == CONST0_RTX (mode))
18335 + return rclass;
18337 + /* If this is a vector constant that can be formed with a few Altivec
18338 + instructions, we want altivec registers. */
18339 + if (GET_CODE (x) == CONST_VECTOR && easy_vector_constant (x, mode))
18340 + return ALTIVEC_REGS;
18342 + /* Force constant to memory. */
18343 + return NO_REGS;
18346 + /* If this is a scalar floating point value, prefer the traditional
18347 + floating point registers so that we can use D-form (register+offset)
18348 + addressing. */
18349 + if (GET_MODE_SIZE (mode) < 16)
18350 + return FLOAT_REGS;
18352 + /* Prefer the Altivec registers if Altivec is handling the vector
18353 + operations (i.e. V16QI, V8HI, and V4SI), or if we prefer Altivec
18354 + loads. */
18355 + if (VECTOR_UNIT_ALTIVEC_P (mode) || VECTOR_MEM_ALTIVEC_P (mode)
18356 + || mode == V1TImode)
18357 + return ALTIVEC_REGS;
18359 + return rclass;
18362 + if (is_constant || GET_CODE (x) == PLUS)
18364 + if (reg_class_subset_p (GENERAL_REGS, rclass))
18365 + return GENERAL_REGS;
18366 + if (reg_class_subset_p (BASE_REGS, rclass))
18367 + return BASE_REGS;
18368 + return NO_REGS;
18371 + if (GET_MODE_CLASS (mode) == MODE_INT && rclass == NON_SPECIAL_REGS)
18372 + return GENERAL_REGS;
18374 + return rclass;
18377 +/* Debug version of rs6000_preferred_reload_class. */
18378 +static enum reg_class
18379 +rs6000_debug_preferred_reload_class (rtx x, enum reg_class rclass)
18381 + enum reg_class ret = rs6000_preferred_reload_class (x, rclass);
18383 + fprintf (stderr,
18384 + "\nrs6000_preferred_reload_class, return %s, rclass = %s, "
18385 + "mode = %s, x:\n",
18386 + reg_class_names[ret], reg_class_names[rclass],
18387 + GET_MODE_NAME (GET_MODE (x)));
18388 + debug_rtx (x);
18390 + return ret;
18393 +/* If we are copying between FP or AltiVec registers and anything else, we need
18394 + a memory location. The exception is when we are targeting ppc64 and the
18395 + move to/from fpr to gpr instructions are available. Also, under VSX, you
18396 + can copy vector registers from the FP register set to the Altivec register
18397 + set and vice versa. */
18399 +static bool
18400 +rs6000_secondary_memory_needed (enum reg_class from_class,
18401 + enum reg_class to_class,
18402 + machine_mode mode)
18404 + enum rs6000_reg_type from_type, to_type;
18405 + bool altivec_p = ((from_class == ALTIVEC_REGS)
18406 + || (to_class == ALTIVEC_REGS));
18408 + /* If a simple/direct move is available, we don't need secondary memory */
18409 + from_type = reg_class_to_reg_type[(int)from_class];
18410 + to_type = reg_class_to_reg_type[(int)to_class];
18412 + if (rs6000_secondary_reload_move (to_type, from_type, mode,
18413 + (secondary_reload_info *)0, altivec_p))
18414 + return false;
18416 + /* If we have a floating point or vector register class, we need to use
18417 + memory to transfer the data. */
18418 + if (IS_FP_VECT_REG_TYPE (from_type) || IS_FP_VECT_REG_TYPE (to_type))
18419 + return true;
18421 + return false;
18424 +/* Debug version of rs6000_secondary_memory_needed. */
18425 +static bool
18426 +rs6000_debug_secondary_memory_needed (enum reg_class from_class,
18427 + enum reg_class to_class,
18428 + machine_mode mode)
18430 + bool ret = rs6000_secondary_memory_needed (from_class, to_class, mode);
18432 + fprintf (stderr,
18433 + "rs6000_secondary_memory_needed, return: %s, from_class = %s, "
18434 + "to_class = %s, mode = %s\n",
18435 + ret ? "true" : "false",
18436 + reg_class_names[from_class],
18437 + reg_class_names[to_class],
18438 + GET_MODE_NAME (mode));
18440 + return ret;
18443 +/* Return the register class of a scratch register needed to copy IN into
18444 + or out of a register in RCLASS in MODE. If it can be done directly,
18445 + NO_REGS is returned. */
18447 +static enum reg_class
18448 +rs6000_secondary_reload_class (enum reg_class rclass, machine_mode mode,
18449 + rtx in)
18451 + int regno;
18453 + if (TARGET_ELF || (DEFAULT_ABI == ABI_DARWIN
18454 +#if TARGET_MACHO
18455 + && MACHOPIC_INDIRECT
18456 +#endif
18457 + ))
18459 + /* We cannot copy a symbolic operand directly into anything
18460 + other than BASE_REGS for TARGET_ELF. So indicate that a
18461 + register from BASE_REGS is needed as an intermediate
18462 + register.
18464 + On Darwin, pic addresses require a load from memory, which
18465 + needs a base register. */
18466 + if (rclass != BASE_REGS
18467 + && (GET_CODE (in) == SYMBOL_REF
18468 + || GET_CODE (in) == HIGH
18469 + || GET_CODE (in) == LABEL_REF
18470 + || GET_CODE (in) == CONST))
18471 + return BASE_REGS;
18474 + if (GET_CODE (in) == REG)
18476 + regno = REGNO (in);
18477 + if (regno >= FIRST_PSEUDO_REGISTER)
18479 + regno = true_regnum (in);
18480 + if (regno >= FIRST_PSEUDO_REGISTER)
18481 + regno = -1;
18484 + else if (GET_CODE (in) == SUBREG)
18486 + regno = true_regnum (in);
18487 + if (regno >= FIRST_PSEUDO_REGISTER)
18488 + regno = -1;
18490 + else
18491 + regno = -1;
18493 + /* If we have VSX register moves, prefer moving scalar values between
18494 + Altivec registers and GPR by going via an FPR (and then via memory)
18495 + instead of reloading the secondary memory address for Altivec moves. */
18496 + if (TARGET_VSX
18497 + && GET_MODE_SIZE (mode) < 16
18498 + && (((rclass == GENERAL_REGS || rclass == BASE_REGS)
18499 + && (regno >= 0 && ALTIVEC_REGNO_P (regno)))
18500 + || ((rclass == VSX_REGS || rclass == ALTIVEC_REGS)
18501 + && (regno >= 0 && INT_REGNO_P (regno)))))
18502 + return FLOAT_REGS;
18504 + /* We can place anything into GENERAL_REGS and can put GENERAL_REGS
18505 + into anything. */
18506 + if (rclass == GENERAL_REGS || rclass == BASE_REGS
18507 + || (regno >= 0 && INT_REGNO_P (regno)))
18508 + return NO_REGS;
18510 + /* Constants, memory, and VSX registers can go into VSX registers (both the
18511 + traditional floating point and the altivec registers). */
18512 + if (rclass == VSX_REGS
18513 + && (regno == -1 || VSX_REGNO_P (regno)))
18514 + return NO_REGS;
18516 + /* Constants, memory, and FP registers can go into FP registers. */
18517 + if ((regno == -1 || FP_REGNO_P (regno))
18518 + && (rclass == FLOAT_REGS || rclass == NON_SPECIAL_REGS))
18519 + return (mode != SDmode || lra_in_progress) ? NO_REGS : GENERAL_REGS;
18521 + /* Memory, and AltiVec registers can go into AltiVec registers. */
18522 + if ((regno == -1 || ALTIVEC_REGNO_P (regno))
18523 + && rclass == ALTIVEC_REGS)
18524 + return NO_REGS;
18526 + /* We can copy among the CR registers. */
18527 + if ((rclass == CR_REGS || rclass == CR0_REGS)
18528 + && regno >= 0 && CR_REGNO_P (regno))
18529 + return NO_REGS;
18531 + /* Otherwise, we need GENERAL_REGS. */
18532 + return GENERAL_REGS;
18535 +/* Debug version of rs6000_secondary_reload_class. */
18536 +static enum reg_class
18537 +rs6000_debug_secondary_reload_class (enum reg_class rclass,
18538 + machine_mode mode, rtx in)
18540 + enum reg_class ret = rs6000_secondary_reload_class (rclass, mode, in);
18541 + fprintf (stderr,
18542 + "\nrs6000_secondary_reload_class, return %s, rclass = %s, "
18543 + "mode = %s, input rtx:\n",
18544 + reg_class_names[ret], reg_class_names[rclass],
18545 + GET_MODE_NAME (mode));
18546 + debug_rtx (in);
18548 + return ret;
18551 +/* Return nonzero if for CLASS a mode change from FROM to TO is invalid. */
18553 +static bool
18554 +rs6000_cannot_change_mode_class (machine_mode from,
18555 + machine_mode to,
18556 + enum reg_class rclass)
18558 + unsigned from_size = GET_MODE_SIZE (from);
18559 + unsigned to_size = GET_MODE_SIZE (to);
18561 + if (from_size != to_size)
18563 + enum reg_class xclass = (TARGET_VSX) ? VSX_REGS : FLOAT_REGS;
18565 + if (reg_classes_intersect_p (xclass, rclass))
18567 + unsigned to_nregs = hard_regno_nregs[FIRST_FPR_REGNO][to];
18568 + unsigned from_nregs = hard_regno_nregs[FIRST_FPR_REGNO][from];
18570 + /* Don't allow 64-bit types to overlap with 128-bit types that take a
18571 + single register under VSX because the scalar part of the register
18572 + is in the upper 64-bits, and not the lower 64-bits. Types like
18573 + TFmode/TDmode that take 2 scalar register can overlap. 128-bit
18574 + IEEE floating point can't overlap, and neither can small
18575 + values. */
18577 + if (TARGET_IEEEQUAD && (to == TFmode || from == TFmode))
18578 + return true;
18580 + /* TDmode in floating-mode registers must always go into a register
18581 + pair with the most significant word in the even-numbered register
18582 + to match ISA requirements. In little-endian mode, this does not
18583 + match subreg numbering, so we cannot allow subregs. */
18584 + if (!BYTES_BIG_ENDIAN && (to == TDmode || from == TDmode))
18585 + return true;
18587 + if (from_size < 8 || to_size < 8)
18588 + return true;
18590 + if (from_size == 8 && (8 * to_nregs) != to_size)
18591 + return true;
18593 + if (to_size == 8 && (8 * from_nregs) != from_size)
18594 + return true;
18596 + return false;
18598 + else
18599 + return false;
18602 + if (TARGET_E500_DOUBLE
18603 + && ((((to) == DFmode) + ((from) == DFmode)) == 1
18604 + || (((to) == TFmode) + ((from) == TFmode)) == 1
18605 + || (((to) == DDmode) + ((from) == DDmode)) == 1
18606 + || (((to) == TDmode) + ((from) == TDmode)) == 1
18607 + || (((to) == DImode) + ((from) == DImode)) == 1))
18608 + return true;
18610 + /* Since the VSX register set includes traditional floating point registers
18611 + and altivec registers, just check for the size being different instead of
18612 + trying to check whether the modes are vector modes. Otherwise it won't
18613 + allow say DF and DI to change classes. For types like TFmode and TDmode
18614 + that take 2 64-bit registers, rather than a single 128-bit register, don't
18615 + allow subregs of those types to other 128 bit types. */
18616 + if (TARGET_VSX && VSX_REG_CLASS_P (rclass))
18618 + unsigned num_regs = (from_size + 15) / 16;
18619 + if (hard_regno_nregs[FIRST_FPR_REGNO][to] > num_regs
18620 + || hard_regno_nregs[FIRST_FPR_REGNO][from] > num_regs)
18621 + return true;
18623 + return (from_size != 8 && from_size != 16);
18626 + if (TARGET_ALTIVEC && rclass == ALTIVEC_REGS
18627 + && (ALTIVEC_VECTOR_MODE (from) + ALTIVEC_VECTOR_MODE (to)) == 1)
18628 + return true;
18630 + if (TARGET_SPE && (SPE_VECTOR_MODE (from) + SPE_VECTOR_MODE (to)) == 1
18631 + && reg_classes_intersect_p (GENERAL_REGS, rclass))
18632 + return true;
18634 + return false;
18637 +/* Debug version of rs6000_cannot_change_mode_class. */
18638 +static bool
18639 +rs6000_debug_cannot_change_mode_class (machine_mode from,
18640 + machine_mode to,
18641 + enum reg_class rclass)
18643 + bool ret = rs6000_cannot_change_mode_class (from, to, rclass);
18645 + fprintf (stderr,
18646 + "rs6000_cannot_change_mode_class, return %s, from = %s, "
18647 + "to = %s, rclass = %s\n",
18648 + ret ? "true" : "false",
18649 + GET_MODE_NAME (from), GET_MODE_NAME (to),
18650 + reg_class_names[rclass]);
18652 + return ret;
18655 +/* Return a string to do a move operation of 128 bits of data. */
18657 +const char *
18658 +rs6000_output_move_128bit (rtx operands[])
18660 + rtx dest = operands[0];
18661 + rtx src = operands[1];
18662 + machine_mode mode = GET_MODE (dest);
18663 + int dest_regno;
18664 + int src_regno;
18665 + bool dest_gpr_p, dest_fp_p, dest_vmx_p, dest_vsx_p;
18666 + bool src_gpr_p, src_fp_p, src_vmx_p, src_vsx_p;
18668 + if (REG_P (dest))
18670 + dest_regno = REGNO (dest);
18671 + dest_gpr_p = INT_REGNO_P (dest_regno);
18672 + dest_fp_p = FP_REGNO_P (dest_regno);
18673 + dest_vmx_p = ALTIVEC_REGNO_P (dest_regno);
18674 + dest_vsx_p = dest_fp_p | dest_vmx_p;
18676 + else
18678 + dest_regno = -1;
18679 + dest_gpr_p = dest_fp_p = dest_vmx_p = dest_vsx_p = false;
18682 + if (REG_P (src))
18684 + src_regno = REGNO (src);
18685 + src_gpr_p = INT_REGNO_P (src_regno);
18686 + src_fp_p = FP_REGNO_P (src_regno);
18687 + src_vmx_p = ALTIVEC_REGNO_P (src_regno);
18688 + src_vsx_p = src_fp_p | src_vmx_p;
18690 + else
18692 + src_regno = -1;
18693 + src_gpr_p = src_fp_p = src_vmx_p = src_vsx_p = false;
18696 + /* Register moves. */
18697 + if (dest_regno >= 0 && src_regno >= 0)
18699 + if (dest_gpr_p)
18701 + if (src_gpr_p)
18702 + return "#";
18704 + else if (TARGET_VSX && TARGET_DIRECT_MOVE && src_vsx_p)
18705 + return "#";
18708 + else if (TARGET_VSX && dest_vsx_p)
18710 + if (src_vsx_p)
18711 + return "xxlor %x0,%x1,%x1";
18713 + else if (TARGET_DIRECT_MOVE && src_gpr_p)
18714 + return "#";
18717 + else if (TARGET_ALTIVEC && dest_vmx_p && src_vmx_p)
18718 + return "vor %0,%1,%1";
18720 + else if (dest_fp_p && src_fp_p)
18721 + return "#";
18724 + /* Loads. */
18725 + else if (dest_regno >= 0 && MEM_P (src))
18727 + if (dest_gpr_p)
18729 + if (TARGET_QUAD_MEMORY && quad_load_store_p (dest, src))
18730 + return "lq %0,%1";
18731 + else
18732 + return "#";
18735 + else if (TARGET_ALTIVEC && dest_vmx_p
18736 + && altivec_indexed_or_indirect_operand (src, mode))
18737 + return "lvx %0,%y1";
18739 + else if (TARGET_VSX && dest_vsx_p)
18741 + if (mode == V16QImode || mode == V8HImode || mode == V4SImode)
18742 + return "lxvw4x %x0,%y1";
18743 + else
18744 + return "lxvd2x %x0,%y1";
18747 + else if (TARGET_ALTIVEC && dest_vmx_p)
18748 + return "lvx %0,%y1";
18750 + else if (dest_fp_p)
18751 + return "#";
18754 + /* Stores. */
18755 + else if (src_regno >= 0 && MEM_P (dest))
18757 + if (src_gpr_p)
18759 + if (TARGET_QUAD_MEMORY && quad_load_store_p (dest, src))
18760 + return "stq %1,%0";
18761 + else
18762 + return "#";
18765 + else if (TARGET_ALTIVEC && src_vmx_p
18766 + && altivec_indexed_or_indirect_operand (src, mode))
18767 + return "stvx %1,%y0";
18769 + else if (TARGET_VSX && src_vsx_p)
18771 + if (mode == V16QImode || mode == V8HImode || mode == V4SImode)
18772 + return "stxvw4x %x1,%y0";
18773 + else
18774 + return "stxvd2x %x1,%y0";
18777 + else if (TARGET_ALTIVEC && src_vmx_p)
18778 + return "stvx %1,%y0";
18780 + else if (src_fp_p)
18781 + return "#";
18784 + /* Constants. */
18785 + else if (dest_regno >= 0
18786 + && (GET_CODE (src) == CONST_INT
18787 + || GET_CODE (src) == CONST_WIDE_INT
18788 + || GET_CODE (src) == CONST_DOUBLE
18789 + || GET_CODE (src) == CONST_VECTOR))
18791 + if (dest_gpr_p)
18792 + return "#";
18794 + else if (TARGET_VSX && dest_vsx_p && zero_constant (src, mode))
18795 + return "xxlxor %x0,%x0,%x0";
18797 + else if (TARGET_ALTIVEC && dest_vmx_p)
18798 + return output_vec_const_move (operands);
18801 + if (TARGET_DEBUG_ADDR)
18803 + fprintf (stderr, "\n===== Bad 128 bit move:\n");
18804 + debug_rtx (gen_rtx_SET (VOIDmode, dest, src));
18807 + gcc_unreachable ();
18810 +/* Validate a 128-bit move. */
18811 +bool
18812 +rs6000_move_128bit_ok_p (rtx operands[])
18814 + machine_mode mode = GET_MODE (operands[0]);
18815 + return (gpc_reg_operand (operands[0], mode)
18816 + || gpc_reg_operand (operands[1], mode));
18819 +/* Return true if a 128-bit move needs to be split. */
18820 +bool
18821 +rs6000_split_128bit_ok_p (rtx operands[])
18823 + if (!reload_completed)
18824 + return false;
18826 + if (!gpr_or_gpr_p (operands[0], operands[1]))
18827 + return false;
18829 + if (quad_load_store_p (operands[0], operands[1]))
18830 + return false;
18832 + return true;
18836 +/* Given a comparison operation, return the bit number in CCR to test. We
18837 + know this is a valid comparison.
18839 + SCC_P is 1 if this is for an scc. That means that %D will have been
18840 + used instead of %C, so the bits will be in different places.
18842 + Return -1 if OP isn't a valid comparison for some reason. */
18844 +int
18845 +ccr_bit (rtx op, int scc_p)
18847 + enum rtx_code code = GET_CODE (op);
18848 + machine_mode cc_mode;
18849 + int cc_regnum;
18850 + int base_bit;
18851 + rtx reg;
18853 + if (!COMPARISON_P (op))
18854 + return -1;
18856 + reg = XEXP (op, 0);
18858 + gcc_assert (GET_CODE (reg) == REG && CR_REGNO_P (REGNO (reg)));
18860 + cc_mode = GET_MODE (reg);
18861 + cc_regnum = REGNO (reg);
18862 + base_bit = 4 * (cc_regnum - CR0_REGNO);
18864 + validate_condition_mode (code, cc_mode);
18866 + /* When generating a sCOND operation, only positive conditions are
18867 + allowed. */
18868 + gcc_assert (!scc_p
18869 + || code == EQ || code == GT || code == LT || code == UNORDERED
18870 + || code == GTU || code == LTU);
18872 + switch (code)
18874 + case NE:
18875 + return scc_p ? base_bit + 3 : base_bit + 2;
18876 + case EQ:
18877 + return base_bit + 2;
18878 + case GT: case GTU: case UNLE:
18879 + return base_bit + 1;
18880 + case LT: case LTU: case UNGE:
18881 + return base_bit;
18882 + case ORDERED: case UNORDERED:
18883 + return base_bit + 3;
18885 + case GE: case GEU:
18886 + /* If scc, we will have done a cror to put the bit in the
18887 + unordered position. So test that bit. For integer, this is ! LT
18888 + unless this is an scc insn. */
18889 + return scc_p ? base_bit + 3 : base_bit;
18891 + case LE: case LEU:
18892 + return scc_p ? base_bit + 3 : base_bit + 1;
18894 + default:
18895 + gcc_unreachable ();
18899 +/* Return the GOT register. */
18901 +rtx
18902 +rs6000_got_register (rtx value ATTRIBUTE_UNUSED)
18904 + /* The second flow pass currently (June 1999) can't update
18905 + regs_ever_live without disturbing other parts of the compiler, so
18906 + update it here to make the prolog/epilogue code happy. */
18907 + if (!can_create_pseudo_p ()
18908 + && !df_regs_ever_live_p (RS6000_PIC_OFFSET_TABLE_REGNUM))
18909 + df_set_regs_ever_live (RS6000_PIC_OFFSET_TABLE_REGNUM, true);
18911 + crtl->uses_pic_offset_table = 1;
18913 + return pic_offset_table_rtx;
18916 +static rs6000_stack_t stack_info;
18918 +/* Function to init struct machine_function.
18919 + This will be called, via a pointer variable,
18920 + from push_function_context. */
18922 +static struct machine_function *
18923 +rs6000_init_machine_status (void)
18925 + stack_info.reload_completed = 0;
18926 + return ggc_cleared_alloc<machine_function> ();
18929 +#define INT_P(X) (GET_CODE (X) == CONST_INT && GET_MODE (X) == VOIDmode)
18931 +int
18932 +extract_MB (rtx op)
18934 + int i;
18935 + unsigned long val = INTVAL (op);
18937 + /* If the high bit is zero, the value is the first 1 bit we find
18938 + from the left. */
18939 + if ((val & 0x80000000) == 0)
18941 + gcc_assert (val & 0xffffffff);
18943 + i = 1;
18944 + while (((val <<= 1) & 0x80000000) == 0)
18945 + ++i;
18946 + return i;
18949 + /* If the high bit is set and the low bit is not, or the mask is all
18950 + 1's, the value is zero. */
18951 + if ((val & 1) == 0 || (val & 0xffffffff) == 0xffffffff)
18952 + return 0;
18954 + /* Otherwise we have a wrap-around mask. Look for the first 0 bit
18955 + from the right. */
18956 + i = 31;
18957 + while (((val >>= 1) & 1) != 0)
18958 + --i;
18960 + return i;
18963 +int
18964 +extract_ME (rtx op)
18966 + int i;
18967 + unsigned long val = INTVAL (op);
18969 + /* If the low bit is zero, the value is the first 1 bit we find from
18970 + the right. */
18971 + if ((val & 1) == 0)
18973 + gcc_assert (val & 0xffffffff);
18975 + i = 30;
18976 + while (((val >>= 1) & 1) == 0)
18977 + --i;
18979 + return i;
18982 + /* If the low bit is set and the high bit is not, or the mask is all
18983 + 1's, the value is 31. */
18984 + if ((val & 0x80000000) == 0 || (val & 0xffffffff) == 0xffffffff)
18985 + return 31;
18987 + /* Otherwise we have a wrap-around mask. Look for the first 0 bit
18988 + from the left. */
18989 + i = 0;
18990 + while (((val <<= 1) & 0x80000000) != 0)
18991 + ++i;
18993 + return i;
18996 +/* Write out a function code label. */
18998 +void
18999 +rs6000_output_function_entry (FILE *file, const char *fname)
19001 + if (fname[0] != '.')
19003 + switch (DEFAULT_ABI)
19005 + default:
19006 + gcc_unreachable ();
19008 + case ABI_AIX:
19009 + if (DOT_SYMBOLS)
19010 + putc ('.', file);
19011 + else
19012 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "L.");
19013 + break;
19015 + case ABI_ELFv2:
19016 + case ABI_V4:
19017 + case ABI_DARWIN:
19018 + break;
19022 + RS6000_OUTPUT_BASENAME (file, fname);
19025 +/* Print an operand. Recognize special options, documented below. */
19027 +#if TARGET_ELF
19028 +#define SMALL_DATA_RELOC ((rs6000_sdata == SDATA_EABI) ? "sda21" : "sdarel")
19029 +#define SMALL_DATA_REG ((rs6000_sdata == SDATA_EABI) ? 0 : 13)
19030 +#else
19031 +#define SMALL_DATA_RELOC "sda21"
19032 +#define SMALL_DATA_REG 0
19033 +#endif
19035 +void
19036 +print_operand (FILE *file, rtx x, int code)
19038 + int i;
19039 + unsigned HOST_WIDE_INT uval;
19041 + switch (code)
19043 + /* %a is output_address. */
19045 + case 'b':
19046 + /* If constant, low-order 16 bits of constant, unsigned.
19047 + Otherwise, write normally. */
19048 + if (INT_P (x))
19049 + fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0xffff);
19050 + else
19051 + print_operand (file, x, 0);
19052 + return;
19054 + case 'B':
19055 + /* If the low-order bit is zero, write 'r'; otherwise, write 'l'
19056 + for 64-bit mask direction. */
19057 + putc (((INTVAL (x) & 1) == 0 ? 'r' : 'l'), file);
19058 + return;
19060 + /* %c is output_addr_const if a CONSTANT_ADDRESS_P, otherwise
19061 + output_operand. */
19063 + case 'D':
19064 + /* Like 'J' but get to the GT bit only. */
19065 + gcc_assert (REG_P (x));
19067 + /* Bit 1 is GT bit. */
19068 + i = 4 * (REGNO (x) - CR0_REGNO) + 1;
19070 + /* Add one for shift count in rlinm for scc. */
19071 + fprintf (file, "%d", i + 1);
19072 + return;
19074 + case 'e':
19075 + /* If the low 16 bits are 0, but some other bit is set, write 's'. */
19076 + if (! INT_P (x))
19078 + output_operand_lossage ("invalid %%e value");
19079 + return;
19082 + uval = INTVAL (x);
19083 + if ((uval & 0xffff) == 0 && uval != 0)
19084 + putc ('s', file);
19085 + return;
19087 + case 'E':
19088 + /* X is a CR register. Print the number of the EQ bit of the CR */
19089 + if (GET_CODE (x) != REG || ! CR_REGNO_P (REGNO (x)))
19090 + output_operand_lossage ("invalid %%E value");
19091 + else
19092 + fprintf (file, "%d", 4 * (REGNO (x) - CR0_REGNO) + 2);
19093 + return;
19095 + case 'f':
19096 + /* X is a CR register. Print the shift count needed to move it
19097 + to the high-order four bits. */
19098 + if (GET_CODE (x) != REG || ! CR_REGNO_P (REGNO (x)))
19099 + output_operand_lossage ("invalid %%f value");
19100 + else
19101 + fprintf (file, "%d", 4 * (REGNO (x) - CR0_REGNO));
19102 + return;
19104 + case 'F':
19105 + /* Similar, but print the count for the rotate in the opposite
19106 + direction. */
19107 + if (GET_CODE (x) != REG || ! CR_REGNO_P (REGNO (x)))
19108 + output_operand_lossage ("invalid %%F value");
19109 + else
19110 + fprintf (file, "%d", 32 - 4 * (REGNO (x) - CR0_REGNO));
19111 + return;
19113 + case 'G':
19114 + /* X is a constant integer. If it is negative, print "m",
19115 + otherwise print "z". This is to make an aze or ame insn. */
19116 + if (GET_CODE (x) != CONST_INT)
19117 + output_operand_lossage ("invalid %%G value");
19118 + else if (INTVAL (x) >= 0)
19119 + putc ('z', file);
19120 + else
19121 + putc ('m', file);
19122 + return;
19124 + case 'h':
19125 + /* If constant, output low-order five bits. Otherwise, write
19126 + normally. */
19127 + if (INT_P (x))
19128 + fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 31);
19129 + else
19130 + print_operand (file, x, 0);
19131 + return;
19133 + case 'H':
19134 + /* If constant, output low-order six bits. Otherwise, write
19135 + normally. */
19136 + if (INT_P (x))
19137 + fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 63);
19138 + else
19139 + print_operand (file, x, 0);
19140 + return;
19142 + case 'I':
19143 + /* Print `i' if this is a constant, else nothing. */
19144 + if (INT_P (x))
19145 + putc ('i', file);
19146 + return;
19148 + case 'j':
19149 + /* Write the bit number in CCR for jump. */
19150 + i = ccr_bit (x, 0);
19151 + if (i == -1)
19152 + output_operand_lossage ("invalid %%j code");
19153 + else
19154 + fprintf (file, "%d", i);
19155 + return;
19157 + case 'J':
19158 + /* Similar, but add one for shift count in rlinm for scc and pass
19159 + scc flag to `ccr_bit'. */
19160 + i = ccr_bit (x, 1);
19161 + if (i == -1)
19162 + output_operand_lossage ("invalid %%J code");
19163 + else
19164 + /* If we want bit 31, write a shift count of zero, not 32. */
19165 + fprintf (file, "%d", i == 31 ? 0 : i + 1);
19166 + return;
19168 + case 'k':
19169 + /* X must be a constant. Write the 1's complement of the
19170 + constant. */
19171 + if (! INT_P (x))
19172 + output_operand_lossage ("invalid %%k value");
19173 + else
19174 + fprintf (file, HOST_WIDE_INT_PRINT_DEC, ~ INTVAL (x));
19175 + return;
19177 + case 'K':
19178 + /* X must be a symbolic constant on ELF. Write an
19179 + expression suitable for an 'addi' that adds in the low 16
19180 + bits of the MEM. */
19181 + if (GET_CODE (x) == CONST)
19183 + if (GET_CODE (XEXP (x, 0)) != PLUS
19184 + || (GET_CODE (XEXP (XEXP (x, 0), 0)) != SYMBOL_REF
19185 + && GET_CODE (XEXP (XEXP (x, 0), 0)) != LABEL_REF)
19186 + || GET_CODE (XEXP (XEXP (x, 0), 1)) != CONST_INT)
19187 + output_operand_lossage ("invalid %%K value");
19189 + print_operand_address (file, x);
19190 + fputs ("@l", file);
19191 + return;
19193 + /* %l is output_asm_label. */
19195 + case 'L':
19196 + /* Write second word of DImode or DFmode reference. Works on register
19197 + or non-indexed memory only. */
19198 + if (REG_P (x))
19199 + fputs (reg_names[REGNO (x) + 1], file);
19200 + else if (MEM_P (x))
19202 + /* Handle possible auto-increment. Since it is pre-increment and
19203 + we have already done it, we can just use an offset of word. */
19204 + if (GET_CODE (XEXP (x, 0)) == PRE_INC
19205 + || GET_CODE (XEXP (x, 0)) == PRE_DEC)
19206 + output_address (plus_constant (Pmode, XEXP (XEXP (x, 0), 0),
19207 + UNITS_PER_WORD));
19208 + else if (GET_CODE (XEXP (x, 0)) == PRE_MODIFY)
19209 + output_address (plus_constant (Pmode, XEXP (XEXP (x, 0), 0),
19210 + UNITS_PER_WORD));
19211 + else
19212 + output_address (XEXP (adjust_address_nv (x, SImode,
19213 + UNITS_PER_WORD),
19214 + 0));
19216 + if (small_data_operand (x, GET_MODE (x)))
19217 + fprintf (file, "@%s(%s)", SMALL_DATA_RELOC,
19218 + reg_names[SMALL_DATA_REG]);
19220 + return;
19222 + case 'm':
19223 + /* MB value for a mask operand. */
19224 + if (! mask_operand (x, SImode))
19225 + output_operand_lossage ("invalid %%m value");
19227 + fprintf (file, "%d", extract_MB (x));
19228 + return;
19230 + case 'M':
19231 + /* ME value for a mask operand. */
19232 + if (! mask_operand (x, SImode))
19233 + output_operand_lossage ("invalid %%M value");
19235 + fprintf (file, "%d", extract_ME (x));
19236 + return;
19238 + /* %n outputs the negative of its operand. */
19240 + case 'N':
19241 + /* Write the number of elements in the vector times 4. */
19242 + if (GET_CODE (x) != PARALLEL)
19243 + output_operand_lossage ("invalid %%N value");
19244 + else
19245 + fprintf (file, "%d", XVECLEN (x, 0) * 4);
19246 + return;
19248 + case 'O':
19249 + /* Similar, but subtract 1 first. */
19250 + if (GET_CODE (x) != PARALLEL)
19251 + output_operand_lossage ("invalid %%O value");
19252 + else
19253 + fprintf (file, "%d", (XVECLEN (x, 0) - 1) * 4);
19254 + return;
19256 + case 'p':
19257 + /* X is a CONST_INT that is a power of two. Output the logarithm. */
19258 + if (! INT_P (x)
19259 + || INTVAL (x) < 0
19260 + || (i = exact_log2 (INTVAL (x))) < 0)
19261 + output_operand_lossage ("invalid %%p value");
19262 + else
19263 + fprintf (file, "%d", i);
19264 + return;
19266 + case 'P':
19267 + /* The operand must be an indirect memory reference. The result
19268 + is the register name. */
19269 + if (GET_CODE (x) != MEM || GET_CODE (XEXP (x, 0)) != REG
19270 + || REGNO (XEXP (x, 0)) >= 32)
19271 + output_operand_lossage ("invalid %%P value");
19272 + else
19273 + fputs (reg_names[REGNO (XEXP (x, 0))], file);
19274 + return;
19276 + case 'q':
19277 + /* This outputs the logical code corresponding to a boolean
19278 + expression. The expression may have one or both operands
19279 + negated (if one, only the first one). For condition register
19280 + logical operations, it will also treat the negated
19281 + CR codes as NOTs, but not handle NOTs of them. */
19283 + const char *const *t = 0;
19284 + const char *s;
19285 + enum rtx_code code = GET_CODE (x);
19286 + static const char * const tbl[3][3] = {
19287 + { "and", "andc", "nor" },
19288 + { "or", "orc", "nand" },
19289 + { "xor", "eqv", "xor" } };
19291 + if (code == AND)
19292 + t = tbl[0];
19293 + else if (code == IOR)
19294 + t = tbl[1];
19295 + else if (code == XOR)
19296 + t = tbl[2];
19297 + else
19298 + output_operand_lossage ("invalid %%q value");
19300 + if (GET_CODE (XEXP (x, 0)) != NOT)
19301 + s = t[0];
19302 + else
19304 + if (GET_CODE (XEXP (x, 1)) == NOT)
19305 + s = t[2];
19306 + else
19307 + s = t[1];
19310 + fputs (s, file);
19312 + return;
19314 + case 'Q':
19315 + if (! TARGET_MFCRF)
19316 + return;
19317 + fputc (',', file);
19318 + /* FALLTHRU */
19320 + case 'R':
19321 + /* X is a CR register. Print the mask for `mtcrf'. */
19322 + if (GET_CODE (x) != REG || ! CR_REGNO_P (REGNO (x)))
19323 + output_operand_lossage ("invalid %%R value");
19324 + else
19325 + fprintf (file, "%d", 128 >> (REGNO (x) - CR0_REGNO));
19326 + return;
19328 + case 's':
19329 + /* Low 5 bits of 32 - value */
19330 + if (! INT_P (x))
19331 + output_operand_lossage ("invalid %%s value");
19332 + else
19333 + fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 31);
19334 + return;
19336 + case 'S':
19337 + /* PowerPC64 mask position. All 0's is excluded.
19338 + CONST_INT 32-bit mask is considered sign-extended so any
19339 + transition must occur within the CONST_INT, not on the boundary. */
19340 + if (! mask64_operand (x, DImode))
19341 + output_operand_lossage ("invalid %%S value");
19343 + uval = INTVAL (x);
19345 + if (uval & 1) /* Clear Left */
19347 +#if HOST_BITS_PER_WIDE_INT > 64
19348 + uval &= ((unsigned HOST_WIDE_INT) 1 << 64) - 1;
19349 +#endif
19350 + i = 64;
19352 + else /* Clear Right */
19354 + uval = ~uval;
19355 +#if HOST_BITS_PER_WIDE_INT > 64
19356 + uval &= ((unsigned HOST_WIDE_INT) 1 << 64) - 1;
19357 +#endif
19358 + i = 63;
19360 + while (uval != 0)
19361 + --i, uval >>= 1;
19362 + gcc_assert (i >= 0);
19363 + fprintf (file, "%d", i);
19364 + return;
19366 + case 't':
19367 + /* Like 'J' but get to the OVERFLOW/UNORDERED bit. */
19368 + gcc_assert (REG_P (x) && GET_MODE (x) == CCmode);
19370 + /* Bit 3 is OV bit. */
19371 + i = 4 * (REGNO (x) - CR0_REGNO) + 3;
19373 + /* If we want bit 31, write a shift count of zero, not 32. */
19374 + fprintf (file, "%d", i == 31 ? 0 : i + 1);
19375 + return;
19377 + case 'T':
19378 + /* Print the symbolic name of a branch target register. */
19379 + if (GET_CODE (x) != REG || (REGNO (x) != LR_REGNO
19380 + && REGNO (x) != CTR_REGNO))
19381 + output_operand_lossage ("invalid %%T value");
19382 + else if (REGNO (x) == LR_REGNO)
19383 + fputs ("lr", file);
19384 + else
19385 + fputs ("ctr", file);
19386 + return;
19388 + case 'u':
19389 + /* High-order or low-order 16 bits of constant, whichever is non-zero,
19390 + for use in unsigned operand. */
19391 + if (! INT_P (x))
19393 + output_operand_lossage ("invalid %%u value");
19394 + return;
19397 + uval = INTVAL (x);
19398 + if ((uval & 0xffff) == 0)
19399 + uval >>= 16;
19401 + fprintf (file, HOST_WIDE_INT_PRINT_HEX, uval & 0xffff);
19402 + return;
19404 + case 'v':
19405 + /* High-order 16 bits of constant for use in signed operand. */
19406 + if (! INT_P (x))
19407 + output_operand_lossage ("invalid %%v value");
19408 + else
19409 + fprintf (file, HOST_WIDE_INT_PRINT_HEX,
19410 + (INTVAL (x) >> 16) & 0xffff);
19411 + return;
19413 + case 'U':
19414 + /* Print `u' if this has an auto-increment or auto-decrement. */
19415 + if (MEM_P (x)
19416 + && (GET_CODE (XEXP (x, 0)) == PRE_INC
19417 + || GET_CODE (XEXP (x, 0)) == PRE_DEC
19418 + || GET_CODE (XEXP (x, 0)) == PRE_MODIFY))
19419 + putc ('u', file);
19420 + return;
19422 + case 'V':
19423 + /* Print the trap code for this operand. */
19424 + switch (GET_CODE (x))
19426 + case EQ:
19427 + fputs ("eq", file); /* 4 */
19428 + break;
19429 + case NE:
19430 + fputs ("ne", file); /* 24 */
19431 + break;
19432 + case LT:
19433 + fputs ("lt", file); /* 16 */
19434 + break;
19435 + case LE:
19436 + fputs ("le", file); /* 20 */
19437 + break;
19438 + case GT:
19439 + fputs ("gt", file); /* 8 */
19440 + break;
19441 + case GE:
19442 + fputs ("ge", file); /* 12 */
19443 + break;
19444 + case LTU:
19445 + fputs ("llt", file); /* 2 */
19446 + break;
19447 + case LEU:
19448 + fputs ("lle", file); /* 6 */
19449 + break;
19450 + case GTU:
19451 + fputs ("lgt", file); /* 1 */
19452 + break;
19453 + case GEU:
19454 + fputs ("lge", file); /* 5 */
19455 + break;
19456 + default:
19457 + gcc_unreachable ();
19459 + break;
19461 + case 'w':
19462 + /* If constant, low-order 16 bits of constant, signed. Otherwise, write
19463 + normally. */
19464 + if (INT_P (x))
19465 + fprintf (file, HOST_WIDE_INT_PRINT_DEC,
19466 + ((INTVAL (x) & 0xffff) ^ 0x8000) - 0x8000);
19467 + else
19468 + print_operand (file, x, 0);
19469 + return;
19471 + case 'W':
19472 + /* MB value for a PowerPC64 rldic operand. */
19473 + i = clz_hwi (INTVAL (x));
19475 + fprintf (file, "%d", i);
19476 + return;
19478 + case 'x':
19479 + /* X is a FPR or Altivec register used in a VSX context. */
19480 + if (GET_CODE (x) != REG || !VSX_REGNO_P (REGNO (x)))
19481 + output_operand_lossage ("invalid %%x value");
19482 + else
19484 + int reg = REGNO (x);
19485 + int vsx_reg = (FP_REGNO_P (reg)
19486 + ? reg - 32
19487 + : reg - FIRST_ALTIVEC_REGNO + 32);
19489 +#ifdef TARGET_REGNAMES
19490 + if (TARGET_REGNAMES)
19491 + fprintf (file, "%%vs%d", vsx_reg);
19492 + else
19493 +#endif
19494 + fprintf (file, "%d", vsx_reg);
19496 + return;
19498 + case 'X':
19499 + if (MEM_P (x)
19500 + && (legitimate_indexed_address_p (XEXP (x, 0), 0)
19501 + || (GET_CODE (XEXP (x, 0)) == PRE_MODIFY
19502 + && legitimate_indexed_address_p (XEXP (XEXP (x, 0), 1), 0))))
19503 + putc ('x', file);
19504 + return;
19506 + case 'Y':
19507 + /* Like 'L', for third word of TImode/PTImode */
19508 + if (REG_P (x))
19509 + fputs (reg_names[REGNO (x) + 2], file);
19510 + else if (MEM_P (x))
19512 + if (GET_CODE (XEXP (x, 0)) == PRE_INC
19513 + || GET_CODE (XEXP (x, 0)) == PRE_DEC)
19514 + output_address (plus_constant (Pmode, XEXP (XEXP (x, 0), 0), 8));
19515 + else if (GET_CODE (XEXP (x, 0)) == PRE_MODIFY)
19516 + output_address (plus_constant (Pmode, XEXP (XEXP (x, 0), 0), 8));
19517 + else
19518 + output_address (XEXP (adjust_address_nv (x, SImode, 8), 0));
19519 + if (small_data_operand (x, GET_MODE (x)))
19520 + fprintf (file, "@%s(%s)", SMALL_DATA_RELOC,
19521 + reg_names[SMALL_DATA_REG]);
19523 + return;
19525 + case 'z':
19526 + /* X is a SYMBOL_REF. Write out the name preceded by a
19527 + period and without any trailing data in brackets. Used for function
19528 + names. If we are configured for System V (or the embedded ABI) on
19529 + the PowerPC, do not emit the period, since those systems do not use
19530 + TOCs and the like. */
19531 + gcc_assert (GET_CODE (x) == SYMBOL_REF);
19533 + /* For macho, check to see if we need a stub. */
19534 + if (TARGET_MACHO)
19536 + const char *name = XSTR (x, 0);
19537 +#if TARGET_MACHO
19538 + if (darwin_emit_branch_islands
19539 + && MACHOPIC_INDIRECT
19540 + && machopic_classify_symbol (x) == MACHOPIC_UNDEFINED_FUNCTION)
19541 + name = machopic_indirection_name (x, /*stub_p=*/true);
19542 +#endif
19543 + assemble_name (file, name);
19545 + else if (!DOT_SYMBOLS)
19546 + assemble_name (file, XSTR (x, 0));
19547 + else
19548 + rs6000_output_function_entry (file, XSTR (x, 0));
19549 + return;
19551 + case 'Z':
19552 + /* Like 'L', for last word of TImode/PTImode. */
19553 + if (REG_P (x))
19554 + fputs (reg_names[REGNO (x) + 3], file);
19555 + else if (MEM_P (x))
19557 + if (GET_CODE (XEXP (x, 0)) == PRE_INC
19558 + || GET_CODE (XEXP (x, 0)) == PRE_DEC)
19559 + output_address (plus_constant (Pmode, XEXP (XEXP (x, 0), 0), 12));
19560 + else if (GET_CODE (XEXP (x, 0)) == PRE_MODIFY)
19561 + output_address (plus_constant (Pmode, XEXP (XEXP (x, 0), 0), 12));
19562 + else
19563 + output_address (XEXP (adjust_address_nv (x, SImode, 12), 0));
19564 + if (small_data_operand (x, GET_MODE (x)))
19565 + fprintf (file, "@%s(%s)", SMALL_DATA_RELOC,
19566 + reg_names[SMALL_DATA_REG]);
19568 + return;
19570 + /* Print AltiVec or SPE memory operand. */
19571 + case 'y':
19573 + rtx tmp;
19575 + gcc_assert (MEM_P (x));
19577 + tmp = XEXP (x, 0);
19579 + /* Ugly hack because %y is overloaded. */
19580 + if ((TARGET_SPE || TARGET_E500_DOUBLE)
19581 + && (GET_MODE_SIZE (GET_MODE (x)) == 8
19582 + || GET_MODE (x) == TFmode
19583 + || GET_MODE (x) == TImode
19584 + || GET_MODE (x) == PTImode))
19586 + /* Handle [reg]. */
19587 + if (REG_P (tmp))
19589 + fprintf (file, "0(%s)", reg_names[REGNO (tmp)]);
19590 + break;
19592 + /* Handle [reg+UIMM]. */
19593 + else if (GET_CODE (tmp) == PLUS &&
19594 + GET_CODE (XEXP (tmp, 1)) == CONST_INT)
19596 + int x;
19598 + gcc_assert (REG_P (XEXP (tmp, 0)));
19600 + x = INTVAL (XEXP (tmp, 1));
19601 + fprintf (file, "%d(%s)", x, reg_names[REGNO (XEXP (tmp, 0))]);
19602 + break;
19605 + /* Fall through. Must be [reg+reg]. */
19607 + if (VECTOR_MEM_ALTIVEC_P (GET_MODE (x))
19608 + && GET_CODE (tmp) == AND
19609 + && GET_CODE (XEXP (tmp, 1)) == CONST_INT
19610 + && INTVAL (XEXP (tmp, 1)) == -16)
19611 + tmp = XEXP (tmp, 0);
19612 + else if (VECTOR_MEM_VSX_P (GET_MODE (x))
19613 + && GET_CODE (tmp) == PRE_MODIFY)
19614 + tmp = XEXP (tmp, 1);
19615 + if (REG_P (tmp))
19616 + fprintf (file, "0,%s", reg_names[REGNO (tmp)]);
19617 + else
19619 + if (GET_CODE (tmp) != PLUS
19620 + || !REG_P (XEXP (tmp, 0))
19621 + || !REG_P (XEXP (tmp, 1)))
19623 + output_operand_lossage ("invalid %%y value, try using the 'Z' constraint");
19624 + break;
19627 + if (REGNO (XEXP (tmp, 0)) == 0)
19628 + fprintf (file, "%s,%s", reg_names[ REGNO (XEXP (tmp, 1)) ],
19629 + reg_names[ REGNO (XEXP (tmp, 0)) ]);
19630 + else
19631 + fprintf (file, "%s,%s", reg_names[ REGNO (XEXP (tmp, 0)) ],
19632 + reg_names[ REGNO (XEXP (tmp, 1)) ]);
19634 + break;
19637 + case 0:
19638 + if (REG_P (x))
19639 + fprintf (file, "%s", reg_names[REGNO (x)]);
19640 + else if (MEM_P (x))
19642 + /* We need to handle PRE_INC and PRE_DEC here, since we need to
19643 + know the width from the mode. */
19644 + if (GET_CODE (XEXP (x, 0)) == PRE_INC)
19645 + fprintf (file, "%d(%s)", GET_MODE_SIZE (GET_MODE (x)),
19646 + reg_names[REGNO (XEXP (XEXP (x, 0), 0))]);
19647 + else if (GET_CODE (XEXP (x, 0)) == PRE_DEC)
19648 + fprintf (file, "%d(%s)", - GET_MODE_SIZE (GET_MODE (x)),
19649 + reg_names[REGNO (XEXP (XEXP (x, 0), 0))]);
19650 + else if (GET_CODE (XEXP (x, 0)) == PRE_MODIFY)
19651 + output_address (XEXP (XEXP (x, 0), 1));
19652 + else
19653 + output_address (XEXP (x, 0));
19655 + else
19657 + if (toc_relative_expr_p (x, false))
19658 + /* This hack along with a corresponding hack in
19659 + rs6000_output_addr_const_extra arranges to output addends
19660 + where the assembler expects to find them. eg.
19661 + (plus (unspec [(symbol_ref ("x")) (reg 2)] tocrel) 4)
19662 + without this hack would be output as "x@toc+4". We
19663 + want "x+4@toc". */
19664 + output_addr_const (file, CONST_CAST_RTX (tocrel_base));
19665 + else
19666 + output_addr_const (file, x);
19668 + return;
19670 + case '&':
19671 + if (const char *name = get_some_local_dynamic_name ())
19672 + assemble_name (file, name);
19673 + else
19674 + output_operand_lossage ("'%%&' used without any "
19675 + "local dynamic TLS references");
19676 + return;
19678 + default:
19679 + output_operand_lossage ("invalid %%xn code");
19683 +/* Print the address of an operand. */
19685 +void
19686 +print_operand_address (FILE *file, rtx x)
19688 + if (REG_P (x))
19689 + fprintf (file, "0(%s)", reg_names[ REGNO (x) ]);
19690 + else if (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == CONST
19691 + || GET_CODE (x) == LABEL_REF)
19693 + output_addr_const (file, x);
19694 + if (small_data_operand (x, GET_MODE (x)))
19695 + fprintf (file, "@%s(%s)", SMALL_DATA_RELOC,
19696 + reg_names[SMALL_DATA_REG]);
19697 + else
19698 + gcc_assert (!TARGET_TOC);
19700 + else if (GET_CODE (x) == PLUS && REG_P (XEXP (x, 0))
19701 + && REG_P (XEXP (x, 1)))
19703 + if (REGNO (XEXP (x, 0)) == 0)
19704 + fprintf (file, "%s,%s", reg_names[ REGNO (XEXP (x, 1)) ],
19705 + reg_names[ REGNO (XEXP (x, 0)) ]);
19706 + else
19707 + fprintf (file, "%s,%s", reg_names[ REGNO (XEXP (x, 0)) ],
19708 + reg_names[ REGNO (XEXP (x, 1)) ]);
19710 + else if (GET_CODE (x) == PLUS && REG_P (XEXP (x, 0))
19711 + && GET_CODE (XEXP (x, 1)) == CONST_INT)
19712 + fprintf (file, HOST_WIDE_INT_PRINT_DEC "(%s)",
19713 + INTVAL (XEXP (x, 1)), reg_names[ REGNO (XEXP (x, 0)) ]);
19714 +#if TARGET_MACHO
19715 + else if (GET_CODE (x) == LO_SUM && REG_P (XEXP (x, 0))
19716 + && CONSTANT_P (XEXP (x, 1)))
19718 + fprintf (file, "lo16(");
19719 + output_addr_const (file, XEXP (x, 1));
19720 + fprintf (file, ")(%s)", reg_names[ REGNO (XEXP (x, 0)) ]);
19722 +#endif
19723 +#if TARGET_ELF
19724 + else if (GET_CODE (x) == LO_SUM && REG_P (XEXP (x, 0))
19725 + && CONSTANT_P (XEXP (x, 1)))
19727 + output_addr_const (file, XEXP (x, 1));
19728 + fprintf (file, "@l(%s)", reg_names[ REGNO (XEXP (x, 0)) ]);
19730 +#endif
19731 + else if (toc_relative_expr_p (x, false))
19733 + /* This hack along with a corresponding hack in
19734 + rs6000_output_addr_const_extra arranges to output addends
19735 + where the assembler expects to find them. eg.
19736 + (lo_sum (reg 9)
19737 + . (plus (unspec [(symbol_ref ("x")) (reg 2)] tocrel) 8))
19738 + without this hack would be output as "x@toc+8@l(9)". We
19739 + want "x+8@toc@l(9)". */
19740 + output_addr_const (file, CONST_CAST_RTX (tocrel_base));
19741 + if (GET_CODE (x) == LO_SUM)
19742 + fprintf (file, "@l(%s)", reg_names[REGNO (XEXP (x, 0))]);
19743 + else
19744 + fprintf (file, "(%s)", reg_names[REGNO (XVECEXP (tocrel_base, 0, 1))]);
19746 + else
19747 + gcc_unreachable ();
19750 +/* Implement TARGET_OUTPUT_ADDR_CONST_EXTRA. */
19752 +static bool
19753 +rs6000_output_addr_const_extra (FILE *file, rtx x)
19755 + if (GET_CODE (x) == UNSPEC)
19756 + switch (XINT (x, 1))
19758 + case UNSPEC_TOCREL:
19759 + gcc_checking_assert (GET_CODE (XVECEXP (x, 0, 0)) == SYMBOL_REF
19760 + && REG_P (XVECEXP (x, 0, 1))
19761 + && REGNO (XVECEXP (x, 0, 1)) == TOC_REGISTER);
19762 + output_addr_const (file, XVECEXP (x, 0, 0));
19763 + if (x == tocrel_base && tocrel_offset != const0_rtx)
19765 + if (INTVAL (tocrel_offset) >= 0)
19766 + fprintf (file, "+");
19767 + output_addr_const (file, CONST_CAST_RTX (tocrel_offset));
19769 + if (!TARGET_AIX || (TARGET_ELF && TARGET_MINIMAL_TOC))
19771 + putc ('-', file);
19772 + assemble_name (file, toc_label_name);
19774 + else if (TARGET_ELF)
19775 + fputs ("@toc", file);
19776 + return true;
19778 +#if TARGET_MACHO
19779 + case UNSPEC_MACHOPIC_OFFSET:
19780 + output_addr_const (file, XVECEXP (x, 0, 0));
19781 + putc ('-', file);
19782 + machopic_output_function_base_name (file);
19783 + return true;
19784 +#endif
19786 + return false;
19789 +/* Target hook for assembling integer objects. The PowerPC version has
19790 + to handle fixup entries for relocatable code if RELOCATABLE_NEEDS_FIXUP
19791 + is defined. It also needs to handle DI-mode objects on 64-bit
19792 + targets. */
19794 +static bool
19795 +rs6000_assemble_integer (rtx x, unsigned int size, int aligned_p)
19797 +#ifdef RELOCATABLE_NEEDS_FIXUP
19798 + /* Special handling for SI values. */
19799 + if (RELOCATABLE_NEEDS_FIXUP && size == 4 && aligned_p)
19801 + static int recurse = 0;
19803 + /* For -mrelocatable, we mark all addresses that need to be fixed up in
19804 + the .fixup section. Since the TOC section is already relocated, we
19805 + don't need to mark it here. We used to skip the text section, but it
19806 + should never be valid for relocated addresses to be placed in the text
19807 + section. */
19808 + if (TARGET_RELOCATABLE
19809 + && in_section != toc_section
19810 + && !recurse
19811 + && !CONST_SCALAR_INT_P (x)
19812 + && CONSTANT_P (x))
19814 + char buf[256];
19816 + recurse = 1;
19817 + ASM_GENERATE_INTERNAL_LABEL (buf, "LCP", fixuplabelno);
19818 + fixuplabelno++;
19819 + ASM_OUTPUT_LABEL (asm_out_file, buf);
19820 + fprintf (asm_out_file, "\t.long\t(");
19821 + output_addr_const (asm_out_file, x);
19822 + fprintf (asm_out_file, ")@fixup\n");
19823 + fprintf (asm_out_file, "\t.section\t\".fixup\",\"aw\"\n");
19824 + ASM_OUTPUT_ALIGN (asm_out_file, 2);
19825 + fprintf (asm_out_file, "\t.long\t");
19826 + assemble_name (asm_out_file, buf);
19827 + fprintf (asm_out_file, "\n\t.previous\n");
19828 + recurse = 0;
19829 + return true;
19831 + /* Remove initial .'s to turn a -mcall-aixdesc function
19832 + address into the address of the descriptor, not the function
19833 + itself. */
19834 + else if (GET_CODE (x) == SYMBOL_REF
19835 + && XSTR (x, 0)[0] == '.'
19836 + && DEFAULT_ABI == ABI_AIX)
19838 + const char *name = XSTR (x, 0);
19839 + while (*name == '.')
19840 + name++;
19842 + fprintf (asm_out_file, "\t.long\t%s\n", name);
19843 + return true;
19846 +#endif /* RELOCATABLE_NEEDS_FIXUP */
19847 + return default_assemble_integer (x, size, aligned_p);
19850 +#if defined (HAVE_GAS_HIDDEN) && !TARGET_MACHO
19851 +/* Emit an assembler directive to set symbol visibility for DECL to
19852 + VISIBILITY_TYPE. */
19854 +static void
19855 +rs6000_assemble_visibility (tree decl, int vis)
19857 + if (TARGET_XCOFF)
19858 + return;
19860 + /* Functions need to have their entry point symbol visibility set as
19861 + well as their descriptor symbol visibility. */
19862 + if (DEFAULT_ABI == ABI_AIX
19863 + && DOT_SYMBOLS
19864 + && TREE_CODE (decl) == FUNCTION_DECL)
19866 + static const char * const visibility_types[] = {
19867 + NULL, "internal", "hidden", "protected"
19868 + };
19870 + const char *name, *type;
19872 + name = ((* targetm.strip_name_encoding)
19873 + (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl))));
19874 + type = visibility_types[vis];
19876 + fprintf (asm_out_file, "\t.%s\t%s\n", type, name);
19877 + fprintf (asm_out_file, "\t.%s\t.%s\n", type, name);
19879 + else
19880 + default_assemble_visibility (decl, vis);
19882 +#endif
19884 +enum rtx_code
19885 +rs6000_reverse_condition (machine_mode mode, enum rtx_code code)
19887 + /* Reversal of FP compares takes care -- an ordered compare
19888 + becomes an unordered compare and vice versa. */
19889 + if (mode == CCFPmode
19890 + && (!flag_finite_math_only
19891 + || code == UNLT || code == UNLE || code == UNGT || code == UNGE
19892 + || code == UNEQ || code == LTGT))
19893 + return reverse_condition_maybe_unordered (code);
19894 + else
19895 + return reverse_condition (code);
19898 +/* Generate a compare for CODE. Return a brand-new rtx that
19899 + represents the result of the compare. */
19901 +static rtx
19902 +rs6000_generate_compare (rtx cmp, machine_mode mode)
19904 + machine_mode comp_mode;
19905 + rtx compare_result;
19906 + enum rtx_code code = GET_CODE (cmp);
19907 + rtx op0 = XEXP (cmp, 0);
19908 + rtx op1 = XEXP (cmp, 1);
19910 + if (FLOAT_MODE_P (mode))
19911 + comp_mode = CCFPmode;
19912 + else if (code == GTU || code == LTU
19913 + || code == GEU || code == LEU)
19914 + comp_mode = CCUNSmode;
19915 + else if ((code == EQ || code == NE)
19916 + && unsigned_reg_p (op0)
19917 + && (unsigned_reg_p (op1)
19918 + || (CONST_INT_P (op1) && INTVAL (op1) != 0)))
19919 + /* These are unsigned values, perhaps there will be a later
19920 + ordering compare that can be shared with this one. */
19921 + comp_mode = CCUNSmode;
19922 + else
19923 + comp_mode = CCmode;
19925 + /* If we have an unsigned compare, make sure we don't have a signed value as
19926 + an immediate. */
19927 + if (comp_mode == CCUNSmode && GET_CODE (op1) == CONST_INT
19928 + && INTVAL (op1) < 0)
19930 + op0 = copy_rtx_if_shared (op0);
19931 + op1 = force_reg (GET_MODE (op0), op1);
19932 + cmp = gen_rtx_fmt_ee (code, GET_MODE (cmp), op0, op1);
19935 + /* First, the compare. */
19936 + compare_result = gen_reg_rtx (comp_mode);
19938 + /* E500 FP compare instructions on the GPRs. Yuck! */
19939 + if ((!TARGET_FPRS && TARGET_HARD_FLOAT)
19940 + && FLOAT_MODE_P (mode))
19942 + rtx cmp, or_result, compare_result2;
19943 + machine_mode op_mode = GET_MODE (op0);
19944 + bool reverse_p;
19946 + if (op_mode == VOIDmode)
19947 + op_mode = GET_MODE (op1);
19949 + /* First reverse the condition codes that aren't directly supported. */
19950 + switch (code)
19952 + case NE:
19953 + case UNLT:
19954 + case UNLE:
19955 + case UNGT:
19956 + case UNGE:
19957 + code = reverse_condition_maybe_unordered (code);
19958 + reverse_p = true;
19959 + break;
19961 + case EQ:
19962 + case LT:
19963 + case LE:
19964 + case GT:
19965 + case GE:
19966 + reverse_p = false;
19967 + break;
19969 + default:
19970 + gcc_unreachable ();
19973 + /* The E500 FP compare instructions toggle the GT bit (CR bit 1) only.
19974 + This explains the following mess. */
19976 + switch (code)
19978 + case EQ:
19979 + switch (op_mode)
19981 + case SFmode:
19982 + cmp = (flag_finite_math_only && !flag_trapping_math)
19983 + ? gen_tstsfeq_gpr (compare_result, op0, op1)
19984 + : gen_cmpsfeq_gpr (compare_result, op0, op1);
19985 + break;
19987 + case DFmode:
19988 + cmp = (flag_finite_math_only && !flag_trapping_math)
19989 + ? gen_tstdfeq_gpr (compare_result, op0, op1)
19990 + : gen_cmpdfeq_gpr (compare_result, op0, op1);
19991 + break;
19993 + case TFmode:
19994 + cmp = (flag_finite_math_only && !flag_trapping_math)
19995 + ? gen_tsttfeq_gpr (compare_result, op0, op1)
19996 + : gen_cmptfeq_gpr (compare_result, op0, op1);
19997 + break;
19999 + default:
20000 + gcc_unreachable ();
20002 + break;
20004 + case GT:
20005 + case GE:
20006 + switch (op_mode)
20008 + case SFmode:
20009 + cmp = (flag_finite_math_only && !flag_trapping_math)
20010 + ? gen_tstsfgt_gpr (compare_result, op0, op1)
20011 + : gen_cmpsfgt_gpr (compare_result, op0, op1);
20012 + break;
20014 + case DFmode:
20015 + cmp = (flag_finite_math_only && !flag_trapping_math)
20016 + ? gen_tstdfgt_gpr (compare_result, op0, op1)
20017 + : gen_cmpdfgt_gpr (compare_result, op0, op1);
20018 + break;
20020 + case TFmode:
20021 + cmp = (flag_finite_math_only && !flag_trapping_math)
20022 + ? gen_tsttfgt_gpr (compare_result, op0, op1)
20023 + : gen_cmptfgt_gpr (compare_result, op0, op1);
20024 + break;
20026 + default:
20027 + gcc_unreachable ();
20029 + break;
20031 + case LT:
20032 + case LE:
20033 + switch (op_mode)
20035 + case SFmode:
20036 + cmp = (flag_finite_math_only && !flag_trapping_math)
20037 + ? gen_tstsflt_gpr (compare_result, op0, op1)
20038 + : gen_cmpsflt_gpr (compare_result, op0, op1);
20039 + break;
20041 + case DFmode:
20042 + cmp = (flag_finite_math_only && !flag_trapping_math)
20043 + ? gen_tstdflt_gpr (compare_result, op0, op1)
20044 + : gen_cmpdflt_gpr (compare_result, op0, op1);
20045 + break;
20047 + case TFmode:
20048 + cmp = (flag_finite_math_only && !flag_trapping_math)
20049 + ? gen_tsttflt_gpr (compare_result, op0, op1)
20050 + : gen_cmptflt_gpr (compare_result, op0, op1);
20051 + break;
20053 + default:
20054 + gcc_unreachable ();
20056 + break;
20058 + default:
20059 + gcc_unreachable ();
20062 + /* Synthesize LE and GE from LT/GT || EQ. */
20063 + if (code == LE || code == GE)
20065 + emit_insn (cmp);
20067 + compare_result2 = gen_reg_rtx (CCFPmode);
20069 + /* Do the EQ. */
20070 + switch (op_mode)
20072 + case SFmode:
20073 + cmp = (flag_finite_math_only && !flag_trapping_math)
20074 + ? gen_tstsfeq_gpr (compare_result2, op0, op1)
20075 + : gen_cmpsfeq_gpr (compare_result2, op0, op1);
20076 + break;
20078 + case DFmode:
20079 + cmp = (flag_finite_math_only && !flag_trapping_math)
20080 + ? gen_tstdfeq_gpr (compare_result2, op0, op1)
20081 + : gen_cmpdfeq_gpr (compare_result2, op0, op1);
20082 + break;
20084 + case TFmode:
20085 + cmp = (flag_finite_math_only && !flag_trapping_math)
20086 + ? gen_tsttfeq_gpr (compare_result2, op0, op1)
20087 + : gen_cmptfeq_gpr (compare_result2, op0, op1);
20088 + break;
20090 + default:
20091 + gcc_unreachable ();
20094 + emit_insn (cmp);
20096 + /* OR them together. */
20097 + or_result = gen_reg_rtx (CCFPmode);
20098 + cmp = gen_e500_cr_ior_compare (or_result, compare_result,
20099 + compare_result2);
20100 + compare_result = or_result;
20103 + code = reverse_p ? NE : EQ;
20105 + emit_insn (cmp);
20107 + else
20109 + /* Generate XLC-compatible TFmode compare as PARALLEL with extra
20110 + CLOBBERs to match cmptf_internal2 pattern. */
20111 + if (comp_mode == CCFPmode && TARGET_XL_COMPAT
20112 + && GET_MODE (op0) == TFmode
20113 + && !TARGET_IEEEQUAD
20114 + && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128)
20115 + emit_insn (gen_rtx_PARALLEL (VOIDmode,
20116 + gen_rtvec (10,
20117 + gen_rtx_SET (VOIDmode,
20118 + compare_result,
20119 + gen_rtx_COMPARE (comp_mode, op0, op1)),
20120 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20121 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20122 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20123 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20124 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20125 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20126 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20127 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (DFmode)),
20128 + gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (Pmode)))));
20129 + else if (GET_CODE (op1) == UNSPEC
20130 + && XINT (op1, 1) == UNSPEC_SP_TEST)
20132 + rtx op1b = XVECEXP (op1, 0, 0);
20133 + comp_mode = CCEQmode;
20134 + compare_result = gen_reg_rtx (CCEQmode);
20135 + if (TARGET_64BIT)
20136 + emit_insn (gen_stack_protect_testdi (compare_result, op0, op1b));
20137 + else
20138 + emit_insn (gen_stack_protect_testsi (compare_result, op0, op1b));
20140 + else
20141 + emit_insn (gen_rtx_SET (VOIDmode, compare_result,
20142 + gen_rtx_COMPARE (comp_mode, op0, op1)));
20145 + /* Some kinds of FP comparisons need an OR operation;
20146 + under flag_finite_math_only we don't bother. */
20147 + if (FLOAT_MODE_P (mode)
20148 + && !flag_finite_math_only
20149 + && !(TARGET_HARD_FLOAT && !TARGET_FPRS)
20150 + && (code == LE || code == GE
20151 + || code == UNEQ || code == LTGT
20152 + || code == UNGT || code == UNLT))
20154 + enum rtx_code or1, or2;
20155 + rtx or1_rtx, or2_rtx, compare2_rtx;
20156 + rtx or_result = gen_reg_rtx (CCEQmode);
20158 + switch (code)
20160 + case LE: or1 = LT; or2 = EQ; break;
20161 + case GE: or1 = GT; or2 = EQ; break;
20162 + case UNEQ: or1 = UNORDERED; or2 = EQ; break;
20163 + case LTGT: or1 = LT; or2 = GT; break;
20164 + case UNGT: or1 = UNORDERED; or2 = GT; break;
20165 + case UNLT: or1 = UNORDERED; or2 = LT; break;
20166 + default: gcc_unreachable ();
20168 + validate_condition_mode (or1, comp_mode);
20169 + validate_condition_mode (or2, comp_mode);
20170 + or1_rtx = gen_rtx_fmt_ee (or1, SImode, compare_result, const0_rtx);
20171 + or2_rtx = gen_rtx_fmt_ee (or2, SImode, compare_result, const0_rtx);
20172 + compare2_rtx = gen_rtx_COMPARE (CCEQmode,
20173 + gen_rtx_IOR (SImode, or1_rtx, or2_rtx),
20174 + const_true_rtx);
20175 + emit_insn (gen_rtx_SET (VOIDmode, or_result, compare2_rtx));
20177 + compare_result = or_result;
20178 + code = EQ;
20181 + validate_condition_mode (code, GET_MODE (compare_result));
20183 + return gen_rtx_fmt_ee (code, VOIDmode, compare_result, const0_rtx);
20187 +/* Emit the RTL for an sISEL pattern. */
20189 +void
20190 +rs6000_emit_sISEL (machine_mode mode ATTRIBUTE_UNUSED, rtx operands[])
20192 + rs6000_emit_int_cmove (operands[0], operands[1], const1_rtx, const0_rtx);
20195 +/* Emit RTL that sets a register to zero if OP1 and OP2 are equal. SCRATCH
20196 + can be used as that dest register. Return the dest register. */
20198 +rtx
20199 +rs6000_emit_eqne (machine_mode mode, rtx op1, rtx op2, rtx scratch)
20201 + if (op2 == const0_rtx)
20202 + return op1;
20204 + if (GET_CODE (scratch) == SCRATCH)
20205 + scratch = gen_reg_rtx (mode);
20207 + if (logical_operand (op2, mode))
20208 + emit_insn (gen_rtx_SET (VOIDmode, scratch, gen_rtx_XOR (mode, op1, op2)));
20209 + else
20210 + emit_insn (gen_rtx_SET (VOIDmode, scratch,
20211 + gen_rtx_PLUS (mode, op1, negate_rtx (mode, op2))));
20213 + return scratch;
20216 +void
20217 +rs6000_emit_sCOND (machine_mode mode, rtx operands[])
20219 + rtx condition_rtx;
20220 + machine_mode op_mode;
20221 + enum rtx_code cond_code;
20222 + rtx result = operands[0];
20224 + condition_rtx = rs6000_generate_compare (operands[1], mode);
20225 + cond_code = GET_CODE (condition_rtx);
20227 + if (FLOAT_MODE_P (mode)
20228 + && !TARGET_FPRS && TARGET_HARD_FLOAT)
20230 + rtx t;
20232 + PUT_MODE (condition_rtx, SImode);
20233 + t = XEXP (condition_rtx, 0);
20235 + gcc_assert (cond_code == NE || cond_code == EQ);
20237 + if (cond_code == NE)
20238 + emit_insn (gen_e500_flip_gt_bit (t, t));
20240 + emit_insn (gen_move_from_CR_gt_bit (result, t));
20241 + return;
20244 + if (cond_code == NE
20245 + || cond_code == GE || cond_code == LE
20246 + || cond_code == GEU || cond_code == LEU
20247 + || cond_code == ORDERED || cond_code == UNGE || cond_code == UNLE)
20249 + rtx not_result = gen_reg_rtx (CCEQmode);
20250 + rtx not_op, rev_cond_rtx;
20251 + machine_mode cc_mode;
20253 + cc_mode = GET_MODE (XEXP (condition_rtx, 0));
20255 + rev_cond_rtx = gen_rtx_fmt_ee (rs6000_reverse_condition (cc_mode, cond_code),
20256 + SImode, XEXP (condition_rtx, 0), const0_rtx);
20257 + not_op = gen_rtx_COMPARE (CCEQmode, rev_cond_rtx, const0_rtx);
20258 + emit_insn (gen_rtx_SET (VOIDmode, not_result, not_op));
20259 + condition_rtx = gen_rtx_EQ (VOIDmode, not_result, const0_rtx);
20262 + op_mode = GET_MODE (XEXP (operands[1], 0));
20263 + if (op_mode == VOIDmode)
20264 + op_mode = GET_MODE (XEXP (operands[1], 1));
20266 + if (TARGET_POWERPC64 && (op_mode == DImode || FLOAT_MODE_P (mode)))
20268 + PUT_MODE (condition_rtx, DImode);
20269 + convert_move (result, condition_rtx, 0);
20271 + else
20273 + PUT_MODE (condition_rtx, SImode);
20274 + emit_insn (gen_rtx_SET (VOIDmode, result, condition_rtx));
20278 +/* Emit a branch of kind CODE to location LOC. */
20280 +void
20281 +rs6000_emit_cbranch (machine_mode mode, rtx operands[])
20283 + rtx condition_rtx, loc_ref;
20285 + condition_rtx = rs6000_generate_compare (operands[0], mode);
20286 + loc_ref = gen_rtx_LABEL_REF (VOIDmode, operands[3]);
20287 + emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx,
20288 + gen_rtx_IF_THEN_ELSE (VOIDmode, condition_rtx,
20289 + loc_ref, pc_rtx)));
20292 +/* Return the string to output a conditional branch to LABEL, which is
20293 + the operand template of the label, or NULL if the branch is really a
20294 + conditional return.
20296 + OP is the conditional expression. XEXP (OP, 0) is assumed to be a
20297 + condition code register and its mode specifies what kind of
20298 + comparison we made.
20300 + REVERSED is nonzero if we should reverse the sense of the comparison.
20302 + INSN is the insn. */
20304 +char *
20305 +output_cbranch (rtx op, const char *label, int reversed, rtx_insn *insn)
20307 + static char string[64];
20308 + enum rtx_code code = GET_CODE (op);
20309 + rtx cc_reg = XEXP (op, 0);
20310 + machine_mode mode = GET_MODE (cc_reg);
20311 + int cc_regno = REGNO (cc_reg) - CR0_REGNO;
20312 + int need_longbranch = label != NULL && get_attr_length (insn) == 8;
20313 + int really_reversed = reversed ^ need_longbranch;
20314 + char *s = string;
20315 + const char *ccode;
20316 + const char *pred;
20317 + rtx note;
20319 + validate_condition_mode (code, mode);
20321 + /* Work out which way this really branches. We could use
20322 + reverse_condition_maybe_unordered here always but this
20323 + makes the resulting assembler clearer. */
20324 + if (really_reversed)
20326 + /* Reversal of FP compares takes care -- an ordered compare
20327 + becomes an unordered compare and vice versa. */
20328 + if (mode == CCFPmode)
20329 + code = reverse_condition_maybe_unordered (code);
20330 + else
20331 + code = reverse_condition (code);
20334 + if ((!TARGET_FPRS && TARGET_HARD_FLOAT) && mode == CCFPmode)
20336 + /* The efscmp/tst* instructions twiddle bit 2, which maps nicely
20337 + to the GT bit. */
20338 + switch (code)
20340 + case EQ:
20341 + /* Opposite of GT. */
20342 + code = GT;
20343 + break;
20345 + case NE:
20346 + code = UNLE;
20347 + break;
20349 + default:
20350 + gcc_unreachable ();
20354 + switch (code)
20356 + /* Not all of these are actually distinct opcodes, but
20357 + we distinguish them for clarity of the resulting assembler. */
20358 + case NE: case LTGT:
20359 + ccode = "ne"; break;
20360 + case EQ: case UNEQ:
20361 + ccode = "eq"; break;
20362 + case GE: case GEU:
20363 + ccode = "ge"; break;
20364 + case GT: case GTU: case UNGT:
20365 + ccode = "gt"; break;
20366 + case LE: case LEU:
20367 + ccode = "le"; break;
20368 + case LT: case LTU: case UNLT:
20369 + ccode = "lt"; break;
20370 + case UNORDERED: ccode = "un"; break;
20371 + case ORDERED: ccode = "nu"; break;
20372 + case UNGE: ccode = "nl"; break;
20373 + case UNLE: ccode = "ng"; break;
20374 + default:
20375 + gcc_unreachable ();
20378 + /* Maybe we have a guess as to how likely the branch is. */
20379 + pred = "";
20380 + note = find_reg_note (insn, REG_BR_PROB, NULL_RTX);
20381 + if (note != NULL_RTX)
20383 + /* PROB is the difference from 50%. */
20384 + int prob = XINT (note, 0) - REG_BR_PROB_BASE / 2;
20386 + /* Only hint for highly probable/improbable branches on newer
20387 + cpus as static prediction overrides processor dynamic
20388 + prediction. For older cpus we may as well always hint, but
20389 + assume not taken for branches that are very close to 50% as a
20390 + mispredicted taken branch is more expensive than a
20391 + mispredicted not-taken branch. */
20392 + if (rs6000_always_hint
20393 + || (abs (prob) > REG_BR_PROB_BASE / 100 * 48
20394 + && br_prob_note_reliable_p (note)))
20396 + if (abs (prob) > REG_BR_PROB_BASE / 20
20397 + && ((prob > 0) ^ need_longbranch))
20398 + pred = "+";
20399 + else
20400 + pred = "-";
20404 + if (label == NULL)
20405 + s += sprintf (s, "b%slr%s ", ccode, pred);
20406 + else
20407 + s += sprintf (s, "b%s%s ", ccode, pred);
20409 + /* We need to escape any '%' characters in the reg_names string.
20410 + Assume they'd only be the first character.... */
20411 + if (reg_names[cc_regno + CR0_REGNO][0] == '%')
20412 + *s++ = '%';
20413 + s += sprintf (s, "%s", reg_names[cc_regno + CR0_REGNO]);
20415 + if (label != NULL)
20417 + /* If the branch distance was too far, we may have to use an
20418 + unconditional branch to go the distance. */
20419 + if (need_longbranch)
20420 + s += sprintf (s, ",$+8\n\tb %s", label);
20421 + else
20422 + s += sprintf (s, ",%s", label);
20425 + return string;
20428 +/* Return the string to flip the GT bit on a CR. */
20429 +char *
20430 +output_e500_flip_gt_bit (rtx dst, rtx src)
20432 + static char string[64];
20433 + int a, b;
20435 + gcc_assert (GET_CODE (dst) == REG && CR_REGNO_P (REGNO (dst))
20436 + && GET_CODE (src) == REG && CR_REGNO_P (REGNO (src)));
20438 + /* GT bit. */
20439 + a = 4 * (REGNO (dst) - CR0_REGNO) + 1;
20440 + b = 4 * (REGNO (src) - CR0_REGNO) + 1;
20442 + sprintf (string, "crnot %d,%d", a, b);
20443 + return string;
20446 +/* Return insn for VSX or Altivec comparisons. */
20448 +static rtx
20449 +rs6000_emit_vector_compare_inner (enum rtx_code code, rtx op0, rtx op1)
20451 + rtx mask;
20452 + machine_mode mode = GET_MODE (op0);
20454 + switch (code)
20456 + default:
20457 + break;
20459 + case GE:
20460 + if (GET_MODE_CLASS (mode) == MODE_VECTOR_INT)
20461 + return NULL_RTX;
20463 + case EQ:
20464 + case GT:
20465 + case GTU:
20466 + case ORDERED:
20467 + case UNORDERED:
20468 + case UNEQ:
20469 + case LTGT:
20470 + mask = gen_reg_rtx (mode);
20471 + emit_insn (gen_rtx_SET (VOIDmode,
20472 + mask,
20473 + gen_rtx_fmt_ee (code, mode, op0, op1)));
20474 + return mask;
20477 + return NULL_RTX;
20480 +/* Emit vector compare for operands OP0 and OP1 using code RCODE.
20481 + DMODE is expected destination mode. This is a recursive function. */
20483 +static rtx
20484 +rs6000_emit_vector_compare (enum rtx_code rcode,
20485 + rtx op0, rtx op1,
20486 + machine_mode dmode)
20488 + rtx mask;
20489 + bool swap_operands = false;
20490 + bool try_again = false;
20492 + gcc_assert (VECTOR_UNIT_ALTIVEC_OR_VSX_P (dmode));
20493 + gcc_assert (GET_MODE (op0) == GET_MODE (op1));
20495 + /* See if the comparison works as is. */
20496 + mask = rs6000_emit_vector_compare_inner (rcode, op0, op1);
20497 + if (mask)
20498 + return mask;
20500 + switch (rcode)
20502 + case LT:
20503 + rcode = GT;
20504 + swap_operands = true;
20505 + try_again = true;
20506 + break;
20507 + case LTU:
20508 + rcode = GTU;
20509 + swap_operands = true;
20510 + try_again = true;
20511 + break;
20512 + case NE:
20513 + case UNLE:
20514 + case UNLT:
20515 + case UNGE:
20516 + case UNGT:
20517 + /* Invert condition and try again.
20518 + e.g., A != B becomes ~(A==B). */
20520 + enum rtx_code rev_code;
20521 + enum insn_code nor_code;
20522 + rtx mask2;
20524 + rev_code = reverse_condition_maybe_unordered (rcode);
20525 + if (rev_code == UNKNOWN)
20526 + return NULL_RTX;
20528 + nor_code = optab_handler (one_cmpl_optab, dmode);
20529 + if (nor_code == CODE_FOR_nothing)
20530 + return NULL_RTX;
20532 + mask2 = rs6000_emit_vector_compare (rev_code, op0, op1, dmode);
20533 + if (!mask2)
20534 + return NULL_RTX;
20536 + mask = gen_reg_rtx (dmode);
20537 + emit_insn (GEN_FCN (nor_code) (mask, mask2));
20538 + return mask;
20540 + break;
20541 + case GE:
20542 + case GEU:
20543 + case LE:
20544 + case LEU:
20545 + /* Try GT/GTU/LT/LTU OR EQ */
20547 + rtx c_rtx, eq_rtx;
20548 + enum insn_code ior_code;
20549 + enum rtx_code new_code;
20551 + switch (rcode)
20553 + case GE:
20554 + new_code = GT;
20555 + break;
20557 + case GEU:
20558 + new_code = GTU;
20559 + break;
20561 + case LE:
20562 + new_code = LT;
20563 + break;
20565 + case LEU:
20566 + new_code = LTU;
20567 + break;
20569 + default:
20570 + gcc_unreachable ();
20573 + ior_code = optab_handler (ior_optab, dmode);
20574 + if (ior_code == CODE_FOR_nothing)
20575 + return NULL_RTX;
20577 + c_rtx = rs6000_emit_vector_compare (new_code, op0, op1, dmode);
20578 + if (!c_rtx)
20579 + return NULL_RTX;
20581 + eq_rtx = rs6000_emit_vector_compare (EQ, op0, op1, dmode);
20582 + if (!eq_rtx)
20583 + return NULL_RTX;
20585 + mask = gen_reg_rtx (dmode);
20586 + emit_insn (GEN_FCN (ior_code) (mask, c_rtx, eq_rtx));
20587 + return mask;
20589 + break;
20590 + default:
20591 + return NULL_RTX;
20594 + if (try_again)
20596 + if (swap_operands)
20597 + std::swap (op0, op1);
20599 + mask = rs6000_emit_vector_compare_inner (rcode, op0, op1);
20600 + if (mask)
20601 + return mask;
20604 + /* You only get two chances. */
20605 + return NULL_RTX;
20608 +/* Emit vector conditional expression. DEST is destination. OP_TRUE and
20609 + OP_FALSE are two VEC_COND_EXPR operands. CC_OP0 and CC_OP1 are the two
20610 + operands for the relation operation COND. */
20612 +int
20613 +rs6000_emit_vector_cond_expr (rtx dest, rtx op_true, rtx op_false,
20614 + rtx cond, rtx cc_op0, rtx cc_op1)
20616 + machine_mode dest_mode = GET_MODE (dest);
20617 + machine_mode mask_mode = GET_MODE (cc_op0);
20618 + enum rtx_code rcode = GET_CODE (cond);
20619 + machine_mode cc_mode = CCmode;
20620 + rtx mask;
20621 + rtx cond2;
20622 + rtx tmp;
20623 + bool invert_move = false;
20625 + if (VECTOR_UNIT_NONE_P (dest_mode))
20626 + return 0;
20628 + gcc_assert (GET_MODE_SIZE (dest_mode) == GET_MODE_SIZE (mask_mode)
20629 + && GET_MODE_NUNITS (dest_mode) == GET_MODE_NUNITS (mask_mode));
20631 + switch (rcode)
20633 + /* Swap operands if we can, and fall back to doing the operation as
20634 + specified, and doing a NOR to invert the test. */
20635 + case NE:
20636 + case UNLE:
20637 + case UNLT:
20638 + case UNGE:
20639 + case UNGT:
20640 + /* Invert condition and try again.
20641 + e.g., A = (B != C) ? D : E becomes A = (B == C) ? E : D. */
20642 + invert_move = true;
20643 + rcode = reverse_condition_maybe_unordered (rcode);
20644 + if (rcode == UNKNOWN)
20645 + return 0;
20646 + break;
20648 + /* Mark unsigned tests with CCUNSmode. */
20649 + case GTU:
20650 + case GEU:
20651 + case LTU:
20652 + case LEU:
20653 + cc_mode = CCUNSmode;
20654 + break;
20656 + default:
20657 + break;
20660 + /* Get the vector mask for the given relational operations. */
20661 + mask = rs6000_emit_vector_compare (rcode, cc_op0, cc_op1, mask_mode);
20663 + if (!mask)
20664 + return 0;
20666 + if (invert_move)
20668 + tmp = op_true;
20669 + op_true = op_false;
20670 + op_false = tmp;
20673 + cond2 = gen_rtx_fmt_ee (NE, cc_mode, gen_lowpart (dest_mode, mask),
20674 + CONST0_RTX (dest_mode));
20675 + emit_insn (gen_rtx_SET (VOIDmode,
20676 + dest,
20677 + gen_rtx_IF_THEN_ELSE (dest_mode,
20678 + cond2,
20679 + op_true,
20680 + op_false)));
20681 + return 1;
20684 +/* Emit a conditional move: move TRUE_COND to DEST if OP of the
20685 + operands of the last comparison is nonzero/true, FALSE_COND if it
20686 + is zero/false. Return 0 if the hardware has no such operation. */
20688 +int
20689 +rs6000_emit_cmove (rtx dest, rtx op, rtx true_cond, rtx false_cond)
20691 + enum rtx_code code = GET_CODE (op);
20692 + rtx op0 = XEXP (op, 0);
20693 + rtx op1 = XEXP (op, 1);
20694 + REAL_VALUE_TYPE c1;
20695 + machine_mode compare_mode = GET_MODE (op0);
20696 + machine_mode result_mode = GET_MODE (dest);
20697 + rtx temp;
20698 + bool is_against_zero;
20700 + /* These modes should always match. */
20701 + if (GET_MODE (op1) != compare_mode
20702 + /* In the isel case however, we can use a compare immediate, so
20703 + op1 may be a small constant. */
20704 + && (!TARGET_ISEL || !short_cint_operand (op1, VOIDmode)))
20705 + return 0;
20706 + if (GET_MODE (true_cond) != result_mode)
20707 + return 0;
20708 + if (GET_MODE (false_cond) != result_mode)
20709 + return 0;
20711 + /* Don't allow using floating point comparisons for integer results for
20712 + now. */
20713 + if (FLOAT_MODE_P (compare_mode) && !FLOAT_MODE_P (result_mode))
20714 + return 0;
20716 + /* First, work out if the hardware can do this at all, or
20717 + if it's too slow.... */
20718 + if (!FLOAT_MODE_P (compare_mode))
20720 + if (TARGET_ISEL)
20721 + return rs6000_emit_int_cmove (dest, op, true_cond, false_cond);
20722 + return 0;
20724 + else if (TARGET_HARD_FLOAT && !TARGET_FPRS
20725 + && SCALAR_FLOAT_MODE_P (compare_mode))
20726 + return 0;
20728 + is_against_zero = op1 == CONST0_RTX (compare_mode);
20730 + /* A floating-point subtract might overflow, underflow, or produce
20731 + an inexact result, thus changing the floating-point flags, so it
20732 + can't be generated if we care about that. It's safe if one side
20733 + of the construct is zero, since then no subtract will be
20734 + generated. */
20735 + if (SCALAR_FLOAT_MODE_P (compare_mode)
20736 + && flag_trapping_math && ! is_against_zero)
20737 + return 0;
20739 + /* Eliminate half of the comparisons by switching operands, this
20740 + makes the remaining code simpler. */
20741 + if (code == UNLT || code == UNGT || code == UNORDERED || code == NE
20742 + || code == LTGT || code == LT || code == UNLE)
20744 + code = reverse_condition_maybe_unordered (code);
20745 + temp = true_cond;
20746 + true_cond = false_cond;
20747 + false_cond = temp;
20750 + /* UNEQ and LTGT take four instructions for a comparison with zero,
20751 + it'll probably be faster to use a branch here too. */
20752 + if (code == UNEQ && HONOR_NANS (compare_mode))
20753 + return 0;
20755 + if (GET_CODE (op1) == CONST_DOUBLE)
20756 + REAL_VALUE_FROM_CONST_DOUBLE (c1, op1);
20758 + /* We're going to try to implement comparisons by performing
20759 + a subtract, then comparing against zero. Unfortunately,
20760 + Inf - Inf is NaN which is not zero, and so if we don't
20761 + know that the operand is finite and the comparison
20762 + would treat EQ different to UNORDERED, we can't do it. */
20763 + if (HONOR_INFINITIES (compare_mode)
20764 + && code != GT && code != UNGE
20765 + && (GET_CODE (op1) != CONST_DOUBLE || real_isinf (&c1))
20766 + /* Constructs of the form (a OP b ? a : b) are safe. */
20767 + && ((! rtx_equal_p (op0, false_cond) && ! rtx_equal_p (op1, false_cond))
20768 + || (! rtx_equal_p (op0, true_cond)
20769 + && ! rtx_equal_p (op1, true_cond))))
20770 + return 0;
20772 + /* At this point we know we can use fsel. */
20774 + /* Reduce the comparison to a comparison against zero. */
20775 + if (! is_against_zero)
20777 + temp = gen_reg_rtx (compare_mode);
20778 + emit_insn (gen_rtx_SET (VOIDmode, temp,
20779 + gen_rtx_MINUS (compare_mode, op0, op1)));
20780 + op0 = temp;
20781 + op1 = CONST0_RTX (compare_mode);
20784 + /* If we don't care about NaNs we can reduce some of the comparisons
20785 + down to faster ones. */
20786 + if (! HONOR_NANS (compare_mode))
20787 + switch (code)
20789 + case GT:
20790 + code = LE;
20791 + temp = true_cond;
20792 + true_cond = false_cond;
20793 + false_cond = temp;
20794 + break;
20795 + case UNGE:
20796 + code = GE;
20797 + break;
20798 + case UNEQ:
20799 + code = EQ;
20800 + break;
20801 + default:
20802 + break;
20805 + /* Now, reduce everything down to a GE. */
20806 + switch (code)
20808 + case GE:
20809 + break;
20811 + case LE:
20812 + temp = gen_reg_rtx (compare_mode);
20813 + emit_insn (gen_rtx_SET (VOIDmode, temp, gen_rtx_NEG (compare_mode, op0)));
20814 + op0 = temp;
20815 + break;
20817 + case ORDERED:
20818 + temp = gen_reg_rtx (compare_mode);
20819 + emit_insn (gen_rtx_SET (VOIDmode, temp, gen_rtx_ABS (compare_mode, op0)));
20820 + op0 = temp;
20821 + break;
20823 + case EQ:
20824 + temp = gen_reg_rtx (compare_mode);
20825 + emit_insn (gen_rtx_SET (VOIDmode, temp,
20826 + gen_rtx_NEG (compare_mode,
20827 + gen_rtx_ABS (compare_mode, op0))));
20828 + op0 = temp;
20829 + break;
20831 + case UNGE:
20832 + /* a UNGE 0 <-> (a GE 0 || -a UNLT 0) */
20833 + temp = gen_reg_rtx (result_mode);
20834 + emit_insn (gen_rtx_SET (VOIDmode, temp,
20835 + gen_rtx_IF_THEN_ELSE (result_mode,
20836 + gen_rtx_GE (VOIDmode,
20837 + op0, op1),
20838 + true_cond, false_cond)));
20839 + false_cond = true_cond;
20840 + true_cond = temp;
20842 + temp = gen_reg_rtx (compare_mode);
20843 + emit_insn (gen_rtx_SET (VOIDmode, temp, gen_rtx_NEG (compare_mode, op0)));
20844 + op0 = temp;
20845 + break;
20847 + case GT:
20848 + /* a GT 0 <-> (a GE 0 && -a UNLT 0) */
20849 + temp = gen_reg_rtx (result_mode);
20850 + emit_insn (gen_rtx_SET (VOIDmode, temp,
20851 + gen_rtx_IF_THEN_ELSE (result_mode,
20852 + gen_rtx_GE (VOIDmode,
20853 + op0, op1),
20854 + true_cond, false_cond)));
20855 + true_cond = false_cond;
20856 + false_cond = temp;
20858 + temp = gen_reg_rtx (compare_mode);
20859 + emit_insn (gen_rtx_SET (VOIDmode, temp, gen_rtx_NEG (compare_mode, op0)));
20860 + op0 = temp;
20861 + break;
20863 + default:
20864 + gcc_unreachable ();
20867 + emit_insn (gen_rtx_SET (VOIDmode, dest,
20868 + gen_rtx_IF_THEN_ELSE (result_mode,
20869 + gen_rtx_GE (VOIDmode,
20870 + op0, op1),
20871 + true_cond, false_cond)));
20872 + return 1;
20875 +/* Same as above, but for ints (isel). */
20877 +static int
20878 +rs6000_emit_int_cmove (rtx dest, rtx op, rtx true_cond, rtx false_cond)
20880 + rtx condition_rtx, cr;
20881 + machine_mode mode = GET_MODE (dest);
20882 + enum rtx_code cond_code;
20883 + rtx (*isel_func) (rtx, rtx, rtx, rtx, rtx);
20884 + bool signedp;
20886 + if (mode != SImode && (!TARGET_POWERPC64 || mode != DImode))
20887 + return 0;
20889 + /* We still have to do the compare, because isel doesn't do a
20890 + compare, it just looks at the CRx bits set by a previous compare
20891 + instruction. */
20892 + condition_rtx = rs6000_generate_compare (op, mode);
20893 + cond_code = GET_CODE (condition_rtx);
20894 + cr = XEXP (condition_rtx, 0);
20895 + signedp = GET_MODE (cr) == CCmode;
20897 + isel_func = (mode == SImode
20898 + ? (signedp ? gen_isel_signed_si : gen_isel_unsigned_si)
20899 + : (signedp ? gen_isel_signed_di : gen_isel_unsigned_di));
20901 + switch (cond_code)
20903 + case LT: case GT: case LTU: case GTU: case EQ:
20904 + /* isel handles these directly. */
20905 + break;
20907 + default:
20908 + /* We need to swap the sense of the comparison. */
20910 + std::swap (false_cond, true_cond);
20911 + PUT_CODE (condition_rtx, reverse_condition (cond_code));
20913 + break;
20916 + false_cond = force_reg (mode, false_cond);
20917 + if (true_cond != const0_rtx)
20918 + true_cond = force_reg (mode, true_cond);
20920 + emit_insn (isel_func (dest, condition_rtx, true_cond, false_cond, cr));
20922 + return 1;
20925 +const char *
20926 +output_isel (rtx *operands)
20928 + enum rtx_code code;
20930 + code = GET_CODE (operands[1]);
20932 + if (code == GE || code == GEU || code == LE || code == LEU || code == NE)
20934 + gcc_assert (GET_CODE (operands[2]) == REG
20935 + && GET_CODE (operands[3]) == REG);
20936 + PUT_CODE (operands[1], reverse_condition (code));
20937 + return "isel %0,%3,%2,%j1";
20940 + return "isel %0,%2,%3,%j1";
20943 +void
20944 +rs6000_emit_minmax (rtx dest, enum rtx_code code, rtx op0, rtx op1)
20946 + machine_mode mode = GET_MODE (op0);
20947 + enum rtx_code c;
20948 + rtx target;
20950 + /* VSX/altivec have direct min/max insns. */
20951 + if ((code == SMAX || code == SMIN)
20952 + && (VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)
20953 + || (mode == SFmode && VECTOR_UNIT_VSX_P (DFmode))))
20955 + emit_insn (gen_rtx_SET (VOIDmode,
20956 + dest,
20957 + gen_rtx_fmt_ee (code, mode, op0, op1)));
20958 + return;
20961 + if (code == SMAX || code == SMIN)
20962 + c = GE;
20963 + else
20964 + c = GEU;
20966 + if (code == SMAX || code == UMAX)
20967 + target = emit_conditional_move (dest, c, op0, op1, mode,
20968 + op0, op1, mode, 0);
20969 + else
20970 + target = emit_conditional_move (dest, c, op0, op1, mode,
20971 + op1, op0, mode, 0);
20972 + gcc_assert (target);
20973 + if (target != dest)
20974 + emit_move_insn (dest, target);
20977 +/* A subroutine of the atomic operation splitters. Jump to LABEL if
20978 + COND is true. Mark the jump as unlikely to be taken. */
20980 +static void
20981 +emit_unlikely_jump (rtx cond, rtx label)
20983 + int very_unlikely = REG_BR_PROB_BASE / 100 - 1;
20984 + rtx x;
20986 + x = gen_rtx_IF_THEN_ELSE (VOIDmode, cond, label, pc_rtx);
20987 + x = emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, x));
20988 + add_int_reg_note (x, REG_BR_PROB, very_unlikely);
20991 +/* A subroutine of the atomic operation splitters. Emit a load-locked
20992 + instruction in MODE. For QI/HImode, possibly use a pattern than includes
20993 + the zero_extend operation. */
20995 +static void
20996 +emit_load_locked (machine_mode mode, rtx reg, rtx mem)
20998 + rtx (*fn) (rtx, rtx) = NULL;
21000 + switch (mode)
21002 + case QImode:
21003 + fn = gen_load_lockedqi;
21004 + break;
21005 + case HImode:
21006 + fn = gen_load_lockedhi;
21007 + break;
21008 + case SImode:
21009 + if (GET_MODE (mem) == QImode)
21010 + fn = gen_load_lockedqi_si;
21011 + else if (GET_MODE (mem) == HImode)
21012 + fn = gen_load_lockedhi_si;
21013 + else
21014 + fn = gen_load_lockedsi;
21015 + break;
21016 + case DImode:
21017 + fn = gen_load_lockeddi;
21018 + break;
21019 + case TImode:
21020 + fn = gen_load_lockedti;
21021 + break;
21022 + default:
21023 + gcc_unreachable ();
21025 + emit_insn (fn (reg, mem));
21028 +/* A subroutine of the atomic operation splitters. Emit a store-conditional
21029 + instruction in MODE. */
21031 +static void
21032 +emit_store_conditional (machine_mode mode, rtx res, rtx mem, rtx val)
21034 + rtx (*fn) (rtx, rtx, rtx) = NULL;
21036 + switch (mode)
21038 + case QImode:
21039 + fn = gen_store_conditionalqi;
21040 + break;
21041 + case HImode:
21042 + fn = gen_store_conditionalhi;
21043 + break;
21044 + case SImode:
21045 + fn = gen_store_conditionalsi;
21046 + break;
21047 + case DImode:
21048 + fn = gen_store_conditionaldi;
21049 + break;
21050 + case TImode:
21051 + fn = gen_store_conditionalti;
21052 + break;
21053 + default:
21054 + gcc_unreachable ();
21057 + /* Emit sync before stwcx. to address PPC405 Erratum. */
21058 + if (PPC405_ERRATUM77)
21059 + emit_insn (gen_hwsync ());
21061 + emit_insn (fn (res, mem, val));
21064 +/* Expand barriers before and after a load_locked/store_cond sequence. */
21066 +static rtx
21067 +rs6000_pre_atomic_barrier (rtx mem, enum memmodel model)
21069 + rtx addr = XEXP (mem, 0);
21070 + int strict_p = (reload_in_progress || reload_completed);
21072 + if (!legitimate_indirect_address_p (addr, strict_p)
21073 + && !legitimate_indexed_address_p (addr, strict_p))
21075 + addr = force_reg (Pmode, addr);
21076 + mem = replace_equiv_address_nv (mem, addr);
21079 + switch (model)
21081 + case MEMMODEL_RELAXED:
21082 + case MEMMODEL_CONSUME:
21083 + case MEMMODEL_ACQUIRE:
21084 + break;
21085 + case MEMMODEL_RELEASE:
21086 + case MEMMODEL_ACQ_REL:
21087 + emit_insn (gen_lwsync ());
21088 + break;
21089 + case MEMMODEL_SEQ_CST:
21090 + emit_insn (gen_hwsync ());
21091 + break;
21092 + default:
21093 + gcc_unreachable ();
21095 + return mem;
21098 +static void
21099 +rs6000_post_atomic_barrier (enum memmodel model)
21101 + switch (model)
21103 + case MEMMODEL_RELAXED:
21104 + case MEMMODEL_CONSUME:
21105 + case MEMMODEL_RELEASE:
21106 + break;
21107 + case MEMMODEL_ACQUIRE:
21108 + case MEMMODEL_ACQ_REL:
21109 + case MEMMODEL_SEQ_CST:
21110 + emit_insn (gen_isync ());
21111 + break;
21112 + default:
21113 + gcc_unreachable ();
21117 +/* A subroutine of the various atomic expanders. For sub-word operations,
21118 + we must adjust things to operate on SImode. Given the original MEM,
21119 + return a new aligned memory. Also build and return the quantities by
21120 + which to shift and mask. */
21122 +static rtx
21123 +rs6000_adjust_atomic_subword (rtx orig_mem, rtx *pshift, rtx *pmask)
21125 + rtx addr, align, shift, mask, mem;
21126 + HOST_WIDE_INT shift_mask;
21127 + machine_mode mode = GET_MODE (orig_mem);
21129 + /* For smaller modes, we have to implement this via SImode. */
21130 + shift_mask = (mode == QImode ? 0x18 : 0x10);
21132 + addr = XEXP (orig_mem, 0);
21133 + addr = force_reg (GET_MODE (addr), addr);
21135 + /* Aligned memory containing subword. Generate a new memory. We
21136 + do not want any of the existing MEM_ATTR data, as we're now
21137 + accessing memory outside the original object. */
21138 + align = expand_simple_binop (Pmode, AND, addr, GEN_INT (-4),
21139 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21140 + mem = gen_rtx_MEM (SImode, align);
21141 + MEM_VOLATILE_P (mem) = MEM_VOLATILE_P (orig_mem);
21142 + if (MEM_ALIAS_SET (orig_mem) == ALIAS_SET_MEMORY_BARRIER)
21143 + set_mem_alias_set (mem, ALIAS_SET_MEMORY_BARRIER);
21145 + /* Shift amount for subword relative to aligned word. */
21146 + shift = gen_reg_rtx (SImode);
21147 + addr = gen_lowpart (SImode, addr);
21148 + emit_insn (gen_rlwinm (shift, addr, GEN_INT (3), GEN_INT (shift_mask)));
21149 + if (BYTES_BIG_ENDIAN)
21150 + shift = expand_simple_binop (SImode, XOR, shift, GEN_INT (shift_mask),
21151 + shift, 1, OPTAB_LIB_WIDEN);
21152 + *pshift = shift;
21154 + /* Mask for insertion. */
21155 + mask = expand_simple_binop (SImode, ASHIFT, GEN_INT (GET_MODE_MASK (mode)),
21156 + shift, NULL_RTX, 1, OPTAB_LIB_WIDEN);
21157 + *pmask = mask;
21159 + return mem;
21162 +/* A subroutine of the various atomic expanders. For sub-word operands,
21163 + combine OLDVAL and NEWVAL via MASK. Returns a new pseduo. */
21165 +static rtx
21166 +rs6000_mask_atomic_subword (rtx oldval, rtx newval, rtx mask)
21168 + rtx x;
21170 + x = gen_reg_rtx (SImode);
21171 + emit_insn (gen_rtx_SET (VOIDmode, x,
21172 + gen_rtx_AND (SImode,
21173 + gen_rtx_NOT (SImode, mask),
21174 + oldval)));
21176 + x = expand_simple_binop (SImode, IOR, newval, x, x, 1, OPTAB_LIB_WIDEN);
21178 + return x;
21181 +/* A subroutine of the various atomic expanders. For sub-word operands,
21182 + extract WIDE to NARROW via SHIFT. */
21184 +static void
21185 +rs6000_finish_atomic_subword (rtx narrow, rtx wide, rtx shift)
21187 + wide = expand_simple_binop (SImode, LSHIFTRT, wide, shift,
21188 + wide, 1, OPTAB_LIB_WIDEN);
21189 + emit_move_insn (narrow, gen_lowpart (GET_MODE (narrow), wide));
21192 +/* Expand an atomic compare and swap operation. */
21194 +void
21195 +rs6000_expand_atomic_compare_and_swap (rtx operands[])
21197 + rtx boolval, retval, mem, oldval, newval, cond;
21198 + rtx label1, label2, x, mask, shift;
21199 + machine_mode mode, orig_mode;
21200 + enum memmodel mod_s, mod_f;
21201 + bool is_weak;
21203 + boolval = operands[0];
21204 + retval = operands[1];
21205 + mem = operands[2];
21206 + oldval = operands[3];
21207 + newval = operands[4];
21208 + is_weak = (INTVAL (operands[5]) != 0);
21209 + mod_s = (enum memmodel) INTVAL (operands[6]);
21210 + mod_f = (enum memmodel) INTVAL (operands[7]);
21211 + orig_mode = mode = GET_MODE (mem);
21213 + mask = shift = NULL_RTX;
21214 + if (mode == QImode || mode == HImode)
21216 + /* Before power8, we didn't have access to lbarx/lharx, so generate a
21217 + lwarx and shift/mask operations. With power8, we need to do the
21218 + comparison in SImode, but the store is still done in QI/HImode. */
21219 + oldval = convert_modes (SImode, mode, oldval, 1);
21221 + if (!TARGET_SYNC_HI_QI)
21223 + mem = rs6000_adjust_atomic_subword (mem, &shift, &mask);
21225 + /* Shift and mask OLDVAL into position with the word. */
21226 + oldval = expand_simple_binop (SImode, ASHIFT, oldval, shift,
21227 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21229 + /* Shift and mask NEWVAL into position within the word. */
21230 + newval = convert_modes (SImode, mode, newval, 1);
21231 + newval = expand_simple_binop (SImode, ASHIFT, newval, shift,
21232 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21235 + /* Prepare to adjust the return value. */
21236 + retval = gen_reg_rtx (SImode);
21237 + mode = SImode;
21239 + else if (reg_overlap_mentioned_p (retval, oldval))
21240 + oldval = copy_to_reg (oldval);
21242 + mem = rs6000_pre_atomic_barrier (mem, mod_s);
21244 + label1 = NULL_RTX;
21245 + if (!is_weak)
21247 + label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
21248 + emit_label (XEXP (label1, 0));
21250 + label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
21252 + emit_load_locked (mode, retval, mem);
21254 + x = retval;
21255 + if (mask)
21257 + x = expand_simple_binop (SImode, AND, retval, mask,
21258 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21261 + cond = gen_reg_rtx (CCmode);
21262 + /* If we have TImode, synthesize a comparison. */
21263 + if (mode != TImode)
21264 + x = gen_rtx_COMPARE (CCmode, x, oldval);
21265 + else
21267 + rtx xor1_result = gen_reg_rtx (DImode);
21268 + rtx xor2_result = gen_reg_rtx (DImode);
21269 + rtx or_result = gen_reg_rtx (DImode);
21270 + rtx new_word0 = simplify_gen_subreg (DImode, x, TImode, 0);
21271 + rtx new_word1 = simplify_gen_subreg (DImode, x, TImode, 8);
21272 + rtx old_word0 = simplify_gen_subreg (DImode, oldval, TImode, 0);
21273 + rtx old_word1 = simplify_gen_subreg (DImode, oldval, TImode, 8);
21275 + emit_insn (gen_xordi3 (xor1_result, new_word0, old_word0));
21276 + emit_insn (gen_xordi3 (xor2_result, new_word1, old_word1));
21277 + emit_insn (gen_iordi3 (or_result, xor1_result, xor2_result));
21278 + x = gen_rtx_COMPARE (CCmode, or_result, const0_rtx);
21281 + emit_insn (gen_rtx_SET (VOIDmode, cond, x));
21283 + x = gen_rtx_NE (VOIDmode, cond, const0_rtx);
21284 + emit_unlikely_jump (x, label2);
21286 + x = newval;
21287 + if (mask)
21288 + x = rs6000_mask_atomic_subword (retval, newval, mask);
21290 + emit_store_conditional (orig_mode, cond, mem, x);
21292 + if (!is_weak)
21294 + x = gen_rtx_NE (VOIDmode, cond, const0_rtx);
21295 + emit_unlikely_jump (x, label1);
21298 + if (mod_f != MEMMODEL_RELAXED)
21299 + emit_label (XEXP (label2, 0));
21301 + rs6000_post_atomic_barrier (mod_s);
21303 + if (mod_f == MEMMODEL_RELAXED)
21304 + emit_label (XEXP (label2, 0));
21306 + if (shift)
21307 + rs6000_finish_atomic_subword (operands[1], retval, shift);
21308 + else if (mode != GET_MODE (operands[1]))
21309 + convert_move (operands[1], retval, 1);
21311 + /* In all cases, CR0 contains EQ on success, and NE on failure. */
21312 + x = gen_rtx_EQ (SImode, cond, const0_rtx);
21313 + emit_insn (gen_rtx_SET (VOIDmode, boolval, x));
21316 +/* Expand an atomic exchange operation. */
21318 +void
21319 +rs6000_expand_atomic_exchange (rtx operands[])
21321 + rtx retval, mem, val, cond;
21322 + machine_mode mode;
21323 + enum memmodel model;
21324 + rtx label, x, mask, shift;
21326 + retval = operands[0];
21327 + mem = operands[1];
21328 + val = operands[2];
21329 + model = (enum memmodel) INTVAL (operands[3]);
21330 + mode = GET_MODE (mem);
21332 + mask = shift = NULL_RTX;
21333 + if (!TARGET_SYNC_HI_QI && (mode == QImode || mode == HImode))
21335 + mem = rs6000_adjust_atomic_subword (mem, &shift, &mask);
21337 + /* Shift and mask VAL into position with the word. */
21338 + val = convert_modes (SImode, mode, val, 1);
21339 + val = expand_simple_binop (SImode, ASHIFT, val, shift,
21340 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21342 + /* Prepare to adjust the return value. */
21343 + retval = gen_reg_rtx (SImode);
21344 + mode = SImode;
21347 + mem = rs6000_pre_atomic_barrier (mem, model);
21349 + label = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
21350 + emit_label (XEXP (label, 0));
21352 + emit_load_locked (mode, retval, mem);
21354 + x = val;
21355 + if (mask)
21356 + x = rs6000_mask_atomic_subword (retval, val, mask);
21358 + cond = gen_reg_rtx (CCmode);
21359 + emit_store_conditional (mode, cond, mem, x);
21361 + x = gen_rtx_NE (VOIDmode, cond, const0_rtx);
21362 + emit_unlikely_jump (x, label);
21364 + rs6000_post_atomic_barrier (model);
21366 + if (shift)
21367 + rs6000_finish_atomic_subword (operands[0], retval, shift);
21370 +/* Expand an atomic fetch-and-operate pattern. CODE is the binary operation
21371 + to perform. MEM is the memory on which to operate. VAL is the second
21372 + operand of the binary operator. BEFORE and AFTER are optional locations to
21373 + return the value of MEM either before of after the operation. MODEL_RTX
21374 + is a CONST_INT containing the memory model to use. */
21376 +void
21377 +rs6000_expand_atomic_op (enum rtx_code code, rtx mem, rtx val,
21378 + rtx orig_before, rtx orig_after, rtx model_rtx)
21380 + enum memmodel model = (enum memmodel) INTVAL (model_rtx);
21381 + machine_mode mode = GET_MODE (mem);
21382 + machine_mode store_mode = mode;
21383 + rtx label, x, cond, mask, shift;
21384 + rtx before = orig_before, after = orig_after;
21386 + mask = shift = NULL_RTX;
21387 + /* On power8, we want to use SImode for the operation. On previous systems,
21388 + use the operation in a subword and shift/mask to get the proper byte or
21389 + halfword. */
21390 + if (mode == QImode || mode == HImode)
21392 + if (TARGET_SYNC_HI_QI)
21394 + val = convert_modes (SImode, mode, val, 1);
21396 + /* Prepare to adjust the return value. */
21397 + before = gen_reg_rtx (SImode);
21398 + if (after)
21399 + after = gen_reg_rtx (SImode);
21400 + mode = SImode;
21402 + else
21404 + mem = rs6000_adjust_atomic_subword (mem, &shift, &mask);
21406 + /* Shift and mask VAL into position with the word. */
21407 + val = convert_modes (SImode, mode, val, 1);
21408 + val = expand_simple_binop (SImode, ASHIFT, val, shift,
21409 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21411 + switch (code)
21413 + case IOR:
21414 + case XOR:
21415 + /* We've already zero-extended VAL. That is sufficient to
21416 + make certain that it does not affect other bits. */
21417 + mask = NULL;
21418 + break;
21420 + case AND:
21421 + /* If we make certain that all of the other bits in VAL are
21422 + set, that will be sufficient to not affect other bits. */
21423 + x = gen_rtx_NOT (SImode, mask);
21424 + x = gen_rtx_IOR (SImode, x, val);
21425 + emit_insn (gen_rtx_SET (VOIDmode, val, x));
21426 + mask = NULL;
21427 + break;
21429 + case NOT:
21430 + case PLUS:
21431 + case MINUS:
21432 + /* These will all affect bits outside the field and need
21433 + adjustment via MASK within the loop. */
21434 + break;
21436 + default:
21437 + gcc_unreachable ();
21440 + /* Prepare to adjust the return value. */
21441 + before = gen_reg_rtx (SImode);
21442 + if (after)
21443 + after = gen_reg_rtx (SImode);
21444 + store_mode = mode = SImode;
21448 + mem = rs6000_pre_atomic_barrier (mem, model);
21450 + label = gen_label_rtx ();
21451 + emit_label (label);
21452 + label = gen_rtx_LABEL_REF (VOIDmode, label);
21454 + if (before == NULL_RTX)
21455 + before = gen_reg_rtx (mode);
21457 + emit_load_locked (mode, before, mem);
21459 + if (code == NOT)
21461 + x = expand_simple_binop (mode, AND, before, val,
21462 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21463 + after = expand_simple_unop (mode, NOT, x, after, 1);
21465 + else
21467 + after = expand_simple_binop (mode, code, before, val,
21468 + after, 1, OPTAB_LIB_WIDEN);
21471 + x = after;
21472 + if (mask)
21474 + x = expand_simple_binop (SImode, AND, after, mask,
21475 + NULL_RTX, 1, OPTAB_LIB_WIDEN);
21476 + x = rs6000_mask_atomic_subword (before, x, mask);
21478 + else if (store_mode != mode)
21479 + x = convert_modes (store_mode, mode, x, 1);
21481 + cond = gen_reg_rtx (CCmode);
21482 + emit_store_conditional (store_mode, cond, mem, x);
21484 + x = gen_rtx_NE (VOIDmode, cond, const0_rtx);
21485 + emit_unlikely_jump (x, label);
21487 + rs6000_post_atomic_barrier (model);
21489 + if (shift)
21491 + /* QImode/HImode on machines without lbarx/lharx where we do a lwarx and
21492 + then do the calcuations in a SImode register. */
21493 + if (orig_before)
21494 + rs6000_finish_atomic_subword (orig_before, before, shift);
21495 + if (orig_after)
21496 + rs6000_finish_atomic_subword (orig_after, after, shift);
21498 + else if (store_mode != mode)
21500 + /* QImode/HImode on machines with lbarx/lharx where we do the native
21501 + operation and then do the calcuations in a SImode register. */
21502 + if (orig_before)
21503 + convert_move (orig_before, before, 1);
21504 + if (orig_after)
21505 + convert_move (orig_after, after, 1);
21507 + else if (orig_after && after != orig_after)
21508 + emit_move_insn (orig_after, after);
21511 +/* Emit instructions to move SRC to DST. Called by splitters for
21512 + multi-register moves. It will emit at most one instruction for
21513 + each register that is accessed; that is, it won't emit li/lis pairs
21514 + (or equivalent for 64-bit code). One of SRC or DST must be a hard
21515 + register. */
21517 +void
21518 +rs6000_split_multireg_move (rtx dst, rtx src)
21520 + /* The register number of the first register being moved. */
21521 + int reg;
21522 + /* The mode that is to be moved. */
21523 + machine_mode mode;
21524 + /* The mode that the move is being done in, and its size. */
21525 + machine_mode reg_mode;
21526 + int reg_mode_size;
21527 + /* The number of registers that will be moved. */
21528 + int nregs;
21530 + reg = REG_P (dst) ? REGNO (dst) : REGNO (src);
21531 + mode = GET_MODE (dst);
21532 + nregs = hard_regno_nregs[reg][mode];
21533 + if (FP_REGNO_P (reg))
21534 + reg_mode = DECIMAL_FLOAT_MODE_P (mode) ? DDmode :
21535 + ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) ? DFmode : SFmode);
21536 + else if (ALTIVEC_REGNO_P (reg))
21537 + reg_mode = V16QImode;
21538 + else if (TARGET_E500_DOUBLE && mode == TFmode)
21539 + reg_mode = DFmode;
21540 + else
21541 + reg_mode = word_mode;
21542 + reg_mode_size = GET_MODE_SIZE (reg_mode);
21544 + gcc_assert (reg_mode_size * nregs == GET_MODE_SIZE (mode));
21546 + /* TDmode residing in FP registers is special, since the ISA requires that
21547 + the lower-numbered word of a register pair is always the most significant
21548 + word, even in little-endian mode. This does not match the usual subreg
21549 + semantics, so we cannnot use simplify_gen_subreg in those cases. Access
21550 + the appropriate constituent registers "by hand" in little-endian mode.
21552 + Note we do not need to check for destructive overlap here since TDmode
21553 + can only reside in even/odd register pairs. */
21554 + if (FP_REGNO_P (reg) && DECIMAL_FLOAT_MODE_P (mode) && !BYTES_BIG_ENDIAN)
21556 + rtx p_src, p_dst;
21557 + int i;
21559 + for (i = 0; i < nregs; i++)
21561 + if (REG_P (src) && FP_REGNO_P (REGNO (src)))
21562 + p_src = gen_rtx_REG (reg_mode, REGNO (src) + nregs - 1 - i);
21563 + else
21564 + p_src = simplify_gen_subreg (reg_mode, src, mode,
21565 + i * reg_mode_size);
21567 + if (REG_P (dst) && FP_REGNO_P (REGNO (dst)))
21568 + p_dst = gen_rtx_REG (reg_mode, REGNO (dst) + nregs - 1 - i);
21569 + else
21570 + p_dst = simplify_gen_subreg (reg_mode, dst, mode,
21571 + i * reg_mode_size);
21573 + emit_insn (gen_rtx_SET (VOIDmode, p_dst, p_src));
21576 + return;
21579 + if (REG_P (src) && REG_P (dst) && (REGNO (src) < REGNO (dst)))
21581 + /* Move register range backwards, if we might have destructive
21582 + overlap. */
21583 + int i;
21584 + for (i = nregs - 1; i >= 0; i--)
21585 + emit_insn (gen_rtx_SET (VOIDmode,
21586 + simplify_gen_subreg (reg_mode, dst, mode,
21587 + i * reg_mode_size),
21588 + simplify_gen_subreg (reg_mode, src, mode,
21589 + i * reg_mode_size)));
21591 + else
21593 + int i;
21594 + int j = -1;
21595 + bool used_update = false;
21596 + rtx restore_basereg = NULL_RTX;
21598 + if (MEM_P (src) && INT_REGNO_P (reg))
21600 + rtx breg;
21602 + if (GET_CODE (XEXP (src, 0)) == PRE_INC
21603 + || GET_CODE (XEXP (src, 0)) == PRE_DEC)
21605 + rtx delta_rtx;
21606 + breg = XEXP (XEXP (src, 0), 0);
21607 + delta_rtx = (GET_CODE (XEXP (src, 0)) == PRE_INC
21608 + ? GEN_INT (GET_MODE_SIZE (GET_MODE (src)))
21609 + : GEN_INT (-GET_MODE_SIZE (GET_MODE (src))));
21610 + emit_insn (gen_add3_insn (breg, breg, delta_rtx));
21611 + src = replace_equiv_address (src, breg);
21613 + else if (! rs6000_offsettable_memref_p (src, reg_mode))
21615 + if (GET_CODE (XEXP (src, 0)) == PRE_MODIFY)
21617 + rtx basereg = XEXP (XEXP (src, 0), 0);
21618 + if (TARGET_UPDATE)
21620 + rtx ndst = simplify_gen_subreg (reg_mode, dst, mode, 0);
21621 + emit_insn (gen_rtx_SET (VOIDmode, ndst,
21622 + gen_rtx_MEM (reg_mode, XEXP (src, 0))));
21623 + used_update = true;
21625 + else
21626 + emit_insn (gen_rtx_SET (VOIDmode, basereg,
21627 + XEXP (XEXP (src, 0), 1)));
21628 + src = replace_equiv_address (src, basereg);
21630 + else
21632 + rtx basereg = gen_rtx_REG (Pmode, reg);
21633 + emit_insn (gen_rtx_SET (VOIDmode, basereg, XEXP (src, 0)));
21634 + src = replace_equiv_address (src, basereg);
21638 + breg = XEXP (src, 0);
21639 + if (GET_CODE (breg) == PLUS || GET_CODE (breg) == LO_SUM)
21640 + breg = XEXP (breg, 0);
21642 + /* If the base register we are using to address memory is
21643 + also a destination reg, then change that register last. */
21644 + if (REG_P (breg)
21645 + && REGNO (breg) >= REGNO (dst)
21646 + && REGNO (breg) < REGNO (dst) + nregs)
21647 + j = REGNO (breg) - REGNO (dst);
21649 + else if (MEM_P (dst) && INT_REGNO_P (reg))
21651 + rtx breg;
21653 + if (GET_CODE (XEXP (dst, 0)) == PRE_INC
21654 + || GET_CODE (XEXP (dst, 0)) == PRE_DEC)
21656 + rtx delta_rtx;
21657 + breg = XEXP (XEXP (dst, 0), 0);
21658 + delta_rtx = (GET_CODE (XEXP (dst, 0)) == PRE_INC
21659 + ? GEN_INT (GET_MODE_SIZE (GET_MODE (dst)))
21660 + : GEN_INT (-GET_MODE_SIZE (GET_MODE (dst))));
21662 + /* We have to update the breg before doing the store.
21663 + Use store with update, if available. */
21665 + if (TARGET_UPDATE)
21667 + rtx nsrc = simplify_gen_subreg (reg_mode, src, mode, 0);
21668 + emit_insn (TARGET_32BIT
21669 + ? (TARGET_POWERPC64
21670 + ? gen_movdi_si_update (breg, breg, delta_rtx, nsrc)
21671 + : gen_movsi_update (breg, breg, delta_rtx, nsrc))
21672 + : gen_movdi_di_update (breg, breg, delta_rtx, nsrc));
21673 + used_update = true;
21675 + else
21676 + emit_insn (gen_add3_insn (breg, breg, delta_rtx));
21677 + dst = replace_equiv_address (dst, breg);
21679 + else if (!rs6000_offsettable_memref_p (dst, reg_mode)
21680 + && GET_CODE (XEXP (dst, 0)) != LO_SUM)
21682 + if (GET_CODE (XEXP (dst, 0)) == PRE_MODIFY)
21684 + rtx basereg = XEXP (XEXP (dst, 0), 0);
21685 + if (TARGET_UPDATE)
21687 + rtx nsrc = simplify_gen_subreg (reg_mode, src, mode, 0);
21688 + emit_insn (gen_rtx_SET (VOIDmode,
21689 + gen_rtx_MEM (reg_mode, XEXP (dst, 0)), nsrc));
21690 + used_update = true;
21692 + else
21693 + emit_insn (gen_rtx_SET (VOIDmode, basereg,
21694 + XEXP (XEXP (dst, 0), 1)));
21695 + dst = replace_equiv_address (dst, basereg);
21697 + else
21699 + rtx basereg = XEXP (XEXP (dst, 0), 0);
21700 + rtx offsetreg = XEXP (XEXP (dst, 0), 1);
21701 + gcc_assert (GET_CODE (XEXP (dst, 0)) == PLUS
21702 + && REG_P (basereg)
21703 + && REG_P (offsetreg)
21704 + && REGNO (basereg) != REGNO (offsetreg));
21705 + if (REGNO (basereg) == 0)
21707 + rtx tmp = offsetreg;
21708 + offsetreg = basereg;
21709 + basereg = tmp;
21711 + emit_insn (gen_add3_insn (basereg, basereg, offsetreg));
21712 + restore_basereg = gen_sub3_insn (basereg, basereg, offsetreg);
21713 + dst = replace_equiv_address (dst, basereg);
21716 + else if (GET_CODE (XEXP (dst, 0)) != LO_SUM)
21717 + gcc_assert (rs6000_offsettable_memref_p (dst, reg_mode));
21720 + for (i = 0; i < nregs; i++)
21722 + /* Calculate index to next subword. */
21723 + ++j;
21724 + if (j == nregs)
21725 + j = 0;
21727 + /* If compiler already emitted move of first word by
21728 + store with update, no need to do anything. */
21729 + if (j == 0 && used_update)
21730 + continue;
21732 + emit_insn (gen_rtx_SET (VOIDmode,
21733 + simplify_gen_subreg (reg_mode, dst, mode,
21734 + j * reg_mode_size),
21735 + simplify_gen_subreg (reg_mode, src, mode,
21736 + j * reg_mode_size)));
21738 + if (restore_basereg != NULL_RTX)
21739 + emit_insn (restore_basereg);
21744 +/* This page contains routines that are used to determine what the
21745 + function prologue and epilogue code will do and write them out. */
21747 +static inline bool
21748 +save_reg_p (int r)
21750 + return !call_used_regs[r] && df_regs_ever_live_p (r);
21753 +/* Return the first fixed-point register that is required to be
21754 + saved. 32 if none. */
21756 +int
21757 +first_reg_to_save (void)
21759 + int first_reg;
21761 + /* Find lowest numbered live register. */
21762 + for (first_reg = 13; first_reg <= 31; first_reg++)
21763 + if (save_reg_p (first_reg))
21764 + break;
21766 + if (first_reg > RS6000_PIC_OFFSET_TABLE_REGNUM
21767 + && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
21768 + || (DEFAULT_ABI == ABI_DARWIN && flag_pic)
21769 + || (TARGET_TOC && TARGET_MINIMAL_TOC))
21770 + && df_regs_ever_live_p (RS6000_PIC_OFFSET_TABLE_REGNUM))
21771 + first_reg = RS6000_PIC_OFFSET_TABLE_REGNUM;
21773 +#if TARGET_MACHO
21774 + if (flag_pic
21775 + && crtl->uses_pic_offset_table
21776 + && first_reg > RS6000_PIC_OFFSET_TABLE_REGNUM)
21777 + return RS6000_PIC_OFFSET_TABLE_REGNUM;
21778 +#endif
21780 + return first_reg;
21783 +/* Similar, for FP regs. */
21785 +int
21786 +first_fp_reg_to_save (void)
21788 + int first_reg;
21790 + /* Find lowest numbered live register. */
21791 + for (first_reg = 14 + 32; first_reg <= 63; first_reg++)
21792 + if (save_reg_p (first_reg))
21793 + break;
21795 + return first_reg;
21798 +/* Similar, for AltiVec regs. */
21800 +static int
21801 +first_altivec_reg_to_save (void)
21803 + int i;
21805 + /* Stack frame remains as is unless we are in AltiVec ABI. */
21806 + if (! TARGET_ALTIVEC_ABI)
21807 + return LAST_ALTIVEC_REGNO + 1;
21809 + /* On Darwin, the unwind routines are compiled without
21810 + TARGET_ALTIVEC, and use save_world to save/restore the
21811 + altivec registers when necessary. */
21812 + if (DEFAULT_ABI == ABI_DARWIN && crtl->calls_eh_return
21813 + && ! TARGET_ALTIVEC)
21814 + return FIRST_ALTIVEC_REGNO + 20;
21816 + /* Find lowest numbered live register. */
21817 + for (i = FIRST_ALTIVEC_REGNO + 20; i <= LAST_ALTIVEC_REGNO; ++i)
21818 + if (save_reg_p (i))
21819 + break;
21821 + return i;
21824 +/* Return a 32-bit mask of the AltiVec registers we need to set in
21825 + VRSAVE. Bit n of the return value is 1 if Vn is live. The MSB in
21826 + the 32-bit word is 0. */
21828 +static unsigned int
21829 +compute_vrsave_mask (void)
21831 + unsigned int i, mask = 0;
21833 + /* On Darwin, the unwind routines are compiled without
21834 + TARGET_ALTIVEC, and use save_world to save/restore the
21835 + call-saved altivec registers when necessary. */
21836 + if (DEFAULT_ABI == ABI_DARWIN && crtl->calls_eh_return
21837 + && ! TARGET_ALTIVEC)
21838 + mask |= 0xFFF;
21840 + /* First, find out if we use _any_ altivec registers. */
21841 + for (i = FIRST_ALTIVEC_REGNO; i <= LAST_ALTIVEC_REGNO; ++i)
21842 + if (df_regs_ever_live_p (i))
21843 + mask |= ALTIVEC_REG_BIT (i);
21845 + if (mask == 0)
21846 + return mask;
21848 + /* Next, remove the argument registers from the set. These must
21849 + be in the VRSAVE mask set by the caller, so we don't need to add
21850 + them in again. More importantly, the mask we compute here is
21851 + used to generate CLOBBERs in the set_vrsave insn, and we do not
21852 + wish the argument registers to die. */
21853 + for (i = ALTIVEC_ARG_MIN_REG; i < (unsigned) crtl->args.info.vregno; i++)
21854 + mask &= ~ALTIVEC_REG_BIT (i);
21856 + /* Similarly, remove the return value from the set. */
21858 + bool yes = false;
21859 + diddle_return_value (is_altivec_return_reg, &yes);
21860 + if (yes)
21861 + mask &= ~ALTIVEC_REG_BIT (ALTIVEC_ARG_RETURN);
21864 + return mask;
21867 +/* For a very restricted set of circumstances, we can cut down the
21868 + size of prologues/epilogues by calling our own save/restore-the-world
21869 + routines. */
21871 +static void
21872 +compute_save_world_info (rs6000_stack_t *info_ptr)
21874 + info_ptr->world_save_p = 1;
21875 + info_ptr->world_save_p
21876 + = (WORLD_SAVE_P (info_ptr)
21877 + && DEFAULT_ABI == ABI_DARWIN
21878 + && !cfun->has_nonlocal_label
21879 + && info_ptr->first_fp_reg_save == FIRST_SAVED_FP_REGNO
21880 + && info_ptr->first_gp_reg_save == FIRST_SAVED_GP_REGNO
21881 + && info_ptr->first_altivec_reg_save == FIRST_SAVED_ALTIVEC_REGNO
21882 + && info_ptr->cr_save_p);
21884 + /* This will not work in conjunction with sibcalls. Make sure there
21885 + are none. (This check is expensive, but seldom executed.) */
21886 + if (WORLD_SAVE_P (info_ptr))
21888 + rtx_insn *insn;
21889 + for (insn = get_last_insn_anywhere (); insn; insn = PREV_INSN (insn))
21890 + if (CALL_P (insn) && SIBLING_CALL_P (insn))
21892 + info_ptr->world_save_p = 0;
21893 + break;
21897 + if (WORLD_SAVE_P (info_ptr))
21899 + /* Even if we're not touching VRsave, make sure there's room on the
21900 + stack for it, if it looks like we're calling SAVE_WORLD, which
21901 + will attempt to save it. */
21902 + info_ptr->vrsave_size = 4;
21904 + /* If we are going to save the world, we need to save the link register too. */
21905 + info_ptr->lr_save_p = 1;
21907 + /* "Save" the VRsave register too if we're saving the world. */
21908 + if (info_ptr->vrsave_mask == 0)
21909 + info_ptr->vrsave_mask = compute_vrsave_mask ();
21911 + /* Because the Darwin register save/restore routines only handle
21912 + F14 .. F31 and V20 .. V31 as per the ABI, perform a consistency
21913 + check. */
21914 + gcc_assert (info_ptr->first_fp_reg_save >= FIRST_SAVED_FP_REGNO
21915 + && (info_ptr->first_altivec_reg_save
21916 + >= FIRST_SAVED_ALTIVEC_REGNO));
21918 + return;
21922 +static void
21923 +is_altivec_return_reg (rtx reg, void *xyes)
21925 + bool *yes = (bool *) xyes;
21926 + if (REGNO (reg) == ALTIVEC_ARG_RETURN)
21927 + *yes = true;
21931 +/* Look for user-defined global regs in the range FIRST to LAST-1.
21932 + We should not restore these, and so cannot use lmw or out-of-line
21933 + restore functions if there are any. We also can't save them
21934 + (well, emit frame notes for them), because frame unwinding during
21935 + exception handling will restore saved registers. */
21937 +static bool
21938 +global_regs_p (unsigned first, unsigned last)
21940 + while (first < last)
21941 + if (global_regs[first++])
21942 + return true;
21943 + return false;
21946 +/* Determine the strategy for savings/restoring registers. */
21948 +enum {
21949 + SAVRES_MULTIPLE = 0x1,
21950 + SAVE_INLINE_FPRS = 0x2,
21951 + SAVE_INLINE_GPRS = 0x4,
21952 + REST_INLINE_FPRS = 0x8,
21953 + REST_INLINE_GPRS = 0x10,
21954 + SAVE_NOINLINE_GPRS_SAVES_LR = 0x20,
21955 + SAVE_NOINLINE_FPRS_SAVES_LR = 0x40,
21956 + REST_NOINLINE_FPRS_DOESNT_RESTORE_LR = 0x80,
21957 + SAVE_INLINE_VRS = 0x100,
21958 + REST_INLINE_VRS = 0x200
21961 +static int
21962 +rs6000_savres_strategy (rs6000_stack_t *info,
21963 + bool using_static_chain_p)
21965 + int strategy = 0;
21966 + bool lr_save_p;
21968 + if (TARGET_MULTIPLE
21969 + && !TARGET_POWERPC64
21970 + && !(TARGET_SPE_ABI && info->spe_64bit_regs_used)
21971 + && info->first_gp_reg_save < 31
21972 + && !global_regs_p (info->first_gp_reg_save, 32))
21973 + strategy |= SAVRES_MULTIPLE;
21975 + if (crtl->calls_eh_return
21976 + || cfun->machine->ra_need_lr)
21977 + strategy |= (SAVE_INLINE_FPRS | REST_INLINE_FPRS
21978 + | SAVE_INLINE_GPRS | REST_INLINE_GPRS
21979 + | SAVE_INLINE_VRS | REST_INLINE_VRS);
21981 + if (info->first_fp_reg_save == 64
21982 + /* The out-of-line FP routines use double-precision stores;
21983 + we can't use those routines if we don't have such stores. */
21984 + || (TARGET_HARD_FLOAT && !TARGET_DOUBLE_FLOAT)
21985 + || global_regs_p (info->first_fp_reg_save, 64))
21986 + strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
21988 + if (info->first_gp_reg_save == 32
21989 + || (!(strategy & SAVRES_MULTIPLE)
21990 + && global_regs_p (info->first_gp_reg_save, 32)))
21991 + strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
21993 + if (info->first_altivec_reg_save == LAST_ALTIVEC_REGNO + 1
21994 + || global_regs_p (info->first_altivec_reg_save, LAST_ALTIVEC_REGNO + 1))
21995 + strategy |= SAVE_INLINE_VRS | REST_INLINE_VRS;
21997 + /* Define cutoff for using out-of-line functions to save registers. */
21998 + if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
22000 + if (!optimize_size)
22002 + strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
22003 + strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
22004 + strategy |= SAVE_INLINE_VRS | REST_INLINE_VRS;
22006 + else
22008 + /* Prefer out-of-line restore if it will exit. */
22009 + if (info->first_fp_reg_save > 61)
22010 + strategy |= SAVE_INLINE_FPRS;
22011 + if (info->first_gp_reg_save > 29)
22013 + if (info->first_fp_reg_save == 64)
22014 + strategy |= SAVE_INLINE_GPRS;
22015 + else
22016 + strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
22018 + if (info->first_altivec_reg_save == LAST_ALTIVEC_REGNO)
22019 + strategy |= SAVE_INLINE_VRS | REST_INLINE_VRS;
22022 + else if (DEFAULT_ABI == ABI_DARWIN)
22024 + if (info->first_fp_reg_save > 60)
22025 + strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
22026 + if (info->first_gp_reg_save > 29)
22027 + strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
22028 + strategy |= SAVE_INLINE_VRS | REST_INLINE_VRS;
22030 + else
22032 + gcc_checking_assert (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2);
22033 + if (info->first_fp_reg_save > 61)
22034 + strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
22035 + strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
22036 + strategy |= SAVE_INLINE_VRS | REST_INLINE_VRS;
22039 + /* Don't bother to try to save things out-of-line if r11 is occupied
22040 + by the static chain. It would require too much fiddling and the
22041 + static chain is rarely used anyway. FPRs are saved w.r.t the stack
22042 + pointer on Darwin, and AIX uses r1 or r12. */
22043 + if (using_static_chain_p
22044 + && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN))
22045 + strategy |= ((DEFAULT_ABI == ABI_DARWIN ? 0 : SAVE_INLINE_FPRS)
22046 + | SAVE_INLINE_GPRS
22047 + | SAVE_INLINE_VRS | REST_INLINE_VRS);
22049 + /* We can only use the out-of-line routines to restore if we've
22050 + saved all the registers from first_fp_reg_save in the prologue.
22051 + Otherwise, we risk loading garbage. */
22052 + if ((strategy & (SAVE_INLINE_FPRS | REST_INLINE_FPRS)) == SAVE_INLINE_FPRS)
22054 + int i;
22056 + for (i = info->first_fp_reg_save; i < 64; i++)
22057 + if (!save_reg_p (i))
22059 + strategy |= REST_INLINE_FPRS;
22060 + break;
22064 + /* If we are going to use store multiple, then don't even bother
22065 + with the out-of-line routines, since the store-multiple
22066 + instruction will always be smaller. */
22067 + if ((strategy & SAVRES_MULTIPLE))
22068 + strategy |= SAVE_INLINE_GPRS;
22070 + /* info->lr_save_p isn't yet set if the only reason lr needs to be
22071 + saved is an out-of-line save or restore. Set up the value for
22072 + the next test (excluding out-of-line gpr restore). */
22073 + lr_save_p = (info->lr_save_p
22074 + || !(strategy & SAVE_INLINE_GPRS)
22075 + || !(strategy & SAVE_INLINE_FPRS)
22076 + || !(strategy & SAVE_INLINE_VRS)
22077 + || !(strategy & REST_INLINE_FPRS)
22078 + || !(strategy & REST_INLINE_VRS));
22080 + /* The situation is more complicated with load multiple. We'd
22081 + prefer to use the out-of-line routines for restores, since the
22082 + "exit" out-of-line routines can handle the restore of LR and the
22083 + frame teardown. However if doesn't make sense to use the
22084 + out-of-line routine if that is the only reason we'd need to save
22085 + LR, and we can't use the "exit" out-of-line gpr restore if we
22086 + have saved some fprs; In those cases it is advantageous to use
22087 + load multiple when available. */
22088 + if ((strategy & SAVRES_MULTIPLE)
22089 + && (!lr_save_p
22090 + || info->first_fp_reg_save != 64))
22091 + strategy |= REST_INLINE_GPRS;
22093 + /* Saving CR interferes with the exit routines used on the SPE, so
22094 + just punt here. */
22095 + if (TARGET_SPE_ABI
22096 + && info->spe_64bit_regs_used
22097 + && info->cr_save_p)
22098 + strategy |= REST_INLINE_GPRS;
22100 + /* We can only use load multiple or the out-of-line routines to
22101 + restore if we've used store multiple or out-of-line routines
22102 + in the prologue, i.e. if we've saved all the registers from
22103 + first_gp_reg_save. Otherwise, we risk loading garbage. */
22104 + if ((strategy & (SAVE_INLINE_GPRS | REST_INLINE_GPRS | SAVRES_MULTIPLE))
22105 + == SAVE_INLINE_GPRS)
22107 + int i;
22109 + for (i = info->first_gp_reg_save; i < 32; i++)
22110 + if (!save_reg_p (i))
22112 + strategy |= REST_INLINE_GPRS;
22113 + break;
22117 + if (TARGET_ELF && TARGET_64BIT)
22119 + if (!(strategy & SAVE_INLINE_FPRS))
22120 + strategy |= SAVE_NOINLINE_FPRS_SAVES_LR;
22121 + else if (!(strategy & SAVE_INLINE_GPRS)
22122 + && info->first_fp_reg_save == 64)
22123 + strategy |= SAVE_NOINLINE_GPRS_SAVES_LR;
22125 + else if (TARGET_AIX && !(strategy & REST_INLINE_FPRS))
22126 + strategy |= REST_NOINLINE_FPRS_DOESNT_RESTORE_LR;
22128 + if (TARGET_MACHO && !(strategy & SAVE_INLINE_FPRS))
22129 + strategy |= SAVE_NOINLINE_FPRS_SAVES_LR;
22131 + return strategy;
22134 +/* Calculate the stack information for the current function. This is
22135 + complicated by having two separate calling sequences, the AIX calling
22136 + sequence and the V.4 calling sequence.
22138 + AIX (and Darwin/Mac OS X) stack frames look like:
22139 + 32-bit 64-bit
22140 + SP----> +---------------------------------------+
22141 + | back chain to caller | 0 0
22142 + +---------------------------------------+
22143 + | saved CR | 4 8 (8-11)
22144 + +---------------------------------------+
22145 + | saved LR | 8 16
22146 + +---------------------------------------+
22147 + | reserved for compilers | 12 24
22148 + +---------------------------------------+
22149 + | reserved for binders | 16 32
22150 + +---------------------------------------+
22151 + | saved TOC pointer | 20 40
22152 + +---------------------------------------+
22153 + | Parameter save area (P) | 24 48
22154 + +---------------------------------------+
22155 + | Alloca space (A) | 24+P etc.
22156 + +---------------------------------------+
22157 + | Local variable space (L) | 24+P+A
22158 + +---------------------------------------+
22159 + | Float/int conversion temporary (X) | 24+P+A+L
22160 + +---------------------------------------+
22161 + | Save area for AltiVec registers (W) | 24+P+A+L+X
22162 + +---------------------------------------+
22163 + | AltiVec alignment padding (Y) | 24+P+A+L+X+W
22164 + +---------------------------------------+
22165 + | Save area for VRSAVE register (Z) | 24+P+A+L+X+W+Y
22166 + +---------------------------------------+
22167 + | Save area for GP registers (G) | 24+P+A+X+L+X+W+Y+Z
22168 + +---------------------------------------+
22169 + | Save area for FP registers (F) | 24+P+A+X+L+X+W+Y+Z+G
22170 + +---------------------------------------+
22171 + old SP->| back chain to caller's caller |
22172 + +---------------------------------------+
22174 + The required alignment for AIX configurations is two words (i.e., 8
22175 + or 16 bytes).
22177 + The ELFv2 ABI is a variant of the AIX ABI. Stack frames look like:
22179 + SP----> +---------------------------------------+
22180 + | Back chain to caller | 0
22181 + +---------------------------------------+
22182 + | Save area for CR | 8
22183 + +---------------------------------------+
22184 + | Saved LR | 16
22185 + +---------------------------------------+
22186 + | Saved TOC pointer | 24
22187 + +---------------------------------------+
22188 + | Parameter save area (P) | 32
22189 + +---------------------------------------+
22190 + | Alloca space (A) | 32+P
22191 + +---------------------------------------+
22192 + | Local variable space (L) | 32+P+A
22193 + +---------------------------------------+
22194 + | Save area for AltiVec registers (W) | 32+P+A+L
22195 + +---------------------------------------+
22196 + | AltiVec alignment padding (Y) | 32+P+A+L+W
22197 + +---------------------------------------+
22198 + | Save area for GP registers (G) | 32+P+A+L+W+Y
22199 + +---------------------------------------+
22200 + | Save area for FP registers (F) | 32+P+A+L+W+Y+G
22201 + +---------------------------------------+
22202 + old SP->| back chain to caller's caller | 32+P+A+L+W+Y+G+F
22203 + +---------------------------------------+
22206 + V.4 stack frames look like:
22208 + SP----> +---------------------------------------+
22209 + | back chain to caller | 0
22210 + +---------------------------------------+
22211 + | caller's saved LR | 4
22212 + +---------------------------------------+
22213 + | Parameter save area (P) | 8
22214 + +---------------------------------------+
22215 + | Alloca space (A) | 8+P
22216 + +---------------------------------------+
22217 + | Varargs save area (V) | 8+P+A
22218 + +---------------------------------------+
22219 + | Local variable space (L) | 8+P+A+V
22220 + +---------------------------------------+
22221 + | Float/int conversion temporary (X) | 8+P+A+V+L
22222 + +---------------------------------------+
22223 + | Save area for AltiVec registers (W) | 8+P+A+V+L+X
22224 + +---------------------------------------+
22225 + | AltiVec alignment padding (Y) | 8+P+A+V+L+X+W
22226 + +---------------------------------------+
22227 + | Save area for VRSAVE register (Z) | 8+P+A+V+L+X+W+Y
22228 + +---------------------------------------+
22229 + | SPE: area for 64-bit GP registers |
22230 + +---------------------------------------+
22231 + | SPE alignment padding |
22232 + +---------------------------------------+
22233 + | saved CR (C) | 8+P+A+V+L+X+W+Y+Z
22234 + +---------------------------------------+
22235 + | Save area for GP registers (G) | 8+P+A+V+L+X+W+Y+Z+C
22236 + +---------------------------------------+
22237 + | Save area for FP registers (F) | 8+P+A+V+L+X+W+Y+Z+C+G
22238 + +---------------------------------------+
22239 + old SP->| back chain to caller's caller |
22240 + +---------------------------------------+
22242 + The required alignment for V.4 is 16 bytes, or 8 bytes if -meabi is
22243 + given. (But note below and in sysv4.h that we require only 8 and
22244 + may round up the size of our stack frame anyways. The historical
22245 + reason is early versions of powerpc-linux which didn't properly
22246 + align the stack at program startup. A happy side-effect is that
22247 + -mno-eabi libraries can be used with -meabi programs.)
22249 + The EABI configuration defaults to the V.4 layout. However,
22250 + the stack alignment requirements may differ. If -mno-eabi is not
22251 + given, the required stack alignment is 8 bytes; if -mno-eabi is
22252 + given, the required alignment is 16 bytes. (But see V.4 comment
22253 + above.) */
22255 +#ifndef ABI_STACK_BOUNDARY
22256 +#define ABI_STACK_BOUNDARY STACK_BOUNDARY
22257 +#endif
22259 +static rs6000_stack_t *
22260 +rs6000_stack_info (void)
22262 + /* We should never be called for thunks, we are not set up for that. */
22263 + gcc_assert (!cfun->is_thunk);
22265 + rs6000_stack_t *info_ptr = &stack_info;
22266 + int reg_size = TARGET_32BIT ? 4 : 8;
22267 + int ehrd_size;
22268 + int ehcr_size;
22269 + int save_align;
22270 + int first_gp;
22271 + HOST_WIDE_INT non_fixed_size;
22272 + bool using_static_chain_p;
22274 + if (reload_completed && info_ptr->reload_completed)
22275 + return info_ptr;
22277 + memset (info_ptr, 0, sizeof (*info_ptr));
22278 + info_ptr->reload_completed = reload_completed;
22280 + if (TARGET_SPE)
22282 + /* Cache value so we don't rescan instruction chain over and over. */
22283 + if (cfun->machine->insn_chain_scanned_p == 0)
22284 + cfun->machine->insn_chain_scanned_p
22285 + = spe_func_has_64bit_regs_p () + 1;
22286 + info_ptr->spe_64bit_regs_used = cfun->machine->insn_chain_scanned_p - 1;
22289 + /* Select which calling sequence. */
22290 + info_ptr->abi = DEFAULT_ABI;
22292 + /* Calculate which registers need to be saved & save area size. */
22293 + info_ptr->first_gp_reg_save = first_reg_to_save ();
22294 + /* Assume that we will have to save RS6000_PIC_OFFSET_TABLE_REGNUM,
22295 + even if it currently looks like we won't. Reload may need it to
22296 + get at a constant; if so, it will have already created a constant
22297 + pool entry for it. */
22298 + if (((TARGET_TOC && TARGET_MINIMAL_TOC)
22299 + || (flag_pic == 1 && DEFAULT_ABI == ABI_V4)
22300 + || (flag_pic && DEFAULT_ABI == ABI_DARWIN))
22301 + && crtl->uses_const_pool
22302 + && info_ptr->first_gp_reg_save > RS6000_PIC_OFFSET_TABLE_REGNUM)
22303 + first_gp = RS6000_PIC_OFFSET_TABLE_REGNUM;
22304 + else
22305 + first_gp = info_ptr->first_gp_reg_save;
22307 + info_ptr->gp_size = reg_size * (32 - first_gp);
22309 + /* For the SPE, we have an additional upper 32-bits on each GPR.
22310 + Ideally we should save the entire 64-bits only when the upper
22311 + half is used in SIMD instructions. Since we only record
22312 + registers live (not the size they are used in), this proves
22313 + difficult because we'd have to traverse the instruction chain at
22314 + the right time, taking reload into account. This is a real pain,
22315 + so we opt to save the GPRs in 64-bits always if but one register
22316 + gets used in 64-bits. Otherwise, all the registers in the frame
22317 + get saved in 32-bits.
22319 + So... since when we save all GPRs (except the SP) in 64-bits, the
22320 + traditional GP save area will be empty. */
22321 + if (TARGET_SPE_ABI && info_ptr->spe_64bit_regs_used != 0)
22322 + info_ptr->gp_size = 0;
22324 + info_ptr->first_fp_reg_save = first_fp_reg_to_save ();
22325 + info_ptr->fp_size = 8 * (64 - info_ptr->first_fp_reg_save);
22327 + info_ptr->first_altivec_reg_save = first_altivec_reg_to_save ();
22328 + info_ptr->altivec_size = 16 * (LAST_ALTIVEC_REGNO + 1
22329 + - info_ptr->first_altivec_reg_save);
22331 + /* Does this function call anything? */
22332 + info_ptr->calls_p = (! crtl->is_leaf
22333 + || cfun->machine->ra_needs_full_frame);
22335 + /* Determine if we need to save the condition code registers. */
22336 + if (df_regs_ever_live_p (CR2_REGNO)
22337 + || df_regs_ever_live_p (CR3_REGNO)
22338 + || df_regs_ever_live_p (CR4_REGNO))
22340 + info_ptr->cr_save_p = 1;
22341 + if (DEFAULT_ABI == ABI_V4)
22342 + info_ptr->cr_size = reg_size;
22345 + /* If the current function calls __builtin_eh_return, then we need
22346 + to allocate stack space for registers that will hold data for
22347 + the exception handler. */
22348 + if (crtl->calls_eh_return)
22350 + unsigned int i;
22351 + for (i = 0; EH_RETURN_DATA_REGNO (i) != INVALID_REGNUM; ++i)
22352 + continue;
22354 + /* SPE saves EH registers in 64-bits. */
22355 + ehrd_size = i * (TARGET_SPE_ABI
22356 + && info_ptr->spe_64bit_regs_used != 0
22357 + ? UNITS_PER_SPE_WORD : UNITS_PER_WORD);
22359 + else
22360 + ehrd_size = 0;
22362 + /* In the ELFv2 ABI, we also need to allocate space for separate
22363 + CR field save areas if the function calls __builtin_eh_return. */
22364 + if (DEFAULT_ABI == ABI_ELFv2 && crtl->calls_eh_return)
22366 + /* This hard-codes that we have three call-saved CR fields. */
22367 + ehcr_size = 3 * reg_size;
22368 + /* We do *not* use the regular CR save mechanism. */
22369 + info_ptr->cr_save_p = 0;
22371 + else
22372 + ehcr_size = 0;
22374 + /* Determine various sizes. */
22375 + info_ptr->reg_size = reg_size;
22376 + info_ptr->fixed_size = RS6000_SAVE_AREA;
22377 + info_ptr->vars_size = RS6000_ALIGN (get_frame_size (), 8);
22378 + info_ptr->parm_size = RS6000_ALIGN (crtl->outgoing_args_size,
22379 + TARGET_ALTIVEC ? 16 : 8);
22380 + if (FRAME_GROWS_DOWNWARD)
22381 + info_ptr->vars_size
22382 + += RS6000_ALIGN (info_ptr->fixed_size + info_ptr->vars_size
22383 + + info_ptr->parm_size,
22384 + ABI_STACK_BOUNDARY / BITS_PER_UNIT)
22385 + - (info_ptr->fixed_size + info_ptr->vars_size
22386 + + info_ptr->parm_size);
22388 + if (TARGET_SPE_ABI && info_ptr->spe_64bit_regs_used != 0)
22389 + info_ptr->spe_gp_size = 8 * (32 - first_gp);
22390 + else
22391 + info_ptr->spe_gp_size = 0;
22393 + if (TARGET_ALTIVEC_ABI)
22394 + info_ptr->vrsave_mask = compute_vrsave_mask ();
22395 + else
22396 + info_ptr->vrsave_mask = 0;
22398 + if (TARGET_ALTIVEC_VRSAVE && info_ptr->vrsave_mask)
22399 + info_ptr->vrsave_size = 4;
22400 + else
22401 + info_ptr->vrsave_size = 0;
22403 + compute_save_world_info (info_ptr);
22405 + /* Calculate the offsets. */
22406 + switch (DEFAULT_ABI)
22408 + case ABI_NONE:
22409 + default:
22410 + gcc_unreachable ();
22412 + case ABI_AIX:
22413 + case ABI_ELFv2:
22414 + case ABI_DARWIN:
22415 + info_ptr->fp_save_offset = - info_ptr->fp_size;
22416 + info_ptr->gp_save_offset = info_ptr->fp_save_offset - info_ptr->gp_size;
22418 + if (TARGET_ALTIVEC_ABI)
22420 + info_ptr->vrsave_save_offset
22421 + = info_ptr->gp_save_offset - info_ptr->vrsave_size;
22423 + /* Align stack so vector save area is on a quadword boundary.
22424 + The padding goes above the vectors. */
22425 + if (info_ptr->altivec_size != 0)
22426 + info_ptr->altivec_padding_size
22427 + = info_ptr->vrsave_save_offset & 0xF;
22428 + else
22429 + info_ptr->altivec_padding_size = 0;
22431 + info_ptr->altivec_save_offset
22432 + = info_ptr->vrsave_save_offset
22433 + - info_ptr->altivec_padding_size
22434 + - info_ptr->altivec_size;
22435 + gcc_assert (info_ptr->altivec_size == 0
22436 + || info_ptr->altivec_save_offset % 16 == 0);
22438 + /* Adjust for AltiVec case. */
22439 + info_ptr->ehrd_offset = info_ptr->altivec_save_offset - ehrd_size;
22441 + else
22442 + info_ptr->ehrd_offset = info_ptr->gp_save_offset - ehrd_size;
22444 + info_ptr->ehcr_offset = info_ptr->ehrd_offset - ehcr_size;
22445 + info_ptr->cr_save_offset = reg_size; /* first word when 64-bit. */
22446 + info_ptr->lr_save_offset = 2*reg_size;
22447 + break;
22449 + case ABI_V4:
22450 + info_ptr->fp_save_offset = - info_ptr->fp_size;
22451 + info_ptr->gp_save_offset = info_ptr->fp_save_offset - info_ptr->gp_size;
22452 + info_ptr->cr_save_offset = info_ptr->gp_save_offset - info_ptr->cr_size;
22454 + if (TARGET_SPE_ABI && info_ptr->spe_64bit_regs_used != 0)
22456 + /* Align stack so SPE GPR save area is aligned on a
22457 + double-word boundary. */
22458 + if (info_ptr->spe_gp_size != 0 && info_ptr->cr_save_offset != 0)
22459 + info_ptr->spe_padding_size
22460 + = 8 - (-info_ptr->cr_save_offset % 8);
22461 + else
22462 + info_ptr->spe_padding_size = 0;
22464 + info_ptr->spe_gp_save_offset
22465 + = info_ptr->cr_save_offset
22466 + - info_ptr->spe_padding_size
22467 + - info_ptr->spe_gp_size;
22469 + /* Adjust for SPE case. */
22470 + info_ptr->ehrd_offset = info_ptr->spe_gp_save_offset;
22472 + else if (TARGET_ALTIVEC_ABI)
22474 + info_ptr->vrsave_save_offset
22475 + = info_ptr->cr_save_offset - info_ptr->vrsave_size;
22477 + /* Align stack so vector save area is on a quadword boundary. */
22478 + if (info_ptr->altivec_size != 0)
22479 + info_ptr->altivec_padding_size
22480 + = 16 - (-info_ptr->vrsave_save_offset % 16);
22481 + else
22482 + info_ptr->altivec_padding_size = 0;
22484 + info_ptr->altivec_save_offset
22485 + = info_ptr->vrsave_save_offset
22486 + - info_ptr->altivec_padding_size
22487 + - info_ptr->altivec_size;
22489 + /* Adjust for AltiVec case. */
22490 + info_ptr->ehrd_offset = info_ptr->altivec_save_offset;
22492 + else
22493 + info_ptr->ehrd_offset = info_ptr->cr_save_offset;
22494 + info_ptr->ehrd_offset -= ehrd_size;
22495 + info_ptr->lr_save_offset = reg_size;
22496 + break;
22499 + save_align = (TARGET_ALTIVEC_ABI || DEFAULT_ABI == ABI_DARWIN) ? 16 : 8;
22500 + info_ptr->save_size = RS6000_ALIGN (info_ptr->fp_size
22501 + + info_ptr->gp_size
22502 + + info_ptr->altivec_size
22503 + + info_ptr->altivec_padding_size
22504 + + info_ptr->spe_gp_size
22505 + + info_ptr->spe_padding_size
22506 + + ehrd_size
22507 + + ehcr_size
22508 + + info_ptr->cr_size
22509 + + info_ptr->vrsave_size,
22510 + save_align);
22512 + non_fixed_size = (info_ptr->vars_size
22513 + + info_ptr->parm_size
22514 + + info_ptr->save_size);
22516 + info_ptr->total_size = RS6000_ALIGN (non_fixed_size + info_ptr->fixed_size,
22517 + ABI_STACK_BOUNDARY / BITS_PER_UNIT);
22519 + /* Determine if we need to save the link register. */
22520 + if (info_ptr->calls_p
22521 + || ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
22522 + && crtl->profile
22523 + && !TARGET_PROFILE_KERNEL)
22524 + || (DEFAULT_ABI == ABI_V4 && cfun->calls_alloca)
22525 +#ifdef TARGET_RELOCATABLE
22526 + || (TARGET_RELOCATABLE && (get_pool_size () != 0))
22527 +#endif
22528 + || rs6000_ra_ever_killed ())
22529 + info_ptr->lr_save_p = 1;
22531 + using_static_chain_p = (cfun->static_chain_decl != NULL_TREE
22532 + && df_regs_ever_live_p (STATIC_CHAIN_REGNUM)
22533 + && call_used_regs[STATIC_CHAIN_REGNUM]);
22534 + info_ptr->savres_strategy = rs6000_savres_strategy (info_ptr,
22535 + using_static_chain_p);
22537 + if (!(info_ptr->savres_strategy & SAVE_INLINE_GPRS)
22538 + || !(info_ptr->savres_strategy & SAVE_INLINE_FPRS)
22539 + || !(info_ptr->savres_strategy & SAVE_INLINE_VRS)
22540 + || !(info_ptr->savres_strategy & REST_INLINE_GPRS)
22541 + || !(info_ptr->savres_strategy & REST_INLINE_FPRS)
22542 + || !(info_ptr->savres_strategy & REST_INLINE_VRS))
22543 + info_ptr->lr_save_p = 1;
22545 + if (info_ptr->lr_save_p)
22546 + df_set_regs_ever_live (LR_REGNO, true);
22548 + /* Determine if we need to allocate any stack frame:
22550 + For AIX we need to push the stack if a frame pointer is needed
22551 + (because the stack might be dynamically adjusted), if we are
22552 + debugging, if we make calls, or if the sum of fp_save, gp_save,
22553 + and local variables are more than the space needed to save all
22554 + non-volatile registers: 32-bit: 18*8 + 19*4 = 220 or 64-bit: 18*8
22555 + + 18*8 = 288 (GPR13 reserved).
22557 + For V.4 we don't have the stack cushion that AIX uses, but assume
22558 + that the debugger can handle stackless frames. */
22560 + if (info_ptr->calls_p)
22561 + info_ptr->push_p = 1;
22563 + else if (DEFAULT_ABI == ABI_V4)
22564 + info_ptr->push_p = non_fixed_size != 0;
22566 + else if (frame_pointer_needed)
22567 + info_ptr->push_p = 1;
22569 + else if (TARGET_XCOFF && write_symbols != NO_DEBUG)
22570 + info_ptr->push_p = 1;
22572 + else
22573 + info_ptr->push_p = non_fixed_size > (TARGET_32BIT ? 220 : 288);
22575 + /* Zero offsets if we're not saving those registers. */
22576 + if (info_ptr->fp_size == 0)
22577 + info_ptr->fp_save_offset = 0;
22579 + if (info_ptr->gp_size == 0)
22580 + info_ptr->gp_save_offset = 0;
22582 + if (! TARGET_ALTIVEC_ABI || info_ptr->altivec_size == 0)
22583 + info_ptr->altivec_save_offset = 0;
22585 + /* Zero VRSAVE offset if not saved and restored. */
22586 + if (! TARGET_ALTIVEC_VRSAVE || info_ptr->vrsave_mask == 0)
22587 + info_ptr->vrsave_save_offset = 0;
22589 + if (! TARGET_SPE_ABI
22590 + || info_ptr->spe_64bit_regs_used == 0
22591 + || info_ptr->spe_gp_size == 0)
22592 + info_ptr->spe_gp_save_offset = 0;
22594 + if (! info_ptr->lr_save_p)
22595 + info_ptr->lr_save_offset = 0;
22597 + if (! info_ptr->cr_save_p)
22598 + info_ptr->cr_save_offset = 0;
22600 + return info_ptr;
22603 +/* Return true if the current function uses any GPRs in 64-bit SIMD
22604 + mode. */
22606 +static bool
22607 +spe_func_has_64bit_regs_p (void)
22609 + rtx_insn *insns, *insn;
22611 + /* Functions that save and restore all the call-saved registers will
22612 + need to save/restore the registers in 64-bits. */
22613 + if (crtl->calls_eh_return
22614 + || cfun->calls_setjmp
22615 + || crtl->has_nonlocal_goto)
22616 + return true;
22618 + insns = get_insns ();
22620 + for (insn = NEXT_INSN (insns); insn != NULL_RTX; insn = NEXT_INSN (insn))
22622 + if (INSN_P (insn))
22624 + rtx i;
22626 + /* FIXME: This should be implemented with attributes...
22628 + (set_attr "spe64" "true")....then,
22629 + if (get_spe64(insn)) return true;
22631 + It's the only reliable way to do the stuff below. */
22633 + i = PATTERN (insn);
22634 + if (GET_CODE (i) == SET)
22636 + machine_mode mode = GET_MODE (SET_SRC (i));
22638 + if (SPE_VECTOR_MODE (mode))
22639 + return true;
22640 + if (TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode))
22641 + return true;
22646 + return false;
22649 +static void
22650 +debug_stack_info (rs6000_stack_t *info)
22652 + const char *abi_string;
22654 + if (! info)
22655 + info = rs6000_stack_info ();
22657 + fprintf (stderr, "\nStack information for function %s:\n",
22658 + ((current_function_decl && DECL_NAME (current_function_decl))
22659 + ? IDENTIFIER_POINTER (DECL_NAME (current_function_decl))
22660 + : "<unknown>"));
22662 + switch (info->abi)
22664 + default: abi_string = "Unknown"; break;
22665 + case ABI_NONE: abi_string = "NONE"; break;
22666 + case ABI_AIX: abi_string = "AIX"; break;
22667 + case ABI_ELFv2: abi_string = "ELFv2"; break;
22668 + case ABI_DARWIN: abi_string = "Darwin"; break;
22669 + case ABI_V4: abi_string = "V.4"; break;
22672 + fprintf (stderr, "\tABI = %5s\n", abi_string);
22674 + if (TARGET_ALTIVEC_ABI)
22675 + fprintf (stderr, "\tALTIVEC ABI extensions enabled.\n");
22677 + if (TARGET_SPE_ABI)
22678 + fprintf (stderr, "\tSPE ABI extensions enabled.\n");
22680 + if (info->first_gp_reg_save != 32)
22681 + fprintf (stderr, "\tfirst_gp_reg_save = %5d\n", info->first_gp_reg_save);
22683 + if (info->first_fp_reg_save != 64)
22684 + fprintf (stderr, "\tfirst_fp_reg_save = %5d\n", info->first_fp_reg_save);
22686 + if (info->first_altivec_reg_save <= LAST_ALTIVEC_REGNO)
22687 + fprintf (stderr, "\tfirst_altivec_reg_save = %5d\n",
22688 + info->first_altivec_reg_save);
22690 + if (info->lr_save_p)
22691 + fprintf (stderr, "\tlr_save_p = %5d\n", info->lr_save_p);
22693 + if (info->cr_save_p)
22694 + fprintf (stderr, "\tcr_save_p = %5d\n", info->cr_save_p);
22696 + if (info->vrsave_mask)
22697 + fprintf (stderr, "\tvrsave_mask = 0x%x\n", info->vrsave_mask);
22699 + if (info->push_p)
22700 + fprintf (stderr, "\tpush_p = %5d\n", info->push_p);
22702 + if (info->calls_p)
22703 + fprintf (stderr, "\tcalls_p = %5d\n", info->calls_p);
22705 + if (info->gp_save_offset)
22706 + fprintf (stderr, "\tgp_save_offset = %5d\n", info->gp_save_offset);
22708 + if (info->fp_save_offset)
22709 + fprintf (stderr, "\tfp_save_offset = %5d\n", info->fp_save_offset);
22711 + if (info->altivec_save_offset)
22712 + fprintf (stderr, "\taltivec_save_offset = %5d\n",
22713 + info->altivec_save_offset);
22715 + if (info->spe_gp_save_offset)
22716 + fprintf (stderr, "\tspe_gp_save_offset = %5d\n",
22717 + info->spe_gp_save_offset);
22719 + if (info->vrsave_save_offset)
22720 + fprintf (stderr, "\tvrsave_save_offset = %5d\n",
22721 + info->vrsave_save_offset);
22723 + if (info->lr_save_offset)
22724 + fprintf (stderr, "\tlr_save_offset = %5d\n", info->lr_save_offset);
22726 + if (info->cr_save_offset)
22727 + fprintf (stderr, "\tcr_save_offset = %5d\n", info->cr_save_offset);
22729 + if (info->varargs_save_offset)
22730 + fprintf (stderr, "\tvarargs_save_offset = %5d\n", info->varargs_save_offset);
22732 + if (info->total_size)
22733 + fprintf (stderr, "\ttotal_size = "HOST_WIDE_INT_PRINT_DEC"\n",
22734 + info->total_size);
22736 + if (info->vars_size)
22737 + fprintf (stderr, "\tvars_size = "HOST_WIDE_INT_PRINT_DEC"\n",
22738 + info->vars_size);
22740 + if (info->parm_size)
22741 + fprintf (stderr, "\tparm_size = %5d\n", info->parm_size);
22743 + if (info->fixed_size)
22744 + fprintf (stderr, "\tfixed_size = %5d\n", info->fixed_size);
22746 + if (info->gp_size)
22747 + fprintf (stderr, "\tgp_size = %5d\n", info->gp_size);
22749 + if (info->spe_gp_size)
22750 + fprintf (stderr, "\tspe_gp_size = %5d\n", info->spe_gp_size);
22752 + if (info->fp_size)
22753 + fprintf (stderr, "\tfp_size = %5d\n", info->fp_size);
22755 + if (info->altivec_size)
22756 + fprintf (stderr, "\taltivec_size = %5d\n", info->altivec_size);
22758 + if (info->vrsave_size)
22759 + fprintf (stderr, "\tvrsave_size = %5d\n", info->vrsave_size);
22761 + if (info->altivec_padding_size)
22762 + fprintf (stderr, "\taltivec_padding_size= %5d\n",
22763 + info->altivec_padding_size);
22765 + if (info->spe_padding_size)
22766 + fprintf (stderr, "\tspe_padding_size = %5d\n",
22767 + info->spe_padding_size);
22769 + if (info->cr_size)
22770 + fprintf (stderr, "\tcr_size = %5d\n", info->cr_size);
22772 + if (info->save_size)
22773 + fprintf (stderr, "\tsave_size = %5d\n", info->save_size);
22775 + if (info->reg_size != 4)
22776 + fprintf (stderr, "\treg_size = %5d\n", info->reg_size);
22778 + fprintf (stderr, "\tsave-strategy = %04x\n", info->savres_strategy);
22780 + fprintf (stderr, "\n");
22783 +rtx
22784 +rs6000_return_addr (int count, rtx frame)
22786 + /* Currently we don't optimize very well between prolog and body
22787 + code and for PIC code the code can be actually quite bad, so
22788 + don't try to be too clever here. */
22789 + if (count != 0
22790 + || ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic))
22792 + cfun->machine->ra_needs_full_frame = 1;
22794 + return
22795 + gen_rtx_MEM
22796 + (Pmode,
22797 + memory_address
22798 + (Pmode,
22799 + plus_constant (Pmode,
22800 + copy_to_reg
22801 + (gen_rtx_MEM (Pmode,
22802 + memory_address (Pmode, frame))),
22803 + RETURN_ADDRESS_OFFSET)));
22806 + cfun->machine->ra_need_lr = 1;
22807 + return get_hard_reg_initial_val (Pmode, LR_REGNO);
22810 +/* Say whether a function is a candidate for sibcall handling or not. */
22812 +static bool
22813 +rs6000_function_ok_for_sibcall (tree decl, tree exp)
22815 + tree fntype;
22817 + if (decl)
22818 + fntype = TREE_TYPE (decl);
22819 + else
22820 + fntype = TREE_TYPE (TREE_TYPE (CALL_EXPR_FN (exp)));
22822 + /* We can't do it if the called function has more vector parameters
22823 + than the current function; there's nowhere to put the VRsave code. */
22824 + if (TARGET_ALTIVEC_ABI
22825 + && TARGET_ALTIVEC_VRSAVE
22826 + && !(decl && decl == current_function_decl))
22828 + function_args_iterator args_iter;
22829 + tree type;
22830 + int nvreg = 0;
22832 + /* Functions with vector parameters are required to have a
22833 + prototype, so the argument type info must be available
22834 + here. */
22835 + FOREACH_FUNCTION_ARGS(fntype, type, args_iter)
22836 + if (TREE_CODE (type) == VECTOR_TYPE
22837 + && ALTIVEC_OR_VSX_VECTOR_MODE (TYPE_MODE (type)))
22838 + nvreg++;
22840 + FOREACH_FUNCTION_ARGS(TREE_TYPE (current_function_decl), type, args_iter)
22841 + if (TREE_CODE (type) == VECTOR_TYPE
22842 + && ALTIVEC_OR_VSX_VECTOR_MODE (TYPE_MODE (type)))
22843 + nvreg--;
22845 + if (nvreg > 0)
22846 + return false;
22849 + /* Under the AIX or ELFv2 ABIs we can't allow calls to non-local
22850 + functions, because the callee may have a different TOC pointer to
22851 + the caller and there's no way to ensure we restore the TOC when
22852 + we return. With the secure-plt SYSV ABI we can't make non-local
22853 + calls when -fpic/PIC because the plt call stubs use r30. */
22854 + if (DEFAULT_ABI == ABI_DARWIN
22855 + || ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
22856 + && decl
22857 + && !DECL_EXTERNAL (decl)
22858 + && (*targetm.binds_local_p) (decl))
22859 + || (DEFAULT_ABI == ABI_V4
22860 + && (!TARGET_SECURE_PLT
22861 + || !flag_pic
22862 + || (decl
22863 + && (*targetm.binds_local_p) (decl)))))
22865 + tree attr_list = TYPE_ATTRIBUTES (fntype);
22867 + if (!lookup_attribute ("longcall", attr_list)
22868 + || lookup_attribute ("shortcall", attr_list))
22869 + return true;
22872 + return false;
22875 +static int
22876 +rs6000_ra_ever_killed (void)
22878 + rtx_insn *top;
22879 + rtx reg;
22880 + rtx_insn *insn;
22882 + if (cfun->is_thunk)
22883 + return 0;
22885 + if (cfun->machine->lr_save_state)
22886 + return cfun->machine->lr_save_state - 1;
22888 + /* regs_ever_live has LR marked as used if any sibcalls are present,
22889 + but this should not force saving and restoring in the
22890 + pro/epilogue. Likewise, reg_set_between_p thinks a sibcall
22891 + clobbers LR, so that is inappropriate. */
22893 + /* Also, the prologue can generate a store into LR that
22894 + doesn't really count, like this:
22896 + move LR->R0
22897 + bcl to set PIC register
22898 + move LR->R31
22899 + move R0->LR
22901 + When we're called from the epilogue, we need to avoid counting
22902 + this as a store. */
22904 + push_topmost_sequence ();
22905 + top = get_insns ();
22906 + pop_topmost_sequence ();
22907 + reg = gen_rtx_REG (Pmode, LR_REGNO);
22909 + for (insn = NEXT_INSN (top); insn != NULL_RTX; insn = NEXT_INSN (insn))
22911 + if (INSN_P (insn))
22913 + if (CALL_P (insn))
22915 + if (!SIBLING_CALL_P (insn))
22916 + return 1;
22918 + else if (find_regno_note (insn, REG_INC, LR_REGNO))
22919 + return 1;
22920 + else if (set_of (reg, insn) != NULL_RTX
22921 + && !prologue_epilogue_contains (insn))
22922 + return 1;
22925 + return 0;
22928 +/* Emit instructions needed to load the TOC register.
22929 + This is only needed when TARGET_TOC, TARGET_MINIMAL_TOC, and there is
22930 + a constant pool; or for SVR4 -fpic. */
22932 +void
22933 +rs6000_emit_load_toc_table (int fromprolog)
22935 + rtx dest;
22936 + dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
22938 + if (TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI == ABI_V4 && flag_pic)
22940 + char buf[30];
22941 + rtx lab, tmp1, tmp2, got;
22943 + lab = gen_label_rtx ();
22944 + ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (lab));
22945 + lab = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
22946 + if (flag_pic == 2)
22947 + got = gen_rtx_SYMBOL_REF (Pmode, toc_label_name);
22948 + else
22949 + got = rs6000_got_sym ();
22950 + tmp1 = tmp2 = dest;
22951 + if (!fromprolog)
22953 + tmp1 = gen_reg_rtx (Pmode);
22954 + tmp2 = gen_reg_rtx (Pmode);
22956 + emit_insn (gen_load_toc_v4_PIC_1 (lab));
22957 + emit_move_insn (tmp1, gen_rtx_REG (Pmode, LR_REGNO));
22958 + emit_insn (gen_load_toc_v4_PIC_3b (tmp2, tmp1, got, lab));
22959 + emit_insn (gen_load_toc_v4_PIC_3c (dest, tmp2, got, lab));
22961 + else if (TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 1)
22963 + emit_insn (gen_load_toc_v4_pic_si ());
22964 + emit_move_insn (dest, gen_rtx_REG (Pmode, LR_REGNO));
22966 + else if (TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 2)
22968 + char buf[30];
22969 + rtx temp0 = (fromprolog
22970 + ? gen_rtx_REG (Pmode, 0)
22971 + : gen_reg_rtx (Pmode));
22973 + if (fromprolog)
22975 + rtx symF, symL;
22977 + ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno);
22978 + symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
22980 + ASM_GENERATE_INTERNAL_LABEL (buf, "LCL", rs6000_pic_labelno);
22981 + symL = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
22983 + emit_insn (gen_load_toc_v4_PIC_1 (symF));
22984 + emit_move_insn (dest, gen_rtx_REG (Pmode, LR_REGNO));
22985 + emit_insn (gen_load_toc_v4_PIC_2 (temp0, dest, symL, symF));
22987 + else
22989 + rtx tocsym, lab;
22991 + tocsym = gen_rtx_SYMBOL_REF (Pmode, toc_label_name);
22992 + lab = gen_label_rtx ();
22993 + emit_insn (gen_load_toc_v4_PIC_1b (tocsym, lab));
22994 + emit_move_insn (dest, gen_rtx_REG (Pmode, LR_REGNO));
22995 + if (TARGET_LINK_STACK)
22996 + emit_insn (gen_addsi3 (dest, dest, GEN_INT (4)));
22997 + emit_move_insn (temp0, gen_rtx_MEM (Pmode, dest));
22999 + emit_insn (gen_addsi3 (dest, temp0, dest));
23001 + else if (TARGET_ELF && !TARGET_AIX && flag_pic == 0 && TARGET_MINIMAL_TOC)
23003 + /* This is for AIX code running in non-PIC ELF32. */
23004 + char buf[30];
23005 + rtx realsym;
23006 + ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1);
23007 + realsym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
23009 + emit_insn (gen_elf_high (dest, realsym));
23010 + emit_insn (gen_elf_low (dest, dest, realsym));
23012 + else
23014 + gcc_assert (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2);
23016 + if (TARGET_32BIT)
23017 + emit_insn (gen_load_toc_aix_si (dest));
23018 + else
23019 + emit_insn (gen_load_toc_aix_di (dest));
23023 +/* Emit instructions to restore the link register after determining where
23024 + its value has been stored. */
23026 +void
23027 +rs6000_emit_eh_reg_restore (rtx source, rtx scratch)
23029 + rs6000_stack_t *info = rs6000_stack_info ();
23030 + rtx operands[2];
23032 + operands[0] = source;
23033 + operands[1] = scratch;
23035 + if (info->lr_save_p)
23037 + rtx frame_rtx = stack_pointer_rtx;
23038 + HOST_WIDE_INT sp_offset = 0;
23039 + rtx tmp;
23041 + if (frame_pointer_needed
23042 + || cfun->calls_alloca
23043 + || info->total_size > 32767)
23045 + tmp = gen_frame_mem (Pmode, frame_rtx);
23046 + emit_move_insn (operands[1], tmp);
23047 + frame_rtx = operands[1];
23049 + else if (info->push_p)
23050 + sp_offset = info->total_size;
23052 + tmp = plus_constant (Pmode, frame_rtx,
23053 + info->lr_save_offset + sp_offset);
23054 + tmp = gen_frame_mem (Pmode, tmp);
23055 + emit_move_insn (tmp, operands[0]);
23057 + else
23058 + emit_move_insn (gen_rtx_REG (Pmode, LR_REGNO), operands[0]);
23060 + /* Freeze lr_save_p. We've just emitted rtl that depends on the
23061 + state of lr_save_p so any change from here on would be a bug. In
23062 + particular, stop rs6000_ra_ever_killed from considering the SET
23063 + of lr we may have added just above. */
23064 + cfun->machine->lr_save_state = info->lr_save_p + 1;
23067 +static GTY(()) alias_set_type set = -1;
23069 +alias_set_type
23070 +get_TOC_alias_set (void)
23072 + if (set == -1)
23073 + set = new_alias_set ();
23074 + return set;
23077 +/* This returns nonzero if the current function uses the TOC. This is
23078 + determined by the presence of (use (unspec ... UNSPEC_TOC)), which
23079 + is generated by the ABI_V4 load_toc_* patterns. */
23080 +#if TARGET_ELF
23081 +static int
23082 +uses_TOC (void)
23084 + rtx_insn *insn;
23086 + for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
23087 + if (INSN_P (insn))
23089 + rtx pat = PATTERN (insn);
23090 + int i;
23092 + if (GET_CODE (pat) == PARALLEL)
23093 + for (i = 0; i < XVECLEN (pat, 0); i++)
23095 + rtx sub = XVECEXP (pat, 0, i);
23096 + if (GET_CODE (sub) == USE)
23098 + sub = XEXP (sub, 0);
23099 + if (GET_CODE (sub) == UNSPEC
23100 + && XINT (sub, 1) == UNSPEC_TOC)
23101 + return 1;
23105 + return 0;
23107 +#endif
23109 +rtx
23110 +create_TOC_reference (rtx symbol, rtx largetoc_reg)
23112 + rtx tocrel, tocreg, hi;
23114 + if (TARGET_DEBUG_ADDR)
23116 + if (GET_CODE (symbol) == SYMBOL_REF)
23117 + fprintf (stderr, "\ncreate_TOC_reference, (symbol_ref %s)\n",
23118 + XSTR (symbol, 0));
23119 + else
23121 + fprintf (stderr, "\ncreate_TOC_reference, code %s:\n",
23122 + GET_RTX_NAME (GET_CODE (symbol)));
23123 + debug_rtx (symbol);
23127 + if (!can_create_pseudo_p ())
23128 + df_set_regs_ever_live (TOC_REGISTER, true);
23130 + tocreg = gen_rtx_REG (Pmode, TOC_REGISTER);
23131 + tocrel = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, symbol, tocreg), UNSPEC_TOCREL);
23132 + if (TARGET_CMODEL == CMODEL_SMALL || can_create_pseudo_p ())
23133 + return tocrel;
23135 + hi = gen_rtx_HIGH (Pmode, copy_rtx (tocrel));
23136 + if (largetoc_reg != NULL)
23138 + emit_move_insn (largetoc_reg, hi);
23139 + hi = largetoc_reg;
23141 + return gen_rtx_LO_SUM (Pmode, hi, tocrel);
23144 +/* Issue assembly directives that create a reference to the given DWARF
23145 + FRAME_TABLE_LABEL from the current function section. */
23146 +void
23147 +rs6000_aix_asm_output_dwarf_table_ref (char * frame_table_label)
23149 + fprintf (asm_out_file, "\t.ref %s\n",
23150 + (* targetm.strip_name_encoding) (frame_table_label));
23153 +/* This ties together stack memory (MEM with an alias set of frame_alias_set)
23154 + and the change to the stack pointer. */
23156 +static void
23157 +rs6000_emit_stack_tie (rtx fp, bool hard_frame_needed)
23159 + rtvec p;
23160 + int i;
23161 + rtx regs[3];
23163 + i = 0;
23164 + regs[i++] = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM);
23165 + if (hard_frame_needed)
23166 + regs[i++] = gen_rtx_REG (Pmode, HARD_FRAME_POINTER_REGNUM);
23167 + if (!(REGNO (fp) == STACK_POINTER_REGNUM
23168 + || (hard_frame_needed
23169 + && REGNO (fp) == HARD_FRAME_POINTER_REGNUM)))
23170 + regs[i++] = fp;
23172 + p = rtvec_alloc (i);
23173 + while (--i >= 0)
23175 + rtx mem = gen_frame_mem (BLKmode, regs[i]);
23176 + RTVEC_ELT (p, i) = gen_rtx_SET (VOIDmode, mem, const0_rtx);
23179 + emit_insn (gen_stack_tie (gen_rtx_PARALLEL (VOIDmode, p)));
23182 +/* Emit the correct code for allocating stack space, as insns.
23183 + If COPY_REG, make sure a copy of the old frame is left there.
23184 + The generated code may use hard register 0 as a temporary. */
23186 +static void
23187 +rs6000_emit_allocate_stack (HOST_WIDE_INT size, rtx copy_reg, int copy_off)
23189 + rtx_insn *insn;
23190 + rtx stack_reg = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM);
23191 + rtx tmp_reg = gen_rtx_REG (Pmode, 0);
23192 + rtx todec = gen_int_mode (-size, Pmode);
23193 + rtx par, set, mem;
23195 + if (INTVAL (todec) != -size)
23197 + warning (0, "stack frame too large");
23198 + emit_insn (gen_trap ());
23199 + return;
23202 + if (crtl->limit_stack)
23204 + if (REG_P (stack_limit_rtx)
23205 + && REGNO (stack_limit_rtx) > 1
23206 + && REGNO (stack_limit_rtx) <= 31)
23208 + emit_insn (gen_add3_insn (tmp_reg, stack_limit_rtx, GEN_INT (size)));
23209 + emit_insn (gen_cond_trap (LTU, stack_reg, tmp_reg,
23210 + const0_rtx));
23212 + else if (GET_CODE (stack_limit_rtx) == SYMBOL_REF
23213 + && TARGET_32BIT
23214 + && DEFAULT_ABI == ABI_V4)
23216 + rtx toload = gen_rtx_CONST (VOIDmode,
23217 + gen_rtx_PLUS (Pmode,
23218 + stack_limit_rtx,
23219 + GEN_INT (size)));
23221 + emit_insn (gen_elf_high (tmp_reg, toload));
23222 + emit_insn (gen_elf_low (tmp_reg, tmp_reg, toload));
23223 + emit_insn (gen_cond_trap (LTU, stack_reg, tmp_reg,
23224 + const0_rtx));
23226 + else
23227 + warning (0, "stack limit expression is not supported");
23230 + if (copy_reg)
23232 + if (copy_off != 0)
23233 + emit_insn (gen_add3_insn (copy_reg, stack_reg, GEN_INT (copy_off)));
23234 + else
23235 + emit_move_insn (copy_reg, stack_reg);
23238 + if (size > 32767)
23240 + /* Need a note here so that try_split doesn't get confused. */
23241 + if (get_last_insn () == NULL_RTX)
23242 + emit_note (NOTE_INSN_DELETED);
23243 + insn = emit_move_insn (tmp_reg, todec);
23244 + try_split (PATTERN (insn), insn, 0);
23245 + todec = tmp_reg;
23248 + insn = emit_insn (TARGET_32BIT
23249 + ? gen_movsi_update_stack (stack_reg, stack_reg,
23250 + todec, stack_reg)
23251 + : gen_movdi_di_update_stack (stack_reg, stack_reg,
23252 + todec, stack_reg));
23253 + /* Since we didn't use gen_frame_mem to generate the MEM, grab
23254 + it now and set the alias set/attributes. The above gen_*_update
23255 + calls will generate a PARALLEL with the MEM set being the first
23256 + operation. */
23257 + par = PATTERN (insn);
23258 + gcc_assert (GET_CODE (par) == PARALLEL);
23259 + set = XVECEXP (par, 0, 0);
23260 + gcc_assert (GET_CODE (set) == SET);
23261 + mem = SET_DEST (set);
23262 + gcc_assert (MEM_P (mem));
23263 + MEM_NOTRAP_P (mem) = 1;
23264 + set_mem_alias_set (mem, get_frame_alias_set ());
23266 + RTX_FRAME_RELATED_P (insn) = 1;
23267 + add_reg_note (insn, REG_FRAME_RELATED_EXPR,
23268 + gen_rtx_SET (VOIDmode, stack_reg,
23269 + gen_rtx_PLUS (Pmode, stack_reg,
23270 + GEN_INT (-size))));
23273 +#define PROBE_INTERVAL (1 << STACK_CHECK_PROBE_INTERVAL_EXP)
23275 +#if PROBE_INTERVAL > 32768
23276 +#error Cannot use indexed addressing mode for stack probing
23277 +#endif
23279 +/* Emit code to probe a range of stack addresses from FIRST to FIRST+SIZE,
23280 + inclusive. These are offsets from the current stack pointer. */
23282 +static void
23283 +rs6000_emit_probe_stack_range (HOST_WIDE_INT first, HOST_WIDE_INT size)
23285 + /* See if we have a constant small number of probes to generate. If so,
23286 + that's the easy case. */
23287 + if (first + size <= 32768)
23289 + HOST_WIDE_INT i;
23291 + /* Probe at FIRST + N * PROBE_INTERVAL for values of N from 1 until
23292 + it exceeds SIZE. If only one probe is needed, this will not
23293 + generate any code. Then probe at FIRST + SIZE. */
23294 + for (i = PROBE_INTERVAL; i < size; i += PROBE_INTERVAL)
23295 + emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx,
23296 + -(first + i)));
23298 + emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx,
23299 + -(first + size)));
23302 + /* Otherwise, do the same as above, but in a loop. Note that we must be
23303 + extra careful with variables wrapping around because we might be at
23304 + the very top (or the very bottom) of the address space and we have
23305 + to be able to handle this case properly; in particular, we use an
23306 + equality test for the loop condition. */
23307 + else
23309 + HOST_WIDE_INT rounded_size;
23310 + rtx r12 = gen_rtx_REG (Pmode, 12);
23311 + rtx r0 = gen_rtx_REG (Pmode, 0);
23313 + /* Sanity check for the addressing mode we're going to use. */
23314 + gcc_assert (first <= 32768);
23316 + /* Step 1: round SIZE to the previous multiple of the interval. */
23318 + rounded_size = size & -PROBE_INTERVAL;
23321 + /* Step 2: compute initial and final value of the loop counter. */
23323 + /* TEST_ADDR = SP + FIRST. */
23324 + emit_insn (gen_rtx_SET (VOIDmode, r12,
23325 + plus_constant (Pmode, stack_pointer_rtx,
23326 + -first)));
23328 + /* LAST_ADDR = SP + FIRST + ROUNDED_SIZE. */
23329 + if (rounded_size > 32768)
23331 + emit_move_insn (r0, GEN_INT (-rounded_size));
23332 + emit_insn (gen_rtx_SET (VOIDmode, r0,
23333 + gen_rtx_PLUS (Pmode, r12, r0)));
23335 + else
23336 + emit_insn (gen_rtx_SET (VOIDmode, r0,
23337 + plus_constant (Pmode, r12, -rounded_size)));
23340 + /* Step 3: the loop
23342 + while (TEST_ADDR != LAST_ADDR)
23344 + TEST_ADDR = TEST_ADDR + PROBE_INTERVAL
23345 + probe at TEST_ADDR
23348 + probes at FIRST + N * PROBE_INTERVAL for values of N from 1
23349 + until it is equal to ROUNDED_SIZE. */
23351 + if (TARGET_64BIT)
23352 + emit_insn (gen_probe_stack_rangedi (r12, r12, r0));
23353 + else
23354 + emit_insn (gen_probe_stack_rangesi (r12, r12, r0));
23357 + /* Step 4: probe at FIRST + SIZE if we cannot assert at compile-time
23358 + that SIZE is equal to ROUNDED_SIZE. */
23360 + if (size != rounded_size)
23361 + emit_stack_probe (plus_constant (Pmode, r12, rounded_size - size));
23365 +/* Probe a range of stack addresses from REG1 to REG2 inclusive. These are
23366 + absolute addresses. */
23368 +const char *
23369 +output_probe_stack_range (rtx reg1, rtx reg2)
23371 + static int labelno = 0;
23372 + char loop_lab[32], end_lab[32];
23373 + rtx xops[2];
23375 + ASM_GENERATE_INTERNAL_LABEL (loop_lab, "LPSRL", labelno);
23376 + ASM_GENERATE_INTERNAL_LABEL (end_lab, "LPSRE", labelno++);
23378 + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, loop_lab);
23380 + /* Jump to END_LAB if TEST_ADDR == LAST_ADDR. */
23381 + xops[0] = reg1;
23382 + xops[1] = reg2;
23383 + if (TARGET_64BIT)
23384 + output_asm_insn ("cmpd 0,%0,%1", xops);
23385 + else
23386 + output_asm_insn ("cmpw 0,%0,%1", xops);
23388 + fputs ("\tbeq 0,", asm_out_file);
23389 + assemble_name_raw (asm_out_file, end_lab);
23390 + fputc ('\n', asm_out_file);
23392 + /* TEST_ADDR = TEST_ADDR + PROBE_INTERVAL. */
23393 + xops[1] = GEN_INT (-PROBE_INTERVAL);
23394 + output_asm_insn ("addi %0,%0,%1", xops);
23396 + /* Probe at TEST_ADDR and branch. */
23397 + xops[1] = gen_rtx_REG (Pmode, 0);
23398 + output_asm_insn ("stw %1,0(%0)", xops);
23399 + fprintf (asm_out_file, "\tb ");
23400 + assemble_name_raw (asm_out_file, loop_lab);
23401 + fputc ('\n', asm_out_file);
23403 + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, end_lab);
23405 + return "";
23408 +/* Add to 'insn' a note which is PATTERN (INSN) but with REG replaced
23409 + with (plus:P (reg 1) VAL), and with REG2 replaced with RREG if REG2
23410 + is not NULL. It would be nice if dwarf2out_frame_debug_expr could
23411 + deduce these equivalences by itself so it wasn't necessary to hold
23412 + its hand so much. Don't be tempted to always supply d2_f_d_e with
23413 + the actual cfa register, ie. r31 when we are using a hard frame
23414 + pointer. That fails when saving regs off r1, and sched moves the
23415 + r31 setup past the reg saves. */
23417 +static rtx
23418 +rs6000_frame_related (rtx insn, rtx reg, HOST_WIDE_INT val,
23419 + rtx reg2, rtx rreg, rtx split_reg)
23421 + rtx real, temp;
23423 + if (REGNO (reg) == STACK_POINTER_REGNUM && reg2 == NULL_RTX)
23425 + /* No need for any replacement. Just set RTX_FRAME_RELATED_P. */
23426 + int i;
23428 + gcc_checking_assert (val == 0);
23429 + real = PATTERN (insn);
23430 + if (GET_CODE (real) == PARALLEL)
23431 + for (i = 0; i < XVECLEN (real, 0); i++)
23432 + if (GET_CODE (XVECEXP (real, 0, i)) == SET)
23434 + rtx set = XVECEXP (real, 0, i);
23436 + RTX_FRAME_RELATED_P (set) = 1;
23438 + RTX_FRAME_RELATED_P (insn) = 1;
23439 + return insn;
23442 + /* copy_rtx will not make unique copies of registers, so we need to
23443 + ensure we don't have unwanted sharing here. */
23444 + if (reg == reg2)
23445 + reg = gen_raw_REG (GET_MODE (reg), REGNO (reg));
23447 + if (reg == rreg)
23448 + reg = gen_raw_REG (GET_MODE (reg), REGNO (reg));
23450 + real = copy_rtx (PATTERN (insn));
23452 + if (reg2 != NULL_RTX)
23453 + real = replace_rtx (real, reg2, rreg);
23455 + if (REGNO (reg) == STACK_POINTER_REGNUM)
23456 + gcc_checking_assert (val == 0);
23457 + else
23458 + real = replace_rtx (real, reg,
23459 + gen_rtx_PLUS (Pmode, gen_rtx_REG (Pmode,
23460 + STACK_POINTER_REGNUM),
23461 + GEN_INT (val)));
23463 + /* We expect that 'real' is either a SET or a PARALLEL containing
23464 + SETs (and possibly other stuff). In a PARALLEL, all the SETs
23465 + are important so they all have to be marked RTX_FRAME_RELATED_P. */
23467 + if (GET_CODE (real) == SET)
23469 + rtx set = real;
23471 + temp = simplify_rtx (SET_SRC (set));
23472 + if (temp)
23473 + SET_SRC (set) = temp;
23474 + temp = simplify_rtx (SET_DEST (set));
23475 + if (temp)
23476 + SET_DEST (set) = temp;
23477 + if (GET_CODE (SET_DEST (set)) == MEM)
23479 + temp = simplify_rtx (XEXP (SET_DEST (set), 0));
23480 + if (temp)
23481 + XEXP (SET_DEST (set), 0) = temp;
23484 + else
23486 + int i;
23488 + gcc_assert (GET_CODE (real) == PARALLEL);
23489 + for (i = 0; i < XVECLEN (real, 0); i++)
23490 + if (GET_CODE (XVECEXP (real, 0, i)) == SET)
23492 + rtx set = XVECEXP (real, 0, i);
23494 + temp = simplify_rtx (SET_SRC (set));
23495 + if (temp)
23496 + SET_SRC (set) = temp;
23497 + temp = simplify_rtx (SET_DEST (set));
23498 + if (temp)
23499 + SET_DEST (set) = temp;
23500 + if (GET_CODE (SET_DEST (set)) == MEM)
23502 + temp = simplify_rtx (XEXP (SET_DEST (set), 0));
23503 + if (temp)
23504 + XEXP (SET_DEST (set), 0) = temp;
23506 + RTX_FRAME_RELATED_P (set) = 1;
23510 + /* If a store insn has been split into multiple insns, the
23511 + true source register is given by split_reg. */
23512 + if (split_reg != NULL_RTX)
23513 + real = gen_rtx_SET (VOIDmode, SET_DEST (real), split_reg);
23515 + RTX_FRAME_RELATED_P (insn) = 1;
23516 + add_reg_note (insn, REG_FRAME_RELATED_EXPR, real);
23518 + return insn;
23521 +/* Returns an insn that has a vrsave set operation with the
23522 + appropriate CLOBBERs. */
23524 +static rtx
23525 +generate_set_vrsave (rtx reg, rs6000_stack_t *info, int epiloguep)
23527 + int nclobs, i;
23528 + rtx insn, clobs[TOTAL_ALTIVEC_REGS + 1];
23529 + rtx vrsave = gen_rtx_REG (SImode, VRSAVE_REGNO);
23531 + clobs[0]
23532 + = gen_rtx_SET (VOIDmode,
23533 + vrsave,
23534 + gen_rtx_UNSPEC_VOLATILE (SImode,
23535 + gen_rtvec (2, reg, vrsave),
23536 + UNSPECV_SET_VRSAVE));
23538 + nclobs = 1;
23540 + /* We need to clobber the registers in the mask so the scheduler
23541 + does not move sets to VRSAVE before sets of AltiVec registers.
23543 + However, if the function receives nonlocal gotos, reload will set
23544 + all call saved registers live. We will end up with:
23546 + (set (reg 999) (mem))
23547 + (parallel [ (set (reg vrsave) (unspec blah))
23548 + (clobber (reg 999))])
23550 + The clobber will cause the store into reg 999 to be dead, and
23551 + flow will attempt to delete an epilogue insn. In this case, we
23552 + need an unspec use/set of the register. */
23554 + for (i = FIRST_ALTIVEC_REGNO; i <= LAST_ALTIVEC_REGNO; ++i)
23555 + if (info->vrsave_mask & ALTIVEC_REG_BIT (i))
23557 + if (!epiloguep || call_used_regs [i])
23558 + clobs[nclobs++] = gen_rtx_CLOBBER (VOIDmode,
23559 + gen_rtx_REG (V4SImode, i));
23560 + else
23562 + rtx reg = gen_rtx_REG (V4SImode, i);
23564 + clobs[nclobs++]
23565 + = gen_rtx_SET (VOIDmode,
23566 + reg,
23567 + gen_rtx_UNSPEC (V4SImode,
23568 + gen_rtvec (1, reg), 27));
23572 + insn = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (nclobs));
23574 + for (i = 0; i < nclobs; ++i)
23575 + XVECEXP (insn, 0, i) = clobs[i];
23577 + return insn;
23580 +static rtx
23581 +gen_frame_set (rtx reg, rtx frame_reg, int offset, bool store)
23583 + rtx addr, mem;
23585 + addr = gen_rtx_PLUS (Pmode, frame_reg, GEN_INT (offset));
23586 + mem = gen_frame_mem (GET_MODE (reg), addr);
23587 + return gen_rtx_SET (VOIDmode, store ? mem : reg, store ? reg : mem);
23590 +static rtx
23591 +gen_frame_load (rtx reg, rtx frame_reg, int offset)
23593 + return gen_frame_set (reg, frame_reg, offset, false);
23596 +static rtx
23597 +gen_frame_store (rtx reg, rtx frame_reg, int offset)
23599 + return gen_frame_set (reg, frame_reg, offset, true);
23602 +/* Save a register into the frame, and emit RTX_FRAME_RELATED_P notes.
23603 + Save REGNO into [FRAME_REG + OFFSET] in mode MODE. */
23605 +static rtx
23606 +emit_frame_save (rtx frame_reg, machine_mode mode,
23607 + unsigned int regno, int offset, HOST_WIDE_INT frame_reg_to_sp)
23609 + rtx reg, insn;
23611 + /* Some cases that need register indexed addressing. */
23612 + gcc_checking_assert (!((TARGET_ALTIVEC_ABI && ALTIVEC_VECTOR_MODE (mode))
23613 + || (TARGET_VSX && ALTIVEC_OR_VSX_VECTOR_MODE (mode))
23614 + || (TARGET_E500_DOUBLE && mode == DFmode)
23615 + || (TARGET_SPE_ABI
23616 + && SPE_VECTOR_MODE (mode)
23617 + && !SPE_CONST_OFFSET_OK (offset))));
23619 + reg = gen_rtx_REG (mode, regno);
23620 + insn = emit_insn (gen_frame_store (reg, frame_reg, offset));
23621 + return rs6000_frame_related (insn, frame_reg, frame_reg_to_sp,
23622 + NULL_RTX, NULL_RTX, NULL_RTX);
23625 +/* Emit an offset memory reference suitable for a frame store, while
23626 + converting to a valid addressing mode. */
23628 +static rtx
23629 +gen_frame_mem_offset (machine_mode mode, rtx reg, int offset)
23631 + rtx int_rtx, offset_rtx;
23633 + int_rtx = GEN_INT (offset);
23635 + if ((TARGET_SPE_ABI && SPE_VECTOR_MODE (mode) && !SPE_CONST_OFFSET_OK (offset))
23636 + || (TARGET_E500_DOUBLE && mode == DFmode))
23638 + offset_rtx = gen_rtx_REG (Pmode, FIXED_SCRATCH);
23639 + emit_move_insn (offset_rtx, int_rtx);
23641 + else
23642 + offset_rtx = int_rtx;
23644 + return gen_frame_mem (mode, gen_rtx_PLUS (Pmode, reg, offset_rtx));
23647 +#ifndef TARGET_FIX_AND_CONTINUE
23648 +#define TARGET_FIX_AND_CONTINUE 0
23649 +#endif
23651 +/* It's really GPR 13 or 14, FPR 14 and VR 20. We need the smallest. */
23652 +#define FIRST_SAVRES_REGISTER FIRST_SAVED_GP_REGNO
23653 +#define LAST_SAVRES_REGISTER 31
23654 +#define N_SAVRES_REGISTERS (LAST_SAVRES_REGISTER - FIRST_SAVRES_REGISTER + 1)
23656 +enum {
23657 + SAVRES_LR = 0x1,
23658 + SAVRES_SAVE = 0x2,
23659 + SAVRES_REG = 0x0c,
23660 + SAVRES_GPR = 0,
23661 + SAVRES_FPR = 4,
23662 + SAVRES_VR = 8
23665 +static GTY(()) rtx savres_routine_syms[N_SAVRES_REGISTERS][12];
23667 +/* Temporary holding space for an out-of-line register save/restore
23668 + routine name. */
23669 +static char savres_routine_name[30];
23671 +/* Return the name for an out-of-line register save/restore routine.
23672 + We are saving/restoring GPRs if GPR is true. */
23674 +static char *
23675 +rs6000_savres_routine_name (rs6000_stack_t *info, int regno, int sel)
23677 + const char *prefix = "";
23678 + const char *suffix = "";
23680 + /* Different targets are supposed to define
23681 + {SAVE,RESTORE}_FP_{PREFIX,SUFFIX} with the idea that the needed
23682 + routine name could be defined with:
23684 + sprintf (name, "%s%d%s", SAVE_FP_PREFIX, regno, SAVE_FP_SUFFIX)
23686 + This is a nice idea in practice, but in reality, things are
23687 + complicated in several ways:
23689 + - ELF targets have save/restore routines for GPRs.
23691 + - SPE targets use different prefixes for 32/64-bit registers, and
23692 + neither of them fit neatly in the FOO_{PREFIX,SUFFIX} regimen.
23694 + - PPC64 ELF targets have routines for save/restore of GPRs that
23695 + differ in what they do with the link register, so having a set
23696 + prefix doesn't work. (We only use one of the save routines at
23697 + the moment, though.)
23699 + - PPC32 elf targets have "exit" versions of the restore routines
23700 + that restore the link register and can save some extra space.
23701 + These require an extra suffix. (There are also "tail" versions
23702 + of the restore routines and "GOT" versions of the save routines,
23703 + but we don't generate those at present. Same problems apply,
23704 + though.)
23706 + We deal with all this by synthesizing our own prefix/suffix and
23707 + using that for the simple sprintf call shown above. */
23708 + if (TARGET_SPE)
23710 + /* No floating point saves on the SPE. */
23711 + gcc_assert ((sel & SAVRES_REG) == SAVRES_GPR);
23713 + if ((sel & SAVRES_SAVE))
23714 + prefix = info->spe_64bit_regs_used ? "_save64gpr_" : "_save32gpr_";
23715 + else
23716 + prefix = info->spe_64bit_regs_used ? "_rest64gpr_" : "_rest32gpr_";
23718 + if ((sel & SAVRES_LR))
23719 + suffix = "_x";
23721 + else if (DEFAULT_ABI == ABI_V4)
23723 + if (TARGET_64BIT)
23724 + goto aix_names;
23726 + if ((sel & SAVRES_REG) == SAVRES_GPR)
23727 + prefix = (sel & SAVRES_SAVE) ? "_savegpr_" : "_restgpr_";
23728 + else if ((sel & SAVRES_REG) == SAVRES_FPR)
23729 + prefix = (sel & SAVRES_SAVE) ? "_savefpr_" : "_restfpr_";
23730 + else if ((sel & SAVRES_REG) == SAVRES_VR)
23731 + prefix = (sel & SAVRES_SAVE) ? "_savevr_" : "_restvr_";
23732 + else
23733 + abort ();
23735 + if ((sel & SAVRES_LR))
23736 + suffix = "_x";
23738 + else if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
23740 +#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
23741 + /* No out-of-line save/restore routines for GPRs on AIX. */
23742 + gcc_assert (!TARGET_AIX || (sel & SAVRES_REG) != SAVRES_GPR);
23743 +#endif
23745 + aix_names:
23746 + if ((sel & SAVRES_REG) == SAVRES_GPR)
23747 + prefix = ((sel & SAVRES_SAVE)
23748 + ? ((sel & SAVRES_LR) ? "_savegpr0_" : "_savegpr1_")
23749 + : ((sel & SAVRES_LR) ? "_restgpr0_" : "_restgpr1_"));
23750 + else if ((sel & SAVRES_REG) == SAVRES_FPR)
23752 +#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD)
23753 + if ((sel & SAVRES_LR))
23754 + prefix = ((sel & SAVRES_SAVE) ? "_savefpr_" : "_restfpr_");
23755 + else
23756 +#endif
23758 + prefix = (sel & SAVRES_SAVE) ? SAVE_FP_PREFIX : RESTORE_FP_PREFIX;
23759 + suffix = (sel & SAVRES_SAVE) ? SAVE_FP_SUFFIX : RESTORE_FP_SUFFIX;
23762 + else if ((sel & SAVRES_REG) == SAVRES_VR)
23763 + prefix = (sel & SAVRES_SAVE) ? "_savevr_" : "_restvr_";
23764 + else
23765 + abort ();
23768 + if (DEFAULT_ABI == ABI_DARWIN)
23770 + /* The Darwin approach is (slightly) different, in order to be
23771 + compatible with code generated by the system toolchain. There is a
23772 + single symbol for the start of save sequence, and the code here
23773 + embeds an offset into that code on the basis of the first register
23774 + to be saved. */
23775 + prefix = (sel & SAVRES_SAVE) ? "save" : "rest" ;
23776 + if ((sel & SAVRES_REG) == SAVRES_GPR)
23777 + sprintf (savres_routine_name, "*%sGPR%s%s%.0d ; %s r%d-r31", prefix,
23778 + ((sel & SAVRES_LR) ? "x" : ""), (regno == 13 ? "" : "+"),
23779 + (regno - 13) * 4, prefix, regno);
23780 + else if ((sel & SAVRES_REG) == SAVRES_FPR)
23781 + sprintf (savres_routine_name, "*%sFP%s%.0d ; %s f%d-f31", prefix,
23782 + (regno == 14 ? "" : "+"), (regno - 14) * 4, prefix, regno);
23783 + else if ((sel & SAVRES_REG) == SAVRES_VR)
23784 + sprintf (savres_routine_name, "*%sVEC%s%.0d ; %s v%d-v31", prefix,
23785 + (regno == 20 ? "" : "+"), (regno - 20) * 8, prefix, regno);
23786 + else
23787 + abort ();
23789 + else
23790 + sprintf (savres_routine_name, "%s%d%s", prefix, regno, suffix);
23792 + return savres_routine_name;
23795 +/* Return an RTL SYMBOL_REF for an out-of-line register save/restore routine.
23796 + We are saving/restoring GPRs if GPR is true. */
23798 +static rtx
23799 +rs6000_savres_routine_sym (rs6000_stack_t *info, int sel)
23801 + int regno = ((sel & SAVRES_REG) == SAVRES_GPR
23802 + ? info->first_gp_reg_save
23803 + : (sel & SAVRES_REG) == SAVRES_FPR
23804 + ? info->first_fp_reg_save - 32
23805 + : (sel & SAVRES_REG) == SAVRES_VR
23806 + ? info->first_altivec_reg_save - FIRST_ALTIVEC_REGNO
23807 + : -1);
23808 + rtx sym;
23809 + int select = sel;
23811 + /* On the SPE, we never have any FPRs, but we do have 32/64-bit
23812 + versions of the gpr routines. */
23813 + if (TARGET_SPE_ABI && (sel & SAVRES_REG) == SAVRES_GPR
23814 + && info->spe_64bit_regs_used)
23815 + select ^= SAVRES_FPR ^ SAVRES_GPR;
23817 + /* Don't generate bogus routine names. */
23818 + gcc_assert (FIRST_SAVRES_REGISTER <= regno
23819 + && regno <= LAST_SAVRES_REGISTER
23820 + && select >= 0 && select <= 12);
23822 + sym = savres_routine_syms[regno-FIRST_SAVRES_REGISTER][select];
23824 + if (sym == NULL)
23826 + char *name;
23828 + name = rs6000_savres_routine_name (info, regno, sel);
23830 + sym = savres_routine_syms[regno-FIRST_SAVRES_REGISTER][select]
23831 + = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
23832 + SYMBOL_REF_FLAGS (sym) |= SYMBOL_FLAG_FUNCTION;
23835 + return sym;
23838 +/* Emit a sequence of insns, including a stack tie if needed, for
23839 + resetting the stack pointer. If UPDT_REGNO is not 1, then don't
23840 + reset the stack pointer, but move the base of the frame into
23841 + reg UPDT_REGNO for use by out-of-line register restore routines. */
23843 +static rtx
23844 +rs6000_emit_stack_reset (rs6000_stack_t *info,
23845 + rtx frame_reg_rtx, HOST_WIDE_INT frame_off,
23846 + unsigned updt_regno)
23848 + rtx updt_reg_rtx;
23850 + /* This blockage is needed so that sched doesn't decide to move
23851 + the sp change before the register restores. */
23852 + if (DEFAULT_ABI == ABI_V4
23853 + || (TARGET_SPE_ABI
23854 + && info->spe_64bit_regs_used != 0
23855 + && info->first_gp_reg_save != 32))
23856 + rs6000_emit_stack_tie (frame_reg_rtx, frame_pointer_needed);
23858 + /* If we are restoring registers out-of-line, we will be using the
23859 + "exit" variants of the restore routines, which will reset the
23860 + stack for us. But we do need to point updt_reg into the
23861 + right place for those routines. */
23862 + updt_reg_rtx = gen_rtx_REG (Pmode, updt_regno);
23864 + if (frame_off != 0)
23865 + return emit_insn (gen_add3_insn (updt_reg_rtx,
23866 + frame_reg_rtx, GEN_INT (frame_off)));
23867 + else if (REGNO (frame_reg_rtx) != updt_regno)
23868 + return emit_move_insn (updt_reg_rtx, frame_reg_rtx);
23870 + return NULL_RTX;
23873 +/* Return the register number used as a pointer by out-of-line
23874 + save/restore functions. */
23876 +static inline unsigned
23877 +ptr_regno_for_savres (int sel)
23879 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
23880 + return (sel & SAVRES_REG) == SAVRES_FPR || (sel & SAVRES_LR) ? 1 : 12;
23881 + return DEFAULT_ABI == ABI_DARWIN && (sel & SAVRES_REG) == SAVRES_FPR ? 1 : 11;
23884 +/* Construct a parallel rtx describing the effect of a call to an
23885 + out-of-line register save/restore routine, and emit the insn
23886 + or jump_insn as appropriate. */
23888 +static rtx
23889 +rs6000_emit_savres_rtx (rs6000_stack_t *info,
23890 + rtx frame_reg_rtx, int save_area_offset, int lr_offset,
23891 + machine_mode reg_mode, int sel)
23893 + int i;
23894 + int offset, start_reg, end_reg, n_regs, use_reg;
23895 + int reg_size = GET_MODE_SIZE (reg_mode);
23896 + rtx sym;
23897 + rtvec p;
23898 + rtx par, insn;
23900 + offset = 0;
23901 + start_reg = ((sel & SAVRES_REG) == SAVRES_GPR
23902 + ? info->first_gp_reg_save
23903 + : (sel & SAVRES_REG) == SAVRES_FPR
23904 + ? info->first_fp_reg_save
23905 + : (sel & SAVRES_REG) == SAVRES_VR
23906 + ? info->first_altivec_reg_save
23907 + : -1);
23908 + end_reg = ((sel & SAVRES_REG) == SAVRES_GPR
23909 + ? 32
23910 + : (sel & SAVRES_REG) == SAVRES_FPR
23911 + ? 64
23912 + : (sel & SAVRES_REG) == SAVRES_VR
23913 + ? LAST_ALTIVEC_REGNO + 1
23914 + : -1);
23915 + n_regs = end_reg - start_reg;
23916 + p = rtvec_alloc (3 + ((sel & SAVRES_LR) ? 1 : 0)
23917 + + ((sel & SAVRES_REG) == SAVRES_VR ? 1 : 0)
23918 + + n_regs);
23920 + if (!(sel & SAVRES_SAVE) && (sel & SAVRES_LR))
23921 + RTVEC_ELT (p, offset++) = ret_rtx;
23923 + RTVEC_ELT (p, offset++)
23924 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, LR_REGNO));
23926 + sym = rs6000_savres_routine_sym (info, sel);
23927 + RTVEC_ELT (p, offset++) = gen_rtx_USE (VOIDmode, sym);
23929 + use_reg = ptr_regno_for_savres (sel);
23930 + if ((sel & SAVRES_REG) == SAVRES_VR)
23932 + /* Vector regs are saved/restored using [reg+reg] addressing. */
23933 + RTVEC_ELT (p, offset++)
23934 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, use_reg));
23935 + RTVEC_ELT (p, offset++)
23936 + = gen_rtx_USE (VOIDmode, gen_rtx_REG (Pmode, 0));
23938 + else
23939 + RTVEC_ELT (p, offset++)
23940 + = gen_rtx_USE (VOIDmode, gen_rtx_REG (Pmode, use_reg));
23942 + for (i = 0; i < end_reg - start_reg; i++)
23943 + RTVEC_ELT (p, i + offset)
23944 + = gen_frame_set (gen_rtx_REG (reg_mode, start_reg + i),
23945 + frame_reg_rtx, save_area_offset + reg_size * i,
23946 + (sel & SAVRES_SAVE) != 0);
23948 + if ((sel & SAVRES_SAVE) && (sel & SAVRES_LR))
23949 + RTVEC_ELT (p, i + offset)
23950 + = gen_frame_store (gen_rtx_REG (Pmode, 0), frame_reg_rtx, lr_offset);
23952 + par = gen_rtx_PARALLEL (VOIDmode, p);
23954 + if (!(sel & SAVRES_SAVE) && (sel & SAVRES_LR))
23956 + insn = emit_jump_insn (par);
23957 + JUMP_LABEL (insn) = ret_rtx;
23959 + else
23960 + insn = emit_insn (par);
23961 + return insn;
23964 +/* Emit code to store CR fields that need to be saved into REG. */
23966 +static void
23967 +rs6000_emit_move_from_cr (rtx reg)
23969 + /* Only the ELFv2 ABI allows storing only selected fields. */
23970 + if (DEFAULT_ABI == ABI_ELFv2 && TARGET_MFCRF)
23972 + int i, cr_reg[8], count = 0;
23974 + /* Collect CR fields that must be saved. */
23975 + for (i = 0; i < 8; i++)
23976 + if (save_reg_p (CR0_REGNO + i))
23977 + cr_reg[count++] = i;
23979 + /* If it's just a single one, use mfcrf. */
23980 + if (count == 1)
23982 + rtvec p = rtvec_alloc (1);
23983 + rtvec r = rtvec_alloc (2);
23984 + RTVEC_ELT (r, 0) = gen_rtx_REG (CCmode, CR0_REGNO + cr_reg[0]);
23985 + RTVEC_ELT (r, 1) = GEN_INT (1 << (7 - cr_reg[0]));
23986 + RTVEC_ELT (p, 0)
23987 + = gen_rtx_SET (VOIDmode, reg,
23988 + gen_rtx_UNSPEC (SImode, r, UNSPEC_MOVESI_FROM_CR));
23990 + emit_insn (gen_rtx_PARALLEL (VOIDmode, p));
23991 + return;
23994 + /* ??? It might be better to handle count == 2 / 3 cases here
23995 + as well, using logical operations to combine the values. */
23998 + emit_insn (gen_movesi_from_cr (reg));
24001 +/* Determine whether the gp REG is really used. */
24003 +static bool
24004 +rs6000_reg_live_or_pic_offset_p (int reg)
24006 + /* If the function calls eh_return, claim used all the registers that would
24007 + be checked for liveness otherwise. This is required for the PIC offset
24008 + register with -mminimal-toc on AIX, as it is advertised as "fixed" for
24009 + register allocation purposes in this case. */
24011 + return (((crtl->calls_eh_return || df_regs_ever_live_p (reg))
24012 + && (!call_used_regs[reg]
24013 + || (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
24014 + && !TARGET_SINGLE_PIC_BASE
24015 + && TARGET_TOC && TARGET_MINIMAL_TOC)))
24016 + || (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
24017 + && !TARGET_SINGLE_PIC_BASE
24018 + && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
24019 + || (DEFAULT_ABI == ABI_DARWIN && flag_pic))));
24022 +/* Emit function prologue as insns. */
24024 +void
24025 +rs6000_emit_prologue (void)
24027 + rs6000_stack_t *info = rs6000_stack_info ();
24028 + machine_mode reg_mode = Pmode;
24029 + int reg_size = TARGET_32BIT ? 4 : 8;
24030 + rtx sp_reg_rtx = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM);
24031 + rtx frame_reg_rtx = sp_reg_rtx;
24032 + unsigned int cr_save_regno;
24033 + rtx cr_save_rtx = NULL_RTX;
24034 + rtx insn;
24035 + int strategy;
24036 + int using_static_chain_p = (cfun->static_chain_decl != NULL_TREE
24037 + && df_regs_ever_live_p (STATIC_CHAIN_REGNUM)
24038 + && call_used_regs[STATIC_CHAIN_REGNUM]);
24039 + /* Offset to top of frame for frame_reg and sp respectively. */
24040 + HOST_WIDE_INT frame_off = 0;
24041 + HOST_WIDE_INT sp_off = 0;
24043 +#ifdef ENABLE_CHECKING
24044 + /* Track and check usage of r0, r11, r12. */
24045 + int reg_inuse = using_static_chain_p ? 1 << 11 : 0;
24046 +#define START_USE(R) do \
24047 + { \
24048 + gcc_assert ((reg_inuse & (1 << (R))) == 0); \
24049 + reg_inuse |= 1 << (R); \
24050 + } while (0)
24051 +#define END_USE(R) do \
24052 + { \
24053 + gcc_assert ((reg_inuse & (1 << (R))) != 0); \
24054 + reg_inuse &= ~(1 << (R)); \
24055 + } while (0)
24056 +#define NOT_INUSE(R) do \
24057 + { \
24058 + gcc_assert ((reg_inuse & (1 << (R))) == 0); \
24059 + } while (0)
24060 +#else
24061 +#define START_USE(R) do {} while (0)
24062 +#define END_USE(R) do {} while (0)
24063 +#define NOT_INUSE(R) do {} while (0)
24064 +#endif
24066 + if (DEFAULT_ABI == ABI_ELFv2)
24068 + cfun->machine->r2_setup_needed = df_regs_ever_live_p (TOC_REGNUM);
24070 + /* With -mminimal-toc we may generate an extra use of r2 below. */
24071 + if (!TARGET_SINGLE_PIC_BASE
24072 + && TARGET_TOC && TARGET_MINIMAL_TOC && get_pool_size () != 0)
24073 + cfun->machine->r2_setup_needed = true;
24077 + if (flag_stack_usage_info)
24078 + current_function_static_stack_size = info->total_size;
24080 + if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
24082 + HOST_WIDE_INT size = info->total_size;
24084 + if (crtl->is_leaf && !cfun->calls_alloca)
24086 + if (size > PROBE_INTERVAL && size > STACK_CHECK_PROTECT)
24087 + rs6000_emit_probe_stack_range (STACK_CHECK_PROTECT,
24088 + size - STACK_CHECK_PROTECT);
24090 + else if (size > 0)
24091 + rs6000_emit_probe_stack_range (STACK_CHECK_PROTECT, size);
24094 + if (TARGET_FIX_AND_CONTINUE)
24096 + /* gdb on darwin arranges to forward a function from the old
24097 + address by modifying the first 5 instructions of the function
24098 + to branch to the overriding function. This is necessary to
24099 + permit function pointers that point to the old function to
24100 + actually forward to the new function. */
24101 + emit_insn (gen_nop ());
24102 + emit_insn (gen_nop ());
24103 + emit_insn (gen_nop ());
24104 + emit_insn (gen_nop ());
24105 + emit_insn (gen_nop ());
24108 + if (TARGET_SPE_ABI && info->spe_64bit_regs_used != 0)
24110 + reg_mode = V2SImode;
24111 + reg_size = 8;
24114 + /* Handle world saves specially here. */
24115 + if (WORLD_SAVE_P (info))
24117 + int i, j, sz;
24118 + rtx treg;
24119 + rtvec p;
24120 + rtx reg0;
24122 + /* save_world expects lr in r0. */
24123 + reg0 = gen_rtx_REG (Pmode, 0);
24124 + if (info->lr_save_p)
24126 + insn = emit_move_insn (reg0,
24127 + gen_rtx_REG (Pmode, LR_REGNO));
24128 + RTX_FRAME_RELATED_P (insn) = 1;
24131 + /* The SAVE_WORLD and RESTORE_WORLD routines make a number of
24132 + assumptions about the offsets of various bits of the stack
24133 + frame. */
24134 + gcc_assert (info->gp_save_offset == -220
24135 + && info->fp_save_offset == -144
24136 + && info->lr_save_offset == 8
24137 + && info->cr_save_offset == 4
24138 + && info->push_p
24139 + && info->lr_save_p
24140 + && (!crtl->calls_eh_return
24141 + || info->ehrd_offset == -432)
24142 + && info->vrsave_save_offset == -224
24143 + && info->altivec_save_offset == -416);
24145 + treg = gen_rtx_REG (SImode, 11);
24146 + emit_move_insn (treg, GEN_INT (-info->total_size));
24148 + /* SAVE_WORLD takes the caller's LR in R0 and the frame size
24149 + in R11. It also clobbers R12, so beware! */
24151 + /* Preserve CR2 for save_world prologues */
24152 + sz = 5;
24153 + sz += 32 - info->first_gp_reg_save;
24154 + sz += 64 - info->first_fp_reg_save;
24155 + sz += LAST_ALTIVEC_REGNO - info->first_altivec_reg_save + 1;
24156 + p = rtvec_alloc (sz);
24157 + j = 0;
24158 + RTVEC_ELT (p, j++) = gen_rtx_CLOBBER (VOIDmode,
24159 + gen_rtx_REG (SImode,
24160 + LR_REGNO));
24161 + RTVEC_ELT (p, j++) = gen_rtx_USE (VOIDmode,
24162 + gen_rtx_SYMBOL_REF (Pmode,
24163 + "*save_world"));
24164 + /* We do floats first so that the instruction pattern matches
24165 + properly. */
24166 + for (i = 0; i < 64 - info->first_fp_reg_save; i++)
24167 + RTVEC_ELT (p, j++)
24168 + = gen_frame_store (gen_rtx_REG (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
24169 + ? DFmode : SFmode,
24170 + info->first_fp_reg_save + i),
24171 + frame_reg_rtx,
24172 + info->fp_save_offset + frame_off + 8 * i);
24173 + for (i = 0; info->first_altivec_reg_save + i <= LAST_ALTIVEC_REGNO; i++)
24174 + RTVEC_ELT (p, j++)
24175 + = gen_frame_store (gen_rtx_REG (V4SImode,
24176 + info->first_altivec_reg_save + i),
24177 + frame_reg_rtx,
24178 + info->altivec_save_offset + frame_off + 16 * i);
24179 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
24180 + RTVEC_ELT (p, j++)
24181 + = gen_frame_store (gen_rtx_REG (reg_mode, info->first_gp_reg_save + i),
24182 + frame_reg_rtx,
24183 + info->gp_save_offset + frame_off + reg_size * i);
24185 + /* CR register traditionally saved as CR2. */
24186 + RTVEC_ELT (p, j++)
24187 + = gen_frame_store (gen_rtx_REG (SImode, CR2_REGNO),
24188 + frame_reg_rtx, info->cr_save_offset + frame_off);
24189 + /* Explain about use of R0. */
24190 + if (info->lr_save_p)
24191 + RTVEC_ELT (p, j++)
24192 + = gen_frame_store (reg0,
24193 + frame_reg_rtx, info->lr_save_offset + frame_off);
24194 + /* Explain what happens to the stack pointer. */
24196 + rtx newval = gen_rtx_PLUS (Pmode, sp_reg_rtx, treg);
24197 + RTVEC_ELT (p, j++) = gen_rtx_SET (VOIDmode, sp_reg_rtx, newval);
24200 + insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, p));
24201 + rs6000_frame_related (insn, frame_reg_rtx, sp_off - frame_off,
24202 + treg, GEN_INT (-info->total_size), NULL_RTX);
24203 + sp_off = frame_off = info->total_size;
24206 + strategy = info->savres_strategy;
24208 + /* For V.4, update stack before we do any saving and set back pointer. */
24209 + if (! WORLD_SAVE_P (info)
24210 + && info->push_p
24211 + && (DEFAULT_ABI == ABI_V4
24212 + || crtl->calls_eh_return))
24214 + bool need_r11 = (TARGET_SPE
24215 + ? (!(strategy & SAVE_INLINE_GPRS)
24216 + && info->spe_64bit_regs_used == 0)
24217 + : (!(strategy & SAVE_INLINE_FPRS)
24218 + || !(strategy & SAVE_INLINE_GPRS)
24219 + || !(strategy & SAVE_INLINE_VRS)));
24220 + int ptr_regno = -1;
24221 + rtx ptr_reg = NULL_RTX;
24222 + int ptr_off = 0;
24224 + if (info->total_size < 32767)
24225 + frame_off = info->total_size;
24226 + else if (need_r11)
24227 + ptr_regno = 11;
24228 + else if (info->cr_save_p
24229 + || info->lr_save_p
24230 + || info->first_fp_reg_save < 64
24231 + || info->first_gp_reg_save < 32
24232 + || info->altivec_size != 0
24233 + || info->vrsave_mask != 0
24234 + || crtl->calls_eh_return)
24235 + ptr_regno = 12;
24236 + else
24238 + /* The prologue won't be saving any regs so there is no need
24239 + to set up a frame register to access any frame save area.
24240 + We also won't be using frame_off anywhere below, but set
24241 + the correct value anyway to protect against future
24242 + changes to this function. */
24243 + frame_off = info->total_size;
24245 + if (ptr_regno != -1)
24247 + /* Set up the frame offset to that needed by the first
24248 + out-of-line save function. */
24249 + START_USE (ptr_regno);
24250 + ptr_reg = gen_rtx_REG (Pmode, ptr_regno);
24251 + frame_reg_rtx = ptr_reg;
24252 + if (!(strategy & SAVE_INLINE_FPRS) && info->fp_size != 0)
24253 + gcc_checking_assert (info->fp_save_offset + info->fp_size == 0);
24254 + else if (!(strategy & SAVE_INLINE_GPRS) && info->first_gp_reg_save < 32)
24255 + ptr_off = info->gp_save_offset + info->gp_size;
24256 + else if (!(strategy & SAVE_INLINE_VRS) && info->altivec_size != 0)
24257 + ptr_off = info->altivec_save_offset + info->altivec_size;
24258 + frame_off = -ptr_off;
24260 + rs6000_emit_allocate_stack (info->total_size, ptr_reg, ptr_off);
24261 + sp_off = info->total_size;
24262 + if (frame_reg_rtx != sp_reg_rtx)
24263 + rs6000_emit_stack_tie (frame_reg_rtx, false);
24266 + /* If we use the link register, get it into r0. */
24267 + if (!WORLD_SAVE_P (info) && info->lr_save_p)
24269 + rtx addr, reg, mem;
24271 + reg = gen_rtx_REG (Pmode, 0);
24272 + START_USE (0);
24273 + insn = emit_move_insn (reg, gen_rtx_REG (Pmode, LR_REGNO));
24274 + RTX_FRAME_RELATED_P (insn) = 1;
24276 + if (!(strategy & (SAVE_NOINLINE_GPRS_SAVES_LR
24277 + | SAVE_NOINLINE_FPRS_SAVES_LR)))
24279 + addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
24280 + GEN_INT (info->lr_save_offset + frame_off));
24281 + mem = gen_rtx_MEM (Pmode, addr);
24282 + /* This should not be of rs6000_sr_alias_set, because of
24283 + __builtin_return_address. */
24285 + insn = emit_move_insn (mem, reg);
24286 + rs6000_frame_related (insn, frame_reg_rtx, sp_off - frame_off,
24287 + NULL_RTX, NULL_RTX, NULL_RTX);
24288 + END_USE (0);
24292 + /* If we need to save CR, put it into r12 or r11. Choose r12 except when
24293 + r12 will be needed by out-of-line gpr restore. */
24294 + cr_save_regno = ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
24295 + && !(strategy & (SAVE_INLINE_GPRS
24296 + | SAVE_NOINLINE_GPRS_SAVES_LR))
24297 + ? 11 : 12);
24298 + if (!WORLD_SAVE_P (info)
24299 + && info->cr_save_p
24300 + && REGNO (frame_reg_rtx) != cr_save_regno
24301 + && !(using_static_chain_p && cr_save_regno == 11))
24303 + cr_save_rtx = gen_rtx_REG (SImode, cr_save_regno);
24304 + START_USE (cr_save_regno);
24305 + rs6000_emit_move_from_cr (cr_save_rtx);
24308 + /* Do any required saving of fpr's. If only one or two to save, do
24309 + it ourselves. Otherwise, call function. */
24310 + if (!WORLD_SAVE_P (info) && (strategy & SAVE_INLINE_FPRS))
24312 + int i;
24313 + for (i = 0; i < 64 - info->first_fp_reg_save; i++)
24314 + if (save_reg_p (info->first_fp_reg_save + i))
24315 + emit_frame_save (frame_reg_rtx,
24316 + (TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
24317 + ? DFmode : SFmode),
24318 + info->first_fp_reg_save + i,
24319 + info->fp_save_offset + frame_off + 8 * i,
24320 + sp_off - frame_off);
24322 + else if (!WORLD_SAVE_P (info) && info->first_fp_reg_save != 64)
24324 + bool lr = (strategy & SAVE_NOINLINE_FPRS_SAVES_LR) != 0;
24325 + int sel = SAVRES_SAVE | SAVRES_FPR | (lr ? SAVRES_LR : 0);
24326 + unsigned ptr_regno = ptr_regno_for_savres (sel);
24327 + rtx ptr_reg = frame_reg_rtx;
24329 + if (REGNO (frame_reg_rtx) == ptr_regno)
24330 + gcc_checking_assert (frame_off == 0);
24331 + else
24333 + ptr_reg = gen_rtx_REG (Pmode, ptr_regno);
24334 + NOT_INUSE (ptr_regno);
24335 + emit_insn (gen_add3_insn (ptr_reg,
24336 + frame_reg_rtx, GEN_INT (frame_off)));
24338 + insn = rs6000_emit_savres_rtx (info, ptr_reg,
24339 + info->fp_save_offset,
24340 + info->lr_save_offset,
24341 + DFmode, sel);
24342 + rs6000_frame_related (insn, ptr_reg, sp_off,
24343 + NULL_RTX, NULL_RTX, NULL_RTX);
24344 + if (lr)
24345 + END_USE (0);
24348 + /* Save GPRs. This is done as a PARALLEL if we are using
24349 + the store-multiple instructions. */
24350 + if (!WORLD_SAVE_P (info)
24351 + && TARGET_SPE_ABI
24352 + && info->spe_64bit_regs_used != 0
24353 + && info->first_gp_reg_save != 32)
24355 + int i;
24356 + rtx spe_save_area_ptr;
24357 + HOST_WIDE_INT save_off;
24358 + int ool_adjust = 0;
24360 + /* Determine whether we can address all of the registers that need
24361 + to be saved with an offset from frame_reg_rtx that fits in
24362 + the small const field for SPE memory instructions. */
24363 + int spe_regs_addressable
24364 + = (SPE_CONST_OFFSET_OK (info->spe_gp_save_offset + frame_off
24365 + + reg_size * (32 - info->first_gp_reg_save - 1))
24366 + && (strategy & SAVE_INLINE_GPRS));
24368 + if (spe_regs_addressable)
24370 + spe_save_area_ptr = frame_reg_rtx;
24371 + save_off = frame_off;
24373 + else
24375 + /* Make r11 point to the start of the SPE save area. We need
24376 + to be careful here if r11 is holding the static chain. If
24377 + it is, then temporarily save it in r0. */
24378 + HOST_WIDE_INT offset;
24380 + if (!(strategy & SAVE_INLINE_GPRS))
24381 + ool_adjust = 8 * (info->first_gp_reg_save - FIRST_SAVED_GP_REGNO);
24382 + offset = info->spe_gp_save_offset + frame_off - ool_adjust;
24383 + spe_save_area_ptr = gen_rtx_REG (Pmode, 11);
24384 + save_off = frame_off - offset;
24386 + if (using_static_chain_p)
24388 + rtx r0 = gen_rtx_REG (Pmode, 0);
24390 + START_USE (0);
24391 + gcc_assert (info->first_gp_reg_save > 11);
24393 + emit_move_insn (r0, spe_save_area_ptr);
24395 + else if (REGNO (frame_reg_rtx) != 11)
24396 + START_USE (11);
24398 + emit_insn (gen_addsi3 (spe_save_area_ptr,
24399 + frame_reg_rtx, GEN_INT (offset)));
24400 + if (!using_static_chain_p && REGNO (frame_reg_rtx) == 11)
24401 + frame_off = -info->spe_gp_save_offset + ool_adjust;
24404 + if ((strategy & SAVE_INLINE_GPRS))
24406 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
24407 + if (rs6000_reg_live_or_pic_offset_p (info->first_gp_reg_save + i))
24408 + emit_frame_save (spe_save_area_ptr, reg_mode,
24409 + info->first_gp_reg_save + i,
24410 + (info->spe_gp_save_offset + save_off
24411 + + reg_size * i),
24412 + sp_off - save_off);
24414 + else
24416 + insn = rs6000_emit_savres_rtx (info, spe_save_area_ptr,
24417 + info->spe_gp_save_offset + save_off,
24418 + 0, reg_mode,
24419 + SAVRES_SAVE | SAVRES_GPR);
24421 + rs6000_frame_related (insn, spe_save_area_ptr, sp_off - save_off,
24422 + NULL_RTX, NULL_RTX, NULL_RTX);
24425 + /* Move the static chain pointer back. */
24426 + if (!spe_regs_addressable)
24428 + if (using_static_chain_p)
24430 + emit_move_insn (spe_save_area_ptr, gen_rtx_REG (Pmode, 0));
24431 + END_USE (0);
24433 + else if (REGNO (frame_reg_rtx) != 11)
24434 + END_USE (11);
24437 + else if (!WORLD_SAVE_P (info) && !(strategy & SAVE_INLINE_GPRS))
24439 + bool lr = (strategy & SAVE_NOINLINE_GPRS_SAVES_LR) != 0;
24440 + int sel = SAVRES_SAVE | SAVRES_GPR | (lr ? SAVRES_LR : 0);
24441 + unsigned ptr_regno = ptr_regno_for_savres (sel);
24442 + rtx ptr_reg = frame_reg_rtx;
24443 + bool ptr_set_up = REGNO (ptr_reg) == ptr_regno;
24444 + int end_save = info->gp_save_offset + info->gp_size;
24445 + int ptr_off;
24447 + if (!ptr_set_up)
24448 + ptr_reg = gen_rtx_REG (Pmode, ptr_regno);
24450 + /* Need to adjust r11 (r12) if we saved any FPRs. */
24451 + if (end_save + frame_off != 0)
24453 + rtx offset = GEN_INT (end_save + frame_off);
24455 + if (ptr_set_up)
24456 + frame_off = -end_save;
24457 + else
24458 + NOT_INUSE (ptr_regno);
24459 + emit_insn (gen_add3_insn (ptr_reg, frame_reg_rtx, offset));
24461 + else if (!ptr_set_up)
24463 + NOT_INUSE (ptr_regno);
24464 + emit_move_insn (ptr_reg, frame_reg_rtx);
24466 + ptr_off = -end_save;
24467 + insn = rs6000_emit_savres_rtx (info, ptr_reg,
24468 + info->gp_save_offset + ptr_off,
24469 + info->lr_save_offset + ptr_off,
24470 + reg_mode, sel);
24471 + rs6000_frame_related (insn, ptr_reg, sp_off - ptr_off,
24472 + NULL_RTX, NULL_RTX, NULL_RTX);
24473 + if (lr)
24474 + END_USE (0);
24476 + else if (!WORLD_SAVE_P (info) && (strategy & SAVRES_MULTIPLE))
24478 + rtvec p;
24479 + int i;
24480 + p = rtvec_alloc (32 - info->first_gp_reg_save);
24481 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
24482 + RTVEC_ELT (p, i)
24483 + = gen_frame_store (gen_rtx_REG (reg_mode, info->first_gp_reg_save + i),
24484 + frame_reg_rtx,
24485 + info->gp_save_offset + frame_off + reg_size * i);
24486 + insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, p));
24487 + rs6000_frame_related (insn, frame_reg_rtx, sp_off - frame_off,
24488 + NULL_RTX, NULL_RTX, NULL_RTX);
24490 + else if (!WORLD_SAVE_P (info))
24492 + int i;
24493 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
24494 + if (rs6000_reg_live_or_pic_offset_p (info->first_gp_reg_save + i))
24495 + emit_frame_save (frame_reg_rtx, reg_mode,
24496 + info->first_gp_reg_save + i,
24497 + info->gp_save_offset + frame_off + reg_size * i,
24498 + sp_off - frame_off);
24501 + if (crtl->calls_eh_return)
24503 + unsigned int i;
24504 + rtvec p;
24506 + for (i = 0; ; ++i)
24508 + unsigned int regno = EH_RETURN_DATA_REGNO (i);
24509 + if (regno == INVALID_REGNUM)
24510 + break;
24513 + p = rtvec_alloc (i);
24515 + for (i = 0; ; ++i)
24517 + unsigned int regno = EH_RETURN_DATA_REGNO (i);
24518 + if (regno == INVALID_REGNUM)
24519 + break;
24521 + insn
24522 + = gen_frame_store (gen_rtx_REG (reg_mode, regno),
24523 + sp_reg_rtx,
24524 + info->ehrd_offset + sp_off + reg_size * (int) i);
24525 + RTVEC_ELT (p, i) = insn;
24526 + RTX_FRAME_RELATED_P (insn) = 1;
24529 + insn = emit_insn (gen_blockage ());
24530 + RTX_FRAME_RELATED_P (insn) = 1;
24531 + add_reg_note (insn, REG_FRAME_RELATED_EXPR, gen_rtx_PARALLEL (VOIDmode, p));
24534 + /* In AIX ABI we need to make sure r2 is really saved. */
24535 + if (TARGET_AIX && crtl->calls_eh_return)
24537 + rtx tmp_reg, tmp_reg_si, hi, lo, compare_result, toc_save_done, jump;
24538 + rtx save_insn, join_insn, note;
24539 + long toc_restore_insn;
24541 + tmp_reg = gen_rtx_REG (Pmode, 11);
24542 + tmp_reg_si = gen_rtx_REG (SImode, 11);
24543 + if (using_static_chain_p)
24545 + START_USE (0);
24546 + emit_move_insn (gen_rtx_REG (Pmode, 0), tmp_reg);
24548 + else
24549 + START_USE (11);
24550 + emit_move_insn (tmp_reg, gen_rtx_REG (Pmode, LR_REGNO));
24551 + /* Peek at instruction to which this function returns. If it's
24552 + restoring r2, then we know we've already saved r2. We can't
24553 + unconditionally save r2 because the value we have will already
24554 + be updated if we arrived at this function via a plt call or
24555 + toc adjusting stub. */
24556 + emit_move_insn (tmp_reg_si, gen_rtx_MEM (SImode, tmp_reg));
24557 + toc_restore_insn = ((TARGET_32BIT ? 0x80410000 : 0xE8410000)
24558 + + RS6000_TOC_SAVE_SLOT);
24559 + hi = gen_int_mode (toc_restore_insn & ~0xffff, SImode);
24560 + emit_insn (gen_xorsi3 (tmp_reg_si, tmp_reg_si, hi));
24561 + compare_result = gen_rtx_REG (CCUNSmode, CR0_REGNO);
24562 + validate_condition_mode (EQ, CCUNSmode);
24563 + lo = gen_int_mode (toc_restore_insn & 0xffff, SImode);
24564 + emit_insn (gen_rtx_SET (VOIDmode, compare_result,
24565 + gen_rtx_COMPARE (CCUNSmode, tmp_reg_si, lo)));
24566 + toc_save_done = gen_label_rtx ();
24567 + jump = gen_rtx_IF_THEN_ELSE (VOIDmode,
24568 + gen_rtx_EQ (VOIDmode, compare_result,
24569 + const0_rtx),
24570 + gen_rtx_LABEL_REF (VOIDmode, toc_save_done),
24571 + pc_rtx);
24572 + jump = emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, jump));
24573 + JUMP_LABEL (jump) = toc_save_done;
24574 + LABEL_NUSES (toc_save_done) += 1;
24576 + save_insn = emit_frame_save (frame_reg_rtx, reg_mode,
24577 + TOC_REGNUM, frame_off + RS6000_TOC_SAVE_SLOT,
24578 + sp_off - frame_off);
24580 + emit_label (toc_save_done);
24582 + /* ??? If we leave SAVE_INSN as marked as saving R2, then we'll
24583 + have a CFG that has different saves along different paths.
24584 + Move the note to a dummy blockage insn, which describes that
24585 + R2 is unconditionally saved after the label. */
24586 + /* ??? An alternate representation might be a special insn pattern
24587 + containing both the branch and the store. That might let the
24588 + code that minimizes the number of DW_CFA_advance opcodes better
24589 + freedom in placing the annotations. */
24590 + note = find_reg_note (save_insn, REG_FRAME_RELATED_EXPR, NULL);
24591 + if (note)
24592 + remove_note (save_insn, note);
24593 + else
24594 + note = alloc_reg_note (REG_FRAME_RELATED_EXPR,
24595 + copy_rtx (PATTERN (save_insn)), NULL_RTX);
24596 + RTX_FRAME_RELATED_P (save_insn) = 0;
24598 + join_insn = emit_insn (gen_blockage ());
24599 + REG_NOTES (join_insn) = note;
24600 + RTX_FRAME_RELATED_P (join_insn) = 1;
24602 + if (using_static_chain_p)
24604 + emit_move_insn (tmp_reg, gen_rtx_REG (Pmode, 0));
24605 + END_USE (0);
24607 + else
24608 + END_USE (11);
24611 + /* Save CR if we use any that must be preserved. */
24612 + if (!WORLD_SAVE_P (info) && info->cr_save_p)
24614 + rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
24615 + GEN_INT (info->cr_save_offset + frame_off));
24616 + rtx mem = gen_frame_mem (SImode, addr);
24618 + /* If we didn't copy cr before, do so now using r0. */
24619 + if (cr_save_rtx == NULL_RTX)
24621 + START_USE (0);
24622 + cr_save_rtx = gen_rtx_REG (SImode, 0);
24623 + rs6000_emit_move_from_cr (cr_save_rtx);
24626 + /* Saving CR requires a two-instruction sequence: one instruction
24627 + to move the CR to a general-purpose register, and a second
24628 + instruction that stores the GPR to memory.
24630 + We do not emit any DWARF CFI records for the first of these,
24631 + because we cannot properly represent the fact that CR is saved in
24632 + a register. One reason is that we cannot express that multiple
24633 + CR fields are saved; another reason is that on 64-bit, the size
24634 + of the CR register in DWARF (4 bytes) differs from the size of
24635 + a general-purpose register.
24637 + This means if any intervening instruction were to clobber one of
24638 + the call-saved CR fields, we'd have incorrect CFI. To prevent
24639 + this from happening, we mark the store to memory as a use of
24640 + those CR fields, which prevents any such instruction from being
24641 + scheduled in between the two instructions. */
24642 + rtx crsave_v[9];
24643 + int n_crsave = 0;
24644 + int i;
24646 + crsave_v[n_crsave++] = gen_rtx_SET (VOIDmode, mem, cr_save_rtx);
24647 + for (i = 0; i < 8; i++)
24648 + if (save_reg_p (CR0_REGNO + i))
24649 + crsave_v[n_crsave++]
24650 + = gen_rtx_USE (VOIDmode, gen_rtx_REG (CCmode, CR0_REGNO + i));
24652 + insn = emit_insn (gen_rtx_PARALLEL (VOIDmode,
24653 + gen_rtvec_v (n_crsave, crsave_v)));
24654 + END_USE (REGNO (cr_save_rtx));
24656 + /* Now, there's no way that dwarf2out_frame_debug_expr is going to
24657 + understand '(unspec:SI [(reg:CC 68) ...] UNSPEC_MOVESI_FROM_CR)',
24658 + so we need to construct a frame expression manually. */
24659 + RTX_FRAME_RELATED_P (insn) = 1;
24661 + /* Update address to be stack-pointer relative, like
24662 + rs6000_frame_related would do. */
24663 + addr = gen_rtx_PLUS (Pmode, gen_rtx_REG (Pmode, STACK_POINTER_REGNUM),
24664 + GEN_INT (info->cr_save_offset + sp_off));
24665 + mem = gen_frame_mem (SImode, addr);
24667 + if (DEFAULT_ABI == ABI_ELFv2)
24669 + /* In the ELFv2 ABI we generate separate CFI records for each
24670 + CR field that was actually saved. They all point to the
24671 + same 32-bit stack slot. */
24672 + rtx crframe[8];
24673 + int n_crframe = 0;
24675 + for (i = 0; i < 8; i++)
24676 + if (save_reg_p (CR0_REGNO + i))
24678 + crframe[n_crframe]
24679 + = gen_rtx_SET (VOIDmode, mem,
24680 + gen_rtx_REG (SImode, CR0_REGNO + i));
24682 + RTX_FRAME_RELATED_P (crframe[n_crframe]) = 1;
24683 + n_crframe++;
24686 + add_reg_note (insn, REG_FRAME_RELATED_EXPR,
24687 + gen_rtx_PARALLEL (VOIDmode,
24688 + gen_rtvec_v (n_crframe, crframe)));
24690 + else
24692 + /* In other ABIs, by convention, we use a single CR regnum to
24693 + represent the fact that all call-saved CR fields are saved.
24694 + We use CR2_REGNO to be compatible with gcc-2.95 on Linux. */
24695 + rtx set = gen_rtx_SET (VOIDmode, mem,
24696 + gen_rtx_REG (SImode, CR2_REGNO));
24697 + add_reg_note (insn, REG_FRAME_RELATED_EXPR, set);
24701 + /* In the ELFv2 ABI we need to save all call-saved CR fields into
24702 + *separate* slots if the routine calls __builtin_eh_return, so
24703 + that they can be independently restored by the unwinder. */
24704 + if (DEFAULT_ABI == ABI_ELFv2 && crtl->calls_eh_return)
24706 + int i, cr_off = info->ehcr_offset;
24707 + rtx crsave;
24709 + /* ??? We might get better performance by using multiple mfocrf
24710 + instructions. */
24711 + crsave = gen_rtx_REG (SImode, 0);
24712 + emit_insn (gen_movesi_from_cr (crsave));
24714 + for (i = 0; i < 8; i++)
24715 + if (!call_used_regs[CR0_REGNO + i])
24717 + rtvec p = rtvec_alloc (2);
24718 + RTVEC_ELT (p, 0)
24719 + = gen_frame_store (crsave, frame_reg_rtx, cr_off + frame_off);
24720 + RTVEC_ELT (p, 1)
24721 + = gen_rtx_USE (VOIDmode, gen_rtx_REG (CCmode, CR0_REGNO + i));
24723 + insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, p));
24725 + RTX_FRAME_RELATED_P (insn) = 1;
24726 + add_reg_note (insn, REG_FRAME_RELATED_EXPR,
24727 + gen_frame_store (gen_rtx_REG (SImode, CR0_REGNO + i),
24728 + sp_reg_rtx, cr_off + sp_off));
24730 + cr_off += reg_size;
24734 + /* Update stack and set back pointer unless this is V.4,
24735 + for which it was done previously. */
24736 + if (!WORLD_SAVE_P (info) && info->push_p
24737 + && !(DEFAULT_ABI == ABI_V4 || crtl->calls_eh_return))
24739 + rtx ptr_reg = NULL;
24740 + int ptr_off = 0;
24742 + /* If saving altivec regs we need to be able to address all save
24743 + locations using a 16-bit offset. */
24744 + if ((strategy & SAVE_INLINE_VRS) == 0
24745 + || (info->altivec_size != 0
24746 + && (info->altivec_save_offset + info->altivec_size - 16
24747 + + info->total_size - frame_off) > 32767)
24748 + || (info->vrsave_size != 0
24749 + && (info->vrsave_save_offset
24750 + + info->total_size - frame_off) > 32767))
24752 + int sel = SAVRES_SAVE | SAVRES_VR;
24753 + unsigned ptr_regno = ptr_regno_for_savres (sel);
24755 + if (using_static_chain_p
24756 + && ptr_regno == STATIC_CHAIN_REGNUM)
24757 + ptr_regno = 12;
24758 + if (REGNO (frame_reg_rtx) != ptr_regno)
24759 + START_USE (ptr_regno);
24760 + ptr_reg = gen_rtx_REG (Pmode, ptr_regno);
24761 + frame_reg_rtx = ptr_reg;
24762 + ptr_off = info->altivec_save_offset + info->altivec_size;
24763 + frame_off = -ptr_off;
24765 + else if (REGNO (frame_reg_rtx) == 1)
24766 + frame_off = info->total_size;
24767 + rs6000_emit_allocate_stack (info->total_size, ptr_reg, ptr_off);
24768 + sp_off = info->total_size;
24769 + if (frame_reg_rtx != sp_reg_rtx)
24770 + rs6000_emit_stack_tie (frame_reg_rtx, false);
24773 + /* Set frame pointer, if needed. */
24774 + if (frame_pointer_needed)
24776 + insn = emit_move_insn (gen_rtx_REG (Pmode, HARD_FRAME_POINTER_REGNUM),
24777 + sp_reg_rtx);
24778 + RTX_FRAME_RELATED_P (insn) = 1;
24781 + /* Save AltiVec registers if needed. Save here because the red zone does
24782 + not always include AltiVec registers. */
24783 + if (!WORLD_SAVE_P (info) && TARGET_ALTIVEC_ABI
24784 + && info->altivec_size != 0 && (strategy & SAVE_INLINE_VRS) == 0)
24786 + int end_save = info->altivec_save_offset + info->altivec_size;
24787 + int ptr_off;
24788 + /* Oddly, the vector save/restore functions point r0 at the end
24789 + of the save area, then use r11 or r12 to load offsets for
24790 + [reg+reg] addressing. */
24791 + rtx ptr_reg = gen_rtx_REG (Pmode, 0);
24792 + int scratch_regno = ptr_regno_for_savres (SAVRES_SAVE | SAVRES_VR);
24793 + rtx scratch_reg = gen_rtx_REG (Pmode, scratch_regno);
24795 + gcc_checking_assert (scratch_regno == 11 || scratch_regno == 12);
24796 + NOT_INUSE (0);
24797 + if (end_save + frame_off != 0)
24799 + rtx offset = GEN_INT (end_save + frame_off);
24801 + emit_insn (gen_add3_insn (ptr_reg, frame_reg_rtx, offset));
24803 + else
24804 + emit_move_insn (ptr_reg, frame_reg_rtx);
24806 + ptr_off = -end_save;
24807 + insn = rs6000_emit_savres_rtx (info, scratch_reg,
24808 + info->altivec_save_offset + ptr_off,
24809 + 0, V4SImode, SAVRES_SAVE | SAVRES_VR);
24810 + rs6000_frame_related (insn, scratch_reg, sp_off - ptr_off,
24811 + NULL_RTX, NULL_RTX, NULL_RTX);
24812 + if (REGNO (frame_reg_rtx) == REGNO (scratch_reg))
24814 + /* The oddity mentioned above clobbered our frame reg. */
24815 + emit_move_insn (frame_reg_rtx, ptr_reg);
24816 + frame_off = ptr_off;
24819 + else if (!WORLD_SAVE_P (info) && TARGET_ALTIVEC_ABI
24820 + && info->altivec_size != 0)
24822 + int i;
24824 + for (i = info->first_altivec_reg_save; i <= LAST_ALTIVEC_REGNO; ++i)
24825 + if (info->vrsave_mask & ALTIVEC_REG_BIT (i))
24827 + rtx areg, savereg, mem, split_reg;
24828 + int offset;
24830 + offset = (info->altivec_save_offset + frame_off
24831 + + 16 * (i - info->first_altivec_reg_save));
24833 + savereg = gen_rtx_REG (V4SImode, i);
24835 + NOT_INUSE (0);
24836 + areg = gen_rtx_REG (Pmode, 0);
24837 + emit_move_insn (areg, GEN_INT (offset));
24839 + /* AltiVec addressing mode is [reg+reg]. */
24840 + mem = gen_frame_mem (V4SImode,
24841 + gen_rtx_PLUS (Pmode, frame_reg_rtx, areg));
24843 + insn = emit_move_insn (mem, savereg);
24845 + /* When we split a VSX store into two insns, we need to make
24846 + sure the DWARF info knows which register we are storing.
24847 + Pass it in to be used on the appropriate note. */
24848 + if (!BYTES_BIG_ENDIAN
24849 + && GET_CODE (PATTERN (insn)) == SET
24850 + && GET_CODE (SET_SRC (PATTERN (insn))) == VEC_SELECT)
24851 + split_reg = savereg;
24852 + else
24853 + split_reg = NULL_RTX;
24855 + rs6000_frame_related (insn, frame_reg_rtx, sp_off - frame_off,
24856 + areg, GEN_INT (offset), split_reg);
24860 + /* VRSAVE is a bit vector representing which AltiVec registers
24861 + are used. The OS uses this to determine which vector
24862 + registers to save on a context switch. We need to save
24863 + VRSAVE on the stack frame, add whatever AltiVec registers we
24864 + used in this function, and do the corresponding magic in the
24865 + epilogue. */
24867 + if (!WORLD_SAVE_P (info)
24868 + && TARGET_ALTIVEC
24869 + && TARGET_ALTIVEC_VRSAVE
24870 + && info->vrsave_mask != 0)
24872 + rtx reg, vrsave;
24873 + int offset;
24874 + int save_regno;
24876 + /* Get VRSAVE onto a GPR. Note that ABI_V4 and ABI_DARWIN might
24877 + be using r12 as frame_reg_rtx and r11 as the static chain
24878 + pointer for nested functions. */
24879 + save_regno = 12;
24880 + if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
24881 + && !using_static_chain_p)
24882 + save_regno = 11;
24883 + else if (REGNO (frame_reg_rtx) == 12)
24885 + save_regno = 11;
24886 + if (using_static_chain_p)
24887 + save_regno = 0;
24890 + NOT_INUSE (save_regno);
24891 + reg = gen_rtx_REG (SImode, save_regno);
24892 + vrsave = gen_rtx_REG (SImode, VRSAVE_REGNO);
24893 + if (TARGET_MACHO)
24894 + emit_insn (gen_get_vrsave_internal (reg));
24895 + else
24896 + emit_insn (gen_rtx_SET (VOIDmode, reg, vrsave));
24898 + /* Save VRSAVE. */
24899 + offset = info->vrsave_save_offset + frame_off;
24900 + insn = emit_insn (gen_frame_store (reg, frame_reg_rtx, offset));
24902 + /* Include the registers in the mask. */
24903 + emit_insn (gen_iorsi3 (reg, reg, GEN_INT ((int) info->vrsave_mask)));
24905 + insn = emit_insn (generate_set_vrsave (reg, info, 0));
24908 + /* If we are using RS6000_PIC_OFFSET_TABLE_REGNUM, we need to set it up. */
24909 + if (!TARGET_SINGLE_PIC_BASE
24910 + && ((TARGET_TOC && TARGET_MINIMAL_TOC && get_pool_size () != 0)
24911 + || (DEFAULT_ABI == ABI_V4
24912 + && (flag_pic == 1 || (flag_pic && TARGET_SECURE_PLT))
24913 + && df_regs_ever_live_p (RS6000_PIC_OFFSET_TABLE_REGNUM))))
24915 + /* If emit_load_toc_table will use the link register, we need to save
24916 + it. We use R12 for this purpose because emit_load_toc_table
24917 + can use register 0. This allows us to use a plain 'blr' to return
24918 + from the procedure more often. */
24919 + int save_LR_around_toc_setup = (TARGET_ELF
24920 + && DEFAULT_ABI == ABI_V4
24921 + && flag_pic
24922 + && ! info->lr_save_p
24923 + && EDGE_COUNT (EXIT_BLOCK_PTR_FOR_FN (cfun)->preds) > 0);
24924 + if (save_LR_around_toc_setup)
24926 + rtx lr = gen_rtx_REG (Pmode, LR_REGNO);
24927 + rtx tmp = gen_rtx_REG (Pmode, 12);
24929 + insn = emit_move_insn (tmp, lr);
24930 + RTX_FRAME_RELATED_P (insn) = 1;
24932 + rs6000_emit_load_toc_table (TRUE);
24934 + insn = emit_move_insn (lr, tmp);
24935 + add_reg_note (insn, REG_CFA_RESTORE, lr);
24936 + RTX_FRAME_RELATED_P (insn) = 1;
24938 + else
24939 + rs6000_emit_load_toc_table (TRUE);
24942 +#if TARGET_MACHO
24943 + if (!TARGET_SINGLE_PIC_BASE
24944 + && DEFAULT_ABI == ABI_DARWIN
24945 + && flag_pic && crtl->uses_pic_offset_table)
24947 + rtx lr = gen_rtx_REG (Pmode, LR_REGNO);
24948 + rtx src = gen_rtx_SYMBOL_REF (Pmode, MACHOPIC_FUNCTION_BASE_NAME);
24950 + /* Save and restore LR locally around this call (in R0). */
24951 + if (!info->lr_save_p)
24952 + emit_move_insn (gen_rtx_REG (Pmode, 0), lr);
24954 + emit_insn (gen_load_macho_picbase (src));
24956 + emit_move_insn (gen_rtx_REG (Pmode,
24957 + RS6000_PIC_OFFSET_TABLE_REGNUM),
24958 + lr);
24960 + if (!info->lr_save_p)
24961 + emit_move_insn (lr, gen_rtx_REG (Pmode, 0));
24963 +#endif
24965 + /* If we need to, save the TOC register after doing the stack setup.
24966 + Do not emit eh frame info for this save. The unwinder wants info,
24967 + conceptually attached to instructions in this function, about
24968 + register values in the caller of this function. This R2 may have
24969 + already been changed from the value in the caller.
24970 + We don't attempt to write accurate DWARF EH frame info for R2
24971 + because code emitted by gcc for a (non-pointer) function call
24972 + doesn't save and restore R2. Instead, R2 is managed out-of-line
24973 + by a linker generated plt call stub when the function resides in
24974 + a shared library. This behaviour is costly to describe in DWARF,
24975 + both in terms of the size of DWARF info and the time taken in the
24976 + unwinder to interpret it. R2 changes, apart from the
24977 + calls_eh_return case earlier in this function, are handled by
24978 + linux-unwind.h frob_update_context. */
24979 + if (rs6000_save_toc_in_prologue_p ())
24981 + rtx reg = gen_rtx_REG (reg_mode, TOC_REGNUM);
24982 + emit_insn (gen_frame_store (reg, sp_reg_rtx, RS6000_TOC_SAVE_SLOT));
24986 +/* Output .extern statements for the save/restore routines we use. */
24988 +static void
24989 +rs6000_output_savres_externs (FILE *file)
24991 + rs6000_stack_t *info = rs6000_stack_info ();
24993 + if (TARGET_DEBUG_STACK)
24994 + debug_stack_info (info);
24996 + /* Write .extern for any function we will call to save and restore
24997 + fp values. */
24998 + if (info->first_fp_reg_save < 64
24999 + && !TARGET_MACHO
25000 + && !TARGET_ELF)
25002 + char *name;
25003 + int regno = info->first_fp_reg_save - 32;
25005 + if ((info->savres_strategy & SAVE_INLINE_FPRS) == 0)
25007 + bool lr = (info->savres_strategy & SAVE_NOINLINE_FPRS_SAVES_LR) != 0;
25008 + int sel = SAVRES_SAVE | SAVRES_FPR | (lr ? SAVRES_LR : 0);
25009 + name = rs6000_savres_routine_name (info, regno, sel);
25010 + fprintf (file, "\t.extern %s\n", name);
25012 + if ((info->savres_strategy & REST_INLINE_FPRS) == 0)
25014 + bool lr = (info->savres_strategy
25015 + & REST_NOINLINE_FPRS_DOESNT_RESTORE_LR) == 0;
25016 + int sel = SAVRES_FPR | (lr ? SAVRES_LR : 0);
25017 + name = rs6000_savres_routine_name (info, regno, sel);
25018 + fprintf (file, "\t.extern %s\n", name);
25023 +/* Write function prologue. */
25025 +static void
25026 +rs6000_output_function_prologue (FILE *file,
25027 + HOST_WIDE_INT size ATTRIBUTE_UNUSED)
25029 + if (!cfun->is_thunk)
25030 + rs6000_output_savres_externs (file);
25032 + /* ELFv2 ABI r2 setup code and local entry point. This must follow
25033 + immediately after the global entry point label. */
25034 + if (DEFAULT_ABI == ABI_ELFv2 && cfun->machine->r2_setup_needed)
25036 + const char *name = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
25038 + fprintf (file, "0:\taddis 2,12,.TOC.-0b@ha\n");
25039 + fprintf (file, "\taddi 2,2,.TOC.-0b@l\n");
25041 + fputs ("\t.localentry\t", file);
25042 + assemble_name (file, name);
25043 + fputs (",.-", file);
25044 + assemble_name (file, name);
25045 + fputs ("\n", file);
25048 + /* Output -mprofile-kernel code. This needs to be done here instead of
25049 + in output_function_profile since it must go after the ELFv2 ABI
25050 + local entry point. */
25051 + if (TARGET_PROFILE_KERNEL && crtl->profile)
25053 + gcc_assert (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2);
25054 + gcc_assert (!TARGET_32BIT);
25056 + asm_fprintf (file, "\tmflr %s\n", reg_names[0]);
25057 + asm_fprintf (file, "\tstd %s,16(%s)\n", reg_names[0], reg_names[1]);
25059 + /* In the ELFv2 ABI we have no compiler stack word. It must be
25060 + the resposibility of _mcount to preserve the static chain
25061 + register if required. */
25062 + if (DEFAULT_ABI != ABI_ELFv2
25063 + && cfun->static_chain_decl != NULL)
25065 + asm_fprintf (file, "\tstd %s,24(%s)\n",
25066 + reg_names[STATIC_CHAIN_REGNUM], reg_names[1]);
25067 + fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
25068 + asm_fprintf (file, "\tld %s,24(%s)\n",
25069 + reg_names[STATIC_CHAIN_REGNUM], reg_names[1]);
25071 + else
25072 + fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
25075 + rs6000_pic_labelno++;
25078 +/* Non-zero if vmx regs are restored before the frame pop, zero if
25079 + we restore after the pop when possible. */
25080 +#define ALWAYS_RESTORE_ALTIVEC_BEFORE_POP 0
25082 +/* Restoring cr is a two step process: loading a reg from the frame
25083 + save, then moving the reg to cr. For ABI_V4 we must let the
25084 + unwinder know that the stack location is no longer valid at or
25085 + before the stack deallocation, but we can't emit a cfa_restore for
25086 + cr at the stack deallocation like we do for other registers.
25087 + The trouble is that it is possible for the move to cr to be
25088 + scheduled after the stack deallocation. So say exactly where cr
25089 + is located on each of the two insns. */
25091 +static rtx
25092 +load_cr_save (int regno, rtx frame_reg_rtx, int offset, bool exit_func)
25094 + rtx mem = gen_frame_mem_offset (SImode, frame_reg_rtx, offset);
25095 + rtx reg = gen_rtx_REG (SImode, regno);
25096 + rtx_insn *insn = emit_move_insn (reg, mem);
25098 + if (!exit_func && DEFAULT_ABI == ABI_V4)
25100 + rtx cr = gen_rtx_REG (SImode, CR2_REGNO);
25101 + rtx set = gen_rtx_SET (VOIDmode, reg, cr);
25103 + add_reg_note (insn, REG_CFA_REGISTER, set);
25104 + RTX_FRAME_RELATED_P (insn) = 1;
25106 + return reg;
25109 +/* Reload CR from REG. */
25111 +static void
25112 +restore_saved_cr (rtx reg, int using_mfcr_multiple, bool exit_func)
25114 + int count = 0;
25115 + int i;
25117 + if (using_mfcr_multiple)
25119 + for (i = 0; i < 8; i++)
25120 + if (save_reg_p (CR0_REGNO + i))
25121 + count++;
25122 + gcc_assert (count);
25125 + if (using_mfcr_multiple && count > 1)
25127 + rtx_insn *insn;
25128 + rtvec p;
25129 + int ndx;
25131 + p = rtvec_alloc (count);
25133 + ndx = 0;
25134 + for (i = 0; i < 8; i++)
25135 + if (save_reg_p (CR0_REGNO + i))
25137 + rtvec r = rtvec_alloc (2);
25138 + RTVEC_ELT (r, 0) = reg;
25139 + RTVEC_ELT (r, 1) = GEN_INT (1 << (7-i));
25140 + RTVEC_ELT (p, ndx) =
25141 + gen_rtx_SET (VOIDmode, gen_rtx_REG (CCmode, CR0_REGNO + i),
25142 + gen_rtx_UNSPEC (CCmode, r, UNSPEC_MOVESI_TO_CR));
25143 + ndx++;
25145 + insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, p));
25146 + gcc_assert (ndx == count);
25148 + /* For the ELFv2 ABI we generate a CFA_RESTORE for each
25149 + CR field separately. */
25150 + if (!exit_func && DEFAULT_ABI == ABI_ELFv2 && flag_shrink_wrap)
25152 + for (i = 0; i < 8; i++)
25153 + if (save_reg_p (CR0_REGNO + i))
25154 + add_reg_note (insn, REG_CFA_RESTORE,
25155 + gen_rtx_REG (SImode, CR0_REGNO + i));
25157 + RTX_FRAME_RELATED_P (insn) = 1;
25160 + else
25161 + for (i = 0; i < 8; i++)
25162 + if (save_reg_p (CR0_REGNO + i))
25164 + rtx insn = emit_insn (gen_movsi_to_cr_one
25165 + (gen_rtx_REG (CCmode, CR0_REGNO + i), reg));
25167 + /* For the ELFv2 ABI we generate a CFA_RESTORE for each
25168 + CR field separately, attached to the insn that in fact
25169 + restores this particular CR field. */
25170 + if (!exit_func && DEFAULT_ABI == ABI_ELFv2 && flag_shrink_wrap)
25172 + add_reg_note (insn, REG_CFA_RESTORE,
25173 + gen_rtx_REG (SImode, CR0_REGNO + i));
25175 + RTX_FRAME_RELATED_P (insn) = 1;
25179 + /* For other ABIs, we just generate a single CFA_RESTORE for CR2. */
25180 + if (!exit_func && DEFAULT_ABI != ABI_ELFv2
25181 + && (DEFAULT_ABI == ABI_V4 || flag_shrink_wrap))
25183 + rtx_insn *insn = get_last_insn ();
25184 + rtx cr = gen_rtx_REG (SImode, CR2_REGNO);
25186 + add_reg_note (insn, REG_CFA_RESTORE, cr);
25187 + RTX_FRAME_RELATED_P (insn) = 1;
25191 +/* Like cr, the move to lr instruction can be scheduled after the
25192 + stack deallocation, but unlike cr, its stack frame save is still
25193 + valid. So we only need to emit the cfa_restore on the correct
25194 + instruction. */
25196 +static void
25197 +load_lr_save (int regno, rtx frame_reg_rtx, int offset)
25199 + rtx mem = gen_frame_mem_offset (Pmode, frame_reg_rtx, offset);
25200 + rtx reg = gen_rtx_REG (Pmode, regno);
25202 + emit_move_insn (reg, mem);
25205 +static void
25206 +restore_saved_lr (int regno, bool exit_func)
25208 + rtx reg = gen_rtx_REG (Pmode, regno);
25209 + rtx lr = gen_rtx_REG (Pmode, LR_REGNO);
25210 + rtx_insn *insn = emit_move_insn (lr, reg);
25212 + if (!exit_func && flag_shrink_wrap)
25214 + add_reg_note (insn, REG_CFA_RESTORE, lr);
25215 + RTX_FRAME_RELATED_P (insn) = 1;
25219 +static rtx
25220 +add_crlr_cfa_restore (const rs6000_stack_t *info, rtx cfa_restores)
25222 + if (DEFAULT_ABI == ABI_ELFv2)
25224 + int i;
25225 + for (i = 0; i < 8; i++)
25226 + if (save_reg_p (CR0_REGNO + i))
25228 + rtx cr = gen_rtx_REG (SImode, CR0_REGNO + i);
25229 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, cr,
25230 + cfa_restores);
25233 + else if (info->cr_save_p)
25234 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE,
25235 + gen_rtx_REG (SImode, CR2_REGNO),
25236 + cfa_restores);
25238 + if (info->lr_save_p)
25239 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE,
25240 + gen_rtx_REG (Pmode, LR_REGNO),
25241 + cfa_restores);
25242 + return cfa_restores;
25245 +/* Return true if OFFSET from stack pointer can be clobbered by signals.
25246 + V.4 doesn't have any stack cushion, AIX ABIs have 220 or 288 bytes
25247 + below stack pointer not cloberred by signals. */
25249 +static inline bool
25250 +offset_below_red_zone_p (HOST_WIDE_INT offset)
25252 + return offset < (DEFAULT_ABI == ABI_V4
25253 + ? 0
25254 + : TARGET_32BIT ? -220 : -288);
25257 +/* Append CFA_RESTORES to any existing REG_NOTES on the last insn. */
25259 +static void
25260 +emit_cfa_restores (rtx cfa_restores)
25262 + rtx_insn *insn = get_last_insn ();
25263 + rtx *loc = &REG_NOTES (insn);
25265 + while (*loc)
25266 + loc = &XEXP (*loc, 1);
25267 + *loc = cfa_restores;
25268 + RTX_FRAME_RELATED_P (insn) = 1;
25271 +/* Emit function epilogue as insns. */
25273 +void
25274 +rs6000_emit_epilogue (int sibcall)
25276 + rs6000_stack_t *info;
25277 + int restoring_GPRs_inline;
25278 + int restoring_FPRs_inline;
25279 + int using_load_multiple;
25280 + int using_mtcr_multiple;
25281 + int use_backchain_to_restore_sp;
25282 + int restore_lr;
25283 + int strategy;
25284 + HOST_WIDE_INT frame_off = 0;
25285 + rtx sp_reg_rtx = gen_rtx_REG (Pmode, 1);
25286 + rtx frame_reg_rtx = sp_reg_rtx;
25287 + rtx cfa_restores = NULL_RTX;
25288 + rtx insn;
25289 + rtx cr_save_reg = NULL_RTX;
25290 + machine_mode reg_mode = Pmode;
25291 + int reg_size = TARGET_32BIT ? 4 : 8;
25292 + int i;
25293 + bool exit_func;
25294 + unsigned ptr_regno;
25296 + info = rs6000_stack_info ();
25298 + if (TARGET_SPE_ABI && info->spe_64bit_regs_used != 0)
25300 + reg_mode = V2SImode;
25301 + reg_size = 8;
25304 + strategy = info->savres_strategy;
25305 + using_load_multiple = strategy & SAVRES_MULTIPLE;
25306 + restoring_FPRs_inline = sibcall || (strategy & REST_INLINE_FPRS);
25307 + restoring_GPRs_inline = sibcall || (strategy & REST_INLINE_GPRS);
25308 + using_mtcr_multiple = (rs6000_cpu == PROCESSOR_PPC601
25309 + || rs6000_cpu == PROCESSOR_PPC603
25310 + || rs6000_cpu == PROCESSOR_PPC750
25311 + || optimize_size);
25312 + /* Restore via the backchain when we have a large frame, since this
25313 + is more efficient than an addis, addi pair. The second condition
25314 + here will not trigger at the moment; We don't actually need a
25315 + frame pointer for alloca, but the generic parts of the compiler
25316 + give us one anyway. */
25317 + use_backchain_to_restore_sp = (info->total_size > 32767 - info->lr_save_offset
25318 + || (cfun->calls_alloca
25319 + && !frame_pointer_needed));
25320 + restore_lr = (info->lr_save_p
25321 + && (restoring_FPRs_inline
25322 + || (strategy & REST_NOINLINE_FPRS_DOESNT_RESTORE_LR))
25323 + && (restoring_GPRs_inline
25324 + || info->first_fp_reg_save < 64));
25326 + if (WORLD_SAVE_P (info))
25328 + int i, j;
25329 + char rname[30];
25330 + const char *alloc_rname;
25331 + rtvec p;
25333 + /* eh_rest_world_r10 will return to the location saved in the LR
25334 + stack slot (which is not likely to be our caller.)
25335 + Input: R10 -- stack adjustment. Clobbers R0, R11, R12, R7, R8.
25336 + rest_world is similar, except any R10 parameter is ignored.
25337 + The exception-handling stuff that was here in 2.95 is no
25338 + longer necessary. */
25340 + p = rtvec_alloc (9
25341 + + 1
25342 + + 32 - info->first_gp_reg_save
25343 + + LAST_ALTIVEC_REGNO + 1 - info->first_altivec_reg_save
25344 + + 63 + 1 - info->first_fp_reg_save);
25346 + strcpy (rname, ((crtl->calls_eh_return) ?
25347 + "*eh_rest_world_r10" : "*rest_world"));
25348 + alloc_rname = ggc_strdup (rname);
25350 + j = 0;
25351 + RTVEC_ELT (p, j++) = ret_rtx;
25352 + RTVEC_ELT (p, j++) = gen_rtx_USE (VOIDmode,
25353 + gen_rtx_REG (Pmode,
25354 + LR_REGNO));
25355 + RTVEC_ELT (p, j++)
25356 + = gen_rtx_USE (VOIDmode, gen_rtx_SYMBOL_REF (Pmode, alloc_rname));
25357 + /* The instruction pattern requires a clobber here;
25358 + it is shared with the restVEC helper. */
25359 + RTVEC_ELT (p, j++)
25360 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 11));
25363 + /* CR register traditionally saved as CR2. */
25364 + rtx reg = gen_rtx_REG (SImode, CR2_REGNO);
25365 + RTVEC_ELT (p, j++)
25366 + = gen_frame_load (reg, frame_reg_rtx, info->cr_save_offset);
25367 + if (flag_shrink_wrap)
25369 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE,
25370 + gen_rtx_REG (Pmode, LR_REGNO),
25371 + cfa_restores);
25372 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25376 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
25378 + rtx reg = gen_rtx_REG (reg_mode, info->first_gp_reg_save + i);
25379 + RTVEC_ELT (p, j++)
25380 + = gen_frame_load (reg,
25381 + frame_reg_rtx, info->gp_save_offset + reg_size * i);
25382 + if (flag_shrink_wrap)
25383 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25385 + for (i = 0; info->first_altivec_reg_save + i <= LAST_ALTIVEC_REGNO; i++)
25387 + rtx reg = gen_rtx_REG (V4SImode, info->first_altivec_reg_save + i);
25388 + RTVEC_ELT (p, j++)
25389 + = gen_frame_load (reg,
25390 + frame_reg_rtx, info->altivec_save_offset + 16 * i);
25391 + if (flag_shrink_wrap)
25392 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25394 + for (i = 0; info->first_fp_reg_save + i <= 63; i++)
25396 + rtx reg = gen_rtx_REG ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
25397 + ? DFmode : SFmode),
25398 + info->first_fp_reg_save + i);
25399 + RTVEC_ELT (p, j++)
25400 + = gen_frame_load (reg, frame_reg_rtx, info->fp_save_offset + 8 * i);
25401 + if (flag_shrink_wrap)
25402 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25404 + RTVEC_ELT (p, j++)
25405 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 0));
25406 + RTVEC_ELT (p, j++)
25407 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (SImode, 12));
25408 + RTVEC_ELT (p, j++)
25409 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (SImode, 7));
25410 + RTVEC_ELT (p, j++)
25411 + = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (SImode, 8));
25412 + RTVEC_ELT (p, j++)
25413 + = gen_rtx_USE (VOIDmode, gen_rtx_REG (SImode, 10));
25414 + insn = emit_jump_insn (gen_rtx_PARALLEL (VOIDmode, p));
25416 + if (flag_shrink_wrap)
25418 + REG_NOTES (insn) = cfa_restores;
25419 + add_reg_note (insn, REG_CFA_DEF_CFA, sp_reg_rtx);
25420 + RTX_FRAME_RELATED_P (insn) = 1;
25422 + return;
25425 + /* frame_reg_rtx + frame_off points to the top of this stack frame. */
25426 + if (info->push_p)
25427 + frame_off = info->total_size;
25429 + /* Restore AltiVec registers if we must do so before adjusting the
25430 + stack. */
25431 + if (TARGET_ALTIVEC_ABI
25432 + && info->altivec_size != 0
25433 + && (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP
25434 + || (DEFAULT_ABI != ABI_V4
25435 + && offset_below_red_zone_p (info->altivec_save_offset))))
25437 + int i;
25438 + int scratch_regno = ptr_regno_for_savres (SAVRES_VR);
25440 + gcc_checking_assert (scratch_regno == 11 || scratch_regno == 12);
25441 + if (use_backchain_to_restore_sp)
25443 + int frame_regno = 11;
25445 + if ((strategy & REST_INLINE_VRS) == 0)
25447 + /* Of r11 and r12, select the one not clobbered by an
25448 + out-of-line restore function for the frame register. */
25449 + frame_regno = 11 + 12 - scratch_regno;
25451 + frame_reg_rtx = gen_rtx_REG (Pmode, frame_regno);
25452 + emit_move_insn (frame_reg_rtx,
25453 + gen_rtx_MEM (Pmode, sp_reg_rtx));
25454 + frame_off = 0;
25456 + else if (frame_pointer_needed)
25457 + frame_reg_rtx = hard_frame_pointer_rtx;
25459 + if ((strategy & REST_INLINE_VRS) == 0)
25461 + int end_save = info->altivec_save_offset + info->altivec_size;
25462 + int ptr_off;
25463 + rtx ptr_reg = gen_rtx_REG (Pmode, 0);
25464 + rtx scratch_reg = gen_rtx_REG (Pmode, scratch_regno);
25466 + if (end_save + frame_off != 0)
25468 + rtx offset = GEN_INT (end_save + frame_off);
25470 + emit_insn (gen_add3_insn (ptr_reg, frame_reg_rtx, offset));
25472 + else
25473 + emit_move_insn (ptr_reg, frame_reg_rtx);
25475 + ptr_off = -end_save;
25476 + insn = rs6000_emit_savres_rtx (info, scratch_reg,
25477 + info->altivec_save_offset + ptr_off,
25478 + 0, V4SImode, SAVRES_VR);
25480 + else
25482 + for (i = info->first_altivec_reg_save; i <= LAST_ALTIVEC_REGNO; ++i)
25483 + if (info->vrsave_mask & ALTIVEC_REG_BIT (i))
25485 + rtx addr, areg, mem, reg;
25487 + areg = gen_rtx_REG (Pmode, 0);
25488 + emit_move_insn
25489 + (areg, GEN_INT (info->altivec_save_offset
25490 + + frame_off
25491 + + 16 * (i - info->first_altivec_reg_save)));
25493 + /* AltiVec addressing mode is [reg+reg]. */
25494 + addr = gen_rtx_PLUS (Pmode, frame_reg_rtx, areg);
25495 + mem = gen_frame_mem (V4SImode, addr);
25497 + reg = gen_rtx_REG (V4SImode, i);
25498 + emit_move_insn (reg, mem);
25502 + for (i = info->first_altivec_reg_save; i <= LAST_ALTIVEC_REGNO; ++i)
25503 + if (((strategy & REST_INLINE_VRS) == 0
25504 + || (info->vrsave_mask & ALTIVEC_REG_BIT (i)) != 0)
25505 + && (flag_shrink_wrap
25506 + || (offset_below_red_zone_p
25507 + (info->altivec_save_offset
25508 + + 16 * (i - info->first_altivec_reg_save)))))
25510 + rtx reg = gen_rtx_REG (V4SImode, i);
25511 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25515 + /* Restore VRSAVE if we must do so before adjusting the stack. */
25516 + if (TARGET_ALTIVEC
25517 + && TARGET_ALTIVEC_VRSAVE
25518 + && info->vrsave_mask != 0
25519 + && (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP
25520 + || (DEFAULT_ABI != ABI_V4
25521 + && offset_below_red_zone_p (info->vrsave_save_offset))))
25523 + rtx reg;
25525 + if (frame_reg_rtx == sp_reg_rtx)
25527 + if (use_backchain_to_restore_sp)
25529 + frame_reg_rtx = gen_rtx_REG (Pmode, 11);
25530 + emit_move_insn (frame_reg_rtx,
25531 + gen_rtx_MEM (Pmode, sp_reg_rtx));
25532 + frame_off = 0;
25534 + else if (frame_pointer_needed)
25535 + frame_reg_rtx = hard_frame_pointer_rtx;
25538 + reg = gen_rtx_REG (SImode, 12);
25539 + emit_insn (gen_frame_load (reg, frame_reg_rtx,
25540 + info->vrsave_save_offset + frame_off));
25542 + emit_insn (generate_set_vrsave (reg, info, 1));
25545 + insn = NULL_RTX;
25546 + /* If we have a large stack frame, restore the old stack pointer
25547 + using the backchain. */
25548 + if (use_backchain_to_restore_sp)
25550 + if (frame_reg_rtx == sp_reg_rtx)
25552 + /* Under V.4, don't reset the stack pointer until after we're done
25553 + loading the saved registers. */
25554 + if (DEFAULT_ABI == ABI_V4)
25555 + frame_reg_rtx = gen_rtx_REG (Pmode, 11);
25557 + insn = emit_move_insn (frame_reg_rtx,
25558 + gen_rtx_MEM (Pmode, sp_reg_rtx));
25559 + frame_off = 0;
25561 + else if (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP
25562 + && DEFAULT_ABI == ABI_V4)
25563 + /* frame_reg_rtx has been set up by the altivec restore. */
25565 + else
25567 + insn = emit_move_insn (sp_reg_rtx, frame_reg_rtx);
25568 + frame_reg_rtx = sp_reg_rtx;
25571 + /* If we have a frame pointer, we can restore the old stack pointer
25572 + from it. */
25573 + else if (frame_pointer_needed)
25575 + frame_reg_rtx = sp_reg_rtx;
25576 + if (DEFAULT_ABI == ABI_V4)
25577 + frame_reg_rtx = gen_rtx_REG (Pmode, 11);
25578 + /* Prevent reordering memory accesses against stack pointer restore. */
25579 + else if (cfun->calls_alloca
25580 + || offset_below_red_zone_p (-info->total_size))
25581 + rs6000_emit_stack_tie (frame_reg_rtx, true);
25583 + insn = emit_insn (gen_add3_insn (frame_reg_rtx, hard_frame_pointer_rtx,
25584 + GEN_INT (info->total_size)));
25585 + frame_off = 0;
25587 + else if (info->push_p
25588 + && DEFAULT_ABI != ABI_V4
25589 + && !crtl->calls_eh_return)
25591 + /* Prevent reordering memory accesses against stack pointer restore. */
25592 + if (cfun->calls_alloca
25593 + || offset_below_red_zone_p (-info->total_size))
25594 + rs6000_emit_stack_tie (frame_reg_rtx, false);
25595 + insn = emit_insn (gen_add3_insn (sp_reg_rtx, sp_reg_rtx,
25596 + GEN_INT (info->total_size)));
25597 + frame_off = 0;
25599 + if (insn && frame_reg_rtx == sp_reg_rtx)
25601 + if (cfa_restores)
25603 + REG_NOTES (insn) = cfa_restores;
25604 + cfa_restores = NULL_RTX;
25606 + add_reg_note (insn, REG_CFA_DEF_CFA, sp_reg_rtx);
25607 + RTX_FRAME_RELATED_P (insn) = 1;
25610 + /* Restore AltiVec registers if we have not done so already. */
25611 + if (!ALWAYS_RESTORE_ALTIVEC_BEFORE_POP
25612 + && TARGET_ALTIVEC_ABI
25613 + && info->altivec_size != 0
25614 + && (DEFAULT_ABI == ABI_V4
25615 + || !offset_below_red_zone_p (info->altivec_save_offset)))
25617 + int i;
25619 + if ((strategy & REST_INLINE_VRS) == 0)
25621 + int end_save = info->altivec_save_offset + info->altivec_size;
25622 + int ptr_off;
25623 + rtx ptr_reg = gen_rtx_REG (Pmode, 0);
25624 + int scratch_regno = ptr_regno_for_savres (SAVRES_VR);
25625 + rtx scratch_reg = gen_rtx_REG (Pmode, scratch_regno);
25627 + if (end_save + frame_off != 0)
25629 + rtx offset = GEN_INT (end_save + frame_off);
25631 + emit_insn (gen_add3_insn (ptr_reg, frame_reg_rtx, offset));
25633 + else
25634 + emit_move_insn (ptr_reg, frame_reg_rtx);
25636 + ptr_off = -end_save;
25637 + insn = rs6000_emit_savres_rtx (info, scratch_reg,
25638 + info->altivec_save_offset + ptr_off,
25639 + 0, V4SImode, SAVRES_VR);
25640 + if (REGNO (frame_reg_rtx) == REGNO (scratch_reg))
25642 + /* Frame reg was clobbered by out-of-line save. Restore it
25643 + from ptr_reg, and if we are calling out-of-line gpr or
25644 + fpr restore set up the correct pointer and offset. */
25645 + unsigned newptr_regno = 1;
25646 + if (!restoring_GPRs_inline)
25648 + bool lr = info->gp_save_offset + info->gp_size == 0;
25649 + int sel = SAVRES_GPR | (lr ? SAVRES_LR : 0);
25650 + newptr_regno = ptr_regno_for_savres (sel);
25651 + end_save = info->gp_save_offset + info->gp_size;
25653 + else if (!restoring_FPRs_inline)
25655 + bool lr = !(strategy & REST_NOINLINE_FPRS_DOESNT_RESTORE_LR);
25656 + int sel = SAVRES_FPR | (lr ? SAVRES_LR : 0);
25657 + newptr_regno = ptr_regno_for_savres (sel);
25658 + end_save = info->fp_save_offset + info->fp_size;
25661 + if (newptr_regno != 1 && REGNO (frame_reg_rtx) != newptr_regno)
25662 + frame_reg_rtx = gen_rtx_REG (Pmode, newptr_regno);
25664 + if (end_save + ptr_off != 0)
25666 + rtx offset = GEN_INT (end_save + ptr_off);
25668 + frame_off = -end_save;
25669 + if (TARGET_32BIT)
25670 + emit_insn (gen_addsi3_carry (frame_reg_rtx,
25671 + ptr_reg, offset));
25672 + else
25673 + emit_insn (gen_adddi3_carry (frame_reg_rtx,
25674 + ptr_reg, offset));
25676 + else
25678 + frame_off = ptr_off;
25679 + emit_move_insn (frame_reg_rtx, ptr_reg);
25683 + else
25685 + for (i = info->first_altivec_reg_save; i <= LAST_ALTIVEC_REGNO; ++i)
25686 + if (info->vrsave_mask & ALTIVEC_REG_BIT (i))
25688 + rtx addr, areg, mem, reg;
25690 + areg = gen_rtx_REG (Pmode, 0);
25691 + emit_move_insn
25692 + (areg, GEN_INT (info->altivec_save_offset
25693 + + frame_off
25694 + + 16 * (i - info->first_altivec_reg_save)));
25696 + /* AltiVec addressing mode is [reg+reg]. */
25697 + addr = gen_rtx_PLUS (Pmode, frame_reg_rtx, areg);
25698 + mem = gen_frame_mem (V4SImode, addr);
25700 + reg = gen_rtx_REG (V4SImode, i);
25701 + emit_move_insn (reg, mem);
25705 + for (i = info->first_altivec_reg_save; i <= LAST_ALTIVEC_REGNO; ++i)
25706 + if (((strategy & REST_INLINE_VRS) == 0
25707 + || (info->vrsave_mask & ALTIVEC_REG_BIT (i)) != 0)
25708 + && (DEFAULT_ABI == ABI_V4 || flag_shrink_wrap))
25710 + rtx reg = gen_rtx_REG (V4SImode, i);
25711 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25715 + /* Restore VRSAVE if we have not done so already. */
25716 + if (!ALWAYS_RESTORE_ALTIVEC_BEFORE_POP
25717 + && TARGET_ALTIVEC
25718 + && TARGET_ALTIVEC_VRSAVE
25719 + && info->vrsave_mask != 0
25720 + && (DEFAULT_ABI == ABI_V4
25721 + || !offset_below_red_zone_p (info->vrsave_save_offset)))
25723 + rtx reg;
25725 + reg = gen_rtx_REG (SImode, 12);
25726 + emit_insn (gen_frame_load (reg, frame_reg_rtx,
25727 + info->vrsave_save_offset + frame_off));
25729 + emit_insn (generate_set_vrsave (reg, info, 1));
25732 + /* If we exit by an out-of-line restore function on ABI_V4 then that
25733 + function will deallocate the stack, so we don't need to worry
25734 + about the unwinder restoring cr from an invalid stack frame
25735 + location. */
25736 + exit_func = (!restoring_FPRs_inline
25737 + || (!restoring_GPRs_inline
25738 + && info->first_fp_reg_save == 64));
25740 + /* In the ELFv2 ABI we need to restore all call-saved CR fields from
25741 + *separate* slots if the routine calls __builtin_eh_return, so
25742 + that they can be independently restored by the unwinder. */
25743 + if (DEFAULT_ABI == ABI_ELFv2 && crtl->calls_eh_return)
25745 + int i, cr_off = info->ehcr_offset;
25747 + for (i = 0; i < 8; i++)
25748 + if (!call_used_regs[CR0_REGNO + i])
25750 + rtx reg = gen_rtx_REG (SImode, 0);
25751 + emit_insn (gen_frame_load (reg, frame_reg_rtx,
25752 + cr_off + frame_off));
25754 + insn = emit_insn (gen_movsi_to_cr_one
25755 + (gen_rtx_REG (CCmode, CR0_REGNO + i), reg));
25757 + if (!exit_func && flag_shrink_wrap)
25759 + add_reg_note (insn, REG_CFA_RESTORE,
25760 + gen_rtx_REG (SImode, CR0_REGNO + i));
25762 + RTX_FRAME_RELATED_P (insn) = 1;
25765 + cr_off += reg_size;
25769 + /* Get the old lr if we saved it. If we are restoring registers
25770 + out-of-line, then the out-of-line routines can do this for us. */
25771 + if (restore_lr && restoring_GPRs_inline)
25772 + load_lr_save (0, frame_reg_rtx, info->lr_save_offset + frame_off);
25774 + /* Get the old cr if we saved it. */
25775 + if (info->cr_save_p)
25777 + unsigned cr_save_regno = 12;
25779 + if (!restoring_GPRs_inline)
25781 + /* Ensure we don't use the register used by the out-of-line
25782 + gpr register restore below. */
25783 + bool lr = info->gp_save_offset + info->gp_size == 0;
25784 + int sel = SAVRES_GPR | (lr ? SAVRES_LR : 0);
25785 + int gpr_ptr_regno = ptr_regno_for_savres (sel);
25787 + if (gpr_ptr_regno == 12)
25788 + cr_save_regno = 11;
25789 + gcc_checking_assert (REGNO (frame_reg_rtx) != cr_save_regno);
25791 + else if (REGNO (frame_reg_rtx) == 12)
25792 + cr_save_regno = 11;
25794 + cr_save_reg = load_cr_save (cr_save_regno, frame_reg_rtx,
25795 + info->cr_save_offset + frame_off,
25796 + exit_func);
25799 + /* Set LR here to try to overlap restores below. */
25800 + if (restore_lr && restoring_GPRs_inline)
25801 + restore_saved_lr (0, exit_func);
25803 + /* Load exception handler data registers, if needed. */
25804 + if (crtl->calls_eh_return)
25806 + unsigned int i, regno;
25808 + if (TARGET_AIX)
25810 + rtx reg = gen_rtx_REG (reg_mode, 2);
25811 + emit_insn (gen_frame_load (reg, frame_reg_rtx,
25812 + frame_off + RS6000_TOC_SAVE_SLOT));
25815 + for (i = 0; ; ++i)
25817 + rtx mem;
25819 + regno = EH_RETURN_DATA_REGNO (i);
25820 + if (regno == INVALID_REGNUM)
25821 + break;
25823 + /* Note: possible use of r0 here to address SPE regs. */
25824 + mem = gen_frame_mem_offset (reg_mode, frame_reg_rtx,
25825 + info->ehrd_offset + frame_off
25826 + + reg_size * (int) i);
25828 + emit_move_insn (gen_rtx_REG (reg_mode, regno), mem);
25832 + /* Restore GPRs. This is done as a PARALLEL if we are using
25833 + the load-multiple instructions. */
25834 + if (TARGET_SPE_ABI
25835 + && info->spe_64bit_regs_used
25836 + && info->first_gp_reg_save != 32)
25838 + /* Determine whether we can address all of the registers that need
25839 + to be saved with an offset from frame_reg_rtx that fits in
25840 + the small const field for SPE memory instructions. */
25841 + int spe_regs_addressable
25842 + = (SPE_CONST_OFFSET_OK (info->spe_gp_save_offset + frame_off
25843 + + reg_size * (32 - info->first_gp_reg_save - 1))
25844 + && restoring_GPRs_inline);
25846 + if (!spe_regs_addressable)
25848 + int ool_adjust = 0;
25849 + rtx old_frame_reg_rtx = frame_reg_rtx;
25850 + /* Make r11 point to the start of the SPE save area. We worried about
25851 + not clobbering it when we were saving registers in the prologue.
25852 + There's no need to worry here because the static chain is passed
25853 + anew to every function. */
25855 + if (!restoring_GPRs_inline)
25856 + ool_adjust = 8 * (info->first_gp_reg_save - FIRST_SAVED_GP_REGNO);
25857 + frame_reg_rtx = gen_rtx_REG (Pmode, 11);
25858 + emit_insn (gen_addsi3 (frame_reg_rtx, old_frame_reg_rtx,
25859 + GEN_INT (info->spe_gp_save_offset
25860 + + frame_off
25861 + - ool_adjust)));
25862 + /* Keep the invariant that frame_reg_rtx + frame_off points
25863 + at the top of the stack frame. */
25864 + frame_off = -info->spe_gp_save_offset + ool_adjust;
25867 + if (restoring_GPRs_inline)
25869 + HOST_WIDE_INT spe_offset = info->spe_gp_save_offset + frame_off;
25871 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
25872 + if (rs6000_reg_live_or_pic_offset_p (info->first_gp_reg_save + i))
25874 + rtx offset, addr, mem, reg;
25876 + /* We're doing all this to ensure that the immediate offset
25877 + fits into the immediate field of 'evldd'. */
25878 + gcc_assert (SPE_CONST_OFFSET_OK (spe_offset + reg_size * i));
25880 + offset = GEN_INT (spe_offset + reg_size * i);
25881 + addr = gen_rtx_PLUS (Pmode, frame_reg_rtx, offset);
25882 + mem = gen_rtx_MEM (V2SImode, addr);
25883 + reg = gen_rtx_REG (reg_mode, info->first_gp_reg_save + i);
25885 + emit_move_insn (reg, mem);
25888 + else
25889 + rs6000_emit_savres_rtx (info, frame_reg_rtx,
25890 + info->spe_gp_save_offset + frame_off,
25891 + info->lr_save_offset + frame_off,
25892 + reg_mode,
25893 + SAVRES_GPR | SAVRES_LR);
25895 + else if (!restoring_GPRs_inline)
25897 + /* We are jumping to an out-of-line function. */
25898 + rtx ptr_reg;
25899 + int end_save = info->gp_save_offset + info->gp_size;
25900 + bool can_use_exit = end_save == 0;
25901 + int sel = SAVRES_GPR | (can_use_exit ? SAVRES_LR : 0);
25902 + int ptr_off;
25904 + /* Emit stack reset code if we need it. */
25905 + ptr_regno = ptr_regno_for_savres (sel);
25906 + ptr_reg = gen_rtx_REG (Pmode, ptr_regno);
25907 + if (can_use_exit)
25908 + rs6000_emit_stack_reset (info, frame_reg_rtx, frame_off, ptr_regno);
25909 + else if (end_save + frame_off != 0)
25910 + emit_insn (gen_add3_insn (ptr_reg, frame_reg_rtx,
25911 + GEN_INT (end_save + frame_off)));
25912 + else if (REGNO (frame_reg_rtx) != ptr_regno)
25913 + emit_move_insn (ptr_reg, frame_reg_rtx);
25914 + if (REGNO (frame_reg_rtx) == ptr_regno)
25915 + frame_off = -end_save;
25917 + if (can_use_exit && info->cr_save_p)
25918 + restore_saved_cr (cr_save_reg, using_mtcr_multiple, true);
25920 + ptr_off = -end_save;
25921 + rs6000_emit_savres_rtx (info, ptr_reg,
25922 + info->gp_save_offset + ptr_off,
25923 + info->lr_save_offset + ptr_off,
25924 + reg_mode, sel);
25926 + else if (using_load_multiple)
25928 + rtvec p;
25929 + p = rtvec_alloc (32 - info->first_gp_reg_save);
25930 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
25931 + RTVEC_ELT (p, i)
25932 + = gen_frame_load (gen_rtx_REG (reg_mode, info->first_gp_reg_save + i),
25933 + frame_reg_rtx,
25934 + info->gp_save_offset + frame_off + reg_size * i);
25935 + emit_insn (gen_rtx_PARALLEL (VOIDmode, p));
25937 + else
25939 + for (i = 0; i < 32 - info->first_gp_reg_save; i++)
25940 + if (rs6000_reg_live_or_pic_offset_p (info->first_gp_reg_save + i))
25941 + emit_insn (gen_frame_load
25942 + (gen_rtx_REG (reg_mode, info->first_gp_reg_save + i),
25943 + frame_reg_rtx,
25944 + info->gp_save_offset + frame_off + reg_size * i));
25947 + if (DEFAULT_ABI == ABI_V4 || flag_shrink_wrap)
25949 + /* If the frame pointer was used then we can't delay emitting
25950 + a REG_CFA_DEF_CFA note. This must happen on the insn that
25951 + restores the frame pointer, r31. We may have already emitted
25952 + a REG_CFA_DEF_CFA note, but that's OK; A duplicate is
25953 + discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
25954 + be harmless if emitted. */
25955 + if (frame_pointer_needed)
25957 + insn = get_last_insn ();
25958 + add_reg_note (insn, REG_CFA_DEF_CFA,
25959 + plus_constant (Pmode, frame_reg_rtx, frame_off));
25960 + RTX_FRAME_RELATED_P (insn) = 1;
25963 + /* Set up cfa_restores. We always need these when
25964 + shrink-wrapping. If not shrink-wrapping then we only need
25965 + the cfa_restore when the stack location is no longer valid.
25966 + The cfa_restores must be emitted on or before the insn that
25967 + invalidates the stack, and of course must not be emitted
25968 + before the insn that actually does the restore. The latter
25969 + is why it is a bad idea to emit the cfa_restores as a group
25970 + on the last instruction here that actually does a restore:
25971 + That insn may be reordered with respect to others doing
25972 + restores. */
25973 + if (flag_shrink_wrap
25974 + && !restoring_GPRs_inline
25975 + && info->first_fp_reg_save == 64)
25976 + cfa_restores = add_crlr_cfa_restore (info, cfa_restores);
25978 + for (i = info->first_gp_reg_save; i < 32; i++)
25979 + if (!restoring_GPRs_inline
25980 + || using_load_multiple
25981 + || rs6000_reg_live_or_pic_offset_p (i))
25983 + rtx reg = gen_rtx_REG (reg_mode, i);
25985 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
25989 + if (!restoring_GPRs_inline
25990 + && info->first_fp_reg_save == 64)
25992 + /* We are jumping to an out-of-line function. */
25993 + if (cfa_restores)
25994 + emit_cfa_restores (cfa_restores);
25995 + return;
25998 + if (restore_lr && !restoring_GPRs_inline)
26000 + load_lr_save (0, frame_reg_rtx, info->lr_save_offset + frame_off);
26001 + restore_saved_lr (0, exit_func);
26004 + /* Restore fpr's if we need to do it without calling a function. */
26005 + if (restoring_FPRs_inline)
26006 + for (i = 0; i < 64 - info->first_fp_reg_save; i++)
26007 + if (save_reg_p (info->first_fp_reg_save + i))
26009 + rtx reg = gen_rtx_REG ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT
26010 + ? DFmode : SFmode),
26011 + info->first_fp_reg_save + i);
26012 + emit_insn (gen_frame_load (reg, frame_reg_rtx,
26013 + info->fp_save_offset + frame_off + 8 * i));
26014 + if (DEFAULT_ABI == ABI_V4 || flag_shrink_wrap)
26015 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores);
26018 + /* If we saved cr, restore it here. Just those that were used. */
26019 + if (info->cr_save_p)
26020 + restore_saved_cr (cr_save_reg, using_mtcr_multiple, exit_func);
26022 + /* If this is V.4, unwind the stack pointer after all of the loads
26023 + have been done, or set up r11 if we are restoring fp out of line. */
26024 + ptr_regno = 1;
26025 + if (!restoring_FPRs_inline)
26027 + bool lr = (strategy & REST_NOINLINE_FPRS_DOESNT_RESTORE_LR) == 0;
26028 + int sel = SAVRES_FPR | (lr ? SAVRES_LR : 0);
26029 + ptr_regno = ptr_regno_for_savres (sel);
26032 + insn = rs6000_emit_stack_reset (info, frame_reg_rtx, frame_off, ptr_regno);
26033 + if (REGNO (frame_reg_rtx) == ptr_regno)
26034 + frame_off = 0;
26036 + if (insn && restoring_FPRs_inline)
26038 + if (cfa_restores)
26040 + REG_NOTES (insn) = cfa_restores;
26041 + cfa_restores = NULL_RTX;
26043 + add_reg_note (insn, REG_CFA_DEF_CFA, sp_reg_rtx);
26044 + RTX_FRAME_RELATED_P (insn) = 1;
26047 + if (crtl->calls_eh_return)
26049 + rtx sa = EH_RETURN_STACKADJ_RTX;
26050 + emit_insn (gen_add3_insn (sp_reg_rtx, sp_reg_rtx, sa));
26053 + if (!sibcall)
26055 + rtvec p;
26056 + bool lr = (strategy & REST_NOINLINE_FPRS_DOESNT_RESTORE_LR) == 0;
26057 + if (! restoring_FPRs_inline)
26059 + p = rtvec_alloc (4 + 64 - info->first_fp_reg_save);
26060 + RTVEC_ELT (p, 0) = ret_rtx;
26062 + else
26064 + if (cfa_restores)
26066 + /* We can't hang the cfa_restores off a simple return,
26067 + since the shrink-wrap code sometimes uses an existing
26068 + return. This means there might be a path from
26069 + pre-prologue code to this return, and dwarf2cfi code
26070 + wants the eh_frame unwinder state to be the same on
26071 + all paths to any point. So we need to emit the
26072 + cfa_restores before the return. For -m64 we really
26073 + don't need epilogue cfa_restores at all, except for
26074 + this irritating dwarf2cfi with shrink-wrap
26075 + requirement; The stack red-zone means eh_frame info
26076 + from the prologue telling the unwinder to restore
26077 + from the stack is perfectly good right to the end of
26078 + the function. */
26079 + emit_insn (gen_blockage ());
26080 + emit_cfa_restores (cfa_restores);
26081 + cfa_restores = NULL_RTX;
26083 + p = rtvec_alloc (2);
26084 + RTVEC_ELT (p, 0) = simple_return_rtx;
26087 + RTVEC_ELT (p, 1) = ((restoring_FPRs_inline || !lr)
26088 + ? gen_rtx_USE (VOIDmode,
26089 + gen_rtx_REG (Pmode, LR_REGNO))
26090 + : gen_rtx_CLOBBER (VOIDmode,
26091 + gen_rtx_REG (Pmode, LR_REGNO)));
26093 + /* If we have to restore more than two FP registers, branch to the
26094 + restore function. It will return to our caller. */
26095 + if (! restoring_FPRs_inline)
26097 + int i;
26098 + int reg;
26099 + rtx sym;
26101 + if (flag_shrink_wrap)
26102 + cfa_restores = add_crlr_cfa_restore (info, cfa_restores);
26104 + sym = rs6000_savres_routine_sym (info,
26105 + SAVRES_FPR | (lr ? SAVRES_LR : 0));
26106 + RTVEC_ELT (p, 2) = gen_rtx_USE (VOIDmode, sym);
26107 + reg = (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)? 1 : 11;
26108 + RTVEC_ELT (p, 3) = gen_rtx_USE (VOIDmode, gen_rtx_REG (Pmode, reg));
26110 + for (i = 0; i < 64 - info->first_fp_reg_save; i++)
26112 + rtx reg = gen_rtx_REG (DFmode, info->first_fp_reg_save + i);
26114 + RTVEC_ELT (p, i + 4)
26115 + = gen_frame_load (reg, sp_reg_rtx, info->fp_save_offset + 8 * i);
26116 + if (flag_shrink_wrap)
26117 + cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg,
26118 + cfa_restores);
26122 + emit_jump_insn (gen_rtx_PARALLEL (VOIDmode, p));
26125 + if (cfa_restores)
26127 + if (sibcall)
26128 + /* Ensure the cfa_restores are hung off an insn that won't
26129 + be reordered above other restores. */
26130 + emit_insn (gen_blockage ());
26132 + emit_cfa_restores (cfa_restores);
26136 +/* Write function epilogue. */
26138 +static void
26139 +rs6000_output_function_epilogue (FILE *file,
26140 + HOST_WIDE_INT size ATTRIBUTE_UNUSED)
26142 +#if TARGET_MACHO
26143 + macho_branch_islands ();
26144 + /* Mach-O doesn't support labels at the end of objects, so if
26145 + it looks like we might want one, insert a NOP. */
26147 + rtx_insn *insn = get_last_insn ();
26148 + rtx_insn *deleted_debug_label = NULL;
26149 + while (insn
26150 + && NOTE_P (insn)
26151 + && NOTE_KIND (insn) != NOTE_INSN_DELETED_LABEL)
26153 + /* Don't insert a nop for NOTE_INSN_DELETED_DEBUG_LABEL
26154 + notes only, instead set their CODE_LABEL_NUMBER to -1,
26155 + otherwise there would be code generation differences
26156 + in between -g and -g0. */
26157 + if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_DELETED_DEBUG_LABEL)
26158 + deleted_debug_label = insn;
26159 + insn = PREV_INSN (insn);
26161 + if (insn
26162 + && (LABEL_P (insn)
26163 + || (NOTE_P (insn)
26164 + && NOTE_KIND (insn) == NOTE_INSN_DELETED_LABEL)))
26165 + fputs ("\tnop\n", file);
26166 + else if (deleted_debug_label)
26167 + for (insn = deleted_debug_label; insn; insn = NEXT_INSN (insn))
26168 + if (NOTE_KIND (insn) == NOTE_INSN_DELETED_DEBUG_LABEL)
26169 + CODE_LABEL_NUMBER (insn) = -1;
26171 +#endif
26173 + /* Output a traceback table here. See /usr/include/sys/debug.h for info
26174 + on its format.
26176 + We don't output a traceback table if -finhibit-size-directive was
26177 + used. The documentation for -finhibit-size-directive reads
26178 + ``don't output a @code{.size} assembler directive, or anything
26179 + else that would cause trouble if the function is split in the
26180 + middle, and the two halves are placed at locations far apart in
26181 + memory.'' The traceback table has this property, since it
26182 + includes the offset from the start of the function to the
26183 + traceback table itself.
26185 + System V.4 Powerpc's (and the embedded ABI derived from it) use a
26186 + different traceback table. */
26187 + if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
26188 + && ! flag_inhibit_size_directive
26189 + && rs6000_traceback != traceback_none && !cfun->is_thunk)
26191 + const char *fname = NULL;
26192 + const char *language_string = lang_hooks.name;
26193 + int fixed_parms = 0, float_parms = 0, parm_info = 0;
26194 + int i;
26195 + int optional_tbtab;
26196 + rs6000_stack_t *info = rs6000_stack_info ();
26198 + if (rs6000_traceback == traceback_full)
26199 + optional_tbtab = 1;
26200 + else if (rs6000_traceback == traceback_part)
26201 + optional_tbtab = 0;
26202 + else
26203 + optional_tbtab = !optimize_size && !TARGET_ELF;
26205 + if (optional_tbtab)
26207 + fname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
26208 + while (*fname == '.') /* V.4 encodes . in the name */
26209 + fname++;
26211 + /* Need label immediately before tbtab, so we can compute
26212 + its offset from the function start. */
26213 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LT");
26214 + ASM_OUTPUT_LABEL (file, fname);
26217 + /* The .tbtab pseudo-op can only be used for the first eight
26218 + expressions, since it can't handle the possibly variable
26219 + length fields that follow. However, if you omit the optional
26220 + fields, the assembler outputs zeros for all optional fields
26221 + anyways, giving each variable length field is minimum length
26222 + (as defined in sys/debug.h). Thus we can not use the .tbtab
26223 + pseudo-op at all. */
26225 + /* An all-zero word flags the start of the tbtab, for debuggers
26226 + that have to find it by searching forward from the entry
26227 + point or from the current pc. */
26228 + fputs ("\t.long 0\n", file);
26230 + /* Tbtab format type. Use format type 0. */
26231 + fputs ("\t.byte 0,", file);
26233 + /* Language type. Unfortunately, there does not seem to be any
26234 + official way to discover the language being compiled, so we
26235 + use language_string.
26236 + C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
26237 + Java is 13. Objective-C is 14. Objective-C++ isn't assigned
26238 + a number, so for now use 9. LTO, Go and JIT aren't assigned numbers
26239 + either, so for now use 0. */
26240 + if (lang_GNU_C ()
26241 + || ! strcmp (language_string, "GNU GIMPLE")
26242 + || ! strcmp (language_string, "GNU Go")
26243 + || ! strcmp (language_string, "libgccjit"))
26244 + i = 0;
26245 + else if (! strcmp (language_string, "GNU F77")
26246 + || lang_GNU_Fortran ())
26247 + i = 1;
26248 + else if (! strcmp (language_string, "GNU Pascal"))
26249 + i = 2;
26250 + else if (! strcmp (language_string, "GNU Ada"))
26251 + i = 3;
26252 + else if (lang_GNU_CXX ()
26253 + || ! strcmp (language_string, "GNU Objective-C++"))
26254 + i = 9;
26255 + else if (! strcmp (language_string, "GNU Java"))
26256 + i = 13;
26257 + else if (! strcmp (language_string, "GNU Objective-C"))
26258 + i = 14;
26259 + else
26260 + gcc_unreachable ();
26261 + fprintf (file, "%d,", i);
26263 + /* 8 single bit fields: global linkage (not set for C extern linkage,
26264 + apparently a PL/I convention?), out-of-line epilogue/prologue, offset
26265 + from start of procedure stored in tbtab, internal function, function
26266 + has controlled storage, function has no toc, function uses fp,
26267 + function logs/aborts fp operations. */
26268 + /* Assume that fp operations are used if any fp reg must be saved. */
26269 + fprintf (file, "%d,",
26270 + (optional_tbtab << 5) | ((info->first_fp_reg_save != 64) << 1));
26272 + /* 6 bitfields: function is interrupt handler, name present in
26273 + proc table, function calls alloca, on condition directives
26274 + (controls stack walks, 3 bits), saves condition reg, saves
26275 + link reg. */
26276 + /* The `function calls alloca' bit seems to be set whenever reg 31 is
26277 + set up as a frame pointer, even when there is no alloca call. */
26278 + fprintf (file, "%d,",
26279 + ((optional_tbtab << 6)
26280 + | ((optional_tbtab & frame_pointer_needed) << 5)
26281 + | (info->cr_save_p << 1)
26282 + | (info->lr_save_p)));
26284 + /* 3 bitfields: saves backchain, fixup code, number of fpr saved
26285 + (6 bits). */
26286 + fprintf (file, "%d,",
26287 + (info->push_p << 7) | (64 - info->first_fp_reg_save));
26289 + /* 2 bitfields: spare bits (2 bits), number of gpr saved (6 bits). */
26290 + fprintf (file, "%d,", (32 - first_reg_to_save ()));
26292 + if (optional_tbtab)
26294 + /* Compute the parameter info from the function decl argument
26295 + list. */
26296 + tree decl;
26297 + int next_parm_info_bit = 31;
26299 + for (decl = DECL_ARGUMENTS (current_function_decl);
26300 + decl; decl = DECL_CHAIN (decl))
26302 + rtx parameter = DECL_INCOMING_RTL (decl);
26303 + machine_mode mode = GET_MODE (parameter);
26305 + if (GET_CODE (parameter) == REG)
26307 + if (SCALAR_FLOAT_MODE_P (mode))
26309 + int bits;
26311 + float_parms++;
26313 + switch (mode)
26315 + case SFmode:
26316 + case SDmode:
26317 + bits = 0x2;
26318 + break;
26320 + case DFmode:
26321 + case DDmode:
26322 + case TFmode:
26323 + case TDmode:
26324 + bits = 0x3;
26325 + break;
26327 + default:
26328 + gcc_unreachable ();
26331 + /* If only one bit will fit, don't or in this entry. */
26332 + if (next_parm_info_bit > 0)
26333 + parm_info |= (bits << (next_parm_info_bit - 1));
26334 + next_parm_info_bit -= 2;
26336 + else
26338 + fixed_parms += ((GET_MODE_SIZE (mode)
26339 + + (UNITS_PER_WORD - 1))
26340 + / UNITS_PER_WORD);
26341 + next_parm_info_bit -= 1;
26347 + /* Number of fixed point parameters. */
26348 + /* This is actually the number of words of fixed point parameters; thus
26349 + an 8 byte struct counts as 2; and thus the maximum value is 8. */
26350 + fprintf (file, "%d,", fixed_parms);
26352 + /* 2 bitfields: number of floating point parameters (7 bits), parameters
26353 + all on stack. */
26354 + /* This is actually the number of fp registers that hold parameters;
26355 + and thus the maximum value is 13. */
26356 + /* Set parameters on stack bit if parameters are not in their original
26357 + registers, regardless of whether they are on the stack? Xlc
26358 + seems to set the bit when not optimizing. */
26359 + fprintf (file, "%d\n", ((float_parms << 1) | (! optimize)));
26361 + if (! optional_tbtab)
26362 + return;
26364 + /* Optional fields follow. Some are variable length. */
26366 + /* Parameter types, left adjusted bit fields: 0 fixed, 10 single float,
26367 + 11 double float. */
26368 + /* There is an entry for each parameter in a register, in the order that
26369 + they occur in the parameter list. Any intervening arguments on the
26370 + stack are ignored. If the list overflows a long (max possible length
26371 + 34 bits) then completely leave off all elements that don't fit. */
26372 + /* Only emit this long if there was at least one parameter. */
26373 + if (fixed_parms || float_parms)
26374 + fprintf (file, "\t.long %d\n", parm_info);
26376 + /* Offset from start of code to tb table. */
26377 + fputs ("\t.long ", file);
26378 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LT");
26379 + RS6000_OUTPUT_BASENAME (file, fname);
26380 + putc ('-', file);
26381 + rs6000_output_function_entry (file, fname);
26382 + putc ('\n', file);
26384 + /* Interrupt handler mask. */
26385 + /* Omit this long, since we never set the interrupt handler bit
26386 + above. */
26388 + /* Number of CTL (controlled storage) anchors. */
26389 + /* Omit this long, since the has_ctl bit is never set above. */
26391 + /* Displacement into stack of each CTL anchor. */
26392 + /* Omit this list of longs, because there are no CTL anchors. */
26394 + /* Length of function name. */
26395 + if (*fname == '*')
26396 + ++fname;
26397 + fprintf (file, "\t.short %d\n", (int) strlen (fname));
26399 + /* Function name. */
26400 + assemble_string (fname, strlen (fname));
26402 + /* Register for alloca automatic storage; this is always reg 31.
26403 + Only emit this if the alloca bit was set above. */
26404 + if (frame_pointer_needed)
26405 + fputs ("\t.byte 31\n", file);
26407 + fputs ("\t.align 2\n", file);
26411 +/* A C compound statement that outputs the assembler code for a thunk
26412 + function, used to implement C++ virtual function calls with
26413 + multiple inheritance. The thunk acts as a wrapper around a virtual
26414 + function, adjusting the implicit object parameter before handing
26415 + control off to the real function.
26417 + First, emit code to add the integer DELTA to the location that
26418 + contains the incoming first argument. Assume that this argument
26419 + contains a pointer, and is the one used to pass the `this' pointer
26420 + in C++. This is the incoming argument *before* the function
26421 + prologue, e.g. `%o0' on a sparc. The addition must preserve the
26422 + values of all other incoming arguments.
26424 + After the addition, emit code to jump to FUNCTION, which is a
26425 + `FUNCTION_DECL'. This is a direct pure jump, not a call, and does
26426 + not touch the return address. Hence returning from FUNCTION will
26427 + return to whoever called the current `thunk'.
26429 + The effect must be as if FUNCTION had been called directly with the
26430 + adjusted first argument. This macro is responsible for emitting
26431 + all of the code for a thunk function; output_function_prologue()
26432 + and output_function_epilogue() are not invoked.
26434 + The THUNK_FNDECL is redundant. (DELTA and FUNCTION have already
26435 + been extracted from it.) It might possibly be useful on some
26436 + targets, but probably not.
26438 + If you do not define this macro, the target-independent code in the
26439 + C++ frontend will generate a less efficient heavyweight thunk that
26440 + calls FUNCTION instead of jumping to it. The generic approach does
26441 + not support varargs. */
26443 +static void
26444 +rs6000_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
26445 + HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset,
26446 + tree function)
26448 + rtx this_rtx, funexp;
26449 + rtx_insn *insn;
26451 + reload_completed = 1;
26452 + epilogue_completed = 1;
26454 + /* Mark the end of the (empty) prologue. */
26455 + emit_note (NOTE_INSN_PROLOGUE_END);
26457 + /* Find the "this" pointer. If the function returns a structure,
26458 + the structure return pointer is in r3. */
26459 + if (aggregate_value_p (TREE_TYPE (TREE_TYPE (function)), function))
26460 + this_rtx = gen_rtx_REG (Pmode, 4);
26461 + else
26462 + this_rtx = gen_rtx_REG (Pmode, 3);
26464 + /* Apply the constant offset, if required. */
26465 + if (delta)
26466 + emit_insn (gen_add3_insn (this_rtx, this_rtx, GEN_INT (delta)));
26468 + /* Apply the offset from the vtable, if required. */
26469 + if (vcall_offset)
26471 + rtx vcall_offset_rtx = GEN_INT (vcall_offset);
26472 + rtx tmp = gen_rtx_REG (Pmode, 12);
26474 + emit_move_insn (tmp, gen_rtx_MEM (Pmode, this_rtx));
26475 + if (((unsigned HOST_WIDE_INT) vcall_offset) + 0x8000 >= 0x10000)
26477 + emit_insn (gen_add3_insn (tmp, tmp, vcall_offset_rtx));
26478 + emit_move_insn (tmp, gen_rtx_MEM (Pmode, tmp));
26480 + else
26482 + rtx loc = gen_rtx_PLUS (Pmode, tmp, vcall_offset_rtx);
26484 + emit_move_insn (tmp, gen_rtx_MEM (Pmode, loc));
26486 + emit_insn (gen_add3_insn (this_rtx, this_rtx, tmp));
26489 + /* Generate a tail call to the target function. */
26490 + if (!TREE_USED (function))
26492 + assemble_external (function);
26493 + TREE_USED (function) = 1;
26495 + funexp = XEXP (DECL_RTL (function), 0);
26496 + funexp = gen_rtx_MEM (FUNCTION_MODE, funexp);
26498 +#if TARGET_MACHO
26499 + if (MACHOPIC_INDIRECT)
26500 + funexp = machopic_indirect_call_target (funexp);
26501 +#endif
26503 + /* gen_sibcall expects reload to convert scratch pseudo to LR so we must
26504 + generate sibcall RTL explicitly. */
26505 + insn = emit_call_insn (
26506 + gen_rtx_PARALLEL (VOIDmode,
26507 + gen_rtvec (4,
26508 + gen_rtx_CALL (VOIDmode,
26509 + funexp, const0_rtx),
26510 + gen_rtx_USE (VOIDmode, const0_rtx),
26511 + gen_rtx_USE (VOIDmode,
26512 + gen_rtx_REG (SImode,
26513 + LR_REGNO)),
26514 + simple_return_rtx)));
26515 + SIBLING_CALL_P (insn) = 1;
26516 + emit_barrier ();
26518 + /* Ensure we have a global entry point for the thunk. ??? We could
26519 + avoid that if the target routine doesn't need a global entry point,
26520 + but we do not know whether this is the case at this point. */
26521 + if (DEFAULT_ABI == ABI_ELFv2)
26522 + cfun->machine->r2_setup_needed = true;
26524 + /* Run just enough of rest_of_compilation to get the insns emitted.
26525 + There's not really enough bulk here to make other passes such as
26526 + instruction scheduling worth while. Note that use_thunk calls
26527 + assemble_start_function and assemble_end_function. */
26528 + insn = get_insns ();
26529 + shorten_branches (insn);
26530 + final_start_function (insn, file, 1);
26531 + final (insn, file, 1);
26532 + final_end_function ();
26534 + reload_completed = 0;
26535 + epilogue_completed = 0;
26538 +/* A quick summary of the various types of 'constant-pool tables'
26539 + under PowerPC:
26541 + Target Flags Name One table per
26542 + AIX (none) AIX TOC object file
26543 + AIX -mfull-toc AIX TOC object file
26544 + AIX -mminimal-toc AIX minimal TOC translation unit
26545 + SVR4/EABI (none) SVR4 SDATA object file
26546 + SVR4/EABI -fpic SVR4 pic object file
26547 + SVR4/EABI -fPIC SVR4 PIC translation unit
26548 + SVR4/EABI -mrelocatable EABI TOC function
26549 + SVR4/EABI -maix AIX TOC object file
26550 + SVR4/EABI -maix -mminimal-toc
26551 + AIX minimal TOC translation unit
26553 + Name Reg. Set by entries contains:
26554 + made by addrs? fp? sum?
26556 + AIX TOC 2 crt0 as Y option option
26557 + AIX minimal TOC 30 prolog gcc Y Y option
26558 + SVR4 SDATA 13 crt0 gcc N Y N
26559 + SVR4 pic 30 prolog ld Y not yet N
26560 + SVR4 PIC 30 prolog gcc Y option option
26561 + EABI TOC 30 prolog gcc Y option option
26565 +/* Hash functions for the hash table. */
26567 +static unsigned
26568 +rs6000_hash_constant (rtx k)
26570 + enum rtx_code code = GET_CODE (k);
26571 + machine_mode mode = GET_MODE (k);
26572 + unsigned result = (code << 3) ^ mode;
26573 + const char *format;
26574 + int flen, fidx;
26576 + format = GET_RTX_FORMAT (code);
26577 + flen = strlen (format);
26578 + fidx = 0;
26580 + switch (code)
26582 + case LABEL_REF:
26583 + return result * 1231 + (unsigned) INSN_UID (XEXP (k, 0));
26585 + case CONST_WIDE_INT:
26587 + int i;
26588 + flen = CONST_WIDE_INT_NUNITS (k);
26589 + for (i = 0; i < flen; i++)
26590 + result = result * 613 + CONST_WIDE_INT_ELT (k, i);
26591 + return result;
26594 + case CONST_DOUBLE:
26595 + if (mode != VOIDmode)
26596 + return real_hash (CONST_DOUBLE_REAL_VALUE (k)) * result;
26597 + flen = 2;
26598 + break;
26600 + case CODE_LABEL:
26601 + fidx = 3;
26602 + break;
26604 + default:
26605 + break;
26608 + for (; fidx < flen; fidx++)
26609 + switch (format[fidx])
26611 + case 's':
26613 + unsigned i, len;
26614 + const char *str = XSTR (k, fidx);
26615 + len = strlen (str);
26616 + result = result * 613 + len;
26617 + for (i = 0; i < len; i++)
26618 + result = result * 613 + (unsigned) str[i];
26619 + break;
26621 + case 'u':
26622 + case 'e':
26623 + result = result * 1231 + rs6000_hash_constant (XEXP (k, fidx));
26624 + break;
26625 + case 'i':
26626 + case 'n':
26627 + result = result * 613 + (unsigned) XINT (k, fidx);
26628 + break;
26629 + case 'w':
26630 + if (sizeof (unsigned) >= sizeof (HOST_WIDE_INT))
26631 + result = result * 613 + (unsigned) XWINT (k, fidx);
26632 + else
26634 + size_t i;
26635 + for (i = 0; i < sizeof (HOST_WIDE_INT) / sizeof (unsigned); i++)
26636 + result = result * 613 + (unsigned) (XWINT (k, fidx)
26637 + >> CHAR_BIT * i);
26639 + break;
26640 + case '0':
26641 + break;
26642 + default:
26643 + gcc_unreachable ();
26646 + return result;
26649 +hashval_t
26650 +toc_hasher::hash (toc_hash_struct *thc)
26652 + return rs6000_hash_constant (thc->key) ^ thc->key_mode;
26655 +/* Compare H1 and H2 for equivalence. */
26657 +bool
26658 +toc_hasher::equal (toc_hash_struct *h1, toc_hash_struct *h2)
26660 + rtx r1 = h1->key;
26661 + rtx r2 = h2->key;
26663 + if (h1->key_mode != h2->key_mode)
26664 + return 0;
26666 + return rtx_equal_p (r1, r2);
26669 +/* These are the names given by the C++ front-end to vtables, and
26670 + vtable-like objects. Ideally, this logic should not be here;
26671 + instead, there should be some programmatic way of inquiring as
26672 + to whether or not an object is a vtable. */
26674 +#define VTABLE_NAME_P(NAME) \
26675 + (strncmp ("_vt.", name, strlen ("_vt.")) == 0 \
26676 + || strncmp ("_ZTV", name, strlen ("_ZTV")) == 0 \
26677 + || strncmp ("_ZTT", name, strlen ("_ZTT")) == 0 \
26678 + || strncmp ("_ZTI", name, strlen ("_ZTI")) == 0 \
26679 + || strncmp ("_ZTC", name, strlen ("_ZTC")) == 0)
26681 +#ifdef NO_DOLLAR_IN_LABEL
26682 +/* Return a GGC-allocated character string translating dollar signs in
26683 + input NAME to underscores. Used by XCOFF ASM_OUTPUT_LABELREF. */
26685 +const char *
26686 +rs6000_xcoff_strip_dollar (const char *name)
26688 + char *strip, *p;
26689 + const char *q;
26690 + size_t len;
26692 + q = (const char *) strchr (name, '$');
26694 + if (q == 0 || q == name)
26695 + return name;
26697 + len = strlen (name);
26698 + strip = XALLOCAVEC (char, len + 1);
26699 + strcpy (strip, name);
26700 + p = strip + (q - name);
26701 + while (p)
26703 + *p = '_';
26704 + p = strchr (p + 1, '$');
26707 + return ggc_alloc_string (strip, len);
26709 +#endif
26711 +void
26712 +rs6000_output_symbol_ref (FILE *file, rtx x)
26714 + /* Currently C++ toc references to vtables can be emitted before it
26715 + is decided whether the vtable is public or private. If this is
26716 + the case, then the linker will eventually complain that there is
26717 + a reference to an unknown section. Thus, for vtables only,
26718 + we emit the TOC reference to reference the symbol and not the
26719 + section. */
26720 + const char *name = XSTR (x, 0);
26722 + tree decl = SYMBOL_REF_DECL (x);
26723 + if (decl /* sync condition with assemble_external () */
26724 + && DECL_P (decl) && DECL_EXTERNAL (decl) && TREE_PUBLIC (decl)
26725 + && (TREE_CODE (decl) == VAR_DECL
26726 + || TREE_CODE (decl) == FUNCTION_DECL)
26727 + && name[strlen (name) - 1] != ']')
26729 + name = concat (name,
26730 + (TREE_CODE (decl) == FUNCTION_DECL
26731 + ? "[DS]" : "[UA]"),
26732 + NULL);
26733 + XSTR (x, 0) = name;
26736 + if (VTABLE_NAME_P (name))
26738 + RS6000_OUTPUT_BASENAME (file, name);
26740 + else
26741 + assemble_name (file, name);
26744 +/* Output a TOC entry. We derive the entry name from what is being
26745 + written. */
26747 +void
26748 +output_toc (FILE *file, rtx x, int labelno, machine_mode mode)
26750 + char buf[256];
26751 + const char *name = buf;
26752 + rtx base = x;
26753 + HOST_WIDE_INT offset = 0;
26755 + gcc_assert (!TARGET_NO_TOC);
26757 + /* When the linker won't eliminate them, don't output duplicate
26758 + TOC entries (this happens on AIX if there is any kind of TOC,
26759 + and on SVR4 under -fPIC or -mrelocatable). Don't do this for
26760 + CODE_LABELs. */
26761 + if (TARGET_TOC && GET_CODE (x) != LABEL_REF)
26763 + struct toc_hash_struct *h;
26765 + /* Create toc_hash_table. This can't be done at TARGET_OPTION_OVERRIDE
26766 + time because GGC is not initialized at that point. */
26767 + if (toc_hash_table == NULL)
26768 + toc_hash_table = hash_table<toc_hasher>::create_ggc (1021);
26770 + h = ggc_alloc<toc_hash_struct> ();
26771 + h->key = x;
26772 + h->key_mode = mode;
26773 + h->labelno = labelno;
26775 + toc_hash_struct **found = toc_hash_table->find_slot (h, INSERT);
26776 + if (*found == NULL)
26777 + *found = h;
26778 + else /* This is indeed a duplicate.
26779 + Set this label equal to that label. */
26781 + fputs ("\t.set ", file);
26782 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LC");
26783 + fprintf (file, "%d,", labelno);
26784 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LC");
26785 + fprintf (file, "%d\n", ((*found)->labelno));
26787 +#ifdef HAVE_AS_TLS
26788 + if (TARGET_XCOFF && GET_CODE (x) == SYMBOL_REF
26789 + && (SYMBOL_REF_TLS_MODEL (x) == TLS_MODEL_GLOBAL_DYNAMIC
26790 + || SYMBOL_REF_TLS_MODEL (x) == TLS_MODEL_LOCAL_DYNAMIC))
26792 + fputs ("\t.set ", file);
26793 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LCM");
26794 + fprintf (file, "%d,", labelno);
26795 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LCM");
26796 + fprintf (file, "%d\n", ((*found)->labelno));
26798 +#endif
26799 + return;
26803 + /* If we're going to put a double constant in the TOC, make sure it's
26804 + aligned properly when strict alignment is on. */
26805 + if ((CONST_DOUBLE_P (x) || CONST_WIDE_INT_P (x))
26806 + && STRICT_ALIGNMENT
26807 + && GET_MODE_BITSIZE (mode) >= 64
26808 + && ! (TARGET_NO_FP_IN_TOC && ! TARGET_MINIMAL_TOC)) {
26809 + ASM_OUTPUT_ALIGN (file, 3);
26812 + (*targetm.asm_out.internal_label) (file, "LC", labelno);
26814 + /* Handle FP constants specially. Note that if we have a minimal
26815 + TOC, things we put here aren't actually in the TOC, so we can allow
26816 + FP constants. */
26817 + if (GET_CODE (x) == CONST_DOUBLE &&
26818 + (GET_MODE (x) == TFmode || GET_MODE (x) == TDmode))
26820 + REAL_VALUE_TYPE rv;
26821 + long k[4];
26823 + REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
26824 + if (DECIMAL_FLOAT_MODE_P (GET_MODE (x)))
26825 + REAL_VALUE_TO_TARGET_DECIMAL128 (rv, k);
26826 + else
26827 + REAL_VALUE_TO_TARGET_LONG_DOUBLE (rv, k);
26829 + if (TARGET_64BIT)
26831 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26832 + fputs (DOUBLE_INT_ASM_OP, file);
26833 + else
26834 + fprintf (file, "\t.tc FT_%lx_%lx_%lx_%lx[TC],",
26835 + k[0] & 0xffffffff, k[1] & 0xffffffff,
26836 + k[2] & 0xffffffff, k[3] & 0xffffffff);
26837 + fprintf (file, "0x%lx%08lx,0x%lx%08lx\n",
26838 + k[WORDS_BIG_ENDIAN ? 0 : 1] & 0xffffffff,
26839 + k[WORDS_BIG_ENDIAN ? 1 : 0] & 0xffffffff,
26840 + k[WORDS_BIG_ENDIAN ? 2 : 3] & 0xffffffff,
26841 + k[WORDS_BIG_ENDIAN ? 3 : 2] & 0xffffffff);
26842 + return;
26844 + else
26846 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26847 + fputs ("\t.long ", file);
26848 + else
26849 + fprintf (file, "\t.tc FT_%lx_%lx_%lx_%lx[TC],",
26850 + k[0] & 0xffffffff, k[1] & 0xffffffff,
26851 + k[2] & 0xffffffff, k[3] & 0xffffffff);
26852 + fprintf (file, "0x%lx,0x%lx,0x%lx,0x%lx\n",
26853 + k[0] & 0xffffffff, k[1] & 0xffffffff,
26854 + k[2] & 0xffffffff, k[3] & 0xffffffff);
26855 + return;
26858 + else if (GET_CODE (x) == CONST_DOUBLE &&
26859 + (GET_MODE (x) == DFmode || GET_MODE (x) == DDmode))
26861 + REAL_VALUE_TYPE rv;
26862 + long k[2];
26864 + REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
26866 + if (DECIMAL_FLOAT_MODE_P (GET_MODE (x)))
26867 + REAL_VALUE_TO_TARGET_DECIMAL64 (rv, k);
26868 + else
26869 + REAL_VALUE_TO_TARGET_DOUBLE (rv, k);
26871 + if (TARGET_64BIT)
26873 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26874 + fputs (DOUBLE_INT_ASM_OP, file);
26875 + else
26876 + fprintf (file, "\t.tc FD_%lx_%lx[TC],",
26877 + k[0] & 0xffffffff, k[1] & 0xffffffff);
26878 + fprintf (file, "0x%lx%08lx\n",
26879 + k[WORDS_BIG_ENDIAN ? 0 : 1] & 0xffffffff,
26880 + k[WORDS_BIG_ENDIAN ? 1 : 0] & 0xffffffff);
26881 + return;
26883 + else
26885 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26886 + fputs ("\t.long ", file);
26887 + else
26888 + fprintf (file, "\t.tc FD_%lx_%lx[TC],",
26889 + k[0] & 0xffffffff, k[1] & 0xffffffff);
26890 + fprintf (file, "0x%lx,0x%lx\n",
26891 + k[0] & 0xffffffff, k[1] & 0xffffffff);
26892 + return;
26895 + else if (GET_CODE (x) == CONST_DOUBLE &&
26896 + (GET_MODE (x) == SFmode || GET_MODE (x) == SDmode))
26898 + REAL_VALUE_TYPE rv;
26899 + long l;
26901 + REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
26902 + if (DECIMAL_FLOAT_MODE_P (GET_MODE (x)))
26903 + REAL_VALUE_TO_TARGET_DECIMAL32 (rv, l);
26904 + else
26905 + REAL_VALUE_TO_TARGET_SINGLE (rv, l);
26907 + if (TARGET_64BIT)
26909 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26910 + fputs (DOUBLE_INT_ASM_OP, file);
26911 + else
26912 + fprintf (file, "\t.tc FS_%lx[TC],", l & 0xffffffff);
26913 + if (WORDS_BIG_ENDIAN)
26914 + fprintf (file, "0x%lx00000000\n", l & 0xffffffff);
26915 + else
26916 + fprintf (file, "0x%lx\n", l & 0xffffffff);
26917 + return;
26919 + else
26921 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26922 + fputs ("\t.long ", file);
26923 + else
26924 + fprintf (file, "\t.tc FS_%lx[TC],", l & 0xffffffff);
26925 + fprintf (file, "0x%lx\n", l & 0xffffffff);
26926 + return;
26929 + else if (GET_MODE (x) == VOIDmode && GET_CODE (x) == CONST_INT)
26931 + unsigned HOST_WIDE_INT low;
26932 + HOST_WIDE_INT high;
26934 + low = INTVAL (x) & 0xffffffff;
26935 + high = (HOST_WIDE_INT) INTVAL (x) >> 32;
26937 + /* TOC entries are always Pmode-sized, so when big-endian
26938 + smaller integer constants in the TOC need to be padded.
26939 + (This is still a win over putting the constants in
26940 + a separate constant pool, because then we'd have
26941 + to have both a TOC entry _and_ the actual constant.)
26943 + For a 32-bit target, CONST_INT values are loaded and shifted
26944 + entirely within `low' and can be stored in one TOC entry. */
26946 + /* It would be easy to make this work, but it doesn't now. */
26947 + gcc_assert (!TARGET_64BIT || POINTER_SIZE >= GET_MODE_BITSIZE (mode));
26949 + if (WORDS_BIG_ENDIAN && POINTER_SIZE > GET_MODE_BITSIZE (mode))
26951 + low |= high << 32;
26952 + low <<= POINTER_SIZE - GET_MODE_BITSIZE (mode);
26953 + high = (HOST_WIDE_INT) low >> 32;
26954 + low &= 0xffffffff;
26957 + if (TARGET_64BIT)
26959 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26960 + fputs (DOUBLE_INT_ASM_OP, file);
26961 + else
26962 + fprintf (file, "\t.tc ID_%lx_%lx[TC],",
26963 + (long) high & 0xffffffff, (long) low & 0xffffffff);
26964 + fprintf (file, "0x%lx%08lx\n",
26965 + (long) high & 0xffffffff, (long) low & 0xffffffff);
26966 + return;
26968 + else
26970 + if (POINTER_SIZE < GET_MODE_BITSIZE (mode))
26972 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26973 + fputs ("\t.long ", file);
26974 + else
26975 + fprintf (file, "\t.tc ID_%lx_%lx[TC],",
26976 + (long) high & 0xffffffff, (long) low & 0xffffffff);
26977 + fprintf (file, "0x%lx,0x%lx\n",
26978 + (long) high & 0xffffffff, (long) low & 0xffffffff);
26980 + else
26982 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
26983 + fputs ("\t.long ", file);
26984 + else
26985 + fprintf (file, "\t.tc IS_%lx[TC],", (long) low & 0xffffffff);
26986 + fprintf (file, "0x%lx\n", (long) low & 0xffffffff);
26988 + return;
26992 + if (GET_CODE (x) == CONST)
26994 + gcc_assert (GET_CODE (XEXP (x, 0)) == PLUS
26995 + && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT);
26997 + base = XEXP (XEXP (x, 0), 0);
26998 + offset = INTVAL (XEXP (XEXP (x, 0), 1));
27001 + switch (GET_CODE (base))
27003 + case SYMBOL_REF:
27004 + name = XSTR (base, 0);
27005 + break;
27007 + case LABEL_REF:
27008 + ASM_GENERATE_INTERNAL_LABEL (buf, "L",
27009 + CODE_LABEL_NUMBER (XEXP (base, 0)));
27010 + break;
27012 + case CODE_LABEL:
27013 + ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (base));
27014 + break;
27016 + default:
27017 + gcc_unreachable ();
27020 + if (TARGET_ELF || TARGET_MINIMAL_TOC)
27021 + fputs (TARGET_32BIT ? "\t.long " : DOUBLE_INT_ASM_OP, file);
27022 + else
27024 + fputs ("\t.tc ", file);
27025 + RS6000_OUTPUT_BASENAME (file, name);
27027 + if (offset < 0)
27028 + fprintf (file, ".N" HOST_WIDE_INT_PRINT_UNSIGNED, - offset);
27029 + else if (offset)
27030 + fprintf (file, ".P" HOST_WIDE_INT_PRINT_UNSIGNED, offset);
27032 + /* Mark large TOC symbols on AIX with [TE] so they are mapped
27033 + after other TOC symbols, reducing overflow of small TOC access
27034 + to [TC] symbols. */
27035 + fputs (TARGET_XCOFF && TARGET_CMODEL != CMODEL_SMALL
27036 + ? "[TE]," : "[TC],", file);
27039 + /* Currently C++ toc references to vtables can be emitted before it
27040 + is decided whether the vtable is public or private. If this is
27041 + the case, then the linker will eventually complain that there is
27042 + a TOC reference to an unknown section. Thus, for vtables only,
27043 + we emit the TOC reference to reference the symbol and not the
27044 + section. */
27045 + if (VTABLE_NAME_P (name))
27047 + RS6000_OUTPUT_BASENAME (file, name);
27048 + if (offset < 0)
27049 + fprintf (file, HOST_WIDE_INT_PRINT_DEC, offset);
27050 + else if (offset > 0)
27051 + fprintf (file, "+" HOST_WIDE_INT_PRINT_DEC, offset);
27053 + else
27054 + output_addr_const (file, x);
27056 +#if HAVE_AS_TLS
27057 + if (TARGET_XCOFF && GET_CODE (base) == SYMBOL_REF
27058 + && SYMBOL_REF_TLS_MODEL (base) != 0)
27060 + if (SYMBOL_REF_TLS_MODEL (base) == TLS_MODEL_LOCAL_EXEC)
27061 + fputs ("@le", file);
27062 + else if (SYMBOL_REF_TLS_MODEL (base) == TLS_MODEL_INITIAL_EXEC)
27063 + fputs ("@ie", file);
27064 + /* Use global-dynamic for local-dynamic. */
27065 + else if (SYMBOL_REF_TLS_MODEL (base) == TLS_MODEL_GLOBAL_DYNAMIC
27066 + || SYMBOL_REF_TLS_MODEL (base) == TLS_MODEL_LOCAL_DYNAMIC)
27068 + putc ('\n', file);
27069 + (*targetm.asm_out.internal_label) (file, "LCM", labelno);
27070 + fputs ("\t.tc .", file);
27071 + RS6000_OUTPUT_BASENAME (file, name);
27072 + fputs ("[TC],", file);
27073 + output_addr_const (file, x);
27074 + fputs ("@m", file);
27077 +#endif
27079 + putc ('\n', file);
27082 +/* Output an assembler pseudo-op to write an ASCII string of N characters
27083 + starting at P to FILE.
27085 + On the RS/6000, we have to do this using the .byte operation and
27086 + write out special characters outside the quoted string.
27087 + Also, the assembler is broken; very long strings are truncated,
27088 + so we must artificially break them up early. */
27090 +void
27091 +output_ascii (FILE *file, const char *p, int n)
27093 + char c;
27094 + int i, count_string;
27095 + const char *for_string = "\t.byte \"";
27096 + const char *for_decimal = "\t.byte ";
27097 + const char *to_close = NULL;
27099 + count_string = 0;
27100 + for (i = 0; i < n; i++)
27102 + c = *p++;
27103 + if (c >= ' ' && c < 0177)
27105 + if (for_string)
27106 + fputs (for_string, file);
27107 + putc (c, file);
27109 + /* Write two quotes to get one. */
27110 + if (c == '"')
27112 + putc (c, file);
27113 + ++count_string;
27116 + for_string = NULL;
27117 + for_decimal = "\"\n\t.byte ";
27118 + to_close = "\"\n";
27119 + ++count_string;
27121 + if (count_string >= 512)
27123 + fputs (to_close, file);
27125 + for_string = "\t.byte \"";
27126 + for_decimal = "\t.byte ";
27127 + to_close = NULL;
27128 + count_string = 0;
27131 + else
27133 + if (for_decimal)
27134 + fputs (for_decimal, file);
27135 + fprintf (file, "%d", c);
27137 + for_string = "\n\t.byte \"";
27138 + for_decimal = ", ";
27139 + to_close = "\n";
27140 + count_string = 0;
27144 + /* Now close the string if we have written one. Then end the line. */
27145 + if (to_close)
27146 + fputs (to_close, file);
27149 +/* Generate a unique section name for FILENAME for a section type
27150 + represented by SECTION_DESC. Output goes into BUF.
27152 + SECTION_DESC can be any string, as long as it is different for each
27153 + possible section type.
27155 + We name the section in the same manner as xlc. The name begins with an
27156 + underscore followed by the filename (after stripping any leading directory
27157 + names) with the last period replaced by the string SECTION_DESC. If
27158 + FILENAME does not contain a period, SECTION_DESC is appended to the end of
27159 + the name. */
27161 +void
27162 +rs6000_gen_section_name (char **buf, const char *filename,
27163 + const char *section_desc)
27165 + const char *q, *after_last_slash, *last_period = 0;
27166 + char *p;
27167 + int len;
27169 + after_last_slash = filename;
27170 + for (q = filename; *q; q++)
27172 + if (*q == '/')
27173 + after_last_slash = q + 1;
27174 + else if (*q == '.')
27175 + last_period = q;
27178 + len = strlen (after_last_slash) + strlen (section_desc) + 2;
27179 + *buf = (char *) xmalloc (len);
27181 + p = *buf;
27182 + *p++ = '_';
27184 + for (q = after_last_slash; *q; q++)
27186 + if (q == last_period)
27188 + strcpy (p, section_desc);
27189 + p += strlen (section_desc);
27190 + break;
27193 + else if (ISALNUM (*q))
27194 + *p++ = *q;
27197 + if (last_period == 0)
27198 + strcpy (p, section_desc);
27199 + else
27200 + *p = '\0';
27203 +/* Emit profile function. */
27205 +void
27206 +output_profile_hook (int labelno ATTRIBUTE_UNUSED)
27208 + /* Non-standard profiling for kernels, which just saves LR then calls
27209 + _mcount without worrying about arg saves. The idea is to change
27210 + the function prologue as little as possible as it isn't easy to
27211 + account for arg save/restore code added just for _mcount. */
27212 + if (TARGET_PROFILE_KERNEL)
27213 + return;
27215 + if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
27217 +#ifndef NO_PROFILE_COUNTERS
27218 +# define NO_PROFILE_COUNTERS 0
27219 +#endif
27220 + if (NO_PROFILE_COUNTERS)
27221 + emit_library_call (init_one_libfunc (RS6000_MCOUNT),
27222 + LCT_NORMAL, VOIDmode, 0);
27223 + else
27225 + char buf[30];
27226 + const char *label_name;
27227 + rtx fun;
27229 + ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno);
27230 + label_name = ggc_strdup ((*targetm.strip_name_encoding) (buf));
27231 + fun = gen_rtx_SYMBOL_REF (Pmode, label_name);
27233 + emit_library_call (init_one_libfunc (RS6000_MCOUNT),
27234 + LCT_NORMAL, VOIDmode, 1, fun, Pmode);
27237 + else if (DEFAULT_ABI == ABI_DARWIN)
27239 + const char *mcount_name = RS6000_MCOUNT;
27240 + int caller_addr_regno = LR_REGNO;
27242 + /* Be conservative and always set this, at least for now. */
27243 + crtl->uses_pic_offset_table = 1;
27245 +#if TARGET_MACHO
27246 + /* For PIC code, set up a stub and collect the caller's address
27247 + from r0, which is where the prologue puts it. */
27248 + if (MACHOPIC_INDIRECT
27249 + && crtl->uses_pic_offset_table)
27250 + caller_addr_regno = 0;
27251 +#endif
27252 + emit_library_call (gen_rtx_SYMBOL_REF (Pmode, mcount_name),
27253 + LCT_NORMAL, VOIDmode, 1,
27254 + gen_rtx_REG (Pmode, caller_addr_regno), Pmode);
27258 +/* Write function profiler code. */
27260 +void
27261 +output_function_profiler (FILE *file, int labelno)
27263 + char buf[100];
27265 + switch (DEFAULT_ABI)
27267 + default:
27268 + gcc_unreachable ();
27270 + case ABI_V4:
27271 + if (!TARGET_32BIT)
27273 + warning (0, "no profiling of 64-bit code for this ABI");
27274 + return;
27276 + ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno);
27277 + fprintf (file, "\tmflr %s\n", reg_names[0]);
27278 + if (NO_PROFILE_COUNTERS)
27280 + asm_fprintf (file, "\tstw %s,4(%s)\n",
27281 + reg_names[0], reg_names[1]);
27283 + else if (TARGET_SECURE_PLT && flag_pic)
27285 + if (TARGET_LINK_STACK)
27287 + char name[32];
27288 + get_ppc476_thunk_name (name);
27289 + asm_fprintf (file, "\tbl %s\n", name);
27291 + else
27292 + asm_fprintf (file, "\tbcl 20,31,1f\n1:\n");
27293 + asm_fprintf (file, "\tstw %s,4(%s)\n",
27294 + reg_names[0], reg_names[1]);
27295 + asm_fprintf (file, "\tmflr %s\n", reg_names[12]);
27296 + asm_fprintf (file, "\taddis %s,%s,",
27297 + reg_names[12], reg_names[12]);
27298 + assemble_name (file, buf);
27299 + asm_fprintf (file, "-1b@ha\n\tla %s,", reg_names[0]);
27300 + assemble_name (file, buf);
27301 + asm_fprintf (file, "-1b@l(%s)\n", reg_names[12]);
27303 + else if (flag_pic == 1)
27305 + fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file);
27306 + asm_fprintf (file, "\tstw %s,4(%s)\n",
27307 + reg_names[0], reg_names[1]);
27308 + asm_fprintf (file, "\tmflr %s\n", reg_names[12]);
27309 + asm_fprintf (file, "\tlwz %s,", reg_names[0]);
27310 + assemble_name (file, buf);
27311 + asm_fprintf (file, "@got(%s)\n", reg_names[12]);
27313 + else if (flag_pic > 1)
27315 + asm_fprintf (file, "\tstw %s,4(%s)\n",
27316 + reg_names[0], reg_names[1]);
27317 + /* Now, we need to get the address of the label. */
27318 + if (TARGET_LINK_STACK)
27320 + char name[32];
27321 + get_ppc476_thunk_name (name);
27322 + asm_fprintf (file, "\tbl %s\n\tb 1f\n\t.long ", name);
27323 + assemble_name (file, buf);
27324 + fputs ("-.\n1:", file);
27325 + asm_fprintf (file, "\tmflr %s\n", reg_names[11]);
27326 + asm_fprintf (file, "\taddi %s,%s,4\n",
27327 + reg_names[11], reg_names[11]);
27329 + else
27331 + fputs ("\tbcl 20,31,1f\n\t.long ", file);
27332 + assemble_name (file, buf);
27333 + fputs ("-.\n1:", file);
27334 + asm_fprintf (file, "\tmflr %s\n", reg_names[11]);
27336 + asm_fprintf (file, "\tlwz %s,0(%s)\n",
27337 + reg_names[0], reg_names[11]);
27338 + asm_fprintf (file, "\tadd %s,%s,%s\n",
27339 + reg_names[0], reg_names[0], reg_names[11]);
27341 + else
27343 + asm_fprintf (file, "\tlis %s,", reg_names[12]);
27344 + assemble_name (file, buf);
27345 + fputs ("@ha\n", file);
27346 + asm_fprintf (file, "\tstw %s,4(%s)\n",
27347 + reg_names[0], reg_names[1]);
27348 + asm_fprintf (file, "\tla %s,", reg_names[0]);
27349 + assemble_name (file, buf);
27350 + asm_fprintf (file, "@l(%s)\n", reg_names[12]);
27353 + /* ABI_V4 saves the static chain reg with ASM_OUTPUT_REG_PUSH. */
27354 + fprintf (file, "\tbl %s%s\n",
27355 + RS6000_MCOUNT, flag_pic ? "@plt" : "");
27356 + break;
27358 + case ABI_AIX:
27359 + case ABI_ELFv2:
27360 + case ABI_DARWIN:
27361 + /* Don't do anything, done in output_profile_hook (). */
27362 + break;
27368 +/* The following variable value is the last issued insn. */
27370 +static rtx last_scheduled_insn;
27372 +/* The following variable helps to balance issuing of load and
27373 + store instructions */
27375 +static int load_store_pendulum;
27377 +/* Power4 load update and store update instructions are cracked into a
27378 + load or store and an integer insn which are executed in the same cycle.
27379 + Branches have their own dispatch slot which does not count against the
27380 + GCC issue rate, but it changes the program flow so there are no other
27381 + instructions to issue in this cycle. */
27383 +static int
27384 +rs6000_variable_issue_1 (rtx_insn *insn, int more)
27386 + last_scheduled_insn = insn;
27387 + if (GET_CODE (PATTERN (insn)) == USE
27388 + || GET_CODE (PATTERN (insn)) == CLOBBER)
27390 + cached_can_issue_more = more;
27391 + return cached_can_issue_more;
27394 + if (insn_terminates_group_p (insn, current_group))
27396 + cached_can_issue_more = 0;
27397 + return cached_can_issue_more;
27400 + /* If no reservation, but reach here */
27401 + if (recog_memoized (insn) < 0)
27402 + return more;
27404 + if (rs6000_sched_groups)
27406 + if (is_microcoded_insn (insn))
27407 + cached_can_issue_more = 0;
27408 + else if (is_cracked_insn (insn))
27409 + cached_can_issue_more = more > 2 ? more - 2 : 0;
27410 + else
27411 + cached_can_issue_more = more - 1;
27413 + return cached_can_issue_more;
27416 + if (rs6000_cpu_attr == CPU_CELL && is_nonpipeline_insn (insn))
27417 + return 0;
27419 + cached_can_issue_more = more - 1;
27420 + return cached_can_issue_more;
27423 +static int
27424 +rs6000_variable_issue (FILE *stream, int verbose, rtx_insn *insn, int more)
27426 + int r = rs6000_variable_issue_1 (insn, more);
27427 + if (verbose)
27428 + fprintf (stream, "// rs6000_variable_issue (more = %d) = %d\n", more, r);
27429 + return r;
27432 +/* Adjust the cost of a scheduling dependency. Return the new cost of
27433 + a dependency LINK or INSN on DEP_INSN. COST is the current cost. */
27435 +static int
27436 +rs6000_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn, int cost)
27438 + enum attr_type attr_type;
27440 + if (! recog_memoized (insn))
27441 + return 0;
27443 + switch (REG_NOTE_KIND (link))
27445 + case REG_DEP_TRUE:
27447 + /* Data dependency; DEP_INSN writes a register that INSN reads
27448 + some cycles later. */
27450 + /* Separate a load from a narrower, dependent store. */
27451 + if (rs6000_sched_groups
27452 + && GET_CODE (PATTERN (insn)) == SET
27453 + && GET_CODE (PATTERN (dep_insn)) == SET
27454 + && GET_CODE (XEXP (PATTERN (insn), 1)) == MEM
27455 + && GET_CODE (XEXP (PATTERN (dep_insn), 0)) == MEM
27456 + && (GET_MODE_SIZE (GET_MODE (XEXP (PATTERN (insn), 1)))
27457 + > GET_MODE_SIZE (GET_MODE (XEXP (PATTERN (dep_insn), 0)))))
27458 + return cost + 14;
27460 + attr_type = get_attr_type (insn);
27462 + switch (attr_type)
27464 + case TYPE_JMPREG:
27465 + /* Tell the first scheduling pass about the latency between
27466 + a mtctr and bctr (and mtlr and br/blr). The first
27467 + scheduling pass will not know about this latency since
27468 + the mtctr instruction, which has the latency associated
27469 + to it, will be generated by reload. */
27470 + return 4;
27471 + case TYPE_BRANCH:
27472 + /* Leave some extra cycles between a compare and its
27473 + dependent branch, to inhibit expensive mispredicts. */
27474 + if ((rs6000_cpu_attr == CPU_PPC603
27475 + || rs6000_cpu_attr == CPU_PPC604
27476 + || rs6000_cpu_attr == CPU_PPC604E
27477 + || rs6000_cpu_attr == CPU_PPC620
27478 + || rs6000_cpu_attr == CPU_PPC630
27479 + || rs6000_cpu_attr == CPU_PPC750
27480 + || rs6000_cpu_attr == CPU_PPC7400
27481 + || rs6000_cpu_attr == CPU_PPC7450
27482 + || rs6000_cpu_attr == CPU_PPCE5500
27483 + || rs6000_cpu_attr == CPU_PPCE6500
27484 + || rs6000_cpu_attr == CPU_POWER4
27485 + || rs6000_cpu_attr == CPU_POWER5
27486 + || rs6000_cpu_attr == CPU_POWER7
27487 + || rs6000_cpu_attr == CPU_POWER8
27488 + || rs6000_cpu_attr == CPU_CELL)
27489 + && recog_memoized (dep_insn)
27490 + && (INSN_CODE (dep_insn) >= 0))
27492 + switch (get_attr_type (dep_insn))
27494 + case TYPE_CMP:
27495 + case TYPE_FPCOMPARE:
27496 + case TYPE_CR_LOGICAL:
27497 + case TYPE_DELAYED_CR:
27498 + return cost + 2;
27499 + case TYPE_EXTS:
27500 + case TYPE_MUL:
27501 + if (get_attr_dot (dep_insn) == DOT_YES)
27502 + return cost + 2;
27503 + else
27504 + break;
27505 + case TYPE_SHIFT:
27506 + if (get_attr_dot (dep_insn) == DOT_YES
27507 + && get_attr_var_shift (dep_insn) == VAR_SHIFT_NO)
27508 + return cost + 2;
27509 + else
27510 + break;
27511 + default:
27512 + break;
27514 + break;
27516 + case TYPE_STORE:
27517 + case TYPE_FPSTORE:
27518 + if ((rs6000_cpu == PROCESSOR_POWER6)
27519 + && recog_memoized (dep_insn)
27520 + && (INSN_CODE (dep_insn) >= 0))
27523 + if (GET_CODE (PATTERN (insn)) != SET)
27524 + /* If this happens, we have to extend this to schedule
27525 + optimally. Return default for now. */
27526 + return cost;
27528 + /* Adjust the cost for the case where the value written
27529 + by a fixed point operation is used as the address
27530 + gen value on a store. */
27531 + switch (get_attr_type (dep_insn))
27533 + case TYPE_LOAD:
27534 + case TYPE_CNTLZ:
27536 + if (! store_data_bypass_p (dep_insn, insn))
27537 + return get_attr_sign_extend (dep_insn)
27538 + == SIGN_EXTEND_YES ? 6 : 4;
27539 + break;
27541 + case TYPE_SHIFT:
27543 + if (! store_data_bypass_p (dep_insn, insn))
27544 + return get_attr_var_shift (dep_insn) == VAR_SHIFT_YES ?
27545 + 6 : 3;
27546 + break;
27548 + case TYPE_INTEGER:
27549 + case TYPE_ADD:
27550 + case TYPE_LOGICAL:
27551 + case TYPE_EXTS:
27552 + case TYPE_INSERT:
27554 + if (! store_data_bypass_p (dep_insn, insn))
27555 + return 3;
27556 + break;
27558 + case TYPE_STORE:
27559 + case TYPE_FPLOAD:
27560 + case TYPE_FPSTORE:
27562 + if (get_attr_update (dep_insn) == UPDATE_YES
27563 + && ! store_data_bypass_p (dep_insn, insn))
27564 + return 3;
27565 + break;
27567 + case TYPE_MUL:
27569 + if (! store_data_bypass_p (dep_insn, insn))
27570 + return 17;
27571 + break;
27573 + case TYPE_DIV:
27575 + if (! store_data_bypass_p (dep_insn, insn))
27576 + return get_attr_size (dep_insn) == SIZE_32 ? 45 : 57;
27577 + break;
27579 + default:
27580 + break;
27583 + break;
27585 + case TYPE_LOAD:
27586 + if ((rs6000_cpu == PROCESSOR_POWER6)
27587 + && recog_memoized (dep_insn)
27588 + && (INSN_CODE (dep_insn) >= 0))
27591 + /* Adjust the cost for the case where the value written
27592 + by a fixed point instruction is used within the address
27593 + gen portion of a subsequent load(u)(x) */
27594 + switch (get_attr_type (dep_insn))
27596 + case TYPE_LOAD:
27597 + case TYPE_CNTLZ:
27599 + if (set_to_load_agen (dep_insn, insn))
27600 + return get_attr_sign_extend (dep_insn)
27601 + == SIGN_EXTEND_YES ? 6 : 4;
27602 + break;
27604 + case TYPE_SHIFT:
27606 + if (set_to_load_agen (dep_insn, insn))
27607 + return get_attr_var_shift (dep_insn) == VAR_SHIFT_YES ?
27608 + 6 : 3;
27609 + break;
27611 + case TYPE_INTEGER:
27612 + case TYPE_ADD:
27613 + case TYPE_LOGICAL:
27614 + case TYPE_EXTS:
27615 + case TYPE_INSERT:
27617 + if (set_to_load_agen (dep_insn, insn))
27618 + return 3;
27619 + break;
27621 + case TYPE_STORE:
27622 + case TYPE_FPLOAD:
27623 + case TYPE_FPSTORE:
27625 + if (get_attr_update (dep_insn) == UPDATE_YES
27626 + && set_to_load_agen (dep_insn, insn))
27627 + return 3;
27628 + break;
27630 + case TYPE_MUL:
27632 + if (set_to_load_agen (dep_insn, insn))
27633 + return 17;
27634 + break;
27636 + case TYPE_DIV:
27638 + if (set_to_load_agen (dep_insn, insn))
27639 + return get_attr_size (dep_insn) == SIZE_32 ? 45 : 57;
27640 + break;
27642 + default:
27643 + break;
27646 + break;
27648 + case TYPE_FPLOAD:
27649 + if ((rs6000_cpu == PROCESSOR_POWER6)
27650 + && get_attr_update (insn) == UPDATE_NO
27651 + && recog_memoized (dep_insn)
27652 + && (INSN_CODE (dep_insn) >= 0)
27653 + && (get_attr_type (dep_insn) == TYPE_MFFGPR))
27654 + return 2;
27656 + default:
27657 + break;
27660 + /* Fall out to return default cost. */
27662 + break;
27664 + case REG_DEP_OUTPUT:
27665 + /* Output dependency; DEP_INSN writes a register that INSN writes some
27666 + cycles later. */
27667 + if ((rs6000_cpu == PROCESSOR_POWER6)
27668 + && recog_memoized (dep_insn)
27669 + && (INSN_CODE (dep_insn) >= 0))
27671 + attr_type = get_attr_type (insn);
27673 + switch (attr_type)
27675 + case TYPE_FP:
27676 + if (get_attr_type (dep_insn) == TYPE_FP)
27677 + return 1;
27678 + break;
27679 + case TYPE_FPLOAD:
27680 + if (get_attr_update (insn) == UPDATE_NO
27681 + && get_attr_type (dep_insn) == TYPE_MFFGPR)
27682 + return 2;
27683 + break;
27684 + default:
27685 + break;
27688 + case REG_DEP_ANTI:
27689 + /* Anti dependency; DEP_INSN reads a register that INSN writes some
27690 + cycles later. */
27691 + return 0;
27693 + default:
27694 + gcc_unreachable ();
27697 + return cost;
27700 +/* Debug version of rs6000_adjust_cost. */
27702 +static int
27703 +rs6000_debug_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn,
27704 + int cost)
27706 + int ret = rs6000_adjust_cost (insn, link, dep_insn, cost);
27708 + if (ret != cost)
27710 + const char *dep;
27712 + switch (REG_NOTE_KIND (link))
27714 + default: dep = "unknown depencency"; break;
27715 + case REG_DEP_TRUE: dep = "data dependency"; break;
27716 + case REG_DEP_OUTPUT: dep = "output dependency"; break;
27717 + case REG_DEP_ANTI: dep = "anti depencency"; break;
27720 + fprintf (stderr,
27721 + "\nrs6000_adjust_cost, final cost = %d, orig cost = %d, "
27722 + "%s, insn:\n", ret, cost, dep);
27724 + debug_rtx (insn);
27727 + return ret;
27730 +/* The function returns a true if INSN is microcoded.
27731 + Return false otherwise. */
27733 +static bool
27734 +is_microcoded_insn (rtx_insn *insn)
27736 + if (!insn || !NONDEBUG_INSN_P (insn)
27737 + || GET_CODE (PATTERN (insn)) == USE
27738 + || GET_CODE (PATTERN (insn)) == CLOBBER)
27739 + return false;
27741 + if (rs6000_cpu_attr == CPU_CELL)
27742 + return get_attr_cell_micro (insn) == CELL_MICRO_ALWAYS;
27744 + if (rs6000_sched_groups
27745 + && (rs6000_cpu == PROCESSOR_POWER4 || rs6000_cpu == PROCESSOR_POWER5))
27747 + enum attr_type type = get_attr_type (insn);
27748 + if ((type == TYPE_LOAD
27749 + && get_attr_update (insn) == UPDATE_YES
27750 + && get_attr_sign_extend (insn) == SIGN_EXTEND_YES)
27751 + || ((type == TYPE_LOAD || type == TYPE_STORE)
27752 + && get_attr_update (insn) == UPDATE_YES
27753 + && get_attr_indexed (insn) == INDEXED_YES)
27754 + || type == TYPE_MFCR)
27755 + return true;
27758 + return false;
27761 +/* The function returns true if INSN is cracked into 2 instructions
27762 + by the processor (and therefore occupies 2 issue slots). */
27764 +static bool
27765 +is_cracked_insn (rtx_insn *insn)
27767 + if (!insn || !NONDEBUG_INSN_P (insn)
27768 + || GET_CODE (PATTERN (insn)) == USE
27769 + || GET_CODE (PATTERN (insn)) == CLOBBER)
27770 + return false;
27772 + if (rs6000_sched_groups
27773 + && (rs6000_cpu == PROCESSOR_POWER4 || rs6000_cpu == PROCESSOR_POWER5))
27775 + enum attr_type type = get_attr_type (insn);
27776 + if ((type == TYPE_LOAD
27777 + && get_attr_sign_extend (insn) == SIGN_EXTEND_YES
27778 + && get_attr_update (insn) == UPDATE_NO)
27779 + || (type == TYPE_LOAD
27780 + && get_attr_sign_extend (insn) == SIGN_EXTEND_NO
27781 + && get_attr_update (insn) == UPDATE_YES
27782 + && get_attr_indexed (insn) == INDEXED_NO)
27783 + || (type == TYPE_STORE
27784 + && get_attr_update (insn) == UPDATE_YES
27785 + && get_attr_indexed (insn) == INDEXED_NO)
27786 + || ((type == TYPE_FPLOAD || type == TYPE_FPSTORE)
27787 + && get_attr_update (insn) == UPDATE_YES)
27788 + || type == TYPE_DELAYED_CR
27789 + || (type == TYPE_EXTS
27790 + && get_attr_dot (insn) == DOT_YES)
27791 + || (type == TYPE_SHIFT
27792 + && get_attr_dot (insn) == DOT_YES
27793 + && get_attr_var_shift (insn) == VAR_SHIFT_NO)
27794 + || (type == TYPE_MUL
27795 + && get_attr_dot (insn) == DOT_YES)
27796 + || type == TYPE_DIV
27797 + || (type == TYPE_INSERT
27798 + && get_attr_size (insn) == SIZE_32))
27799 + return true;
27802 + return false;
27805 +/* The function returns true if INSN can be issued only from
27806 + the branch slot. */
27808 +static bool
27809 +is_branch_slot_insn (rtx_insn *insn)
27811 + if (!insn || !NONDEBUG_INSN_P (insn)
27812 + || GET_CODE (PATTERN (insn)) == USE
27813 + || GET_CODE (PATTERN (insn)) == CLOBBER)
27814 + return false;
27816 + if (rs6000_sched_groups)
27818 + enum attr_type type = get_attr_type (insn);
27819 + if (type == TYPE_BRANCH || type == TYPE_JMPREG)
27820 + return true;
27821 + return false;
27824 + return false;
27827 +/* The function returns true if out_inst sets a value that is
27828 + used in the address generation computation of in_insn */
27829 +static bool
27830 +set_to_load_agen (rtx_insn *out_insn, rtx_insn *in_insn)
27832 + rtx out_set, in_set;
27834 + /* For performance reasons, only handle the simple case where
27835 + both loads are a single_set. */
27836 + out_set = single_set (out_insn);
27837 + if (out_set)
27839 + in_set = single_set (in_insn);
27840 + if (in_set)
27841 + return reg_mentioned_p (SET_DEST (out_set), SET_SRC (in_set));
27844 + return false;
27847 +/* Try to determine base/offset/size parts of the given MEM.
27848 + Return true if successful, false if all the values couldn't
27849 + be determined.
27851 + This function only looks for REG or REG+CONST address forms.
27852 + REG+REG address form will return false. */
27854 +static bool
27855 +get_memref_parts (rtx mem, rtx *base, HOST_WIDE_INT *offset,
27856 + HOST_WIDE_INT *size)
27858 + rtx addr_rtx;
27859 + if MEM_SIZE_KNOWN_P (mem)
27860 + *size = MEM_SIZE (mem);
27861 + else
27862 + return false;
27864 + if (GET_CODE (XEXP (mem, 0)) == PRE_MODIFY)
27865 + addr_rtx = XEXP (XEXP (mem, 0), 1);
27866 + else
27867 + addr_rtx = (XEXP (mem, 0));
27869 + if (GET_CODE (addr_rtx) == REG)
27871 + *base = addr_rtx;
27872 + *offset = 0;
27874 + else if (GET_CODE (addr_rtx) == PLUS
27875 + && CONST_INT_P (XEXP (addr_rtx, 1)))
27877 + *base = XEXP (addr_rtx, 0);
27878 + *offset = INTVAL (XEXP (addr_rtx, 1));
27880 + else
27881 + return false;
27883 + return true;
27886 +/* The function returns true if the target storage location of
27887 + mem1 is adjacent to the target storage location of mem2 */
27888 +/* Return 1 if memory locations are adjacent. */
27890 +static bool
27891 +adjacent_mem_locations (rtx mem1, rtx mem2)
27893 + rtx reg1, reg2;
27894 + HOST_WIDE_INT off1, size1, off2, size2;
27896 + if (get_memref_parts (mem1, &reg1, &off1, &size1)
27897 + && get_memref_parts (mem2, &reg2, &off2, &size2))
27898 + return ((REGNO (reg1) == REGNO (reg2))
27899 + && ((off1 + size1 == off2)
27900 + || (off2 + size2 == off1)));
27902 + return false;
27905 +/* This function returns true if it can be determined that the two MEM
27906 + locations overlap by at least 1 byte based on base reg/offset/size. */
27908 +static bool
27909 +mem_locations_overlap (rtx mem1, rtx mem2)
27911 + rtx reg1, reg2;
27912 + HOST_WIDE_INT off1, size1, off2, size2;
27914 + if (get_memref_parts (mem1, &reg1, &off1, &size1)
27915 + && get_memref_parts (mem2, &reg2, &off2, &size2))
27916 + return ((REGNO (reg1) == REGNO (reg2))
27917 + && (((off1 <= off2) && (off1 + size1 > off2))
27918 + || ((off2 <= off1) && (off2 + size2 > off1))));
27920 + return false;
27923 +/* A C statement (sans semicolon) to update the integer scheduling
27924 + priority INSN_PRIORITY (INSN). Increase the priority to execute the
27925 + INSN earlier, reduce the priority to execute INSN later. Do not
27926 + define this macro if you do not need to adjust the scheduling
27927 + priorities of insns. */
27929 +static int
27930 +rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
27932 + rtx load_mem, str_mem;
27933 + /* On machines (like the 750) which have asymmetric integer units,
27934 + where one integer unit can do multiply and divides and the other
27935 + can't, reduce the priority of multiply/divide so it is scheduled
27936 + before other integer operations. */
27938 +#if 0
27939 + if (! INSN_P (insn))
27940 + return priority;
27942 + if (GET_CODE (PATTERN (insn)) == USE)
27943 + return priority;
27945 + switch (rs6000_cpu_attr) {
27946 + case CPU_PPC750:
27947 + switch (get_attr_type (insn))
27949 + default:
27950 + break;
27952 + case TYPE_MUL:
27953 + case TYPE_DIV:
27954 + fprintf (stderr, "priority was %#x (%d) before adjustment\n",
27955 + priority, priority);
27956 + if (priority >= 0 && priority < 0x01000000)
27957 + priority >>= 3;
27958 + break;
27961 +#endif
27963 + if (insn_must_be_first_in_group (insn)
27964 + && reload_completed
27965 + && current_sched_info->sched_max_insns_priority
27966 + && rs6000_sched_restricted_insns_priority)
27969 + /* Prioritize insns that can be dispatched only in the first
27970 + dispatch slot. */
27971 + if (rs6000_sched_restricted_insns_priority == 1)
27972 + /* Attach highest priority to insn. This means that in
27973 + haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
27974 + precede 'priority' (critical path) considerations. */
27975 + return current_sched_info->sched_max_insns_priority;
27976 + else if (rs6000_sched_restricted_insns_priority == 2)
27977 + /* Increase priority of insn by a minimal amount. This means that in
27978 + haifa-sched.c:ready_sort(), only 'priority' (critical path)
27979 + considerations precede dispatch-slot restriction considerations. */
27980 + return (priority + 1);
27983 + if (rs6000_cpu == PROCESSOR_POWER6
27984 + && ((load_store_pendulum == -2 && is_load_insn (insn, &load_mem))
27985 + || (load_store_pendulum == 2 && is_store_insn (insn, &str_mem))))
27986 + /* Attach highest priority to insn if the scheduler has just issued two
27987 + stores and this instruction is a load, or two loads and this instruction
27988 + is a store. Power6 wants loads and stores scheduled alternately
27989 + when possible */
27990 + return current_sched_info->sched_max_insns_priority;
27992 + return priority;
27995 +/* Return true if the instruction is nonpipelined on the Cell. */
27996 +static bool
27997 +is_nonpipeline_insn (rtx_insn *insn)
27999 + enum attr_type type;
28000 + if (!insn || !NONDEBUG_INSN_P (insn)
28001 + || GET_CODE (PATTERN (insn)) == USE
28002 + || GET_CODE (PATTERN (insn)) == CLOBBER)
28003 + return false;
28005 + type = get_attr_type (insn);
28006 + if (type == TYPE_MUL
28007 + || type == TYPE_DIV
28008 + || type == TYPE_SDIV
28009 + || type == TYPE_DDIV
28010 + || type == TYPE_SSQRT
28011 + || type == TYPE_DSQRT
28012 + || type == TYPE_MFCR
28013 + || type == TYPE_MFCRF
28014 + || type == TYPE_MFJMPR)
28016 + return true;
28018 + return false;
28022 +/* Return how many instructions the machine can issue per cycle. */
28024 +static int
28025 +rs6000_issue_rate (void)
28027 + /* Unless scheduling for register pressure, use issue rate of 1 for
28028 + first scheduling pass to decrease degradation. */
28029 + if (!reload_completed && !flag_sched_pressure)
28030 + return 1;
28032 + switch (rs6000_cpu_attr) {
28033 + case CPU_RS64A:
28034 + case CPU_PPC601: /* ? */
28035 + case CPU_PPC7450:
28036 + return 3;
28037 + case CPU_PPC440:
28038 + case CPU_PPC603:
28039 + case CPU_PPC750:
28040 + case CPU_PPC7400:
28041 + case CPU_PPC8540:
28042 + case CPU_PPC8548:
28043 + case CPU_CELL:
28044 + case CPU_PPCE300C2:
28045 + case CPU_PPCE300C3:
28046 + case CPU_PPCE500MC:
28047 + case CPU_PPCE500MC64:
28048 + case CPU_PPCE5500:
28049 + case CPU_PPCE6500:
28050 + case CPU_TITAN:
28051 + return 2;
28052 + case CPU_PPC476:
28053 + case CPU_PPC604:
28054 + case CPU_PPC604E:
28055 + case CPU_PPC620:
28056 + case CPU_PPC630:
28057 + return 4;
28058 + case CPU_POWER4:
28059 + case CPU_POWER5:
28060 + case CPU_POWER6:
28061 + case CPU_POWER7:
28062 + return 5;
28063 + case CPU_POWER8:
28064 + return 7;
28065 + default:
28066 + return 1;
28070 +/* Return how many instructions to look ahead for better insn
28071 + scheduling. */
28073 +static int
28074 +rs6000_use_sched_lookahead (void)
28076 + switch (rs6000_cpu_attr)
28078 + case CPU_PPC8540:
28079 + case CPU_PPC8548:
28080 + return 4;
28082 + case CPU_CELL:
28083 + return (reload_completed ? 8 : 0);
28085 + default:
28086 + return 0;
28090 +/* We are choosing insn from the ready queue. Return zero if INSN can be
28091 + chosen. */
28092 +static int
28093 +rs6000_use_sched_lookahead_guard (rtx_insn *insn, int ready_index)
28095 + if (ready_index == 0)
28096 + return 0;
28098 + if (rs6000_cpu_attr != CPU_CELL)
28099 + return 0;
28101 + gcc_assert (insn != NULL_RTX && INSN_P (insn));
28103 + if (!reload_completed
28104 + || is_nonpipeline_insn (insn)
28105 + || is_microcoded_insn (insn))
28106 + return 1;
28108 + return 0;
28111 +/* Determine if PAT refers to memory. If so, set MEM_REF to the MEM rtx
28112 + and return true. */
28114 +static bool
28115 +find_mem_ref (rtx pat, rtx *mem_ref)
28117 + const char * fmt;
28118 + int i, j;
28120 + /* stack_tie does not produce any real memory traffic. */
28121 + if (tie_operand (pat, VOIDmode))
28122 + return false;
28124 + if (GET_CODE (pat) == MEM)
28126 + *mem_ref = pat;
28127 + return true;
28130 + /* Recursively process the pattern. */
28131 + fmt = GET_RTX_FORMAT (GET_CODE (pat));
28133 + for (i = GET_RTX_LENGTH (GET_CODE (pat)) - 1; i >= 0; i--)
28135 + if (fmt[i] == 'e')
28137 + if (find_mem_ref (XEXP (pat, i), mem_ref))
28138 + return true;
28140 + else if (fmt[i] == 'E')
28141 + for (j = XVECLEN (pat, i) - 1; j >= 0; j--)
28143 + if (find_mem_ref (XVECEXP (pat, i, j), mem_ref))
28144 + return true;
28148 + return false;
28151 +/* Determine if PAT is a PATTERN of a load insn. */
28153 +static bool
28154 +is_load_insn1 (rtx pat, rtx *load_mem)
28156 + if (!pat || pat == NULL_RTX)
28157 + return false;
28159 + if (GET_CODE (pat) == SET)
28160 + return find_mem_ref (SET_SRC (pat), load_mem);
28162 + if (GET_CODE (pat) == PARALLEL)
28164 + int i;
28166 + for (i = 0; i < XVECLEN (pat, 0); i++)
28167 + if (is_load_insn1 (XVECEXP (pat, 0, i), load_mem))
28168 + return true;
28171 + return false;
28174 +/* Determine if INSN loads from memory. */
28176 +static bool
28177 +is_load_insn (rtx insn, rtx *load_mem)
28179 + if (!insn || !INSN_P (insn))
28180 + return false;
28182 + if (CALL_P (insn))
28183 + return false;
28185 + return is_load_insn1 (PATTERN (insn), load_mem);
28188 +/* Determine if PAT is a PATTERN of a store insn. */
28190 +static bool
28191 +is_store_insn1 (rtx pat, rtx *str_mem)
28193 + if (!pat || pat == NULL_RTX)
28194 + return false;
28196 + if (GET_CODE (pat) == SET)
28197 + return find_mem_ref (SET_DEST (pat), str_mem);
28199 + if (GET_CODE (pat) == PARALLEL)
28201 + int i;
28203 + for (i = 0; i < XVECLEN (pat, 0); i++)
28204 + if (is_store_insn1 (XVECEXP (pat, 0, i), str_mem))
28205 + return true;
28208 + return false;
28211 +/* Determine if INSN stores to memory. */
28213 +static bool
28214 +is_store_insn (rtx insn, rtx *str_mem)
28216 + if (!insn || !INSN_P (insn))
28217 + return false;
28219 + return is_store_insn1 (PATTERN (insn), str_mem);
28222 +/* Returns whether the dependence between INSN and NEXT is considered
28223 + costly by the given target. */
28225 +static bool
28226 +rs6000_is_costly_dependence (dep_t dep, int cost, int distance)
28228 + rtx insn;
28229 + rtx next;
28230 + rtx load_mem, str_mem;
28232 + /* If the flag is not enabled - no dependence is considered costly;
28233 + allow all dependent insns in the same group.
28234 + This is the most aggressive option. */
28235 + if (rs6000_sched_costly_dep == no_dep_costly)
28236 + return false;
28238 + /* If the flag is set to 1 - a dependence is always considered costly;
28239 + do not allow dependent instructions in the same group.
28240 + This is the most conservative option. */
28241 + if (rs6000_sched_costly_dep == all_deps_costly)
28242 + return true;
28244 + insn = DEP_PRO (dep);
28245 + next = DEP_CON (dep);
28247 + if (rs6000_sched_costly_dep == store_to_load_dep_costly
28248 + && is_load_insn (next, &load_mem)
28249 + && is_store_insn (insn, &str_mem))
28250 + /* Prevent load after store in the same group. */
28251 + return true;
28253 + if (rs6000_sched_costly_dep == true_store_to_load_dep_costly
28254 + && is_load_insn (next, &load_mem)
28255 + && is_store_insn (insn, &str_mem)
28256 + && DEP_TYPE (dep) == REG_DEP_TRUE
28257 + && mem_locations_overlap(str_mem, load_mem))
28258 + /* Prevent load after store in the same group if it is a true
28259 + dependence. */
28260 + return true;
28262 + /* The flag is set to X; dependences with latency >= X are considered costly,
28263 + and will not be scheduled in the same group. */
28264 + if (rs6000_sched_costly_dep <= max_dep_latency
28265 + && ((cost - distance) >= (int)rs6000_sched_costly_dep))
28266 + return true;
28268 + return false;
28271 +/* Return the next insn after INSN that is found before TAIL is reached,
28272 + skipping any "non-active" insns - insns that will not actually occupy
28273 + an issue slot. Return NULL_RTX if such an insn is not found. */
28275 +static rtx_insn *
28276 +get_next_active_insn (rtx_insn *insn, rtx_insn *tail)
28278 + if (insn == NULL_RTX || insn == tail)
28279 + return NULL;
28281 + while (1)
28283 + insn = NEXT_INSN (insn);
28284 + if (insn == NULL_RTX || insn == tail)
28285 + return NULL;
28287 + if (CALL_P (insn)
28288 + || JUMP_P (insn) || JUMP_TABLE_DATA_P (insn)
28289 + || (NONJUMP_INSN_P (insn)
28290 + && GET_CODE (PATTERN (insn)) != USE
28291 + && GET_CODE (PATTERN (insn)) != CLOBBER
28292 + && INSN_CODE (insn) != CODE_FOR_stack_tie))
28293 + break;
28295 + return insn;
28298 +/* We are about to begin issuing insns for this clock cycle. */
28300 +static int
28301 +rs6000_sched_reorder (FILE *dump ATTRIBUTE_UNUSED, int sched_verbose,
28302 + rtx_insn **ready ATTRIBUTE_UNUSED,
28303 + int *pn_ready ATTRIBUTE_UNUSED,
28304 + int clock_var ATTRIBUTE_UNUSED)
28306 + int n_ready = *pn_ready;
28308 + if (sched_verbose)
28309 + fprintf (dump, "// rs6000_sched_reorder :\n");
28311 + /* Reorder the ready list, if the second to last ready insn
28312 + is a nonepipeline insn. */
28313 + if (rs6000_cpu_attr == CPU_CELL && n_ready > 1)
28315 + if (is_nonpipeline_insn (ready[n_ready - 1])
28316 + && (recog_memoized (ready[n_ready - 2]) > 0))
28317 + /* Simply swap first two insns. */
28318 + std::swap (ready[n_ready - 1], ready[n_ready - 2]);
28321 + if (rs6000_cpu == PROCESSOR_POWER6)
28322 + load_store_pendulum = 0;
28324 + return rs6000_issue_rate ();
28327 +/* Like rs6000_sched_reorder, but called after issuing each insn. */
28329 +static int
28330 +rs6000_sched_reorder2 (FILE *dump, int sched_verbose, rtx_insn **ready,
28331 + int *pn_ready, int clock_var ATTRIBUTE_UNUSED)
28333 + if (sched_verbose)
28334 + fprintf (dump, "// rs6000_sched_reorder2 :\n");
28336 + /* For Power6, we need to handle some special cases to try and keep the
28337 + store queue from overflowing and triggering expensive flushes.
28339 + This code monitors how load and store instructions are being issued
28340 + and skews the ready list one way or the other to increase the likelihood
28341 + that a desired instruction is issued at the proper time.
28343 + A couple of things are done. First, we maintain a "load_store_pendulum"
28344 + to track the current state of load/store issue.
28346 + - If the pendulum is at zero, then no loads or stores have been
28347 + issued in the current cycle so we do nothing.
28349 + - If the pendulum is 1, then a single load has been issued in this
28350 + cycle and we attempt to locate another load in the ready list to
28351 + issue with it.
28353 + - If the pendulum is -2, then two stores have already been
28354 + issued in this cycle, so we increase the priority of the first load
28355 + in the ready list to increase it's likelihood of being chosen first
28356 + in the next cycle.
28358 + - If the pendulum is -1, then a single store has been issued in this
28359 + cycle and we attempt to locate another store in the ready list to
28360 + issue with it, preferring a store to an adjacent memory location to
28361 + facilitate store pairing in the store queue.
28363 + - If the pendulum is 2, then two loads have already been
28364 + issued in this cycle, so we increase the priority of the first store
28365 + in the ready list to increase it's likelihood of being chosen first
28366 + in the next cycle.
28368 + - If the pendulum < -2 or > 2, then do nothing.
28370 + Note: This code covers the most common scenarios. There exist non
28371 + load/store instructions which make use of the LSU and which
28372 + would need to be accounted for to strictly model the behavior
28373 + of the machine. Those instructions are currently unaccounted
28374 + for to help minimize compile time overhead of this code.
28375 + */
28376 + if (rs6000_cpu == PROCESSOR_POWER6 && last_scheduled_insn)
28378 + int pos;
28379 + int i;
28380 + rtx_insn *tmp;
28381 + rtx load_mem, str_mem;
28383 + if (is_store_insn (last_scheduled_insn, &str_mem))
28384 + /* Issuing a store, swing the load_store_pendulum to the left */
28385 + load_store_pendulum--;
28386 + else if (is_load_insn (last_scheduled_insn, &load_mem))
28387 + /* Issuing a load, swing the load_store_pendulum to the right */
28388 + load_store_pendulum++;
28389 + else
28390 + return cached_can_issue_more;
28392 + /* If the pendulum is balanced, or there is only one instruction on
28393 + the ready list, then all is well, so return. */
28394 + if ((load_store_pendulum == 0) || (*pn_ready <= 1))
28395 + return cached_can_issue_more;
28397 + if (load_store_pendulum == 1)
28399 + /* A load has been issued in this cycle. Scan the ready list
28400 + for another load to issue with it */
28401 + pos = *pn_ready-1;
28403 + while (pos >= 0)
28405 + if (is_load_insn (ready[pos], &load_mem))
28407 + /* Found a load. Move it to the head of the ready list,
28408 + and adjust it's priority so that it is more likely to
28409 + stay there */
28410 + tmp = ready[pos];
28411 + for (i=pos; i<*pn_ready-1; i++)
28412 + ready[i] = ready[i + 1];
28413 + ready[*pn_ready-1] = tmp;
28415 + if (!sel_sched_p () && INSN_PRIORITY_KNOWN (tmp))
28416 + INSN_PRIORITY (tmp)++;
28417 + break;
28419 + pos--;
28422 + else if (load_store_pendulum == -2)
28424 + /* Two stores have been issued in this cycle. Increase the
28425 + priority of the first load in the ready list to favor it for
28426 + issuing in the next cycle. */
28427 + pos = *pn_ready-1;
28429 + while (pos >= 0)
28431 + if (is_load_insn (ready[pos], &load_mem)
28432 + && !sel_sched_p ()
28433 + && INSN_PRIORITY_KNOWN (ready[pos]))
28435 + INSN_PRIORITY (ready[pos])++;
28437 + /* Adjust the pendulum to account for the fact that a load
28438 + was found and increased in priority. This is to prevent
28439 + increasing the priority of multiple loads */
28440 + load_store_pendulum--;
28442 + break;
28444 + pos--;
28447 + else if (load_store_pendulum == -1)
28449 + /* A store has been issued in this cycle. Scan the ready list for
28450 + another store to issue with it, preferring a store to an adjacent
28451 + memory location */
28452 + int first_store_pos = -1;
28454 + pos = *pn_ready-1;
28456 + while (pos >= 0)
28458 + if (is_store_insn (ready[pos], &str_mem))
28460 + rtx str_mem2;
28461 + /* Maintain the index of the first store found on the
28462 + list */
28463 + if (first_store_pos == -1)
28464 + first_store_pos = pos;
28466 + if (is_store_insn (last_scheduled_insn, &str_mem2)
28467 + && adjacent_mem_locations (str_mem, str_mem2))
28469 + /* Found an adjacent store. Move it to the head of the
28470 + ready list, and adjust it's priority so that it is
28471 + more likely to stay there */
28472 + tmp = ready[pos];
28473 + for (i=pos; i<*pn_ready-1; i++)
28474 + ready[i] = ready[i + 1];
28475 + ready[*pn_ready-1] = tmp;
28477 + if (!sel_sched_p () && INSN_PRIORITY_KNOWN (tmp))
28478 + INSN_PRIORITY (tmp)++;
28480 + first_store_pos = -1;
28482 + break;
28483 + };
28485 + pos--;
28488 + if (first_store_pos >= 0)
28490 + /* An adjacent store wasn't found, but a non-adjacent store was,
28491 + so move the non-adjacent store to the front of the ready
28492 + list, and adjust its priority so that it is more likely to
28493 + stay there. */
28494 + tmp = ready[first_store_pos];
28495 + for (i=first_store_pos; i<*pn_ready-1; i++)
28496 + ready[i] = ready[i + 1];
28497 + ready[*pn_ready-1] = tmp;
28498 + if (!sel_sched_p () && INSN_PRIORITY_KNOWN (tmp))
28499 + INSN_PRIORITY (tmp)++;
28502 + else if (load_store_pendulum == 2)
28504 + /* Two loads have been issued in this cycle. Increase the priority
28505 + of the first store in the ready list to favor it for issuing in
28506 + the next cycle. */
28507 + pos = *pn_ready-1;
28509 + while (pos >= 0)
28511 + if (is_store_insn (ready[pos], &str_mem)
28512 + && !sel_sched_p ()
28513 + && INSN_PRIORITY_KNOWN (ready[pos]))
28515 + INSN_PRIORITY (ready[pos])++;
28517 + /* Adjust the pendulum to account for the fact that a store
28518 + was found and increased in priority. This is to prevent
28519 + increasing the priority of multiple stores */
28520 + load_store_pendulum++;
28522 + break;
28524 + pos--;
28529 + return cached_can_issue_more;
28532 +/* Return whether the presence of INSN causes a dispatch group termination
28533 + of group WHICH_GROUP.
28535 + If WHICH_GROUP == current_group, this function will return true if INSN
28536 + causes the termination of the current group (i.e, the dispatch group to
28537 + which INSN belongs). This means that INSN will be the last insn in the
28538 + group it belongs to.
28540 + If WHICH_GROUP == previous_group, this function will return true if INSN
28541 + causes the termination of the previous group (i.e, the dispatch group that
28542 + precedes the group to which INSN belongs). This means that INSN will be
28543 + the first insn in the group it belongs to). */
28545 +static bool
28546 +insn_terminates_group_p (rtx_insn *insn, enum group_termination which_group)
28548 + bool first, last;
28550 + if (! insn)
28551 + return false;
28553 + first = insn_must_be_first_in_group (insn);
28554 + last = insn_must_be_last_in_group (insn);
28556 + if (first && last)
28557 + return true;
28559 + if (which_group == current_group)
28560 + return last;
28561 + else if (which_group == previous_group)
28562 + return first;
28564 + return false;
28568 +static bool
28569 +insn_must_be_first_in_group (rtx_insn *insn)
28571 + enum attr_type type;
28573 + if (!insn
28574 + || NOTE_P (insn)
28575 + || DEBUG_INSN_P (insn)
28576 + || GET_CODE (PATTERN (insn)) == USE
28577 + || GET_CODE (PATTERN (insn)) == CLOBBER)
28578 + return false;
28580 + switch (rs6000_cpu)
28582 + case PROCESSOR_POWER5:
28583 + if (is_cracked_insn (insn))
28584 + return true;
28585 + case PROCESSOR_POWER4:
28586 + if (is_microcoded_insn (insn))
28587 + return true;
28589 + if (!rs6000_sched_groups)
28590 + return false;
28592 + type = get_attr_type (insn);
28594 + switch (type)
28596 + case TYPE_MFCR:
28597 + case TYPE_MFCRF:
28598 + case TYPE_MTCR:
28599 + case TYPE_DELAYED_CR:
28600 + case TYPE_CR_LOGICAL:
28601 + case TYPE_MTJMPR:
28602 + case TYPE_MFJMPR:
28603 + case TYPE_DIV:
28604 + case TYPE_LOAD_L:
28605 + case TYPE_STORE_C:
28606 + case TYPE_ISYNC:
28607 + case TYPE_SYNC:
28608 + return true;
28609 + default:
28610 + break;
28612 + break;
28613 + case PROCESSOR_POWER6:
28614 + type = get_attr_type (insn);
28616 + switch (type)
28618 + case TYPE_EXTS:
28619 + case TYPE_CNTLZ:
28620 + case TYPE_TRAP:
28621 + case TYPE_MUL:
28622 + case TYPE_INSERT:
28623 + case TYPE_FPCOMPARE:
28624 + case TYPE_MFCR:
28625 + case TYPE_MTCR:
28626 + case TYPE_MFJMPR:
28627 + case TYPE_MTJMPR:
28628 + case TYPE_ISYNC:
28629 + case TYPE_SYNC:
28630 + case TYPE_LOAD_L:
28631 + case TYPE_STORE_C:
28632 + return true;
28633 + case TYPE_SHIFT:
28634 + if (get_attr_dot (insn) == DOT_NO
28635 + || get_attr_var_shift (insn) == VAR_SHIFT_NO)
28636 + return true;
28637 + else
28638 + break;
28639 + case TYPE_DIV:
28640 + if (get_attr_size (insn) == SIZE_32)
28641 + return true;
28642 + else
28643 + break;
28644 + case TYPE_LOAD:
28645 + case TYPE_STORE:
28646 + case TYPE_FPLOAD:
28647 + case TYPE_FPSTORE:
28648 + if (get_attr_update (insn) == UPDATE_YES)
28649 + return true;
28650 + else
28651 + break;
28652 + default:
28653 + break;
28655 + break;
28656 + case PROCESSOR_POWER7:
28657 + type = get_attr_type (insn);
28659 + switch (type)
28661 + case TYPE_CR_LOGICAL:
28662 + case TYPE_MFCR:
28663 + case TYPE_MFCRF:
28664 + case TYPE_MTCR:
28665 + case TYPE_DIV:
28666 + case TYPE_ISYNC:
28667 + case TYPE_LOAD_L:
28668 + case TYPE_STORE_C:
28669 + case TYPE_MFJMPR:
28670 + case TYPE_MTJMPR:
28671 + return true;
28672 + case TYPE_MUL:
28673 + case TYPE_SHIFT:
28674 + case TYPE_EXTS:
28675 + if (get_attr_dot (insn) == DOT_YES)
28676 + return true;
28677 + else
28678 + break;
28679 + case TYPE_LOAD:
28680 + if (get_attr_sign_extend (insn) == SIGN_EXTEND_YES
28681 + || get_attr_update (insn) == UPDATE_YES)
28682 + return true;
28683 + else
28684 + break;
28685 + case TYPE_STORE:
28686 + case TYPE_FPLOAD:
28687 + case TYPE_FPSTORE:
28688 + if (get_attr_update (insn) == UPDATE_YES)
28689 + return true;
28690 + else
28691 + break;
28692 + default:
28693 + break;
28695 + break;
28696 + case PROCESSOR_POWER8:
28697 + type = get_attr_type (insn);
28699 + switch (type)
28701 + case TYPE_CR_LOGICAL:
28702 + case TYPE_DELAYED_CR:
28703 + case TYPE_MFCR:
28704 + case TYPE_MFCRF:
28705 + case TYPE_MTCR:
28706 + case TYPE_SYNC:
28707 + case TYPE_ISYNC:
28708 + case TYPE_LOAD_L:
28709 + case TYPE_STORE_C:
28710 + case TYPE_VECSTORE:
28711 + case TYPE_MFJMPR:
28712 + case TYPE_MTJMPR:
28713 + return true;
28714 + case TYPE_SHIFT:
28715 + case TYPE_EXTS:
28716 + case TYPE_MUL:
28717 + if (get_attr_dot (insn) == DOT_YES)
28718 + return true;
28719 + else
28720 + break;
28721 + case TYPE_LOAD:
28722 + if (get_attr_sign_extend (insn) == SIGN_EXTEND_YES
28723 + || get_attr_update (insn) == UPDATE_YES)
28724 + return true;
28725 + else
28726 + break;
28727 + case TYPE_STORE:
28728 + if (get_attr_update (insn) == UPDATE_YES
28729 + && get_attr_indexed (insn) == INDEXED_YES)
28730 + return true;
28731 + else
28732 + break;
28733 + default:
28734 + break;
28736 + break;
28737 + default:
28738 + break;
28741 + return false;
28744 +static bool
28745 +insn_must_be_last_in_group (rtx_insn *insn)
28747 + enum attr_type type;
28749 + if (!insn
28750 + || NOTE_P (insn)
28751 + || DEBUG_INSN_P (insn)
28752 + || GET_CODE (PATTERN (insn)) == USE
28753 + || GET_CODE (PATTERN (insn)) == CLOBBER)
28754 + return false;
28756 + switch (rs6000_cpu) {
28757 + case PROCESSOR_POWER4:
28758 + case PROCESSOR_POWER5:
28759 + if (is_microcoded_insn (insn))
28760 + return true;
28762 + if (is_branch_slot_insn (insn))
28763 + return true;
28765 + break;
28766 + case PROCESSOR_POWER6:
28767 + type = get_attr_type (insn);
28769 + switch (type)
28771 + case TYPE_EXTS:
28772 + case TYPE_CNTLZ:
28773 + case TYPE_TRAP:
28774 + case TYPE_MUL:
28775 + case TYPE_FPCOMPARE:
28776 + case TYPE_MFCR:
28777 + case TYPE_MTCR:
28778 + case TYPE_MFJMPR:
28779 + case TYPE_MTJMPR:
28780 + case TYPE_ISYNC:
28781 + case TYPE_SYNC:
28782 + case TYPE_LOAD_L:
28783 + case TYPE_STORE_C:
28784 + return true;
28785 + case TYPE_SHIFT:
28786 + if (get_attr_dot (insn) == DOT_NO
28787 + || get_attr_var_shift (insn) == VAR_SHIFT_NO)
28788 + return true;
28789 + else
28790 + break;
28791 + case TYPE_DIV:
28792 + if (get_attr_size (insn) == SIZE_32)
28793 + return true;
28794 + else
28795 + break;
28796 + default:
28797 + break;
28799 + break;
28800 + case PROCESSOR_POWER7:
28801 + type = get_attr_type (insn);
28803 + switch (type)
28805 + case TYPE_ISYNC:
28806 + case TYPE_SYNC:
28807 + case TYPE_LOAD_L:
28808 + case TYPE_STORE_C:
28809 + return true;
28810 + case TYPE_LOAD:
28811 + if (get_attr_sign_extend (insn) == SIGN_EXTEND_YES
28812 + && get_attr_update (insn) == UPDATE_YES)
28813 + return true;
28814 + else
28815 + break;
28816 + case TYPE_STORE:
28817 + if (get_attr_update (insn) == UPDATE_YES
28818 + && get_attr_indexed (insn) == INDEXED_YES)
28819 + return true;
28820 + else
28821 + break;
28822 + default:
28823 + break;
28825 + break;
28826 + case PROCESSOR_POWER8:
28827 + type = get_attr_type (insn);
28829 + switch (type)
28831 + case TYPE_MFCR:
28832 + case TYPE_MTCR:
28833 + case TYPE_ISYNC:
28834 + case TYPE_SYNC:
28835 + case TYPE_LOAD_L:
28836 + case TYPE_STORE_C:
28837 + return true;
28838 + case TYPE_LOAD:
28839 + if (get_attr_sign_extend (insn) == SIGN_EXTEND_YES
28840 + && get_attr_update (insn) == UPDATE_YES)
28841 + return true;
28842 + else
28843 + break;
28844 + case TYPE_STORE:
28845 + if (get_attr_update (insn) == UPDATE_YES
28846 + && get_attr_indexed (insn) == INDEXED_YES)
28847 + return true;
28848 + else
28849 + break;
28850 + default:
28851 + break;
28853 + break;
28854 + default:
28855 + break;
28858 + return false;
28861 +/* Return true if it is recommended to keep NEXT_INSN "far" (in a separate
28862 + dispatch group) from the insns in GROUP_INSNS. Return false otherwise. */
28864 +static bool
28865 +is_costly_group (rtx *group_insns, rtx next_insn)
28867 + int i;
28868 + int issue_rate = rs6000_issue_rate ();
28870 + for (i = 0; i < issue_rate; i++)
28872 + sd_iterator_def sd_it;
28873 + dep_t dep;
28874 + rtx insn = group_insns[i];
28876 + if (!insn)
28877 + continue;
28879 + FOR_EACH_DEP (insn, SD_LIST_RES_FORW, sd_it, dep)
28881 + rtx next = DEP_CON (dep);
28883 + if (next == next_insn
28884 + && rs6000_is_costly_dependence (dep, dep_cost (dep), 0))
28885 + return true;
28889 + return false;
28892 +/* Utility of the function redefine_groups.
28893 + Check if it is too costly to schedule NEXT_INSN together with GROUP_INSNS
28894 + in the same dispatch group. If so, insert nops before NEXT_INSN, in order
28895 + to keep it "far" (in a separate group) from GROUP_INSNS, following
28896 + one of the following schemes, depending on the value of the flag
28897 + -minsert_sched_nops = X:
28898 + (1) X == sched_finish_regroup_exact: insert exactly as many nops as needed
28899 + in order to force NEXT_INSN into a separate group.
28900 + (2) X < sched_finish_regroup_exact: insert exactly X nops.
28901 + GROUP_END, CAN_ISSUE_MORE and GROUP_COUNT record the state after nop
28902 + insertion (has a group just ended, how many vacant issue slots remain in the
28903 + last group, and how many dispatch groups were encountered so far). */
28905 +static int
28906 +force_new_group (int sched_verbose, FILE *dump, rtx *group_insns,
28907 + rtx_insn *next_insn, bool *group_end, int can_issue_more,
28908 + int *group_count)
28910 + rtx nop;
28911 + bool force;
28912 + int issue_rate = rs6000_issue_rate ();
28913 + bool end = *group_end;
28914 + int i;
28916 + if (next_insn == NULL_RTX || DEBUG_INSN_P (next_insn))
28917 + return can_issue_more;
28919 + if (rs6000_sched_insert_nops > sched_finish_regroup_exact)
28920 + return can_issue_more;
28922 + force = is_costly_group (group_insns, next_insn);
28923 + if (!force)
28924 + return can_issue_more;
28926 + if (sched_verbose > 6)
28927 + fprintf (dump,"force: group count = %d, can_issue_more = %d\n",
28928 + *group_count ,can_issue_more);
28930 + if (rs6000_sched_insert_nops == sched_finish_regroup_exact)
28932 + if (*group_end)
28933 + can_issue_more = 0;
28935 + /* Since only a branch can be issued in the last issue_slot, it is
28936 + sufficient to insert 'can_issue_more - 1' nops if next_insn is not
28937 + a branch. If next_insn is a branch, we insert 'can_issue_more' nops;
28938 + in this case the last nop will start a new group and the branch
28939 + will be forced to the new group. */
28940 + if (can_issue_more && !is_branch_slot_insn (next_insn))
28941 + can_issue_more--;
28943 + /* Do we have a special group ending nop? */
28944 + if (rs6000_cpu_attr == CPU_POWER6 || rs6000_cpu_attr == CPU_POWER7
28945 + || rs6000_cpu_attr == CPU_POWER8)
28947 + nop = gen_group_ending_nop ();
28948 + emit_insn_before (nop, next_insn);
28949 + can_issue_more = 0;
28951 + else
28952 + while (can_issue_more > 0)
28954 + nop = gen_nop ();
28955 + emit_insn_before (nop, next_insn);
28956 + can_issue_more--;
28959 + *group_end = true;
28960 + return 0;
28963 + if (rs6000_sched_insert_nops < sched_finish_regroup_exact)
28965 + int n_nops = rs6000_sched_insert_nops;
28967 + /* Nops can't be issued from the branch slot, so the effective
28968 + issue_rate for nops is 'issue_rate - 1'. */
28969 + if (can_issue_more == 0)
28970 + can_issue_more = issue_rate;
28971 + can_issue_more--;
28972 + if (can_issue_more == 0)
28974 + can_issue_more = issue_rate - 1;
28975 + (*group_count)++;
28976 + end = true;
28977 + for (i = 0; i < issue_rate; i++)
28979 + group_insns[i] = 0;
28983 + while (n_nops > 0)
28985 + nop = gen_nop ();
28986 + emit_insn_before (nop, next_insn);
28987 + if (can_issue_more == issue_rate - 1) /* new group begins */
28988 + end = false;
28989 + can_issue_more--;
28990 + if (can_issue_more == 0)
28992 + can_issue_more = issue_rate - 1;
28993 + (*group_count)++;
28994 + end = true;
28995 + for (i = 0; i < issue_rate; i++)
28997 + group_insns[i] = 0;
29000 + n_nops--;
29003 + /* Scale back relative to 'issue_rate' (instead of 'issue_rate - 1'). */
29004 + can_issue_more++;
29006 + /* Is next_insn going to start a new group? */
29007 + *group_end
29008 + = (end
29009 + || (can_issue_more == 1 && !is_branch_slot_insn (next_insn))
29010 + || (can_issue_more <= 2 && is_cracked_insn (next_insn))
29011 + || (can_issue_more < issue_rate &&
29012 + insn_terminates_group_p (next_insn, previous_group)));
29013 + if (*group_end && end)
29014 + (*group_count)--;
29016 + if (sched_verbose > 6)
29017 + fprintf (dump, "done force: group count = %d, can_issue_more = %d\n",
29018 + *group_count, can_issue_more);
29019 + return can_issue_more;
29022 + return can_issue_more;
29025 +/* This function tries to synch the dispatch groups that the compiler "sees"
29026 + with the dispatch groups that the processor dispatcher is expected to
29027 + form in practice. It tries to achieve this synchronization by forcing the
29028 + estimated processor grouping on the compiler (as opposed to the function
29029 + 'pad_goups' which tries to force the scheduler's grouping on the processor).
29031 + The function scans the insn sequence between PREV_HEAD_INSN and TAIL and
29032 + examines the (estimated) dispatch groups that will be formed by the processor
29033 + dispatcher. It marks these group boundaries to reflect the estimated
29034 + processor grouping, overriding the grouping that the scheduler had marked.
29035 + Depending on the value of the flag '-minsert-sched-nops' this function can
29036 + force certain insns into separate groups or force a certain distance between
29037 + them by inserting nops, for example, if there exists a "costly dependence"
29038 + between the insns.
29040 + The function estimates the group boundaries that the processor will form as
29041 + follows: It keeps track of how many vacant issue slots are available after
29042 + each insn. A subsequent insn will start a new group if one of the following
29043 + 4 cases applies:
29044 + - no more vacant issue slots remain in the current dispatch group.
29045 + - only the last issue slot, which is the branch slot, is vacant, but the next
29046 + insn is not a branch.
29047 + - only the last 2 or less issue slots, including the branch slot, are vacant,
29048 + which means that a cracked insn (which occupies two issue slots) can't be
29049 + issued in this group.
29050 + - less than 'issue_rate' slots are vacant, and the next insn always needs to
29051 + start a new group. */
29053 +static int
29054 +redefine_groups (FILE *dump, int sched_verbose, rtx_insn *prev_head_insn,
29055 + rtx_insn *tail)
29057 + rtx_insn *insn, *next_insn;
29058 + int issue_rate;
29059 + int can_issue_more;
29060 + int slot, i;
29061 + bool group_end;
29062 + int group_count = 0;
29063 + rtx *group_insns;
29065 + /* Initialize. */
29066 + issue_rate = rs6000_issue_rate ();
29067 + group_insns = XALLOCAVEC (rtx, issue_rate);
29068 + for (i = 0; i < issue_rate; i++)
29070 + group_insns[i] = 0;
29072 + can_issue_more = issue_rate;
29073 + slot = 0;
29074 + insn = get_next_active_insn (prev_head_insn, tail);
29075 + group_end = false;
29077 + while (insn != NULL_RTX)
29079 + slot = (issue_rate - can_issue_more);
29080 + group_insns[slot] = insn;
29081 + can_issue_more =
29082 + rs6000_variable_issue (dump, sched_verbose, insn, can_issue_more);
29083 + if (insn_terminates_group_p (insn, current_group))
29084 + can_issue_more = 0;
29086 + next_insn = get_next_active_insn (insn, tail);
29087 + if (next_insn == NULL_RTX)
29088 + return group_count + 1;
29090 + /* Is next_insn going to start a new group? */
29091 + group_end
29092 + = (can_issue_more == 0
29093 + || (can_issue_more == 1 && !is_branch_slot_insn (next_insn))
29094 + || (can_issue_more <= 2 && is_cracked_insn (next_insn))
29095 + || (can_issue_more < issue_rate &&
29096 + insn_terminates_group_p (next_insn, previous_group)));
29098 + can_issue_more = force_new_group (sched_verbose, dump, group_insns,
29099 + next_insn, &group_end, can_issue_more,
29100 + &group_count);
29102 + if (group_end)
29104 + group_count++;
29105 + can_issue_more = 0;
29106 + for (i = 0; i < issue_rate; i++)
29108 + group_insns[i] = 0;
29112 + if (GET_MODE (next_insn) == TImode && can_issue_more)
29113 + PUT_MODE (next_insn, VOIDmode);
29114 + else if (!can_issue_more && GET_MODE (next_insn) != TImode)
29115 + PUT_MODE (next_insn, TImode);
29117 + insn = next_insn;
29118 + if (can_issue_more == 0)
29119 + can_issue_more = issue_rate;
29120 + } /* while */
29122 + return group_count;
29125 +/* Scan the insn sequence between PREV_HEAD_INSN and TAIL and examine the
29126 + dispatch group boundaries that the scheduler had marked. Pad with nops
29127 + any dispatch groups which have vacant issue slots, in order to force the
29128 + scheduler's grouping on the processor dispatcher. The function
29129 + returns the number of dispatch groups found. */
29131 +static int
29132 +pad_groups (FILE *dump, int sched_verbose, rtx_insn *prev_head_insn,
29133 + rtx_insn *tail)
29135 + rtx_insn *insn, *next_insn;
29136 + rtx nop;
29137 + int issue_rate;
29138 + int can_issue_more;
29139 + int group_end;
29140 + int group_count = 0;
29142 + /* Initialize issue_rate. */
29143 + issue_rate = rs6000_issue_rate ();
29144 + can_issue_more = issue_rate;
29146 + insn = get_next_active_insn (prev_head_insn, tail);
29147 + next_insn = get_next_active_insn (insn, tail);
29149 + while (insn != NULL_RTX)
29151 + can_issue_more =
29152 + rs6000_variable_issue (dump, sched_verbose, insn, can_issue_more);
29154 + group_end = (next_insn == NULL_RTX || GET_MODE (next_insn) == TImode);
29156 + if (next_insn == NULL_RTX)
29157 + break;
29159 + if (group_end)
29161 + /* If the scheduler had marked group termination at this location
29162 + (between insn and next_insn), and neither insn nor next_insn will
29163 + force group termination, pad the group with nops to force group
29164 + termination. */
29165 + if (can_issue_more
29166 + && (rs6000_sched_insert_nops == sched_finish_pad_groups)
29167 + && !insn_terminates_group_p (insn, current_group)
29168 + && !insn_terminates_group_p (next_insn, previous_group))
29170 + if (!is_branch_slot_insn (next_insn))
29171 + can_issue_more--;
29173 + while (can_issue_more)
29175 + nop = gen_nop ();
29176 + emit_insn_before (nop, next_insn);
29177 + can_issue_more--;
29181 + can_issue_more = issue_rate;
29182 + group_count++;
29185 + insn = next_insn;
29186 + next_insn = get_next_active_insn (insn, tail);
29189 + return group_count;
29192 +/* We're beginning a new block. Initialize data structures as necessary. */
29194 +static void
29195 +rs6000_sched_init (FILE *dump ATTRIBUTE_UNUSED,
29196 + int sched_verbose ATTRIBUTE_UNUSED,
29197 + int max_ready ATTRIBUTE_UNUSED)
29199 + last_scheduled_insn = NULL_RTX;
29200 + load_store_pendulum = 0;
29203 +/* The following function is called at the end of scheduling BB.
29204 + After reload, it inserts nops at insn group bundling. */
29206 +static void
29207 +rs6000_sched_finish (FILE *dump, int sched_verbose)
29209 + int n_groups;
29211 + if (sched_verbose)
29212 + fprintf (dump, "=== Finishing schedule.\n");
29214 + if (reload_completed && rs6000_sched_groups)
29216 + /* Do not run sched_finish hook when selective scheduling enabled. */
29217 + if (sel_sched_p ())
29218 + return;
29220 + if (rs6000_sched_insert_nops == sched_finish_none)
29221 + return;
29223 + if (rs6000_sched_insert_nops == sched_finish_pad_groups)
29224 + n_groups = pad_groups (dump, sched_verbose,
29225 + current_sched_info->prev_head,
29226 + current_sched_info->next_tail);
29227 + else
29228 + n_groups = redefine_groups (dump, sched_verbose,
29229 + current_sched_info->prev_head,
29230 + current_sched_info->next_tail);
29232 + if (sched_verbose >= 6)
29234 + fprintf (dump, "ngroups = %d\n", n_groups);
29235 + print_rtl (dump, current_sched_info->prev_head);
29236 + fprintf (dump, "Done finish_sched\n");
29241 +struct _rs6000_sched_context
29243 + short cached_can_issue_more;
29244 + rtx last_scheduled_insn;
29245 + int load_store_pendulum;
29248 +typedef struct _rs6000_sched_context rs6000_sched_context_def;
29249 +typedef rs6000_sched_context_def *rs6000_sched_context_t;
29251 +/* Allocate store for new scheduling context. */
29252 +static void *
29253 +rs6000_alloc_sched_context (void)
29255 + return xmalloc (sizeof (rs6000_sched_context_def));
29258 +/* If CLEAN_P is true then initializes _SC with clean data,
29259 + and from the global context otherwise. */
29260 +static void
29261 +rs6000_init_sched_context (void *_sc, bool clean_p)
29263 + rs6000_sched_context_t sc = (rs6000_sched_context_t) _sc;
29265 + if (clean_p)
29267 + sc->cached_can_issue_more = 0;
29268 + sc->last_scheduled_insn = NULL_RTX;
29269 + sc->load_store_pendulum = 0;
29271 + else
29273 + sc->cached_can_issue_more = cached_can_issue_more;
29274 + sc->last_scheduled_insn = last_scheduled_insn;
29275 + sc->load_store_pendulum = load_store_pendulum;
29279 +/* Sets the global scheduling context to the one pointed to by _SC. */
29280 +static void
29281 +rs6000_set_sched_context (void *_sc)
29283 + rs6000_sched_context_t sc = (rs6000_sched_context_t) _sc;
29285 + gcc_assert (sc != NULL);
29287 + cached_can_issue_more = sc->cached_can_issue_more;
29288 + last_scheduled_insn = sc->last_scheduled_insn;
29289 + load_store_pendulum = sc->load_store_pendulum;
29292 +/* Free _SC. */
29293 +static void
29294 +rs6000_free_sched_context (void *_sc)
29296 + gcc_assert (_sc != NULL);
29298 + free (_sc);
29302 +/* Length in units of the trampoline for entering a nested function. */
29304 +int
29305 +rs6000_trampoline_size (void)
29307 + int ret = 0;
29309 + switch (DEFAULT_ABI)
29311 + default:
29312 + gcc_unreachable ();
29314 + case ABI_AIX:
29315 + ret = (TARGET_32BIT) ? 12 : 24;
29316 + break;
29318 + case ABI_ELFv2:
29319 + gcc_assert (!TARGET_32BIT);
29320 + ret = 32;
29321 + break;
29323 + case ABI_DARWIN:
29324 + case ABI_V4:
29325 + ret = (TARGET_32BIT) ? 40 : 48;
29326 + break;
29329 + return ret;
29332 +/* Emit RTL insns to initialize the variable parts of a trampoline.
29333 + FNADDR is an RTX for the address of the function's pure code.
29334 + CXT is an RTX for the static chain value for the function. */
29336 +static void
29337 +rs6000_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt)
29339 + int regsize = (TARGET_32BIT) ? 4 : 8;
29340 + rtx fnaddr = XEXP (DECL_RTL (fndecl), 0);
29341 + rtx ctx_reg = force_reg (Pmode, cxt);
29342 + rtx addr = force_reg (Pmode, XEXP (m_tramp, 0));
29344 + switch (DEFAULT_ABI)
29346 + default:
29347 + gcc_unreachable ();
29349 + /* Under AIX, just build the 3 word function descriptor */
29350 + case ABI_AIX:
29352 + rtx fnmem, fn_reg, toc_reg;
29354 + if (!TARGET_POINTERS_TO_NESTED_FUNCTIONS)
29355 + error ("You cannot take the address of a nested function if you use "
29356 + "the -mno-pointers-to-nested-functions option.");
29358 + fnmem = gen_const_mem (Pmode, force_reg (Pmode, fnaddr));
29359 + fn_reg = gen_reg_rtx (Pmode);
29360 + toc_reg = gen_reg_rtx (Pmode);
29362 + /* Macro to shorten the code expansions below. */
29363 +# define MEM_PLUS(MEM, OFFSET) adjust_address (MEM, Pmode, OFFSET)
29365 + m_tramp = replace_equiv_address (m_tramp, addr);
29367 + emit_move_insn (fn_reg, MEM_PLUS (fnmem, 0));
29368 + emit_move_insn (toc_reg, MEM_PLUS (fnmem, regsize));
29369 + emit_move_insn (MEM_PLUS (m_tramp, 0), fn_reg);
29370 + emit_move_insn (MEM_PLUS (m_tramp, regsize), toc_reg);
29371 + emit_move_insn (MEM_PLUS (m_tramp, 2*regsize), ctx_reg);
29373 +# undef MEM_PLUS
29375 + break;
29377 + /* Under V.4/eabi/darwin, __trampoline_setup does the real work. */
29378 + case ABI_ELFv2:
29379 + case ABI_DARWIN:
29380 + case ABI_V4:
29381 + emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__trampoline_setup"),
29382 + LCT_NORMAL, VOIDmode, 4,
29383 + addr, Pmode,
29384 + GEN_INT (rs6000_trampoline_size ()), SImode,
29385 + fnaddr, Pmode,
29386 + ctx_reg, Pmode);
29387 + break;
29392 +/* Returns TRUE iff the target attribute indicated by ATTR_ID takes a plain
29393 + identifier as an argument, so the front end shouldn't look it up. */
29395 +static bool
29396 +rs6000_attribute_takes_identifier_p (const_tree attr_id)
29398 + return is_attribute_p ("altivec", attr_id);
29401 +/* Handle the "altivec" attribute. The attribute may have
29402 + arguments as follows:
29404 + __attribute__((altivec(vector__)))
29405 + __attribute__((altivec(pixel__))) (always followed by 'unsigned short')
29406 + __attribute__((altivec(bool__))) (always followed by 'unsigned')
29408 + and may appear more than once (e.g., 'vector bool char') in a
29409 + given declaration. */
29411 +static tree
29412 +rs6000_handle_altivec_attribute (tree *node,
29413 + tree name ATTRIBUTE_UNUSED,
29414 + tree args,
29415 + int flags ATTRIBUTE_UNUSED,
29416 + bool *no_add_attrs)
29418 + tree type = *node, result = NULL_TREE;
29419 + machine_mode mode;
29420 + int unsigned_p;
29421 + char altivec_type
29422 + = ((args && TREE_CODE (args) == TREE_LIST && TREE_VALUE (args)
29423 + && TREE_CODE (TREE_VALUE (args)) == IDENTIFIER_NODE)
29424 + ? *IDENTIFIER_POINTER (TREE_VALUE (args))
29425 + : '?');
29427 + while (POINTER_TYPE_P (type)
29428 + || TREE_CODE (type) == FUNCTION_TYPE
29429 + || TREE_CODE (type) == METHOD_TYPE
29430 + || TREE_CODE (type) == ARRAY_TYPE)
29431 + type = TREE_TYPE (type);
29433 + mode = TYPE_MODE (type);
29435 + /* Check for invalid AltiVec type qualifiers. */
29436 + if (type == long_double_type_node)
29437 + error ("use of %<long double%> in AltiVec types is invalid");
29438 + else if (type == boolean_type_node)
29439 + error ("use of boolean types in AltiVec types is invalid");
29440 + else if (TREE_CODE (type) == COMPLEX_TYPE)
29441 + error ("use of %<complex%> in AltiVec types is invalid");
29442 + else if (DECIMAL_FLOAT_MODE_P (mode))
29443 + error ("use of decimal floating point types in AltiVec types is invalid");
29444 + else if (!TARGET_VSX)
29446 + if (type == long_unsigned_type_node || type == long_integer_type_node)
29448 + if (TARGET_64BIT)
29449 + error ("use of %<long%> in AltiVec types is invalid for "
29450 + "64-bit code without -mvsx");
29451 + else if (rs6000_warn_altivec_long)
29452 + warning (0, "use of %<long%> in AltiVec types is deprecated; "
29453 + "use %<int%>");
29455 + else if (type == long_long_unsigned_type_node
29456 + || type == long_long_integer_type_node)
29457 + error ("use of %<long long%> in AltiVec types is invalid without "
29458 + "-mvsx");
29459 + else if (type == double_type_node)
29460 + error ("use of %<double%> in AltiVec types is invalid without -mvsx");
29463 + switch (altivec_type)
29465 + case 'v':
29466 + unsigned_p = TYPE_UNSIGNED (type);
29467 + switch (mode)
29469 + case TImode:
29470 + result = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node);
29471 + break;
29472 + case DImode:
29473 + result = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node);
29474 + break;
29475 + case SImode:
29476 + result = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node);
29477 + break;
29478 + case HImode:
29479 + result = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node);
29480 + break;
29481 + case QImode:
29482 + result = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node);
29483 + break;
29484 + case SFmode: result = V4SF_type_node; break;
29485 + case DFmode: result = V2DF_type_node; break;
29486 + /* If the user says 'vector int bool', we may be handed the 'bool'
29487 + attribute _before_ the 'vector' attribute, and so select the
29488 + proper type in the 'b' case below. */
29489 + case V4SImode: case V8HImode: case V16QImode: case V4SFmode:
29490 + case V2DImode: case V2DFmode:
29491 + result = type;
29492 + default: break;
29494 + break;
29495 + case 'b':
29496 + switch (mode)
29498 + case DImode: case V2DImode: result = bool_V2DI_type_node; break;
29499 + case SImode: case V4SImode: result = bool_V4SI_type_node; break;
29500 + case HImode: case V8HImode: result = bool_V8HI_type_node; break;
29501 + case QImode: case V16QImode: result = bool_V16QI_type_node;
29502 + default: break;
29504 + break;
29505 + case 'p':
29506 + switch (mode)
29508 + case V8HImode: result = pixel_V8HI_type_node;
29509 + default: break;
29511 + default: break;
29514 + /* Propagate qualifiers attached to the element type
29515 + onto the vector type. */
29516 + if (result && result != type && TYPE_QUALS (type))
29517 + result = build_qualified_type (result, TYPE_QUALS (type));
29519 + *no_add_attrs = true; /* No need to hang on to the attribute. */
29521 + if (result)
29522 + *node = lang_hooks.types.reconstruct_complex_type (*node, result);
29524 + return NULL_TREE;
29527 +/* AltiVec defines four built-in scalar types that serve as vector
29528 + elements; we must teach the compiler how to mangle them. */
29530 +static const char *
29531 +rs6000_mangle_type (const_tree type)
29533 + type = TYPE_MAIN_VARIANT (type);
29535 + if (TREE_CODE (type) != VOID_TYPE && TREE_CODE (type) != BOOLEAN_TYPE
29536 + && TREE_CODE (type) != INTEGER_TYPE && TREE_CODE (type) != REAL_TYPE)
29537 + return NULL;
29539 + if (type == bool_char_type_node) return "U6__boolc";
29540 + if (type == bool_short_type_node) return "U6__bools";
29541 + if (type == pixel_type_node) return "u7__pixel";
29542 + if (type == bool_int_type_node) return "U6__booli";
29543 + if (type == bool_long_type_node) return "U6__booll";
29545 + /* Mangle IBM extended float long double as `g' (__float128) on
29546 + powerpc*-linux where long-double-64 previously was the default. */
29547 + if (TYPE_MAIN_VARIANT (type) == long_double_type_node
29548 + && TARGET_ELF
29549 + && TARGET_LONG_DOUBLE_128
29550 + && !TARGET_IEEEQUAD)
29551 + return "g";
29553 + /* For all other types, use normal C++ mangling. */
29554 + return NULL;
29557 +/* Handle a "longcall" or "shortcall" attribute; arguments as in
29558 + struct attribute_spec.handler. */
29560 +static tree
29561 +rs6000_handle_longcall_attribute (tree *node, tree name,
29562 + tree args ATTRIBUTE_UNUSED,
29563 + int flags ATTRIBUTE_UNUSED,
29564 + bool *no_add_attrs)
29566 + if (TREE_CODE (*node) != FUNCTION_TYPE
29567 + && TREE_CODE (*node) != FIELD_DECL
29568 + && TREE_CODE (*node) != TYPE_DECL)
29570 + warning (OPT_Wattributes, "%qE attribute only applies to functions",
29571 + name);
29572 + *no_add_attrs = true;
29575 + return NULL_TREE;
29578 +/* Set longcall attributes on all functions declared when
29579 + rs6000_default_long_calls is true. */
29580 +static void
29581 +rs6000_set_default_type_attributes (tree type)
29583 + if (rs6000_default_long_calls
29584 + && (TREE_CODE (type) == FUNCTION_TYPE
29585 + || TREE_CODE (type) == METHOD_TYPE))
29586 + TYPE_ATTRIBUTES (type) = tree_cons (get_identifier ("longcall"),
29587 + NULL_TREE,
29588 + TYPE_ATTRIBUTES (type));
29590 +#if TARGET_MACHO
29591 + darwin_set_default_type_attributes (type);
29592 +#endif
29595 +/* Return a reference suitable for calling a function with the
29596 + longcall attribute. */
29598 +rtx
29599 +rs6000_longcall_ref (rtx call_ref)
29601 + const char *call_name;
29602 + tree node;
29604 + if (GET_CODE (call_ref) != SYMBOL_REF)
29605 + return call_ref;
29607 + /* System V adds '.' to the internal name, so skip them. */
29608 + call_name = XSTR (call_ref, 0);
29609 + if (*call_name == '.')
29611 + while (*call_name == '.')
29612 + call_name++;
29614 + node = get_identifier (call_name);
29615 + call_ref = gen_rtx_SYMBOL_REF (VOIDmode, IDENTIFIER_POINTER (node));
29618 + return force_reg (Pmode, call_ref);
29621 +#ifndef TARGET_USE_MS_BITFIELD_LAYOUT
29622 +#define TARGET_USE_MS_BITFIELD_LAYOUT 0
29623 +#endif
29625 +/* Handle a "ms_struct" or "gcc_struct" attribute; arguments as in
29626 + struct attribute_spec.handler. */
29627 +static tree
29628 +rs6000_handle_struct_attribute (tree *node, tree name,
29629 + tree args ATTRIBUTE_UNUSED,
29630 + int flags ATTRIBUTE_UNUSED, bool *no_add_attrs)
29632 + tree *type = NULL;
29633 + if (DECL_P (*node))
29635 + if (TREE_CODE (*node) == TYPE_DECL)
29636 + type = &TREE_TYPE (*node);
29638 + else
29639 + type = node;
29641 + if (!(type && (TREE_CODE (*type) == RECORD_TYPE
29642 + || TREE_CODE (*type) == UNION_TYPE)))
29644 + warning (OPT_Wattributes, "%qE attribute ignored", name);
29645 + *no_add_attrs = true;
29648 + else if ((is_attribute_p ("ms_struct", name)
29649 + && lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (*type)))
29650 + || ((is_attribute_p ("gcc_struct", name)
29651 + && lookup_attribute ("ms_struct", TYPE_ATTRIBUTES (*type)))))
29653 + warning (OPT_Wattributes, "%qE incompatible attribute ignored",
29654 + name);
29655 + *no_add_attrs = true;
29658 + return NULL_TREE;
29661 +static bool
29662 +rs6000_ms_bitfield_layout_p (const_tree record_type)
29664 + return (TARGET_USE_MS_BITFIELD_LAYOUT &&
29665 + !lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (record_type)))
29666 + || lookup_attribute ("ms_struct", TYPE_ATTRIBUTES (record_type));
29669 +#ifdef USING_ELFOS_H
29671 +/* A get_unnamed_section callback, used for switching to toc_section. */
29673 +static void
29674 +rs6000_elf_output_toc_section_asm_op (const void *data ATTRIBUTE_UNUSED)
29676 + if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
29677 + && TARGET_MINIMAL_TOC
29678 + && !TARGET_RELOCATABLE)
29680 + if (!toc_initialized)
29682 + toc_initialized = 1;
29683 + fprintf (asm_out_file, "%s\n", TOC_SECTION_ASM_OP);
29684 + (*targetm.asm_out.internal_label) (asm_out_file, "LCTOC", 0);
29685 + fprintf (asm_out_file, "\t.tc ");
29686 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (asm_out_file, "LCTOC1[TC],");
29687 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (asm_out_file, "LCTOC1");
29688 + fprintf (asm_out_file, "\n");
29690 + fprintf (asm_out_file, "%s\n", MINIMAL_TOC_SECTION_ASM_OP);
29691 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (asm_out_file, "LCTOC1");
29692 + fprintf (asm_out_file, " = .+32768\n");
29694 + else
29695 + fprintf (asm_out_file, "%s\n", MINIMAL_TOC_SECTION_ASM_OP);
29697 + else if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
29698 + && !TARGET_RELOCATABLE)
29699 + fprintf (asm_out_file, "%s\n", TOC_SECTION_ASM_OP);
29700 + else
29702 + fprintf (asm_out_file, "%s\n", MINIMAL_TOC_SECTION_ASM_OP);
29703 + if (!toc_initialized)
29705 + ASM_OUTPUT_INTERNAL_LABEL_PREFIX (asm_out_file, "LCTOC1");
29706 + fprintf (asm_out_file, " = .+32768\n");
29707 + toc_initialized = 1;
29712 +/* Implement TARGET_ASM_INIT_SECTIONS. */
29714 +static void
29715 +rs6000_elf_asm_init_sections (void)
29717 + toc_section
29718 + = get_unnamed_section (0, rs6000_elf_output_toc_section_asm_op, NULL);
29720 + sdata2_section
29721 + = get_unnamed_section (SECTION_WRITE, output_section_asm_op,
29722 + SDATA2_SECTION_ASM_OP);
29725 +/* Implement TARGET_SELECT_RTX_SECTION. */
29727 +static section *
29728 +rs6000_elf_select_rtx_section (machine_mode mode, rtx x,
29729 + unsigned HOST_WIDE_INT align)
29731 + if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode))
29732 + return toc_section;
29733 + else
29734 + return default_elf_select_rtx_section (mode, x, align);
29737 +/* For a SYMBOL_REF, set generic flags and then perform some
29738 + target-specific processing.
29740 + When the AIX ABI is requested on a non-AIX system, replace the
29741 + function name with the real name (with a leading .) rather than the
29742 + function descriptor name. This saves a lot of overriding code to
29743 + read the prefixes. */
29745 +static void rs6000_elf_encode_section_info (tree, rtx, int) ATTRIBUTE_UNUSED;
29746 +static void
29747 +rs6000_elf_encode_section_info (tree decl, rtx rtl, int first)
29749 + default_encode_section_info (decl, rtl, first);
29751 + if (first
29752 + && TREE_CODE (decl) == FUNCTION_DECL
29753 + && !TARGET_AIX
29754 + && DEFAULT_ABI == ABI_AIX)
29756 + rtx sym_ref = XEXP (rtl, 0);
29757 + size_t len = strlen (XSTR (sym_ref, 0));
29758 + char *str = XALLOCAVEC (char, len + 2);
29759 + str[0] = '.';
29760 + memcpy (str + 1, XSTR (sym_ref, 0), len + 1);
29761 + XSTR (sym_ref, 0) = ggc_alloc_string (str, len + 1);
29765 +static inline bool
29766 +compare_section_name (const char *section, const char *templ)
29768 + int len;
29770 + len = strlen (templ);
29771 + return (strncmp (section, templ, len) == 0
29772 + && (section[len] == 0 || section[len] == '.'));
29775 +bool
29776 +rs6000_elf_in_small_data_p (const_tree decl)
29778 + if (rs6000_sdata == SDATA_NONE)
29779 + return false;
29781 + /* We want to merge strings, so we never consider them small data. */
29782 + if (TREE_CODE (decl) == STRING_CST)
29783 + return false;
29785 + /* Functions are never in the small data area. */
29786 + if (TREE_CODE (decl) == FUNCTION_DECL)
29787 + return false;
29789 + if (TREE_CODE (decl) == VAR_DECL && DECL_SECTION_NAME (decl))
29791 + const char *section = DECL_SECTION_NAME (decl);
29792 + if (compare_section_name (section, ".sdata")
29793 + || compare_section_name (section, ".sdata2")
29794 + || compare_section_name (section, ".gnu.linkonce.s")
29795 + || compare_section_name (section, ".sbss")
29796 + || compare_section_name (section, ".sbss2")
29797 + || compare_section_name (section, ".gnu.linkonce.sb")
29798 + || strcmp (section, ".PPC.EMB.sdata0") == 0
29799 + || strcmp (section, ".PPC.EMB.sbss0") == 0)
29800 + return true;
29802 + else
29804 + HOST_WIDE_INT size = int_size_in_bytes (TREE_TYPE (decl));
29806 + if (size > 0
29807 + && size <= g_switch_value
29808 + /* If it's not public, and we're not going to reference it there,
29809 + there's no need to put it in the small data section. */
29810 + && (rs6000_sdata != SDATA_DATA || TREE_PUBLIC (decl)))
29811 + return true;
29814 + return false;
29817 +#endif /* USING_ELFOS_H */
29819 +/* Implement TARGET_USE_BLOCKS_FOR_CONSTANT_P. */
29821 +static bool
29822 +rs6000_use_blocks_for_constant_p (machine_mode mode, const_rtx x)
29824 + return !ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode);
29827 +/* Do not place thread-local symbols refs in the object blocks. */
29829 +static bool
29830 +rs6000_use_blocks_for_decl_p (const_tree decl)
29832 + return !DECL_THREAD_LOCAL_P (decl);
29835 +/* Return a REG that occurs in ADDR with coefficient 1.
29836 + ADDR can be effectively incremented by incrementing REG.
29838 + r0 is special and we must not select it as an address
29839 + register by this routine since our caller will try to
29840 + increment the returned register via an "la" instruction. */
29842 +rtx
29843 +find_addr_reg (rtx addr)
29845 + while (GET_CODE (addr) == PLUS)
29847 + if (GET_CODE (XEXP (addr, 0)) == REG
29848 + && REGNO (XEXP (addr, 0)) != 0)
29849 + addr = XEXP (addr, 0);
29850 + else if (GET_CODE (XEXP (addr, 1)) == REG
29851 + && REGNO (XEXP (addr, 1)) != 0)
29852 + addr = XEXP (addr, 1);
29853 + else if (CONSTANT_P (XEXP (addr, 0)))
29854 + addr = XEXP (addr, 1);
29855 + else if (CONSTANT_P (XEXP (addr, 1)))
29856 + addr = XEXP (addr, 0);
29857 + else
29858 + gcc_unreachable ();
29860 + gcc_assert (GET_CODE (addr) == REG && REGNO (addr) != 0);
29861 + return addr;
29864 +void
29865 +rs6000_fatal_bad_address (rtx op)
29867 + fatal_insn ("bad address", op);
29870 +#if TARGET_MACHO
29872 +typedef struct branch_island_d {
29873 + tree function_name;
29874 + tree label_name;
29875 + int line_number;
29876 +} branch_island;
29879 +static vec<branch_island, va_gc> *branch_islands;
29881 +/* Remember to generate a branch island for far calls to the given
29882 + function. */
29884 +static void
29885 +add_compiler_branch_island (tree label_name, tree function_name,
29886 + int line_number)
29888 + branch_island bi = {function_name, label_name, line_number};
29889 + vec_safe_push (branch_islands, bi);
29892 +/* Generate far-jump branch islands for everything recorded in
29893 + branch_islands. Invoked immediately after the last instruction of
29894 + the epilogue has been emitted; the branch islands must be appended
29895 + to, and contiguous with, the function body. Mach-O stubs are
29896 + generated in machopic_output_stub(). */
29898 +static void
29899 +macho_branch_islands (void)
29901 + char tmp_buf[512];
29903 + while (!vec_safe_is_empty (branch_islands))
29905 + branch_island *bi = &branch_islands->last ();
29906 + const char *label = IDENTIFIER_POINTER (bi->label_name);
29907 + const char *name = IDENTIFIER_POINTER (bi->function_name);
29908 + char name_buf[512];
29909 + /* Cheap copy of the details from the Darwin ASM_OUTPUT_LABELREF(). */
29910 + if (name[0] == '*' || name[0] == '&')
29911 + strcpy (name_buf, name+1);
29912 + else
29914 + name_buf[0] = '_';
29915 + strcpy (name_buf+1, name);
29917 + strcpy (tmp_buf, "\n");
29918 + strcat (tmp_buf, label);
29919 +#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
29920 + if (write_symbols == DBX_DEBUG || write_symbols == XCOFF_DEBUG)
29921 + dbxout_stabd (N_SLINE, bi->line_number);
29922 +#endif /* DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO */
29923 + if (flag_pic)
29925 + if (TARGET_LINK_STACK)
29927 + char name[32];
29928 + get_ppc476_thunk_name (name);
29929 + strcat (tmp_buf, ":\n\tmflr r0\n\tbl ");
29930 + strcat (tmp_buf, name);
29931 + strcat (tmp_buf, "\n");
29932 + strcat (tmp_buf, label);
29933 + strcat (tmp_buf, "_pic:\n\tmflr r11\n");
29935 + else
29937 + strcat (tmp_buf, ":\n\tmflr r0\n\tbcl 20,31,");
29938 + strcat (tmp_buf, label);
29939 + strcat (tmp_buf, "_pic\n");
29940 + strcat (tmp_buf, label);
29941 + strcat (tmp_buf, "_pic:\n\tmflr r11\n");
29944 + strcat (tmp_buf, "\taddis r11,r11,ha16(");
29945 + strcat (tmp_buf, name_buf);
29946 + strcat (tmp_buf, " - ");
29947 + strcat (tmp_buf, label);
29948 + strcat (tmp_buf, "_pic)\n");
29950 + strcat (tmp_buf, "\tmtlr r0\n");
29952 + strcat (tmp_buf, "\taddi r12,r11,lo16(");
29953 + strcat (tmp_buf, name_buf);
29954 + strcat (tmp_buf, " - ");
29955 + strcat (tmp_buf, label);
29956 + strcat (tmp_buf, "_pic)\n");
29958 + strcat (tmp_buf, "\tmtctr r12\n\tbctr\n");
29960 + else
29962 + strcat (tmp_buf, ":\nlis r12,hi16(");
29963 + strcat (tmp_buf, name_buf);
29964 + strcat (tmp_buf, ")\n\tori r12,r12,lo16(");
29965 + strcat (tmp_buf, name_buf);
29966 + strcat (tmp_buf, ")\n\tmtctr r12\n\tbctr");
29968 + output_asm_insn (tmp_buf, 0);
29969 +#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
29970 + if (write_symbols == DBX_DEBUG || write_symbols == XCOFF_DEBUG)
29971 + dbxout_stabd (N_SLINE, bi->line_number);
29972 +#endif /* DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO */
29973 + branch_islands->pop ();
29977 +/* NO_PREVIOUS_DEF checks in the link list whether the function name is
29978 + already there or not. */
29980 +static int
29981 +no_previous_def (tree function_name)
29983 + branch_island *bi;
29984 + unsigned ix;
29986 + FOR_EACH_VEC_SAFE_ELT (branch_islands, ix, bi)
29987 + if (function_name == bi->function_name)
29988 + return 0;
29989 + return 1;
29992 +/* GET_PREV_LABEL gets the label name from the previous definition of
29993 + the function. */
29995 +static tree
29996 +get_prev_label (tree function_name)
29998 + branch_island *bi;
29999 + unsigned ix;
30001 + FOR_EACH_VEC_SAFE_ELT (branch_islands, ix, bi)
30002 + if (function_name == bi->function_name)
30003 + return bi->label_name;
30004 + return NULL_TREE;
30007 +/* INSN is either a function call or a millicode call. It may have an
30008 + unconditional jump in its delay slot.
30010 + CALL_DEST is the routine we are calling. */
30012 +char *
30013 +output_call (rtx_insn *insn, rtx *operands, int dest_operand_number,
30014 + int cookie_operand_number)
30016 + static char buf[256];
30017 + if (darwin_emit_branch_islands
30018 + && GET_CODE (operands[dest_operand_number]) == SYMBOL_REF
30019 + && (INTVAL (operands[cookie_operand_number]) & CALL_LONG))
30021 + tree labelname;
30022 + tree funname = get_identifier (XSTR (operands[dest_operand_number], 0));
30024 + if (no_previous_def (funname))
30026 + rtx label_rtx = gen_label_rtx ();
30027 + char *label_buf, temp_buf[256];
30028 + ASM_GENERATE_INTERNAL_LABEL (temp_buf, "L",
30029 + CODE_LABEL_NUMBER (label_rtx));
30030 + label_buf = temp_buf[0] == '*' ? temp_buf + 1 : temp_buf;
30031 + labelname = get_identifier (label_buf);
30032 + add_compiler_branch_island (labelname, funname, insn_line (insn));
30034 + else
30035 + labelname = get_prev_label (funname);
30037 + /* "jbsr foo, L42" is Mach-O for "Link as 'bl foo' if a 'bl'
30038 + instruction will reach 'foo', otherwise link as 'bl L42'".
30039 + "L42" should be a 'branch island', that will do a far jump to
30040 + 'foo'. Branch islands are generated in
30041 + macho_branch_islands(). */
30042 + sprintf (buf, "jbsr %%z%d,%.246s",
30043 + dest_operand_number, IDENTIFIER_POINTER (labelname));
30045 + else
30046 + sprintf (buf, "bl %%z%d", dest_operand_number);
30047 + return buf;
30050 +/* Generate PIC and indirect symbol stubs. */
30052 +void
30053 +machopic_output_stub (FILE *file, const char *symb, const char *stub)
30055 + unsigned int length;
30056 + char *symbol_name, *lazy_ptr_name;
30057 + char *local_label_0;
30058 + static int label = 0;
30060 + /* Lose our funky encoding stuff so it doesn't contaminate the stub. */
30061 + symb = (*targetm.strip_name_encoding) (symb);
30064 + length = strlen (symb);
30065 + symbol_name = XALLOCAVEC (char, length + 32);
30066 + GEN_SYMBOL_NAME_FOR_SYMBOL (symbol_name, symb, length);
30068 + lazy_ptr_name = XALLOCAVEC (char, length + 32);
30069 + GEN_LAZY_PTR_NAME_FOR_SYMBOL (lazy_ptr_name, symb, length);
30071 + if (flag_pic == 2)
30072 + switch_to_section (darwin_sections[machopic_picsymbol_stub1_section]);
30073 + else
30074 + switch_to_section (darwin_sections[machopic_symbol_stub1_section]);
30076 + if (flag_pic == 2)
30078 + fprintf (file, "\t.align 5\n");
30080 + fprintf (file, "%s:\n", stub);
30081 + fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
30083 + label++;
30084 + local_label_0 = XALLOCAVEC (char, sizeof ("\"L00000000000$spb\""));
30085 + sprintf (local_label_0, "\"L%011d$spb\"", label);
30087 + fprintf (file, "\tmflr r0\n");
30088 + if (TARGET_LINK_STACK)
30090 + char name[32];
30091 + get_ppc476_thunk_name (name);
30092 + fprintf (file, "\tbl %s\n", name);
30093 + fprintf (file, "%s:\n\tmflr r11\n", local_label_0);
30095 + else
30097 + fprintf (file, "\tbcl 20,31,%s\n", local_label_0);
30098 + fprintf (file, "%s:\n\tmflr r11\n", local_label_0);
30100 + fprintf (file, "\taddis r11,r11,ha16(%s-%s)\n",
30101 + lazy_ptr_name, local_label_0);
30102 + fprintf (file, "\tmtlr r0\n");
30103 + fprintf (file, "\t%s r12,lo16(%s-%s)(r11)\n",
30104 + (TARGET_64BIT ? "ldu" : "lwzu"),
30105 + lazy_ptr_name, local_label_0);
30106 + fprintf (file, "\tmtctr r12\n");
30107 + fprintf (file, "\tbctr\n");
30109 + else
30111 + fprintf (file, "\t.align 4\n");
30113 + fprintf (file, "%s:\n", stub);
30114 + fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
30116 + fprintf (file, "\tlis r11,ha16(%s)\n", lazy_ptr_name);
30117 + fprintf (file, "\t%s r12,lo16(%s)(r11)\n",
30118 + (TARGET_64BIT ? "ldu" : "lwzu"),
30119 + lazy_ptr_name);
30120 + fprintf (file, "\tmtctr r12\n");
30121 + fprintf (file, "\tbctr\n");
30124 + switch_to_section (darwin_sections[machopic_lazy_symbol_ptr_section]);
30125 + fprintf (file, "%s:\n", lazy_ptr_name);
30126 + fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
30127 + fprintf (file, "%sdyld_stub_binding_helper\n",
30128 + (TARGET_64BIT ? DOUBLE_INT_ASM_OP : "\t.long\t"));
30131 +/* Legitimize PIC addresses. If the address is already
30132 + position-independent, we return ORIG. Newly generated
30133 + position-independent addresses go into a reg. This is REG if non
30134 + zero, otherwise we allocate register(s) as necessary. */
30136 +#define SMALL_INT(X) ((UINTVAL (X) + 0x8000) < 0x10000)
30138 +rtx
30139 +rs6000_machopic_legitimize_pic_address (rtx orig, machine_mode mode,
30140 + rtx reg)
30142 + rtx base, offset;
30144 + if (reg == NULL && ! reload_in_progress && ! reload_completed)
30145 + reg = gen_reg_rtx (Pmode);
30147 + if (GET_CODE (orig) == CONST)
30149 + rtx reg_temp;
30151 + if (GET_CODE (XEXP (orig, 0)) == PLUS
30152 + && XEXP (XEXP (orig, 0), 0) == pic_offset_table_rtx)
30153 + return orig;
30155 + gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS);
30157 + /* Use a different reg for the intermediate value, as
30158 + it will be marked UNCHANGING. */
30159 + reg_temp = !can_create_pseudo_p () ? reg : gen_reg_rtx (Pmode);
30160 + base = rs6000_machopic_legitimize_pic_address (XEXP (XEXP (orig, 0), 0),
30161 + Pmode, reg_temp);
30162 + offset =
30163 + rs6000_machopic_legitimize_pic_address (XEXP (XEXP (orig, 0), 1),
30164 + Pmode, reg);
30166 + if (GET_CODE (offset) == CONST_INT)
30168 + if (SMALL_INT (offset))
30169 + return plus_constant (Pmode, base, INTVAL (offset));
30170 + else if (! reload_in_progress && ! reload_completed)
30171 + offset = force_reg (Pmode, offset);
30172 + else
30174 + rtx mem = force_const_mem (Pmode, orig);
30175 + return machopic_legitimize_pic_address (mem, Pmode, reg);
30178 + return gen_rtx_PLUS (Pmode, base, offset);
30181 + /* Fall back on generic machopic code. */
30182 + return machopic_legitimize_pic_address (orig, mode, reg);
30185 +/* Output a .machine directive for the Darwin assembler, and call
30186 + the generic start_file routine. */
30188 +static void
30189 +rs6000_darwin_file_start (void)
30191 + static const struct
30193 + const char *arg;
30194 + const char *name;
30195 + HOST_WIDE_INT if_set;
30196 + } mapping[] = {
30197 + { "ppc64", "ppc64", MASK_64BIT },
30198 + { "970", "ppc970", MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64 },
30199 + { "power4", "ppc970", 0 },
30200 + { "G5", "ppc970", 0 },
30201 + { "7450", "ppc7450", 0 },
30202 + { "7400", "ppc7400", MASK_ALTIVEC },
30203 + { "G4", "ppc7400", 0 },
30204 + { "750", "ppc750", 0 },
30205 + { "740", "ppc750", 0 },
30206 + { "G3", "ppc750", 0 },
30207 + { "604e", "ppc604e", 0 },
30208 + { "604", "ppc604", 0 },
30209 + { "603e", "ppc603", 0 },
30210 + { "603", "ppc603", 0 },
30211 + { "601", "ppc601", 0 },
30212 + { NULL, "ppc", 0 } };
30213 + const char *cpu_id = "";
30214 + size_t i;
30216 + rs6000_file_start ();
30217 + darwin_file_start ();
30219 + /* Determine the argument to -mcpu=. Default to G3 if not specified. */
30221 + if (rs6000_default_cpu != 0 && rs6000_default_cpu[0] != '\0')
30222 + cpu_id = rs6000_default_cpu;
30224 + if (global_options_set.x_rs6000_cpu_index)
30225 + cpu_id = processor_target_table[rs6000_cpu_index].name;
30227 + /* Look through the mapping array. Pick the first name that either
30228 + matches the argument, has a bit set in IF_SET that is also set
30229 + in the target flags, or has a NULL name. */
30231 + i = 0;
30232 + while (mapping[i].arg != NULL
30233 + && strcmp (mapping[i].arg, cpu_id) != 0
30234 + && (mapping[i].if_set & rs6000_isa_flags) == 0)
30235 + i++;
30237 + fprintf (asm_out_file, "\t.machine %s\n", mapping[i].name);
30240 +#endif /* TARGET_MACHO */
30242 +#if TARGET_ELF
30243 +static int
30244 +rs6000_elf_reloc_rw_mask (void)
30246 + if (flag_pic)
30247 + return 3;
30248 + else if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
30249 + return 2;
30250 + else
30251 + return 0;
30254 +/* Record an element in the table of global constructors. SYMBOL is
30255 + a SYMBOL_REF of the function to be called; PRIORITY is a number
30256 + between 0 and MAX_INIT_PRIORITY.
30258 + This differs from default_named_section_asm_out_constructor in
30259 + that we have special handling for -mrelocatable. */
30261 +static void rs6000_elf_asm_out_constructor (rtx, int) ATTRIBUTE_UNUSED;
30262 +static void
30263 +rs6000_elf_asm_out_constructor (rtx symbol, int priority)
30265 + const char *section = ".ctors";
30266 + char buf[16];
30268 + if (priority != DEFAULT_INIT_PRIORITY)
30270 + sprintf (buf, ".ctors.%.5u",
30271 + /* Invert the numbering so the linker puts us in the proper
30272 + order; constructors are run from right to left, and the
30273 + linker sorts in increasing order. */
30274 + MAX_INIT_PRIORITY - priority);
30275 + section = buf;
30278 + switch_to_section (get_section (section, SECTION_WRITE, NULL));
30279 + assemble_align (POINTER_SIZE);
30281 + if (TARGET_RELOCATABLE)
30283 + fputs ("\t.long (", asm_out_file);
30284 + output_addr_const (asm_out_file, symbol);
30285 + fputs (")@fixup\n", asm_out_file);
30287 + else
30288 + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
30291 +static void rs6000_elf_asm_out_destructor (rtx, int) ATTRIBUTE_UNUSED;
30292 +static void
30293 +rs6000_elf_asm_out_destructor (rtx symbol, int priority)
30295 + const char *section = ".dtors";
30296 + char buf[16];
30298 + if (priority != DEFAULT_INIT_PRIORITY)
30300 + sprintf (buf, ".dtors.%.5u",
30301 + /* Invert the numbering so the linker puts us in the proper
30302 + order; constructors are run from right to left, and the
30303 + linker sorts in increasing order. */
30304 + MAX_INIT_PRIORITY - priority);
30305 + section = buf;
30308 + switch_to_section (get_section (section, SECTION_WRITE, NULL));
30309 + assemble_align (POINTER_SIZE);
30311 + if (TARGET_RELOCATABLE)
30313 + fputs ("\t.long (", asm_out_file);
30314 + output_addr_const (asm_out_file, symbol);
30315 + fputs (")@fixup\n", asm_out_file);
30317 + else
30318 + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
30321 +void
30322 +rs6000_elf_declare_function_name (FILE *file, const char *name, tree decl)
30324 + if (TARGET_64BIT && DEFAULT_ABI != ABI_ELFv2)
30326 + fputs ("\t.section\t\".opd\",\"aw\"\n\t.align 3\n", file);
30327 + ASM_OUTPUT_LABEL (file, name);
30328 + fputs (DOUBLE_INT_ASM_OP, file);
30329 + rs6000_output_function_entry (file, name);
30330 + fputs (",.TOC.@tocbase,0\n\t.previous\n", file);
30331 + if (DOT_SYMBOLS)
30333 + fputs ("\t.size\t", file);
30334 + assemble_name (file, name);
30335 + fputs (",24\n\t.type\t.", file);
30336 + assemble_name (file, name);
30337 + fputs (",@function\n", file);
30338 + if (TREE_PUBLIC (decl) && ! DECL_WEAK (decl))
30340 + fputs ("\t.globl\t.", file);
30341 + assemble_name (file, name);
30342 + putc ('\n', file);
30345 + else
30346 + ASM_OUTPUT_TYPE_DIRECTIVE (file, name, "function");
30347 + ASM_DECLARE_RESULT (file, DECL_RESULT (decl));
30348 + rs6000_output_function_entry (file, name);
30349 + fputs (":\n", file);
30350 + return;
30353 + if (TARGET_RELOCATABLE
30354 + && !TARGET_SECURE_PLT
30355 + && (get_pool_size () != 0 || crtl->profile)
30356 + && uses_TOC ())
30358 + char buf[256];
30360 + (*targetm.asm_out.internal_label) (file, "LCL", rs6000_pic_labelno);
30362 + ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1);
30363 + fprintf (file, "\t.long ");
30364 + assemble_name (file, buf);
30365 + putc ('-', file);
30366 + ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno);
30367 + assemble_name (file, buf);
30368 + putc ('\n', file);
30371 + ASM_OUTPUT_TYPE_DIRECTIVE (file, name, "function");
30372 + ASM_DECLARE_RESULT (file, DECL_RESULT (decl));
30374 + if (DEFAULT_ABI == ABI_AIX)
30376 + const char *desc_name, *orig_name;
30378 + orig_name = (*targetm.strip_name_encoding) (name);
30379 + desc_name = orig_name;
30380 + while (*desc_name == '.')
30381 + desc_name++;
30383 + if (TREE_PUBLIC (decl))
30384 + fprintf (file, "\t.globl %s\n", desc_name);
30386 + fprintf (file, "%s\n", MINIMAL_TOC_SECTION_ASM_OP);
30387 + fprintf (file, "%s:\n", desc_name);
30388 + fprintf (file, "\t.long %s\n", orig_name);
30389 + fputs ("\t.long _GLOBAL_OFFSET_TABLE_\n", file);
30390 + fputs ("\t.long 0\n", file);
30391 + fprintf (file, "\t.previous\n");
30393 + ASM_OUTPUT_LABEL (file, name);
30396 +static void rs6000_elf_file_end (void) ATTRIBUTE_UNUSED;
30397 +static void
30398 +rs6000_elf_file_end (void)
30400 +#ifdef HAVE_AS_GNU_ATTRIBUTE
30401 + if (TARGET_32BIT && DEFAULT_ABI == ABI_V4)
30403 + if (rs6000_passes_float)
30404 + fprintf (asm_out_file, "\t.gnu_attribute 4, %d\n",
30405 + ((TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT) ? 1
30406 + : (TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_SINGLE_FLOAT) ? 3
30407 + : 2));
30408 + if (rs6000_passes_vector)
30409 + fprintf (asm_out_file, "\t.gnu_attribute 8, %d\n",
30410 + (TARGET_ALTIVEC_ABI ? 2
30411 + : TARGET_SPE_ABI ? 3
30412 + : 1));
30413 + if (rs6000_returns_struct)
30414 + fprintf (asm_out_file, "\t.gnu_attribute 12, %d\n",
30415 + aix_struct_return ? 2 : 1);
30417 +#endif
30418 +#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD)
30419 + if (TARGET_32BIT || DEFAULT_ABI == ABI_ELFv2)
30420 + file_end_indicate_exec_stack ();
30421 +#endif
30423 +#endif
30425 +#if TARGET_XCOFF
30426 +static void
30427 +rs6000_xcoff_asm_output_anchor (rtx symbol)
30429 + char buffer[100];
30431 + sprintf (buffer, "$ + " HOST_WIDE_INT_PRINT_DEC,
30432 + SYMBOL_REF_BLOCK_OFFSET (symbol));
30433 + fprintf (asm_out_file, "%s", SET_ASM_OP);
30434 + RS6000_OUTPUT_BASENAME (asm_out_file, XSTR (symbol, 0));
30435 + fprintf (asm_out_file, ",");
30436 + RS6000_OUTPUT_BASENAME (asm_out_file, buffer);
30437 + fprintf (asm_out_file, "\n");
30440 +static void
30441 +rs6000_xcoff_asm_globalize_label (FILE *stream, const char *name)
30443 + fputs (GLOBAL_ASM_OP, stream);
30444 + RS6000_OUTPUT_BASENAME (stream, name);
30445 + putc ('\n', stream);
30448 +/* A get_unnamed_decl callback, used for read-only sections. PTR
30449 + points to the section string variable. */
30451 +static void
30452 +rs6000_xcoff_output_readonly_section_asm_op (const void *directive)
30454 + fprintf (asm_out_file, "\t.csect %s[RO],%s\n",
30455 + *(const char *const *) directive,
30456 + XCOFF_CSECT_DEFAULT_ALIGNMENT_STR);
30459 +/* Likewise for read-write sections. */
30461 +static void
30462 +rs6000_xcoff_output_readwrite_section_asm_op (const void *directive)
30464 + fprintf (asm_out_file, "\t.csect %s[RW],%s\n",
30465 + *(const char *const *) directive,
30466 + XCOFF_CSECT_DEFAULT_ALIGNMENT_STR);
30469 +static void
30470 +rs6000_xcoff_output_tls_section_asm_op (const void *directive)
30472 + fprintf (asm_out_file, "\t.csect %s[TL],%s\n",
30473 + *(const char *const *) directive,
30474 + XCOFF_CSECT_DEFAULT_ALIGNMENT_STR);
30477 +/* A get_unnamed_section callback, used for switching to toc_section. */
30479 +static void
30480 +rs6000_xcoff_output_toc_section_asm_op (const void *data ATTRIBUTE_UNUSED)
30482 + if (TARGET_MINIMAL_TOC)
30484 + /* toc_section is always selected at least once from
30485 + rs6000_xcoff_file_start, so this is guaranteed to
30486 + always be defined once and only once in each file. */
30487 + if (!toc_initialized)
30489 + fputs ("\t.toc\nLCTOC..1:\n", asm_out_file);
30490 + fputs ("\t.tc toc_table[TC],toc_table[RW]\n", asm_out_file);
30491 + toc_initialized = 1;
30493 + fprintf (asm_out_file, "\t.csect toc_table[RW]%s\n",
30494 + (TARGET_32BIT ? "" : ",3"));
30496 + else
30497 + fputs ("\t.toc\n", asm_out_file);
30500 +/* Implement TARGET_ASM_INIT_SECTIONS. */
30502 +static void
30503 +rs6000_xcoff_asm_init_sections (void)
30505 + read_only_data_section
30506 + = get_unnamed_section (0, rs6000_xcoff_output_readonly_section_asm_op,
30507 + &xcoff_read_only_section_name);
30509 + private_data_section
30510 + = get_unnamed_section (SECTION_WRITE,
30511 + rs6000_xcoff_output_readwrite_section_asm_op,
30512 + &xcoff_private_data_section_name);
30514 + tls_data_section
30515 + = get_unnamed_section (SECTION_TLS,
30516 + rs6000_xcoff_output_tls_section_asm_op,
30517 + &xcoff_tls_data_section_name);
30519 + tls_private_data_section
30520 + = get_unnamed_section (SECTION_TLS,
30521 + rs6000_xcoff_output_tls_section_asm_op,
30522 + &xcoff_private_data_section_name);
30524 + read_only_private_data_section
30525 + = get_unnamed_section (0, rs6000_xcoff_output_readonly_section_asm_op,
30526 + &xcoff_private_data_section_name);
30528 + toc_section
30529 + = get_unnamed_section (0, rs6000_xcoff_output_toc_section_asm_op, NULL);
30531 + readonly_data_section = read_only_data_section;
30532 + exception_section = data_section;
30535 +static int
30536 +rs6000_xcoff_reloc_rw_mask (void)
30538 + return 3;
30541 +static void
30542 +rs6000_xcoff_asm_named_section (const char *name, unsigned int flags,
30543 + tree decl ATTRIBUTE_UNUSED)
30545 + int smclass;
30546 + static const char * const suffix[4] = { "PR", "RO", "RW", "TL" };
30548 + if (flags & SECTION_CODE)
30549 + smclass = 0;
30550 + else if (flags & SECTION_TLS)
30551 + smclass = 3;
30552 + else if (flags & SECTION_WRITE)
30553 + smclass = 2;
30554 + else
30555 + smclass = 1;
30557 + fprintf (asm_out_file, "\t.csect %s%s[%s],%u\n",
30558 + (flags & SECTION_CODE) ? "." : "",
30559 + name, suffix[smclass], flags & SECTION_ENTSIZE);
30562 +#define IN_NAMED_SECTION(DECL) \
30563 + ((TREE_CODE (DECL) == FUNCTION_DECL || TREE_CODE (DECL) == VAR_DECL) \
30564 + && DECL_SECTION_NAME (DECL) != NULL)
30566 +static section *
30567 +rs6000_xcoff_select_section (tree decl, int reloc,
30568 + unsigned HOST_WIDE_INT align)
30570 + /* Place variables with alignment stricter than BIGGEST_ALIGNMENT into
30571 + named section. */
30572 + if (align > BIGGEST_ALIGNMENT)
30574 + resolve_unique_section (decl, reloc, true);
30575 + if (IN_NAMED_SECTION (decl))
30576 + return get_named_section (decl, NULL, reloc);
30579 + if (decl_readonly_section (decl, reloc))
30581 + if (TREE_PUBLIC (decl))
30582 + return read_only_data_section;
30583 + else
30584 + return read_only_private_data_section;
30586 + else
30588 +#if HAVE_AS_TLS
30589 + if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL_P (decl))
30591 + if (TREE_PUBLIC (decl))
30592 + return tls_data_section;
30593 + else if (bss_initializer_p (decl))
30595 + /* Convert to COMMON to emit in BSS. */
30596 + DECL_COMMON (decl) = 1;
30597 + return tls_comm_section;
30599 + else
30600 + return tls_private_data_section;
30602 + else
30603 +#endif
30604 + if (TREE_PUBLIC (decl))
30605 + return data_section;
30606 + else
30607 + return private_data_section;
30611 +static void
30612 +rs6000_xcoff_unique_section (tree decl, int reloc ATTRIBUTE_UNUSED)
30614 + const char *name;
30616 + /* Use select_section for private data and uninitialized data with
30617 + alignment <= BIGGEST_ALIGNMENT. */
30618 + if (!TREE_PUBLIC (decl)
30619 + || DECL_COMMON (decl)
30620 + || (DECL_INITIAL (decl) == NULL_TREE
30621 + && DECL_ALIGN (decl) <= BIGGEST_ALIGNMENT)
30622 + || DECL_INITIAL (decl) == error_mark_node
30623 + || (flag_zero_initialized_in_bss
30624 + && initializer_zerop (DECL_INITIAL (decl))))
30625 + return;
30627 + name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
30628 + name = (*targetm.strip_name_encoding) (name);
30629 + set_decl_section_name (decl, name);
30632 +/* Select section for constant in constant pool.
30634 + On RS/6000, all constants are in the private read-only data area.
30635 + However, if this is being placed in the TOC it must be output as a
30636 + toc entry. */
30638 +static section *
30639 +rs6000_xcoff_select_rtx_section (machine_mode mode, rtx x,
30640 + unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED)
30642 + if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode))
30643 + return toc_section;
30644 + else
30645 + return read_only_private_data_section;
30648 +/* Remove any trailing [DS] or the like from the symbol name. */
30650 +static const char *
30651 +rs6000_xcoff_strip_name_encoding (const char *name)
30653 + size_t len;
30654 + if (*name == '*')
30655 + name++;
30656 + len = strlen (name);
30657 + if (name[len - 1] == ']')
30658 + return ggc_alloc_string (name, len - 4);
30659 + else
30660 + return name;
30663 +/* Section attributes. AIX is always PIC. */
30665 +static unsigned int
30666 +rs6000_xcoff_section_type_flags (tree decl, const char *name, int reloc)
30668 + unsigned int align;
30669 + unsigned int flags = default_section_type_flags (decl, name, reloc);
30671 + /* Align to at least UNIT size. */
30672 + if ((flags & SECTION_CODE) != 0 || !decl || !DECL_P (decl))
30673 + align = MIN_UNITS_PER_WORD;
30674 + else
30675 + /* Increase alignment of large objects if not already stricter. */
30676 + align = MAX ((DECL_ALIGN (decl) / BITS_PER_UNIT),
30677 + int_size_in_bytes (TREE_TYPE (decl)) > MIN_UNITS_PER_WORD
30678 + ? UNITS_PER_FP_WORD : MIN_UNITS_PER_WORD);
30680 + return flags | (exact_log2 (align) & SECTION_ENTSIZE);
30683 +/* Output at beginning of assembler file.
30685 + Initialize the section names for the RS/6000 at this point.
30687 + Specify filename, including full path, to assembler.
30689 + We want to go into the TOC section so at least one .toc will be emitted.
30690 + Also, in order to output proper .bs/.es pairs, we need at least one static
30691 + [RW] section emitted.
30693 + Finally, declare mcount when profiling to make the assembler happy. */
30695 +static void
30696 +rs6000_xcoff_file_start (void)
30698 + rs6000_gen_section_name (&xcoff_bss_section_name,
30699 + main_input_filename, ".bss_");
30700 + rs6000_gen_section_name (&xcoff_private_data_section_name,
30701 + main_input_filename, ".rw_");
30702 + rs6000_gen_section_name (&xcoff_read_only_section_name,
30703 + main_input_filename, ".ro_");
30704 + rs6000_gen_section_name (&xcoff_tls_data_section_name,
30705 + main_input_filename, ".tls_");
30706 + rs6000_gen_section_name (&xcoff_tbss_section_name,
30707 + main_input_filename, ".tbss_[UL]");
30709 + fputs ("\t.file\t", asm_out_file);
30710 + output_quoted_string (asm_out_file, main_input_filename);
30711 + fputc ('\n', asm_out_file);
30712 + if (write_symbols != NO_DEBUG)
30713 + switch_to_section (private_data_section);
30714 + switch_to_section (text_section);
30715 + if (profile_flag)
30716 + fprintf (asm_out_file, "\t.extern %s\n", RS6000_MCOUNT);
30717 + rs6000_file_start ();
30720 +/* Output at end of assembler file.
30721 + On the RS/6000, referencing data should automatically pull in text. */
30723 +static void
30724 +rs6000_xcoff_file_end (void)
30726 + switch_to_section (text_section);
30727 + fputs ("_section_.text:\n", asm_out_file);
30728 + switch_to_section (data_section);
30729 + fputs (TARGET_32BIT
30730 + ? "\t.long _section_.text\n" : "\t.llong _section_.text\n",
30731 + asm_out_file);
30734 +struct declare_alias_data
30736 + FILE *file;
30737 + bool function_descriptor;
30740 +/* Declare alias N. A helper function for for_node_and_aliases. */
30742 +static bool
30743 +rs6000_declare_alias (struct symtab_node *n, void *d)
30745 + struct declare_alias_data *data = (struct declare_alias_data *)d;
30746 + /* Main symbol is output specially, because varasm machinery does part of
30747 + the job for us - we do not need to declare .globl/lglobs and such. */
30748 + if (!n->alias || n->weakref)
30749 + return false;
30751 + if (lookup_attribute ("ifunc", DECL_ATTRIBUTES (n->decl)))
30752 + return false;
30754 + /* Prevent assemble_alias from trying to use .set pseudo operation
30755 + that does not behave as expected by the middle-end. */
30756 + TREE_ASM_WRITTEN (n->decl) = true;
30758 + const char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (n->decl));
30759 + char *buffer = (char *) alloca (strlen (name) + 2);
30760 + char *p;
30761 + int dollar_inside = 0;
30763 + strcpy (buffer, name);
30764 + p = strchr (buffer, '$');
30765 + while (p) {
30766 + *p = '_';
30767 + dollar_inside++;
30768 + p = strchr (p + 1, '$');
30770 + if (TREE_PUBLIC (n->decl))
30772 + if (!RS6000_WEAK || !DECL_WEAK (n->decl))
30774 + if (dollar_inside) {
30775 + if (data->function_descriptor)
30776 + fprintf(data->file, "\t.rename .%s,\".%s\"\n", buffer, name);
30777 + else
30778 + fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name);
30780 + if (data->function_descriptor)
30781 + fputs ("\t.globl .", data->file);
30782 + else
30783 + fputs ("\t.globl ", data->file);
30784 + RS6000_OUTPUT_BASENAME (data->file, buffer);
30785 + putc ('\n', data->file);
30787 +#ifdef ASM_WEAKEN_DECL
30788 + else if (DECL_WEAK (n->decl) && !data->function_descriptor)
30789 + ASM_WEAKEN_DECL (data->file, n->decl, name, NULL);
30790 +#endif
30792 + else
30794 + if (dollar_inside)
30796 + if (data->function_descriptor)
30797 + fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name);
30798 + else
30799 + fprintf(data->file, "\t.rename .%s,\".%s\"\n", buffer, name);
30801 + if (data->function_descriptor)
30802 + fputs ("\t.lglobl .", data->file);
30803 + else
30804 + fputs ("\t.lglobl ", data->file);
30805 + RS6000_OUTPUT_BASENAME (data->file, buffer);
30806 + putc ('\n', data->file);
30808 + if (data->function_descriptor)
30809 + fputs (".", data->file);
30810 + RS6000_OUTPUT_BASENAME (data->file, buffer);
30811 + fputs (":\n", data->file);
30812 + return false;
30815 +/* This macro produces the initial definition of a function name.
30816 + On the RS/6000, we need to place an extra '.' in the function name and
30817 + output the function descriptor.
30818 + Dollar signs are converted to underscores.
30820 + The csect for the function will have already been created when
30821 + text_section was selected. We do have to go back to that csect, however.
30823 + The third and fourth parameters to the .function pseudo-op (16 and 044)
30824 + are placeholders which no longer have any use.
30826 + Because AIX assembler's .set command has unexpected semantics, we output
30827 + all aliases as alternative labels in front of the definition. */
30829 +void
30830 +rs6000_xcoff_declare_function_name (FILE *file, const char *name, tree decl)
30832 + char *buffer = (char *) alloca (strlen (name) + 1);
30833 + char *p;
30834 + int dollar_inside = 0;
30835 + struct declare_alias_data data = {file, false};
30837 + strcpy (buffer, name);
30838 + p = strchr (buffer, '$');
30839 + while (p) {
30840 + *p = '_';
30841 + dollar_inside++;
30842 + p = strchr (p + 1, '$');
30844 + if (TREE_PUBLIC (decl))
30846 + if (!RS6000_WEAK || !DECL_WEAK (decl))
30848 + if (dollar_inside) {
30849 + fprintf(file, "\t.rename .%s,\".%s\"\n", buffer, name);
30850 + fprintf(file, "\t.rename %s,\"%s\"\n", buffer, name);
30852 + fputs ("\t.globl .", file);
30853 + RS6000_OUTPUT_BASENAME (file, buffer);
30854 + putc ('\n', file);
30857 + else
30859 + if (dollar_inside) {
30860 + fprintf(file, "\t.rename .%s,\".%s\"\n", buffer, name);
30861 + fprintf(file, "\t.rename %s,\"%s\"\n", buffer, name);
30863 + fputs ("\t.lglobl .", file);
30864 + RS6000_OUTPUT_BASENAME (file, buffer);
30865 + putc ('\n', file);
30867 + fputs ("\t.csect ", file);
30868 + RS6000_OUTPUT_BASENAME (file, buffer);
30869 + fputs (TARGET_32BIT ? "[DS]\n" : "[DS],3\n", file);
30870 + RS6000_OUTPUT_BASENAME (file, buffer);
30871 + fputs (":\n", file);
30872 + symtab_node::get (decl)->call_for_symbol_and_aliases (rs6000_declare_alias, &data, true);
30873 + fputs (TARGET_32BIT ? "\t.long ." : "\t.llong .", file);
30874 + RS6000_OUTPUT_BASENAME (file, buffer);
30875 + fputs (", TOC[tc0], 0\n", file);
30876 + in_section = NULL;
30877 + switch_to_section (function_section (decl));
30878 + putc ('.', file);
30879 + RS6000_OUTPUT_BASENAME (file, buffer);
30880 + fputs (":\n", file);
30881 + data.function_descriptor = true;
30882 + symtab_node::get (decl)->call_for_symbol_and_aliases (rs6000_declare_alias, &data, true);
30883 + if (write_symbols != NO_DEBUG && !DECL_IGNORED_P (decl))
30884 + xcoffout_declare_function (file, decl, buffer);
30885 + return;
30888 +/* This macro produces the initial definition of a object (variable) name.
30889 + Because AIX assembler's .set command has unexpected semantics, we output
30890 + all aliases as alternative labels in front of the definition. */
30892 +void
30893 +rs6000_xcoff_declare_object_name (FILE *file, const char *name, tree decl)
30895 + struct declare_alias_data data = {file, false};
30896 + RS6000_OUTPUT_BASENAME (file, name);
30897 + fputs (":\n", file);
30898 + symtab_node::get (decl)->call_for_symbol_and_aliases (rs6000_declare_alias, &data, true);
30901 +#ifdef HAVE_AS_TLS
30902 +static void
30903 +rs6000_xcoff_encode_section_info (tree decl, rtx rtl, int first)
30905 + rtx symbol;
30906 + int flags;
30908 + default_encode_section_info (decl, rtl, first);
30910 + /* Careful not to prod global register variables. */
30911 + if (!MEM_P (rtl))
30912 + return;
30913 + symbol = XEXP (rtl, 0);
30914 + if (GET_CODE (symbol) != SYMBOL_REF)
30915 + return;
30917 + flags = SYMBOL_REF_FLAGS (symbol);
30919 + if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL_P (decl))
30920 + flags &= ~SYMBOL_FLAG_HAS_BLOCK_INFO;
30922 + SYMBOL_REF_FLAGS (symbol) = flags;
30924 +#endif /* HAVE_AS_TLS */
30925 +#endif /* TARGET_XCOFF */
30927 +/* Compute a (partial) cost for rtx X. Return true if the complete
30928 + cost has been computed, and false if subexpressions should be
30929 + scanned. In either case, *TOTAL contains the cost result. */
30931 +static bool
30932 +rs6000_rtx_costs (rtx x, int code, int outer_code, int opno ATTRIBUTE_UNUSED,
30933 + int *total, bool speed)
30935 + machine_mode mode = GET_MODE (x);
30937 + switch (code)
30939 + /* On the RS/6000, if it is valid in the insn, it is free. */
30940 + case CONST_INT:
30941 + if (((outer_code == SET
30942 + || outer_code == PLUS
30943 + || outer_code == MINUS)
30944 + && (satisfies_constraint_I (x)
30945 + || satisfies_constraint_L (x)))
30946 + || (outer_code == AND
30947 + && (satisfies_constraint_K (x)
30948 + || (mode == SImode
30949 + ? satisfies_constraint_L (x)
30950 + : satisfies_constraint_J (x))
30951 + || mask_operand (x, mode)
30952 + || (mode == DImode
30953 + && mask64_operand (x, DImode))))
30954 + || ((outer_code == IOR || outer_code == XOR)
30955 + && (satisfies_constraint_K (x)
30956 + || (mode == SImode
30957 + ? satisfies_constraint_L (x)
30958 + : satisfies_constraint_J (x))))
30959 + || outer_code == ASHIFT
30960 + || outer_code == ASHIFTRT
30961 + || outer_code == LSHIFTRT
30962 + || outer_code == ROTATE
30963 + || outer_code == ROTATERT
30964 + || outer_code == ZERO_EXTRACT
30965 + || (outer_code == MULT
30966 + && satisfies_constraint_I (x))
30967 + || ((outer_code == DIV || outer_code == UDIV
30968 + || outer_code == MOD || outer_code == UMOD)
30969 + && exact_log2 (INTVAL (x)) >= 0)
30970 + || (outer_code == COMPARE
30971 + && (satisfies_constraint_I (x)
30972 + || satisfies_constraint_K (x)))
30973 + || ((outer_code == EQ || outer_code == NE)
30974 + && (satisfies_constraint_I (x)
30975 + || satisfies_constraint_K (x)
30976 + || (mode == SImode
30977 + ? satisfies_constraint_L (x)
30978 + : satisfies_constraint_J (x))))
30979 + || (outer_code == GTU
30980 + && satisfies_constraint_I (x))
30981 + || (outer_code == LTU
30982 + && satisfies_constraint_P (x)))
30984 + *total = 0;
30985 + return true;
30987 + else if ((outer_code == PLUS
30988 + && reg_or_add_cint_operand (x, VOIDmode))
30989 + || (outer_code == MINUS
30990 + && reg_or_sub_cint_operand (x, VOIDmode))
30991 + || ((outer_code == SET
30992 + || outer_code == IOR
30993 + || outer_code == XOR)
30994 + && (INTVAL (x)
30995 + & ~ (unsigned HOST_WIDE_INT) 0xffffffff) == 0))
30997 + *total = COSTS_N_INSNS (1);
30998 + return true;
31000 + /* FALLTHRU */
31002 + case CONST_DOUBLE:
31003 + case CONST_WIDE_INT:
31004 + case CONST:
31005 + case HIGH:
31006 + case SYMBOL_REF:
31007 + case MEM:
31008 + /* When optimizing for size, MEM should be slightly more expensive
31009 + than generating address, e.g., (plus (reg) (const)).
31010 + L1 cache latency is about two instructions. */
31011 + *total = !speed ? COSTS_N_INSNS (1) + 1 : COSTS_N_INSNS (2);
31012 + return true;
31014 + case LABEL_REF:
31015 + *total = 0;
31016 + return true;
31018 + case PLUS:
31019 + case MINUS:
31020 + if (FLOAT_MODE_P (mode))
31021 + *total = rs6000_cost->fp;
31022 + else
31023 + *total = COSTS_N_INSNS (1);
31024 + return false;
31026 + case MULT:
31027 + if (GET_CODE (XEXP (x, 1)) == CONST_INT
31028 + && satisfies_constraint_I (XEXP (x, 1)))
31030 + if (INTVAL (XEXP (x, 1)) >= -256
31031 + && INTVAL (XEXP (x, 1)) <= 255)
31032 + *total = rs6000_cost->mulsi_const9;
31033 + else
31034 + *total = rs6000_cost->mulsi_const;
31036 + else if (mode == SFmode)
31037 + *total = rs6000_cost->fp;
31038 + else if (FLOAT_MODE_P (mode))
31039 + *total = rs6000_cost->dmul;
31040 + else if (mode == DImode)
31041 + *total = rs6000_cost->muldi;
31042 + else
31043 + *total = rs6000_cost->mulsi;
31044 + return false;
31046 + case FMA:
31047 + if (mode == SFmode)
31048 + *total = rs6000_cost->fp;
31049 + else
31050 + *total = rs6000_cost->dmul;
31051 + break;
31053 + case DIV:
31054 + case MOD:
31055 + if (FLOAT_MODE_P (mode))
31057 + *total = mode == DFmode ? rs6000_cost->ddiv
31058 + : rs6000_cost->sdiv;
31059 + return false;
31061 + /* FALLTHRU */
31063 + case UDIV:
31064 + case UMOD:
31065 + if (GET_CODE (XEXP (x, 1)) == CONST_INT
31066 + && exact_log2 (INTVAL (XEXP (x, 1))) >= 0)
31068 + if (code == DIV || code == MOD)
31069 + /* Shift, addze */
31070 + *total = COSTS_N_INSNS (2);
31071 + else
31072 + /* Shift */
31073 + *total = COSTS_N_INSNS (1);
31075 + else
31077 + if (GET_MODE (XEXP (x, 1)) == DImode)
31078 + *total = rs6000_cost->divdi;
31079 + else
31080 + *total = rs6000_cost->divsi;
31082 + /* Add in shift and subtract for MOD. */
31083 + if (code == MOD || code == UMOD)
31084 + *total += COSTS_N_INSNS (2);
31085 + return false;
31087 + case CTZ:
31088 + case FFS:
31089 + *total = COSTS_N_INSNS (4);
31090 + return false;
31092 + case POPCOUNT:
31093 + *total = COSTS_N_INSNS (TARGET_POPCNTD ? 1 : 6);
31094 + return false;
31096 + case PARITY:
31097 + *total = COSTS_N_INSNS (TARGET_CMPB ? 2 : 6);
31098 + return false;
31100 + case NOT:
31101 + if (outer_code == AND || outer_code == IOR || outer_code == XOR)
31103 + *total = 0;
31104 + return false;
31106 + /* FALLTHRU */
31108 + case AND:
31109 + case CLZ:
31110 + case IOR:
31111 + case XOR:
31112 + case ZERO_EXTRACT:
31113 + *total = COSTS_N_INSNS (1);
31114 + return false;
31116 + case ASHIFT:
31117 + case ASHIFTRT:
31118 + case LSHIFTRT:
31119 + case ROTATE:
31120 + case ROTATERT:
31121 + /* Handle mul_highpart. */
31122 + if (outer_code == TRUNCATE
31123 + && GET_CODE (XEXP (x, 0)) == MULT)
31125 + if (mode == DImode)
31126 + *total = rs6000_cost->muldi;
31127 + else
31128 + *total = rs6000_cost->mulsi;
31129 + return true;
31131 + else if (outer_code == AND)
31132 + *total = 0;
31133 + else
31134 + *total = COSTS_N_INSNS (1);
31135 + return false;
31137 + case SIGN_EXTEND:
31138 + case ZERO_EXTEND:
31139 + if (GET_CODE (XEXP (x, 0)) == MEM)
31140 + *total = 0;
31141 + else
31142 + *total = COSTS_N_INSNS (1);
31143 + return false;
31145 + case COMPARE:
31146 + case NEG:
31147 + case ABS:
31148 + if (!FLOAT_MODE_P (mode))
31150 + *total = COSTS_N_INSNS (1);
31151 + return false;
31153 + /* FALLTHRU */
31155 + case FLOAT:
31156 + case UNSIGNED_FLOAT:
31157 + case FIX:
31158 + case UNSIGNED_FIX:
31159 + case FLOAT_TRUNCATE:
31160 + *total = rs6000_cost->fp;
31161 + return false;
31163 + case FLOAT_EXTEND:
31164 + if (mode == DFmode)
31165 + *total = 0;
31166 + else
31167 + *total = rs6000_cost->fp;
31168 + return false;
31170 + case UNSPEC:
31171 + switch (XINT (x, 1))
31173 + case UNSPEC_FRSP:
31174 + *total = rs6000_cost->fp;
31175 + return true;
31177 + default:
31178 + break;
31180 + break;
31182 + case CALL:
31183 + case IF_THEN_ELSE:
31184 + if (!speed)
31186 + *total = COSTS_N_INSNS (1);
31187 + return true;
31189 + else if (FLOAT_MODE_P (mode)
31190 + && TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT && TARGET_FPRS)
31192 + *total = rs6000_cost->fp;
31193 + return false;
31195 + break;
31197 + case NE:
31198 + case EQ:
31199 + case GTU:
31200 + case LTU:
31201 + /* Carry bit requires mode == Pmode.
31202 + NEG or PLUS already counted so only add one. */
31203 + if (mode == Pmode
31204 + && (outer_code == NEG || outer_code == PLUS))
31206 + *total = COSTS_N_INSNS (1);
31207 + return true;
31209 + if (outer_code == SET)
31211 + if (XEXP (x, 1) == const0_rtx)
31213 + if (TARGET_ISEL && !TARGET_MFCRF)
31214 + *total = COSTS_N_INSNS (8);
31215 + else
31216 + *total = COSTS_N_INSNS (2);
31217 + return true;
31219 + else if (mode == Pmode)
31221 + *total = COSTS_N_INSNS (3);
31222 + return false;
31225 + /* FALLTHRU */
31227 + case GT:
31228 + case LT:
31229 + case UNORDERED:
31230 + if (outer_code == SET && (XEXP (x, 1) == const0_rtx))
31232 + if (TARGET_ISEL && !TARGET_MFCRF)
31233 + *total = COSTS_N_INSNS (8);
31234 + else
31235 + *total = COSTS_N_INSNS (2);
31236 + return true;
31238 + /* CC COMPARE. */
31239 + if (outer_code == COMPARE)
31241 + *total = 0;
31242 + return true;
31244 + break;
31246 + default:
31247 + break;
31250 + return false;
31253 +/* Debug form of r6000_rtx_costs that is selected if -mdebug=cost. */
31255 +static bool
31256 +rs6000_debug_rtx_costs (rtx x, int code, int outer_code, int opno, int *total,
31257 + bool speed)
31259 + bool ret = rs6000_rtx_costs (x, code, outer_code, opno, total, speed);
31261 + fprintf (stderr,
31262 + "\nrs6000_rtx_costs, return = %s, code = %s, outer_code = %s, "
31263 + "opno = %d, total = %d, speed = %s, x:\n",
31264 + ret ? "complete" : "scan inner",
31265 + GET_RTX_NAME (code),
31266 + GET_RTX_NAME (outer_code),
31267 + opno,
31268 + *total,
31269 + speed ? "true" : "false");
31271 + debug_rtx (x);
31273 + return ret;
31276 +/* Debug form of ADDRESS_COST that is selected if -mdebug=cost. */
31278 +static int
31279 +rs6000_debug_address_cost (rtx x, machine_mode mode,
31280 + addr_space_t as, bool speed)
31282 + int ret = TARGET_ADDRESS_COST (x, mode, as, speed);
31284 + fprintf (stderr, "\nrs6000_address_cost, return = %d, speed = %s, x:\n",
31285 + ret, speed ? "true" : "false");
31286 + debug_rtx (x);
31288 + return ret;
31292 +/* A C expression returning the cost of moving data from a register of class
31293 + CLASS1 to one of CLASS2. */
31295 +static int
31296 +rs6000_register_move_cost (machine_mode mode,
31297 + reg_class_t from, reg_class_t to)
31299 + int ret;
31301 + if (TARGET_DEBUG_COST)
31302 + dbg_cost_ctrl++;
31304 + /* Moves from/to GENERAL_REGS. */
31305 + if (reg_classes_intersect_p (to, GENERAL_REGS)
31306 + || reg_classes_intersect_p (from, GENERAL_REGS))
31308 + reg_class_t rclass = from;
31310 + if (! reg_classes_intersect_p (to, GENERAL_REGS))
31311 + rclass = to;
31313 + if (rclass == FLOAT_REGS || rclass == ALTIVEC_REGS || rclass == VSX_REGS)
31314 + ret = (rs6000_memory_move_cost (mode, rclass, false)
31315 + + rs6000_memory_move_cost (mode, GENERAL_REGS, false));
31317 + /* It's more expensive to move CR_REGS than CR0_REGS because of the
31318 + shift. */
31319 + else if (rclass == CR_REGS)
31320 + ret = 4;
31322 + /* For those processors that have slow LR/CTR moves, make them more
31323 + expensive than memory in order to bias spills to memory .*/
31324 + else if ((rs6000_cpu == PROCESSOR_POWER6
31325 + || rs6000_cpu == PROCESSOR_POWER7
31326 + || rs6000_cpu == PROCESSOR_POWER8)
31327 + && reg_classes_intersect_p (rclass, LINK_OR_CTR_REGS))
31328 + ret = 6 * hard_regno_nregs[0][mode];
31330 + else
31331 + /* A move will cost one instruction per GPR moved. */
31332 + ret = 2 * hard_regno_nregs[0][mode];
31335 + /* If we have VSX, we can easily move between FPR or Altivec registers. */
31336 + else if (VECTOR_MEM_VSX_P (mode)
31337 + && reg_classes_intersect_p (to, VSX_REGS)
31338 + && reg_classes_intersect_p (from, VSX_REGS))
31339 + ret = 2 * hard_regno_nregs[32][mode];
31341 + /* Moving between two similar registers is just one instruction. */
31342 + else if (reg_classes_intersect_p (to, from))
31343 + ret = (mode == TFmode || mode == TDmode) ? 4 : 2;
31345 + /* Everything else has to go through GENERAL_REGS. */
31346 + else
31347 + ret = (rs6000_register_move_cost (mode, GENERAL_REGS, to)
31348 + + rs6000_register_move_cost (mode, from, GENERAL_REGS));
31350 + if (TARGET_DEBUG_COST)
31352 + if (dbg_cost_ctrl == 1)
31353 + fprintf (stderr,
31354 + "rs6000_register_move_cost:, ret=%d, mode=%s, from=%s, to=%s\n",
31355 + ret, GET_MODE_NAME (mode), reg_class_names[from],
31356 + reg_class_names[to]);
31357 + dbg_cost_ctrl--;
31360 + return ret;
31363 +/* A C expressions returning the cost of moving data of MODE from a register to
31364 + or from memory. */
31366 +static int
31367 +rs6000_memory_move_cost (machine_mode mode, reg_class_t rclass,
31368 + bool in ATTRIBUTE_UNUSED)
31370 + int ret;
31372 + if (TARGET_DEBUG_COST)
31373 + dbg_cost_ctrl++;
31375 + if (reg_classes_intersect_p (rclass, GENERAL_REGS))
31376 + ret = 4 * hard_regno_nregs[0][mode];
31377 + else if ((reg_classes_intersect_p (rclass, FLOAT_REGS)
31378 + || reg_classes_intersect_p (rclass, VSX_REGS)))
31379 + ret = 4 * hard_regno_nregs[32][mode];
31380 + else if (reg_classes_intersect_p (rclass, ALTIVEC_REGS))
31381 + ret = 4 * hard_regno_nregs[FIRST_ALTIVEC_REGNO][mode];
31382 + else
31383 + ret = 4 + rs6000_register_move_cost (mode, rclass, GENERAL_REGS);
31385 + if (TARGET_DEBUG_COST)
31387 + if (dbg_cost_ctrl == 1)
31388 + fprintf (stderr,
31389 + "rs6000_memory_move_cost: ret=%d, mode=%s, rclass=%s, in=%d\n",
31390 + ret, GET_MODE_NAME (mode), reg_class_names[rclass], in);
31391 + dbg_cost_ctrl--;
31394 + return ret;
31397 +/* Returns a code for a target-specific builtin that implements
31398 + reciprocal of the function, or NULL_TREE if not available. */
31400 +static tree
31401 +rs6000_builtin_reciprocal (unsigned int fn, bool md_fn,
31402 + bool sqrt ATTRIBUTE_UNUSED)
31404 + if (optimize_insn_for_size_p ())
31405 + return NULL_TREE;
31407 + if (md_fn)
31408 + switch (fn)
31410 + case VSX_BUILTIN_XVSQRTDP:
31411 + if (!RS6000_RECIP_AUTO_RSQRTE_P (V2DFmode))
31412 + return NULL_TREE;
31414 + return rs6000_builtin_decls[VSX_BUILTIN_RSQRT_2DF];
31416 + case VSX_BUILTIN_XVSQRTSP:
31417 + if (!RS6000_RECIP_AUTO_RSQRTE_P (V4SFmode))
31418 + return NULL_TREE;
31420 + return rs6000_builtin_decls[VSX_BUILTIN_RSQRT_4SF];
31422 + default:
31423 + return NULL_TREE;
31426 + else
31427 + switch (fn)
31429 + case BUILT_IN_SQRT:
31430 + if (!RS6000_RECIP_AUTO_RSQRTE_P (DFmode))
31431 + return NULL_TREE;
31433 + return rs6000_builtin_decls[RS6000_BUILTIN_RSQRT];
31435 + case BUILT_IN_SQRTF:
31436 + if (!RS6000_RECIP_AUTO_RSQRTE_P (SFmode))
31437 + return NULL_TREE;
31439 + return rs6000_builtin_decls[RS6000_BUILTIN_RSQRTF];
31441 + default:
31442 + return NULL_TREE;
31446 +/* Load up a constant. If the mode is a vector mode, splat the value across
31447 + all of the vector elements. */
31449 +static rtx
31450 +rs6000_load_constant_and_splat (machine_mode mode, REAL_VALUE_TYPE dconst)
31452 + rtx reg;
31454 + if (mode == SFmode || mode == DFmode)
31456 + rtx d = CONST_DOUBLE_FROM_REAL_VALUE (dconst, mode);
31457 + reg = force_reg (mode, d);
31459 + else if (mode == V4SFmode)
31461 + rtx d = CONST_DOUBLE_FROM_REAL_VALUE (dconst, SFmode);
31462 + rtvec v = gen_rtvec (4, d, d, d, d);
31463 + reg = gen_reg_rtx (mode);
31464 + rs6000_expand_vector_init (reg, gen_rtx_PARALLEL (mode, v));
31466 + else if (mode == V2DFmode)
31468 + rtx d = CONST_DOUBLE_FROM_REAL_VALUE (dconst, DFmode);
31469 + rtvec v = gen_rtvec (2, d, d);
31470 + reg = gen_reg_rtx (mode);
31471 + rs6000_expand_vector_init (reg, gen_rtx_PARALLEL (mode, v));
31473 + else
31474 + gcc_unreachable ();
31476 + return reg;
31479 +/* Generate an FMA instruction. */
31481 +static void
31482 +rs6000_emit_madd (rtx target, rtx m1, rtx m2, rtx a)
31484 + machine_mode mode = GET_MODE (target);
31485 + rtx dst;
31487 + dst = expand_ternary_op (mode, fma_optab, m1, m2, a, target, 0);
31488 + gcc_assert (dst != NULL);
31490 + if (dst != target)
31491 + emit_move_insn (target, dst);
31494 +/* Generate a FMSUB instruction: dst = fma(m1, m2, -a). */
31496 +static void
31497 +rs6000_emit_msub (rtx target, rtx m1, rtx m2, rtx a)
31499 + machine_mode mode = GET_MODE (target);
31500 + rtx dst;
31502 + /* Altivec does not support fms directly;
31503 + generate in terms of fma in that case. */
31504 + if (optab_handler (fms_optab, mode) != CODE_FOR_nothing)
31505 + dst = expand_ternary_op (mode, fms_optab, m1, m2, a, target, 0);
31506 + else
31508 + a = expand_unop (mode, neg_optab, a, NULL_RTX, 0);
31509 + dst = expand_ternary_op (mode, fma_optab, m1, m2, a, target, 0);
31511 + gcc_assert (dst != NULL);
31513 + if (dst != target)
31514 + emit_move_insn (target, dst);
31517 +/* Generate a FNMSUB instruction: dst = -fma(m1, m2, -a). */
31519 +static void
31520 +rs6000_emit_nmsub (rtx dst, rtx m1, rtx m2, rtx a)
31522 + machine_mode mode = GET_MODE (dst);
31523 + rtx r;
31525 + /* This is a tad more complicated, since the fnma_optab is for
31526 + a different expression: fma(-m1, m2, a), which is the same
31527 + thing except in the case of signed zeros.
31529 + Fortunately we know that if FMA is supported that FNMSUB is
31530 + also supported in the ISA. Just expand it directly. */
31532 + gcc_assert (optab_handler (fma_optab, mode) != CODE_FOR_nothing);
31534 + r = gen_rtx_NEG (mode, a);
31535 + r = gen_rtx_FMA (mode, m1, m2, r);
31536 + r = gen_rtx_NEG (mode, r);
31537 + emit_insn (gen_rtx_SET (VOIDmode, dst, r));
31540 +/* Newton-Raphson approximation of floating point divide DST = N/D. If NOTE_P,
31541 + add a reg_note saying that this was a division. Support both scalar and
31542 + vector divide. Assumes no trapping math and finite arguments. */
31544 +void
31545 +rs6000_emit_swdiv (rtx dst, rtx n, rtx d, bool note_p)
31547 + machine_mode mode = GET_MODE (dst);
31548 + rtx one, x0, e0, x1, xprev, eprev, xnext, enext, u, v;
31549 + int i;
31551 + /* Low precision estimates guarantee 5 bits of accuracy. High
31552 + precision estimates guarantee 14 bits of accuracy. SFmode
31553 + requires 23 bits of accuracy. DFmode requires 52 bits of
31554 + accuracy. Each pass at least doubles the accuracy, leading
31555 + to the following. */
31556 + int passes = (TARGET_RECIP_PRECISION) ? 1 : 3;
31557 + if (mode == DFmode || mode == V2DFmode)
31558 + passes++;
31560 + enum insn_code code = optab_handler (smul_optab, mode);
31561 + insn_gen_fn gen_mul = GEN_FCN (code);
31563 + gcc_assert (code != CODE_FOR_nothing);
31565 + one = rs6000_load_constant_and_splat (mode, dconst1);
31567 + /* x0 = 1./d estimate */
31568 + x0 = gen_reg_rtx (mode);
31569 + emit_insn (gen_rtx_SET (VOIDmode, x0,
31570 + gen_rtx_UNSPEC (mode, gen_rtvec (1, d),
31571 + UNSPEC_FRES)));
31573 + /* Each iteration but the last calculates x_(i+1) = x_i * (2 - d * x_i). */
31574 + if (passes > 1) {
31576 + /* e0 = 1. - d * x0 */
31577 + e0 = gen_reg_rtx (mode);
31578 + rs6000_emit_nmsub (e0, d, x0, one);
31580 + /* x1 = x0 + e0 * x0 */
31581 + x1 = gen_reg_rtx (mode);
31582 + rs6000_emit_madd (x1, e0, x0, x0);
31584 + for (i = 0, xprev = x1, eprev = e0; i < passes - 2;
31585 + ++i, xprev = xnext, eprev = enext) {
31587 + /* enext = eprev * eprev */
31588 + enext = gen_reg_rtx (mode);
31589 + emit_insn (gen_mul (enext, eprev, eprev));
31591 + /* xnext = xprev + enext * xprev */
31592 + xnext = gen_reg_rtx (mode);
31593 + rs6000_emit_madd (xnext, enext, xprev, xprev);
31596 + } else
31597 + xprev = x0;
31599 + /* The last iteration calculates x_(i+1) = n * x_i * (2 - d * x_i). */
31601 + /* u = n * xprev */
31602 + u = gen_reg_rtx (mode);
31603 + emit_insn (gen_mul (u, n, xprev));
31605 + /* v = n - (d * u) */
31606 + v = gen_reg_rtx (mode);
31607 + rs6000_emit_nmsub (v, d, u, n);
31609 + /* dst = (v * xprev) + u */
31610 + rs6000_emit_madd (dst, v, xprev, u);
31612 + if (note_p)
31613 + add_reg_note (get_last_insn (), REG_EQUAL, gen_rtx_DIV (mode, n, d));
31616 +/* Newton-Raphson approximation of single/double-precision floating point
31617 + rsqrt. Assumes no trapping math and finite arguments. */
31619 +void
31620 +rs6000_emit_swrsqrt (rtx dst, rtx src)
31622 + machine_mode mode = GET_MODE (src);
31623 + rtx x0 = gen_reg_rtx (mode);
31624 + rtx y = gen_reg_rtx (mode);
31626 + /* Low precision estimates guarantee 5 bits of accuracy. High
31627 + precision estimates guarantee 14 bits of accuracy. SFmode
31628 + requires 23 bits of accuracy. DFmode requires 52 bits of
31629 + accuracy. Each pass at least doubles the accuracy, leading
31630 + to the following. */
31631 + int passes = (TARGET_RECIP_PRECISION) ? 1 : 3;
31632 + if (mode == DFmode || mode == V2DFmode)
31633 + passes++;
31635 + REAL_VALUE_TYPE dconst3_2;
31636 + int i;
31637 + rtx halfthree;
31638 + enum insn_code code = optab_handler (smul_optab, mode);
31639 + insn_gen_fn gen_mul = GEN_FCN (code);
31641 + gcc_assert (code != CODE_FOR_nothing);
31643 + /* Load up the constant 1.5 either as a scalar, or as a vector. */
31644 + real_from_integer (&dconst3_2, VOIDmode, 3, SIGNED);
31645 + SET_REAL_EXP (&dconst3_2, REAL_EXP (&dconst3_2) - 1);
31647 + halfthree = rs6000_load_constant_and_splat (mode, dconst3_2);
31649 + /* x0 = rsqrt estimate */
31650 + emit_insn (gen_rtx_SET (VOIDmode, x0,
31651 + gen_rtx_UNSPEC (mode, gen_rtvec (1, src),
31652 + UNSPEC_RSQRT)));
31654 + /* y = 0.5 * src = 1.5 * src - src -> fewer constants */
31655 + rs6000_emit_msub (y, src, halfthree, src);
31657 + for (i = 0; i < passes; i++)
31659 + rtx x1 = gen_reg_rtx (mode);
31660 + rtx u = gen_reg_rtx (mode);
31661 + rtx v = gen_reg_rtx (mode);
31663 + /* x1 = x0 * (1.5 - y * (x0 * x0)) */
31664 + emit_insn (gen_mul (u, x0, x0));
31665 + rs6000_emit_nmsub (v, y, u, halfthree);
31666 + emit_insn (gen_mul (x1, x0, v));
31667 + x0 = x1;
31670 + emit_move_insn (dst, x0);
31671 + return;
31674 +/* Emit popcount intrinsic on TARGET_POPCNTB (Power5) and TARGET_POPCNTD
31675 + (Power7) targets. DST is the target, and SRC is the argument operand. */
31677 +void
31678 +rs6000_emit_popcount (rtx dst, rtx src)
31680 + machine_mode mode = GET_MODE (dst);
31681 + rtx tmp1, tmp2;
31683 + /* Use the PPC ISA 2.06 popcnt{w,d} instruction if we can. */
31684 + if (TARGET_POPCNTD)
31686 + if (mode == SImode)
31687 + emit_insn (gen_popcntdsi2 (dst, src));
31688 + else
31689 + emit_insn (gen_popcntddi2 (dst, src));
31690 + return;
31693 + tmp1 = gen_reg_rtx (mode);
31695 + if (mode == SImode)
31697 + emit_insn (gen_popcntbsi2 (tmp1, src));
31698 + tmp2 = expand_mult (SImode, tmp1, GEN_INT (0x01010101),
31699 + NULL_RTX, 0);
31700 + tmp2 = force_reg (SImode, tmp2);
31701 + emit_insn (gen_lshrsi3 (dst, tmp2, GEN_INT (24)));
31703 + else
31705 + emit_insn (gen_popcntbdi2 (tmp1, src));
31706 + tmp2 = expand_mult (DImode, tmp1,
31707 + GEN_INT ((HOST_WIDE_INT)
31708 + 0x01010101 << 32 | 0x01010101),
31709 + NULL_RTX, 0);
31710 + tmp2 = force_reg (DImode, tmp2);
31711 + emit_insn (gen_lshrdi3 (dst, tmp2, GEN_INT (56)));
31716 +/* Emit parity intrinsic on TARGET_POPCNTB targets. DST is the
31717 + target, and SRC is the argument operand. */
31719 +void
31720 +rs6000_emit_parity (rtx dst, rtx src)
31722 + machine_mode mode = GET_MODE (dst);
31723 + rtx tmp;
31725 + tmp = gen_reg_rtx (mode);
31727 + /* Use the PPC ISA 2.05 prtyw/prtyd instruction if we can. */
31728 + if (TARGET_CMPB)
31730 + if (mode == SImode)
31732 + emit_insn (gen_popcntbsi2 (tmp, src));
31733 + emit_insn (gen_paritysi2_cmpb (dst, tmp));
31735 + else
31737 + emit_insn (gen_popcntbdi2 (tmp, src));
31738 + emit_insn (gen_paritydi2_cmpb (dst, tmp));
31740 + return;
31743 + if (mode == SImode)
31745 + /* Is mult+shift >= shift+xor+shift+xor? */
31746 + if (rs6000_cost->mulsi_const >= COSTS_N_INSNS (3))
31748 + rtx tmp1, tmp2, tmp3, tmp4;
31750 + tmp1 = gen_reg_rtx (SImode);
31751 + emit_insn (gen_popcntbsi2 (tmp1, src));
31753 + tmp2 = gen_reg_rtx (SImode);
31754 + emit_insn (gen_lshrsi3 (tmp2, tmp1, GEN_INT (16)));
31755 + tmp3 = gen_reg_rtx (SImode);
31756 + emit_insn (gen_xorsi3 (tmp3, tmp1, tmp2));
31758 + tmp4 = gen_reg_rtx (SImode);
31759 + emit_insn (gen_lshrsi3 (tmp4, tmp3, GEN_INT (8)));
31760 + emit_insn (gen_xorsi3 (tmp, tmp3, tmp4));
31762 + else
31763 + rs6000_emit_popcount (tmp, src);
31764 + emit_insn (gen_andsi3 (dst, tmp, const1_rtx));
31766 + else
31768 + /* Is mult+shift >= shift+xor+shift+xor+shift+xor? */
31769 + if (rs6000_cost->muldi >= COSTS_N_INSNS (5))
31771 + rtx tmp1, tmp2, tmp3, tmp4, tmp5, tmp6;
31773 + tmp1 = gen_reg_rtx (DImode);
31774 + emit_insn (gen_popcntbdi2 (tmp1, src));
31776 + tmp2 = gen_reg_rtx (DImode);
31777 + emit_insn (gen_lshrdi3 (tmp2, tmp1, GEN_INT (32)));
31778 + tmp3 = gen_reg_rtx (DImode);
31779 + emit_insn (gen_xordi3 (tmp3, tmp1, tmp2));
31781 + tmp4 = gen_reg_rtx (DImode);
31782 + emit_insn (gen_lshrdi3 (tmp4, tmp3, GEN_INT (16)));
31783 + tmp5 = gen_reg_rtx (DImode);
31784 + emit_insn (gen_xordi3 (tmp5, tmp3, tmp4));
31786 + tmp6 = gen_reg_rtx (DImode);
31787 + emit_insn (gen_lshrdi3 (tmp6, tmp5, GEN_INT (8)));
31788 + emit_insn (gen_xordi3 (tmp, tmp5, tmp6));
31790 + else
31791 + rs6000_emit_popcount (tmp, src);
31792 + emit_insn (gen_anddi3 (dst, tmp, const1_rtx));
31796 +/* Expand an Altivec constant permutation for little endian mode.
31797 + There are two issues: First, the two input operands must be
31798 + swapped so that together they form a double-wide array in LE
31799 + order. Second, the vperm instruction has surprising behavior
31800 + in LE mode: it interprets the elements of the source vectors
31801 + in BE mode ("left to right") and interprets the elements of
31802 + the destination vector in LE mode ("right to left"). To
31803 + correct for this, we must subtract each element of the permute
31804 + control vector from 31.
31806 + For example, suppose we want to concatenate vr10 = {0, 1, 2, 3}
31807 + with vr11 = {4, 5, 6, 7} and extract {0, 2, 4, 6} using a vperm.
31808 + We place {0,1,2,3,8,9,10,11,16,17,18,19,24,25,26,27} in vr12 to
31809 + serve as the permute control vector. Then, in BE mode,
31811 + vperm 9,10,11,12
31813 + places the desired result in vr9. However, in LE mode the
31814 + vector contents will be
31816 + vr10 = 00000003 00000002 00000001 00000000
31817 + vr11 = 00000007 00000006 00000005 00000004
31819 + The result of the vperm using the same permute control vector is
31821 + vr9 = 05000000 07000000 01000000 03000000
31823 + That is, the leftmost 4 bytes of vr10 are interpreted as the
31824 + source for the rightmost 4 bytes of vr9, and so on.
31826 + If we change the permute control vector to
31828 + vr12 = {31,20,29,28,23,22,21,20,15,14,13,12,7,6,5,4}
31830 + and issue
31832 + vperm 9,11,10,12
31834 + we get the desired
31836 + vr9 = 00000006 00000004 00000002 00000000. */
31838 +void
31839 +altivec_expand_vec_perm_const_le (rtx operands[4])
31841 + unsigned int i;
31842 + rtx perm[16];
31843 + rtx constv, unspec;
31844 + rtx target = operands[0];
31845 + rtx op0 = operands[1];
31846 + rtx op1 = operands[2];
31847 + rtx sel = operands[3];
31849 + /* Unpack and adjust the constant selector. */
31850 + for (i = 0; i < 16; ++i)
31852 + rtx e = XVECEXP (sel, 0, i);
31853 + unsigned int elt = 31 - (INTVAL (e) & 31);
31854 + perm[i] = GEN_INT (elt);
31857 + /* Expand to a permute, swapping the inputs and using the
31858 + adjusted selector. */
31859 + if (!REG_P (op0))
31860 + op0 = force_reg (V16QImode, op0);
31861 + if (!REG_P (op1))
31862 + op1 = force_reg (V16QImode, op1);
31864 + constv = gen_rtx_CONST_VECTOR (V16QImode, gen_rtvec_v (16, perm));
31865 + constv = force_reg (V16QImode, constv);
31866 + unspec = gen_rtx_UNSPEC (V16QImode, gen_rtvec (3, op1, op0, constv),
31867 + UNSPEC_VPERM);
31868 + if (!REG_P (target))
31870 + rtx tmp = gen_reg_rtx (V16QImode);
31871 + emit_move_insn (tmp, unspec);
31872 + unspec = tmp;
31875 + emit_move_insn (target, unspec);
31878 +/* Similarly to altivec_expand_vec_perm_const_le, we must adjust the
31879 + permute control vector. But here it's not a constant, so we must
31880 + generate a vector NAND or NOR to do the adjustment. */
31882 +void
31883 +altivec_expand_vec_perm_le (rtx operands[4])
31885 + rtx notx, iorx, unspec;
31886 + rtx target = operands[0];
31887 + rtx op0 = operands[1];
31888 + rtx op1 = operands[2];
31889 + rtx sel = operands[3];
31890 + rtx tmp = target;
31891 + rtx norreg = gen_reg_rtx (V16QImode);
31892 + machine_mode mode = GET_MODE (target);
31894 + /* Get everything in regs so the pattern matches. */
31895 + if (!REG_P (op0))
31896 + op0 = force_reg (mode, op0);
31897 + if (!REG_P (op1))
31898 + op1 = force_reg (mode, op1);
31899 + if (!REG_P (sel))
31900 + sel = force_reg (V16QImode, sel);
31901 + if (!REG_P (target))
31902 + tmp = gen_reg_rtx (mode);
31904 + /* Invert the selector with a VNAND if available, else a VNOR.
31905 + The VNAND is preferred for future fusion opportunities. */
31906 + notx = gen_rtx_NOT (V16QImode, sel);
31907 + iorx = (TARGET_P8_VECTOR
31908 + ? gen_rtx_IOR (V16QImode, notx, notx)
31909 + : gen_rtx_AND (V16QImode, notx, notx));
31910 + emit_insn (gen_rtx_SET (VOIDmode, norreg, iorx));
31912 + /* Permute with operands reversed and adjusted selector. */
31913 + unspec = gen_rtx_UNSPEC (mode, gen_rtvec (3, op1, op0, norreg),
31914 + UNSPEC_VPERM);
31916 + /* Copy into target, possibly by way of a register. */
31917 + if (!REG_P (target))
31919 + emit_move_insn (tmp, unspec);
31920 + unspec = tmp;
31923 + emit_move_insn (target, unspec);
31926 +/* Expand an Altivec constant permutation. Return true if we match
31927 + an efficient implementation; false to fall back to VPERM. */
31929 +bool
31930 +altivec_expand_vec_perm_const (rtx operands[4])
31932 + struct altivec_perm_insn {
31933 + HOST_WIDE_INT mask;
31934 + enum insn_code impl;
31935 + unsigned char perm[16];
31936 + };
31937 + static const struct altivec_perm_insn patterns[] = {
31938 + { OPTION_MASK_ALTIVEC, CODE_FOR_altivec_vpkuhum_direct,
31939 + { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 } },
31940 + { OPTION_MASK_ALTIVEC, CODE_FOR_altivec_vpkuwum_direct,
31941 + { 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 } },
31942 + { OPTION_MASK_ALTIVEC,
31943 + (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghb_direct
31944 + : CODE_FOR_altivec_vmrglb_direct),
31945 + { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 } },
31946 + { OPTION_MASK_ALTIVEC,
31947 + (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghh_direct
31948 + : CODE_FOR_altivec_vmrglh_direct),
31949 + { 0, 1, 16, 17, 2, 3, 18, 19, 4, 5, 20, 21, 6, 7, 22, 23 } },
31950 + { OPTION_MASK_ALTIVEC,
31951 + (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghw_direct
31952 + : CODE_FOR_altivec_vmrglw_direct),
31953 + { 0, 1, 2, 3, 16, 17, 18, 19, 4, 5, 6, 7, 20, 21, 22, 23 } },
31954 + { OPTION_MASK_ALTIVEC,
31955 + (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglb_direct
31956 + : CODE_FOR_altivec_vmrghb_direct),
31957 + { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 } },
31958 + { OPTION_MASK_ALTIVEC,
31959 + (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglh_direct
31960 + : CODE_FOR_altivec_vmrghh_direct),
31961 + { 8, 9, 24, 25, 10, 11, 26, 27, 12, 13, 28, 29, 14, 15, 30, 31 } },
31962 + { OPTION_MASK_ALTIVEC,
31963 + (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglw_direct
31964 + : CODE_FOR_altivec_vmrghw_direct),
31965 + { 8, 9, 10, 11, 24, 25, 26, 27, 12, 13, 14, 15, 28, 29, 30, 31 } },
31966 + { OPTION_MASK_P8_VECTOR, CODE_FOR_p8_vmrgew,
31967 + { 0, 1, 2, 3, 16, 17, 18, 19, 8, 9, 10, 11, 24, 25, 26, 27 } },
31968 + { OPTION_MASK_P8_VECTOR, CODE_FOR_p8_vmrgow,
31969 + { 4, 5, 6, 7, 20, 21, 22, 23, 12, 13, 14, 15, 28, 29, 30, 31 } }
31970 + };
31972 + unsigned int i, j, elt, which;
31973 + unsigned char perm[16];
31974 + rtx target, op0, op1, sel, x;
31975 + bool one_vec;
31977 + target = operands[0];
31978 + op0 = operands[1];
31979 + op1 = operands[2];
31980 + sel = operands[3];
31982 + /* Unpack the constant selector. */
31983 + for (i = which = 0; i < 16; ++i)
31985 + rtx e = XVECEXP (sel, 0, i);
31986 + elt = INTVAL (e) & 31;
31987 + which |= (elt < 16 ? 1 : 2);
31988 + perm[i] = elt;
31991 + /* Simplify the constant selector based on operands. */
31992 + switch (which)
31994 + default:
31995 + gcc_unreachable ();
31997 + case 3:
31998 + one_vec = false;
31999 + if (!rtx_equal_p (op0, op1))
32000 + break;
32001 + /* FALLTHRU */
32003 + case 2:
32004 + for (i = 0; i < 16; ++i)
32005 + perm[i] &= 15;
32006 + op0 = op1;
32007 + one_vec = true;
32008 + break;
32010 + case 1:
32011 + op1 = op0;
32012 + one_vec = true;
32013 + break;
32016 + /* Look for splat patterns. */
32017 + if (one_vec)
32019 + elt = perm[0];
32021 + for (i = 0; i < 16; ++i)
32022 + if (perm[i] != elt)
32023 + break;
32024 + if (i == 16)
32026 + if (!BYTES_BIG_ENDIAN)
32027 + elt = 15 - elt;
32028 + emit_insn (gen_altivec_vspltb_direct (target, op0, GEN_INT (elt)));
32029 + return true;
32032 + if (elt % 2 == 0)
32034 + for (i = 0; i < 16; i += 2)
32035 + if (perm[i] != elt || perm[i + 1] != elt + 1)
32036 + break;
32037 + if (i == 16)
32039 + int field = BYTES_BIG_ENDIAN ? elt / 2 : 7 - elt / 2;
32040 + x = gen_reg_rtx (V8HImode);
32041 + emit_insn (gen_altivec_vsplth_direct (x, gen_lowpart (V8HImode, op0),
32042 + GEN_INT (field)));
32043 + emit_move_insn (target, gen_lowpart (V16QImode, x));
32044 + return true;
32048 + if (elt % 4 == 0)
32050 + for (i = 0; i < 16; i += 4)
32051 + if (perm[i] != elt
32052 + || perm[i + 1] != elt + 1
32053 + || perm[i + 2] != elt + 2
32054 + || perm[i + 3] != elt + 3)
32055 + break;
32056 + if (i == 16)
32058 + int field = BYTES_BIG_ENDIAN ? elt / 4 : 3 - elt / 4;
32059 + x = gen_reg_rtx (V4SImode);
32060 + emit_insn (gen_altivec_vspltw_direct (x, gen_lowpart (V4SImode, op0),
32061 + GEN_INT (field)));
32062 + emit_move_insn (target, gen_lowpart (V16QImode, x));
32063 + return true;
32068 + /* Look for merge and pack patterns. */
32069 + for (j = 0; j < ARRAY_SIZE (patterns); ++j)
32071 + bool swapped;
32073 + if ((patterns[j].mask & rs6000_isa_flags) == 0)
32074 + continue;
32076 + elt = patterns[j].perm[0];
32077 + if (perm[0] == elt)
32078 + swapped = false;
32079 + else if (perm[0] == elt + 16)
32080 + swapped = true;
32081 + else
32082 + continue;
32083 + for (i = 1; i < 16; ++i)
32085 + elt = patterns[j].perm[i];
32086 + if (swapped)
32087 + elt = (elt >= 16 ? elt - 16 : elt + 16);
32088 + else if (one_vec && elt >= 16)
32089 + elt -= 16;
32090 + if (perm[i] != elt)
32091 + break;
32093 + if (i == 16)
32095 + enum insn_code icode = patterns[j].impl;
32096 + machine_mode omode = insn_data[icode].operand[0].mode;
32097 + machine_mode imode = insn_data[icode].operand[1].mode;
32099 + /* For little-endian, don't use vpkuwum and vpkuhum if the
32100 + underlying vector type is not V4SI and V8HI, respectively.
32101 + For example, using vpkuwum with a V8HI picks up the even
32102 + halfwords (BE numbering) when the even halfwords (LE
32103 + numbering) are what we need. */
32104 + if (!BYTES_BIG_ENDIAN
32105 + && icode == CODE_FOR_altivec_vpkuwum_direct
32106 + && ((GET_CODE (op0) == REG
32107 + && GET_MODE (op0) != V4SImode)
32108 + || (GET_CODE (op0) == SUBREG
32109 + && GET_MODE (XEXP (op0, 0)) != V4SImode)))
32110 + continue;
32111 + if (!BYTES_BIG_ENDIAN
32112 + && icode == CODE_FOR_altivec_vpkuhum_direct
32113 + && ((GET_CODE (op0) == REG
32114 + && GET_MODE (op0) != V8HImode)
32115 + || (GET_CODE (op0) == SUBREG
32116 + && GET_MODE (XEXP (op0, 0)) != V8HImode)))
32117 + continue;
32119 + /* For little-endian, the two input operands must be swapped
32120 + (or swapped back) to ensure proper right-to-left numbering
32121 + from 0 to 2N-1. */
32122 + if (swapped ^ !BYTES_BIG_ENDIAN)
32123 + std::swap (op0, op1);
32124 + if (imode != V16QImode)
32126 + op0 = gen_lowpart (imode, op0);
32127 + op1 = gen_lowpart (imode, op1);
32129 + if (omode == V16QImode)
32130 + x = target;
32131 + else
32132 + x = gen_reg_rtx (omode);
32133 + emit_insn (GEN_FCN (icode) (x, op0, op1));
32134 + if (omode != V16QImode)
32135 + emit_move_insn (target, gen_lowpart (V16QImode, x));
32136 + return true;
32140 + if (!BYTES_BIG_ENDIAN)
32142 + altivec_expand_vec_perm_const_le (operands);
32143 + return true;
32146 + return false;
32149 +/* Expand a Paired Single, VSX Permute Doubleword, or SPE constant permutation.
32150 + Return true if we match an efficient implementation. */
32152 +static bool
32153 +rs6000_expand_vec_perm_const_1 (rtx target, rtx op0, rtx op1,
32154 + unsigned char perm0, unsigned char perm1)
32156 + rtx x;
32158 + /* If both selectors come from the same operand, fold to single op. */
32159 + if ((perm0 & 2) == (perm1 & 2))
32161 + if (perm0 & 2)
32162 + op0 = op1;
32163 + else
32164 + op1 = op0;
32166 + /* If both operands are equal, fold to simpler permutation. */
32167 + if (rtx_equal_p (op0, op1))
32169 + perm0 = perm0 & 1;
32170 + perm1 = (perm1 & 1) + 2;
32172 + /* If the first selector comes from the second operand, swap. */
32173 + else if (perm0 & 2)
32175 + if (perm1 & 2)
32176 + return false;
32177 + perm0 -= 2;
32178 + perm1 += 2;
32179 + std::swap (op0, op1);
32181 + /* If the second selector does not come from the second operand, fail. */
32182 + else if ((perm1 & 2) == 0)
32183 + return false;
32185 + /* Success! */
32186 + if (target != NULL)
32188 + machine_mode vmode, dmode;
32189 + rtvec v;
32191 + vmode = GET_MODE (target);
32192 + gcc_assert (GET_MODE_NUNITS (vmode) == 2);
32193 + dmode = mode_for_vector (GET_MODE_INNER (vmode), 4);
32194 + x = gen_rtx_VEC_CONCAT (dmode, op0, op1);
32195 + v = gen_rtvec (2, GEN_INT (perm0), GEN_INT (perm1));
32196 + x = gen_rtx_VEC_SELECT (vmode, x, gen_rtx_PARALLEL (VOIDmode, v));
32197 + emit_insn (gen_rtx_SET (VOIDmode, target, x));
32199 + return true;
32202 +bool
32203 +rs6000_expand_vec_perm_const (rtx operands[4])
32205 + rtx target, op0, op1, sel;
32206 + unsigned char perm0, perm1;
32208 + target = operands[0];
32209 + op0 = operands[1];
32210 + op1 = operands[2];
32211 + sel = operands[3];
32213 + /* Unpack the constant selector. */
32214 + perm0 = INTVAL (XVECEXP (sel, 0, 0)) & 3;
32215 + perm1 = INTVAL (XVECEXP (sel, 0, 1)) & 3;
32217 + return rs6000_expand_vec_perm_const_1 (target, op0, op1, perm0, perm1);
32220 +/* Test whether a constant permutation is supported. */
32222 +static bool
32223 +rs6000_vectorize_vec_perm_const_ok (machine_mode vmode,
32224 + const unsigned char *sel)
32226 + /* AltiVec (and thus VSX) can handle arbitrary permutations. */
32227 + if (TARGET_ALTIVEC)
32228 + return true;
32230 + /* Check for ps_merge* or evmerge* insns. */
32231 + if ((TARGET_PAIRED_FLOAT && vmode == V2SFmode)
32232 + || (TARGET_SPE && vmode == V2SImode))
32234 + rtx op0 = gen_raw_REG (vmode, LAST_VIRTUAL_REGISTER + 1);
32235 + rtx op1 = gen_raw_REG (vmode, LAST_VIRTUAL_REGISTER + 2);
32236 + return rs6000_expand_vec_perm_const_1 (NULL, op0, op1, sel[0], sel[1]);
32239 + return false;
32242 +/* A subroutine for rs6000_expand_extract_even & rs6000_expand_interleave. */
32244 +static void
32245 +rs6000_do_expand_vec_perm (rtx target, rtx op0, rtx op1,
32246 + machine_mode vmode, unsigned nelt, rtx perm[])
32248 + machine_mode imode;
32249 + rtx x;
32251 + imode = vmode;
32252 + if (GET_MODE_CLASS (vmode) != MODE_VECTOR_INT)
32254 + imode = GET_MODE_INNER (vmode);
32255 + imode = mode_for_size (GET_MODE_BITSIZE (imode), MODE_INT, 0);
32256 + imode = mode_for_vector (imode, nelt);
32259 + x = gen_rtx_CONST_VECTOR (imode, gen_rtvec_v (nelt, perm));
32260 + x = expand_vec_perm (vmode, op0, op1, x, target);
32261 + if (x != target)
32262 + emit_move_insn (target, x);
32265 +/* Expand an extract even operation. */
32267 +void
32268 +rs6000_expand_extract_even (rtx target, rtx op0, rtx op1)
32270 + machine_mode vmode = GET_MODE (target);
32271 + unsigned i, nelt = GET_MODE_NUNITS (vmode);
32272 + rtx perm[16];
32274 + for (i = 0; i < nelt; i++)
32275 + perm[i] = GEN_INT (i * 2);
32277 + rs6000_do_expand_vec_perm (target, op0, op1, vmode, nelt, perm);
32280 +/* Expand a vector interleave operation. */
32282 +void
32283 +rs6000_expand_interleave (rtx target, rtx op0, rtx op1, bool highp)
32285 + machine_mode vmode = GET_MODE (target);
32286 + unsigned i, high, nelt = GET_MODE_NUNITS (vmode);
32287 + rtx perm[16];
32289 + high = (highp ? 0 : nelt / 2);
32290 + for (i = 0; i < nelt / 2; i++)
32292 + perm[i * 2] = GEN_INT (i + high);
32293 + perm[i * 2 + 1] = GEN_INT (i + nelt + high);
32296 + rs6000_do_expand_vec_perm (target, op0, op1, vmode, nelt, perm);
32299 +/* Scale a V2DF vector SRC by two to the SCALE and place in TGT. */
32300 +void
32301 +rs6000_scale_v2df (rtx tgt, rtx src, int scale)
32303 + HOST_WIDE_INT hwi_scale (scale);
32304 + REAL_VALUE_TYPE r_pow;
32305 + rtvec v = rtvec_alloc (2);
32306 + rtx elt;
32307 + rtx scale_vec = gen_reg_rtx (V2DFmode);
32308 + (void)real_powi (&r_pow, DFmode, &dconst2, hwi_scale);
32309 + elt = CONST_DOUBLE_FROM_REAL_VALUE (r_pow, DFmode);
32310 + RTVEC_ELT (v, 0) = elt;
32311 + RTVEC_ELT (v, 1) = elt;
32312 + rs6000_expand_vector_init (scale_vec, gen_rtx_PARALLEL (V2DFmode, v));
32313 + emit_insn (gen_mulv2df3 (tgt, src, scale_vec));
32316 +/* Return an RTX representing where to find the function value of a
32317 + function returning MODE. */
32318 +static rtx
32319 +rs6000_complex_function_value (machine_mode mode)
32321 + unsigned int regno;
32322 + rtx r1, r2;
32323 + machine_mode inner = GET_MODE_INNER (mode);
32324 + unsigned int inner_bytes = GET_MODE_SIZE (inner);
32326 + if (FLOAT_MODE_P (mode) && TARGET_HARD_FLOAT && TARGET_FPRS)
32327 + regno = FP_ARG_RETURN;
32328 + else
32330 + regno = GP_ARG_RETURN;
32332 + /* 32-bit is OK since it'll go in r3/r4. */
32333 + if (TARGET_32BIT && inner_bytes >= 4)
32334 + return gen_rtx_REG (mode, regno);
32337 + if (inner_bytes >= 8)
32338 + return gen_rtx_REG (mode, regno);
32340 + r1 = gen_rtx_EXPR_LIST (inner, gen_rtx_REG (inner, regno),
32341 + const0_rtx);
32342 + r2 = gen_rtx_EXPR_LIST (inner, gen_rtx_REG (inner, regno + 1),
32343 + GEN_INT (inner_bytes));
32344 + return gen_rtx_PARALLEL (mode, gen_rtvec (2, r1, r2));
32347 +/* Return an rtx describing a return value of MODE as a PARALLEL
32348 + in N_ELTS registers, each of mode ELT_MODE, starting at REGNO,
32349 + stride REG_STRIDE. */
32351 +static rtx
32352 +rs6000_parallel_return (machine_mode mode,
32353 + int n_elts, machine_mode elt_mode,
32354 + unsigned int regno, unsigned int reg_stride)
32356 + rtx par = gen_rtx_PARALLEL (mode, rtvec_alloc (n_elts));
32358 + int i;
32359 + for (i = 0; i < n_elts; i++)
32361 + rtx r = gen_rtx_REG (elt_mode, regno);
32362 + rtx off = GEN_INT (i * GET_MODE_SIZE (elt_mode));
32363 + XVECEXP (par, 0, i) = gen_rtx_EXPR_LIST (VOIDmode, r, off);
32364 + regno += reg_stride;
32367 + return par;
32370 +/* Target hook for TARGET_FUNCTION_VALUE.
32372 + On the SPE, both FPs and vectors are returned in r3.
32374 + On RS/6000 an integer value is in r3 and a floating-point value is in
32375 + fp1, unless -msoft-float. */
32377 +static rtx
32378 +rs6000_function_value (const_tree valtype,
32379 + const_tree fn_decl_or_type ATTRIBUTE_UNUSED,
32380 + bool outgoing ATTRIBUTE_UNUSED)
32382 + machine_mode mode;
32383 + unsigned int regno;
32384 + machine_mode elt_mode;
32385 + int n_elts;
32387 + /* Special handling for structs in darwin64. */
32388 + if (TARGET_MACHO
32389 + && rs6000_darwin64_struct_check_p (TYPE_MODE (valtype), valtype))
32391 + CUMULATIVE_ARGS valcum;
32392 + rtx valret;
32394 + valcum.words = 0;
32395 + valcum.fregno = FP_ARG_MIN_REG;
32396 + valcum.vregno = ALTIVEC_ARG_MIN_REG;
32397 + /* Do a trial code generation as if this were going to be passed as
32398 + an argument; if any part goes in memory, we return NULL. */
32399 + valret = rs6000_darwin64_record_arg (&valcum, valtype, true, /* retval= */ true);
32400 + if (valret)
32401 + return valret;
32402 + /* Otherwise fall through to standard ABI rules. */
32405 + mode = TYPE_MODE (valtype);
32407 + /* The ELFv2 ABI returns homogeneous VFP aggregates in registers. */
32408 + if (rs6000_discover_homogeneous_aggregate (mode, valtype, &elt_mode, &n_elts))
32410 + int first_reg, n_regs;
32412 + if (SCALAR_FLOAT_MODE_P (elt_mode))
32414 + /* _Decimal128 must use even/odd register pairs. */
32415 + first_reg = (elt_mode == TDmode) ? FP_ARG_RETURN + 1 : FP_ARG_RETURN;
32416 + n_regs = (GET_MODE_SIZE (elt_mode) + 7) >> 3;
32418 + else
32420 + first_reg = ALTIVEC_ARG_RETURN;
32421 + n_regs = 1;
32424 + return rs6000_parallel_return (mode, n_elts, elt_mode, first_reg, n_regs);
32427 + /* Some return value types need be split in -mpowerpc64, 32bit ABI. */
32428 + if (TARGET_32BIT && TARGET_POWERPC64)
32429 + switch (mode)
32431 + default:
32432 + break;
32433 + case DImode:
32434 + case SCmode:
32435 + case DCmode:
32436 + case TCmode:
32437 + int count = GET_MODE_SIZE (mode) / 4;
32438 + return rs6000_parallel_return (mode, count, SImode, GP_ARG_RETURN, 1);
32441 + if ((INTEGRAL_TYPE_P (valtype)
32442 + && GET_MODE_BITSIZE (mode) < (TARGET_32BIT ? 32 : 64))
32443 + || POINTER_TYPE_P (valtype))
32444 + mode = TARGET_32BIT ? SImode : DImode;
32446 + if (DECIMAL_FLOAT_MODE_P (mode) && TARGET_HARD_FLOAT && TARGET_FPRS)
32447 + /* _Decimal128 must use an even/odd register pair. */
32448 + regno = (mode == TDmode) ? FP_ARG_RETURN + 1 : FP_ARG_RETURN;
32449 + else if (SCALAR_FLOAT_TYPE_P (valtype) && TARGET_HARD_FLOAT && TARGET_FPRS
32450 + && ((TARGET_SINGLE_FLOAT && (mode == SFmode)) || TARGET_DOUBLE_FLOAT))
32451 + regno = FP_ARG_RETURN;
32452 + else if (TREE_CODE (valtype) == COMPLEX_TYPE
32453 + && targetm.calls.split_complex_arg)
32454 + return rs6000_complex_function_value (mode);
32455 + /* VSX is a superset of Altivec and adds V2DImode/V2DFmode. Since the same
32456 + return register is used in both cases, and we won't see V2DImode/V2DFmode
32457 + for pure altivec, combine the two cases. */
32458 + else if (TREE_CODE (valtype) == VECTOR_TYPE
32459 + && TARGET_ALTIVEC && TARGET_ALTIVEC_ABI
32460 + && ALTIVEC_OR_VSX_VECTOR_MODE (mode))
32461 + regno = ALTIVEC_ARG_RETURN;
32462 + else if (TARGET_E500_DOUBLE && TARGET_HARD_FLOAT
32463 + && (mode == DFmode || mode == DCmode
32464 + || mode == TFmode || mode == TCmode))
32465 + return spe_build_register_parallel (mode, GP_ARG_RETURN);
32466 + else
32467 + regno = GP_ARG_RETURN;
32469 + return gen_rtx_REG (mode, regno);
32472 +/* Define how to find the value returned by a library function
32473 + assuming the value has mode MODE. */
32474 +rtx
32475 +rs6000_libcall_value (machine_mode mode)
32477 + unsigned int regno;
32479 + /* Long long return value need be split in -mpowerpc64, 32bit ABI. */
32480 + if (TARGET_32BIT && TARGET_POWERPC64 && mode == DImode)
32481 + return rs6000_parallel_return (mode, 2, SImode, GP_ARG_RETURN, 1);
32483 + if (DECIMAL_FLOAT_MODE_P (mode) && TARGET_HARD_FLOAT && TARGET_FPRS)
32484 + /* _Decimal128 must use an even/odd register pair. */
32485 + regno = (mode == TDmode) ? FP_ARG_RETURN + 1 : FP_ARG_RETURN;
32486 + else if (SCALAR_FLOAT_MODE_P (mode)
32487 + && TARGET_HARD_FLOAT && TARGET_FPRS
32488 + && ((TARGET_SINGLE_FLOAT && mode == SFmode) || TARGET_DOUBLE_FLOAT))
32489 + regno = FP_ARG_RETURN;
32490 + /* VSX is a superset of Altivec and adds V2DImode/V2DFmode. Since the same
32491 + return register is used in both cases, and we won't see V2DImode/V2DFmode
32492 + for pure altivec, combine the two cases. */
32493 + else if (ALTIVEC_OR_VSX_VECTOR_MODE (mode)
32494 + && TARGET_ALTIVEC && TARGET_ALTIVEC_ABI)
32495 + regno = ALTIVEC_ARG_RETURN;
32496 + else if (COMPLEX_MODE_P (mode) && targetm.calls.split_complex_arg)
32497 + return rs6000_complex_function_value (mode);
32498 + else if (TARGET_E500_DOUBLE && TARGET_HARD_FLOAT
32499 + && (mode == DFmode || mode == DCmode
32500 + || mode == TFmode || mode == TCmode))
32501 + return spe_build_register_parallel (mode, GP_ARG_RETURN);
32502 + else
32503 + regno = GP_ARG_RETURN;
32505 + return gen_rtx_REG (mode, regno);
32509 +/* Return true if we use LRA instead of reload pass. */
32510 +static bool
32511 +rs6000_lra_p (void)
32513 + return rs6000_lra_flag;
32516 +/* Given FROM and TO register numbers, say whether this elimination is allowed.
32517 + Frame pointer elimination is automatically handled.
32519 + For the RS/6000, if frame pointer elimination is being done, we would like
32520 + to convert ap into fp, not sp.
32522 + We need r30 if -mminimal-toc was specified, and there are constant pool
32523 + references. */
32525 +static bool
32526 +rs6000_can_eliminate (const int from, const int to)
32528 + return (from == ARG_POINTER_REGNUM && to == STACK_POINTER_REGNUM
32529 + ? ! frame_pointer_needed
32530 + : from == RS6000_PIC_OFFSET_TABLE_REGNUM
32531 + ? ! TARGET_MINIMAL_TOC || TARGET_NO_TOC || get_pool_size () == 0
32532 + : true);
32535 +/* Define the offset between two registers, FROM to be eliminated and its
32536 + replacement TO, at the start of a routine. */
32537 +HOST_WIDE_INT
32538 +rs6000_initial_elimination_offset (int from, int to)
32540 + rs6000_stack_t *info = rs6000_stack_info ();
32541 + HOST_WIDE_INT offset;
32543 + if (from == HARD_FRAME_POINTER_REGNUM && to == STACK_POINTER_REGNUM)
32544 + offset = info->push_p ? 0 : -info->total_size;
32545 + else if (from == FRAME_POINTER_REGNUM && to == STACK_POINTER_REGNUM)
32547 + offset = info->push_p ? 0 : -info->total_size;
32548 + if (FRAME_GROWS_DOWNWARD)
32549 + offset += info->fixed_size + info->vars_size + info->parm_size;
32551 + else if (from == FRAME_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM)
32552 + offset = FRAME_GROWS_DOWNWARD
32553 + ? info->fixed_size + info->vars_size + info->parm_size
32554 + : 0;
32555 + else if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM)
32556 + offset = info->total_size;
32557 + else if (from == ARG_POINTER_REGNUM && to == STACK_POINTER_REGNUM)
32558 + offset = info->push_p ? info->total_size : 0;
32559 + else if (from == RS6000_PIC_OFFSET_TABLE_REGNUM)
32560 + offset = 0;
32561 + else
32562 + gcc_unreachable ();
32564 + return offset;
32567 +static rtx
32568 +rs6000_dwarf_register_span (rtx reg)
32570 + rtx parts[8];
32571 + int i, words;
32572 + unsigned regno = REGNO (reg);
32573 + machine_mode mode = GET_MODE (reg);
32575 + if (TARGET_SPE
32576 + && regno < 32
32577 + && (SPE_VECTOR_MODE (GET_MODE (reg))
32578 + || (TARGET_E500_DOUBLE && FLOAT_MODE_P (mode)
32579 + && mode != SFmode && mode != SDmode && mode != SCmode)))
32581 + else
32582 + return NULL_RTX;
32584 + regno = REGNO (reg);
32586 + /* The duality of the SPE register size wreaks all kinds of havoc.
32587 + This is a way of distinguishing r0 in 32-bits from r0 in
32588 + 64-bits. */
32589 + words = (GET_MODE_SIZE (mode) + UNITS_PER_FP_WORD - 1) / UNITS_PER_FP_WORD;
32590 + gcc_assert (words <= 4);
32591 + for (i = 0; i < words; i++, regno++)
32593 + if (BYTES_BIG_ENDIAN)
32595 + parts[2 * i] = gen_rtx_REG (SImode, regno + FIRST_SPE_HIGH_REGNO);
32596 + parts[2 * i + 1] = gen_rtx_REG (SImode, regno);
32598 + else
32600 + parts[2 * i] = gen_rtx_REG (SImode, regno);
32601 + parts[2 * i + 1] = gen_rtx_REG (SImode, regno + FIRST_SPE_HIGH_REGNO);
32605 + return gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (words * 2, parts));
32608 +/* Fill in sizes for SPE register high parts in table used by unwinder. */
32610 +static void
32611 +rs6000_init_dwarf_reg_sizes_extra (tree address)
32613 + if (TARGET_SPE)
32615 + int i;
32616 + machine_mode mode = TYPE_MODE (char_type_node);
32617 + rtx addr = expand_expr (address, NULL_RTX, VOIDmode, EXPAND_NORMAL);
32618 + rtx mem = gen_rtx_MEM (BLKmode, addr);
32619 + rtx value = gen_int_mode (4, mode);
32621 + for (i = FIRST_SPE_HIGH_REGNO; i < LAST_SPE_HIGH_REGNO+1; i++)
32623 + int column = DWARF_REG_TO_UNWIND_COLUMN
32624 + (DWARF2_FRAME_REG_OUT (DWARF_FRAME_REGNUM (i), true));
32625 + HOST_WIDE_INT offset = column * GET_MODE_SIZE (mode);
32627 + emit_move_insn (adjust_address (mem, mode, offset), value);
32631 + if (TARGET_MACHO && ! TARGET_ALTIVEC)
32633 + int i;
32634 + machine_mode mode = TYPE_MODE (char_type_node);
32635 + rtx addr = expand_expr (address, NULL_RTX, VOIDmode, EXPAND_NORMAL);
32636 + rtx mem = gen_rtx_MEM (BLKmode, addr);
32637 + rtx value = gen_int_mode (16, mode);
32639 + /* On Darwin, libgcc may be built to run on both G3 and G4/5.
32640 + The unwinder still needs to know the size of Altivec registers. */
32642 + for (i = FIRST_ALTIVEC_REGNO; i < LAST_ALTIVEC_REGNO+1; i++)
32644 + int column = DWARF_REG_TO_UNWIND_COLUMN
32645 + (DWARF2_FRAME_REG_OUT (DWARF_FRAME_REGNUM (i), true));
32646 + HOST_WIDE_INT offset = column * GET_MODE_SIZE (mode);
32648 + emit_move_insn (adjust_address (mem, mode, offset), value);
32653 +/* Map internal gcc register numbers to debug format register numbers.
32654 + FORMAT specifies the type of debug register number to use:
32655 + 0 -- debug information, except for frame-related sections
32656 + 1 -- DWARF .debug_frame section
32657 + 2 -- DWARF .eh_frame section */
32659 +unsigned int
32660 +rs6000_dbx_register_number (unsigned int regno, unsigned int format)
32662 + /* We never use the GCC internal number for SPE high registers.
32663 + Those are mapped to the 1200..1231 range for all debug formats. */
32664 + if (SPE_HIGH_REGNO_P (regno))
32665 + return regno - FIRST_SPE_HIGH_REGNO + 1200;
32667 + /* Except for the above, we use the internal number for non-DWARF
32668 + debug information, and also for .eh_frame. */
32669 + if ((format == 0 && write_symbols != DWARF2_DEBUG) || format == 2)
32670 + return regno;
32672 + /* On some platforms, we use the standard DWARF register
32673 + numbering for .debug_info and .debug_frame. */
32674 +#ifdef RS6000_USE_DWARF_NUMBERING
32675 + if (regno <= 63)
32676 + return regno;
32677 + if (regno == LR_REGNO)
32678 + return 108;
32679 + if (regno == CTR_REGNO)
32680 + return 109;
32681 + /* Special handling for CR for .debug_frame: rs6000_emit_prologue has
32682 + translated any combination of CR2, CR3, CR4 saves to a save of CR2.
32683 + The actual code emitted saves the whole of CR, so we map CR2_REGNO
32684 + to the DWARF reg for CR. */
32685 + if (format == 1 && regno == CR2_REGNO)
32686 + return 64;
32687 + if (CR_REGNO_P (regno))
32688 + return regno - CR0_REGNO + 86;
32689 + if (regno == CA_REGNO)
32690 + return 101; /* XER */
32691 + if (ALTIVEC_REGNO_P (regno))
32692 + return regno - FIRST_ALTIVEC_REGNO + 1124;
32693 + if (regno == VRSAVE_REGNO)
32694 + return 356;
32695 + if (regno == VSCR_REGNO)
32696 + return 67;
32697 + if (regno == SPE_ACC_REGNO)
32698 + return 99;
32699 + if (regno == SPEFSCR_REGNO)
32700 + return 612;
32701 +#endif
32702 + return regno;
32705 +/* target hook eh_return_filter_mode */
32706 +static machine_mode
32707 +rs6000_eh_return_filter_mode (void)
32709 + return TARGET_32BIT ? SImode : word_mode;
32712 +/* Target hook for scalar_mode_supported_p. */
32713 +static bool
32714 +rs6000_scalar_mode_supported_p (machine_mode mode)
32716 + /* -m32 does not support TImode. This is the default, from
32717 + default_scalar_mode_supported_p. For -m32 -mpowerpc64 we want the
32718 + same ABI as for -m32. But default_scalar_mode_supported_p allows
32719 + integer modes of precision 2 * BITS_PER_WORD, which matches TImode
32720 + for -mpowerpc64. */
32721 + if (TARGET_32BIT && mode == TImode)
32722 + return false;
32724 + if (DECIMAL_FLOAT_MODE_P (mode))
32725 + return default_decimal_float_supported_p ();
32726 + else
32727 + return default_scalar_mode_supported_p (mode);
32730 +/* Target hook for vector_mode_supported_p. */
32731 +static bool
32732 +rs6000_vector_mode_supported_p (machine_mode mode)
32735 + if (TARGET_PAIRED_FLOAT && PAIRED_VECTOR_MODE (mode))
32736 + return true;
32738 + if (TARGET_SPE && SPE_VECTOR_MODE (mode))
32739 + return true;
32741 + else if (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode))
32742 + return true;
32744 + else
32745 + return false;
32748 +/* Target hook for invalid_arg_for_unprototyped_fn. */
32749 +static const char *
32750 +invalid_arg_for_unprototyped_fn (const_tree typelist, const_tree funcdecl, const_tree val)
32752 + return (!rs6000_darwin64_abi
32753 + && typelist == 0
32754 + && TREE_CODE (TREE_TYPE (val)) == VECTOR_TYPE
32755 + && (funcdecl == NULL_TREE
32756 + || (TREE_CODE (funcdecl) == FUNCTION_DECL
32757 + && DECL_BUILT_IN_CLASS (funcdecl) != BUILT_IN_MD)))
32758 + ? N_("AltiVec argument passed to unprototyped function")
32759 + : NULL;
32762 +/* For TARGET_SECURE_PLT 32-bit PIC code we can save PIC register
32763 + setup by using __stack_chk_fail_local hidden function instead of
32764 + calling __stack_chk_fail directly. Otherwise it is better to call
32765 + __stack_chk_fail directly. */
32767 +static tree ATTRIBUTE_UNUSED
32768 +rs6000_stack_protect_fail (void)
32770 + return (DEFAULT_ABI == ABI_V4 && TARGET_SECURE_PLT && flag_pic)
32771 + ? default_hidden_stack_protect_fail ()
32772 + : default_external_stack_protect_fail ();
32775 +void
32776 +rs6000_final_prescan_insn (rtx_insn *insn, rtx *operand ATTRIBUTE_UNUSED,
32777 + int num_operands ATTRIBUTE_UNUSED)
32779 + if (rs6000_warn_cell_microcode)
32781 + const char *temp;
32782 + int insn_code_number = recog_memoized (insn);
32783 + location_t location = INSN_LOCATION (insn);
32785 + /* Punt on insns we cannot recognize. */
32786 + if (insn_code_number < 0)
32787 + return;
32789 + temp = get_insn_template (insn_code_number, insn);
32791 + if (get_attr_cell_micro (insn) == CELL_MICRO_ALWAYS)
32792 + warning_at (location, OPT_mwarn_cell_microcode,
32793 + "emitting microcode insn %s\t[%s] #%d",
32794 + temp, insn_data[INSN_CODE (insn)].name, INSN_UID (insn));
32795 + else if (get_attr_cell_micro (insn) == CELL_MICRO_CONDITIONAL)
32796 + warning_at (location, OPT_mwarn_cell_microcode,
32797 + "emitting conditional microcode insn %s\t[%s] #%d",
32798 + temp, insn_data[INSN_CODE (insn)].name, INSN_UID (insn));
32802 +/* Implement the TARGET_ASAN_SHADOW_OFFSET hook. */
32804 +#if TARGET_ELF
32805 +static unsigned HOST_WIDE_INT
32806 +rs6000_asan_shadow_offset (void)
32808 + return (unsigned HOST_WIDE_INT) 1 << (TARGET_64BIT ? 41 : 29);
32810 +#endif
32812 +/* Mask options that we want to support inside of attribute((target)) and
32813 + #pragma GCC target operations. Note, we do not include things like
32814 + 64/32-bit, endianess, hard/soft floating point, etc. that would have
32815 + different calling sequences. */
32817 +struct rs6000_opt_mask {
32818 + const char *name; /* option name */
32819 + HOST_WIDE_INT mask; /* mask to set */
32820 + bool invert; /* invert sense of mask */
32821 + bool valid_target; /* option is a target option */
32824 +static struct rs6000_opt_mask const rs6000_opt_masks[] =
32826 + { "altivec", OPTION_MASK_ALTIVEC, false, true },
32827 + { "cmpb", OPTION_MASK_CMPB, false, true },
32828 + { "crypto", OPTION_MASK_CRYPTO, false, true },
32829 + { "direct-move", OPTION_MASK_DIRECT_MOVE, false, true },
32830 + { "dlmzb", OPTION_MASK_DLMZB, false, true },
32831 + { "fprnd", OPTION_MASK_FPRND, false, true },
32832 + { "hard-dfp", OPTION_MASK_DFP, false, true },
32833 + { "htm", OPTION_MASK_HTM, false, true },
32834 + { "isel", OPTION_MASK_ISEL, false, true },
32835 + { "mfcrf", OPTION_MASK_MFCRF, false, true },
32836 + { "mfpgpr", OPTION_MASK_MFPGPR, false, true },
32837 + { "mulhw", OPTION_MASK_MULHW, false, true },
32838 + { "multiple", OPTION_MASK_MULTIPLE, false, true },
32839 + { "popcntb", OPTION_MASK_POPCNTB, false, true },
32840 + { "popcntd", OPTION_MASK_POPCNTD, false, true },
32841 + { "power8-fusion", OPTION_MASK_P8_FUSION, false, true },
32842 + { "power8-fusion-sign", OPTION_MASK_P8_FUSION_SIGN, false, true },
32843 + { "power8-vector", OPTION_MASK_P8_VECTOR, false, true },
32844 + { "powerpc-gfxopt", OPTION_MASK_PPC_GFXOPT, false, true },
32845 + { "powerpc-gpopt", OPTION_MASK_PPC_GPOPT, false, true },
32846 + { "quad-memory", OPTION_MASK_QUAD_MEMORY, false, true },
32847 + { "quad-memory-atomic", OPTION_MASK_QUAD_MEMORY_ATOMIC, false, true },
32848 + { "recip-precision", OPTION_MASK_RECIP_PRECISION, false, true },
32849 + { "string", OPTION_MASK_STRING, false, true },
32850 + { "update", OPTION_MASK_NO_UPDATE, true , true },
32851 + { "upper-regs-df", OPTION_MASK_UPPER_REGS_DF, false, false },
32852 + { "upper-regs-sf", OPTION_MASK_UPPER_REGS_SF, false, false },
32853 + { "vsx", OPTION_MASK_VSX, false, true },
32854 + { "vsx-timode", OPTION_MASK_VSX_TIMODE, false, true },
32855 +#ifdef OPTION_MASK_64BIT
32856 +#if TARGET_AIX_OS
32857 + { "aix64", OPTION_MASK_64BIT, false, false },
32858 + { "aix32", OPTION_MASK_64BIT, true, false },
32859 +#else
32860 + { "64", OPTION_MASK_64BIT, false, false },
32861 + { "32", OPTION_MASK_64BIT, true, false },
32862 +#endif
32863 +#endif
32864 +#ifdef OPTION_MASK_EABI
32865 + { "eabi", OPTION_MASK_EABI, false, false },
32866 +#endif
32867 +#ifdef OPTION_MASK_LITTLE_ENDIAN
32868 + { "little", OPTION_MASK_LITTLE_ENDIAN, false, false },
32869 + { "big", OPTION_MASK_LITTLE_ENDIAN, true, false },
32870 +#endif
32871 +#ifdef OPTION_MASK_RELOCATABLE
32872 + { "relocatable", OPTION_MASK_RELOCATABLE, false, false },
32873 +#endif
32874 +#ifdef OPTION_MASK_STRICT_ALIGN
32875 + { "strict-align", OPTION_MASK_STRICT_ALIGN, false, false },
32876 +#endif
32877 + { "soft-float", OPTION_MASK_SOFT_FLOAT, false, false },
32878 + { "string", OPTION_MASK_STRING, false, false },
32881 +/* Builtin mask mapping for printing the flags. */
32882 +static struct rs6000_opt_mask const rs6000_builtin_mask_names[] =
32884 + { "altivec", RS6000_BTM_ALTIVEC, false, false },
32885 + { "vsx", RS6000_BTM_VSX, false, false },
32886 + { "spe", RS6000_BTM_SPE, false, false },
32887 + { "paired", RS6000_BTM_PAIRED, false, false },
32888 + { "fre", RS6000_BTM_FRE, false, false },
32889 + { "fres", RS6000_BTM_FRES, false, false },
32890 + { "frsqrte", RS6000_BTM_FRSQRTE, false, false },
32891 + { "frsqrtes", RS6000_BTM_FRSQRTES, false, false },
32892 + { "popcntd", RS6000_BTM_POPCNTD, false, false },
32893 + { "cell", RS6000_BTM_CELL, false, false },
32894 + { "power8-vector", RS6000_BTM_P8_VECTOR, false, false },
32895 + { "crypto", RS6000_BTM_CRYPTO, false, false },
32896 + { "htm", RS6000_BTM_HTM, false, false },
32897 + { "hard-dfp", RS6000_BTM_DFP, false, false },
32898 + { "hard-float", RS6000_BTM_HARD_FLOAT, false, false },
32899 + { "long-double-128", RS6000_BTM_LDBL128, false, false },
32902 +/* Option variables that we want to support inside attribute((target)) and
32903 + #pragma GCC target operations. */
32905 +struct rs6000_opt_var {
32906 + const char *name; /* option name */
32907 + size_t global_offset; /* offset of the option in global_options. */
32908 + size_t target_offset; /* offset of the option in target optiosn. */
32911 +static struct rs6000_opt_var const rs6000_opt_vars[] =
32913 + { "friz",
32914 + offsetof (struct gcc_options, x_TARGET_FRIZ),
32915 + offsetof (struct cl_target_option, x_TARGET_FRIZ), },
32916 + { "avoid-indexed-addresses",
32917 + offsetof (struct gcc_options, x_TARGET_AVOID_XFORM),
32918 + offsetof (struct cl_target_option, x_TARGET_AVOID_XFORM) },
32919 + { "paired",
32920 + offsetof (struct gcc_options, x_rs6000_paired_float),
32921 + offsetof (struct cl_target_option, x_rs6000_paired_float), },
32922 + { "longcall",
32923 + offsetof (struct gcc_options, x_rs6000_default_long_calls),
32924 + offsetof (struct cl_target_option, x_rs6000_default_long_calls), },
32927 +/* Inner function to handle attribute((target("..."))) and #pragma GCC target
32928 + parsing. Return true if there were no errors. */
32930 +static bool
32931 +rs6000_inner_target_options (tree args, bool attr_p)
32933 + bool ret = true;
32935 + if (args == NULL_TREE)
32938 + else if (TREE_CODE (args) == STRING_CST)
32940 + char *p = ASTRDUP (TREE_STRING_POINTER (args));
32941 + char *q;
32943 + while ((q = strtok (p, ",")) != NULL)
32945 + bool error_p = false;
32946 + bool not_valid_p = false;
32947 + const char *cpu_opt = NULL;
32949 + p = NULL;
32950 + if (strncmp (q, "cpu=", 4) == 0)
32952 + int cpu_index = rs6000_cpu_name_lookup (q+4);
32953 + if (cpu_index >= 0)
32954 + rs6000_cpu_index = cpu_index;
32955 + else
32957 + error_p = true;
32958 + cpu_opt = q+4;
32961 + else if (strncmp (q, "tune=", 5) == 0)
32963 + int tune_index = rs6000_cpu_name_lookup (q+5);
32964 + if (tune_index >= 0)
32965 + rs6000_tune_index = tune_index;
32966 + else
32968 + error_p = true;
32969 + cpu_opt = q+5;
32972 + else
32974 + size_t i;
32975 + bool invert = false;
32976 + char *r = q;
32978 + error_p = true;
32979 + if (strncmp (r, "no-", 3) == 0)
32981 + invert = true;
32982 + r += 3;
32985 + for (i = 0; i < ARRAY_SIZE (rs6000_opt_masks); i++)
32986 + if (strcmp (r, rs6000_opt_masks[i].name) == 0)
32988 + HOST_WIDE_INT mask = rs6000_opt_masks[i].mask;
32990 + if (!rs6000_opt_masks[i].valid_target)
32991 + not_valid_p = true;
32992 + else
32994 + error_p = false;
32995 + rs6000_isa_flags_explicit |= mask;
32997 + /* VSX needs altivec, so -mvsx automagically sets
32998 + altivec. */
32999 + if (mask == OPTION_MASK_VSX && !invert)
33000 + mask |= OPTION_MASK_ALTIVEC;
33002 + if (rs6000_opt_masks[i].invert)
33003 + invert = !invert;
33005 + if (invert)
33006 + rs6000_isa_flags &= ~mask;
33007 + else
33008 + rs6000_isa_flags |= mask;
33010 + break;
33013 + if (error_p && !not_valid_p)
33015 + for (i = 0; i < ARRAY_SIZE (rs6000_opt_vars); i++)
33016 + if (strcmp (r, rs6000_opt_vars[i].name) == 0)
33018 + size_t j = rs6000_opt_vars[i].global_offset;
33019 + *((int *) ((char *)&global_options + j)) = !invert;
33020 + error_p = false;
33021 + break;
33026 + if (error_p)
33028 + const char *eprefix, *esuffix;
33030 + ret = false;
33031 + if (attr_p)
33033 + eprefix = "__attribute__((__target__(";
33034 + esuffix = ")))";
33036 + else
33038 + eprefix = "#pragma GCC target ";
33039 + esuffix = "";
33042 + if (cpu_opt)
33043 + error ("invalid cpu \"%s\" for %s\"%s\"%s", cpu_opt, eprefix,
33044 + q, esuffix);
33045 + else if (not_valid_p)
33046 + error ("%s\"%s\"%s is not allowed", eprefix, q, esuffix);
33047 + else
33048 + error ("%s\"%s\"%s is invalid", eprefix, q, esuffix);
33053 + else if (TREE_CODE (args) == TREE_LIST)
33055 + do
33057 + tree value = TREE_VALUE (args);
33058 + if (value)
33060 + bool ret2 = rs6000_inner_target_options (value, attr_p);
33061 + if (!ret2)
33062 + ret = false;
33064 + args = TREE_CHAIN (args);
33066 + while (args != NULL_TREE);
33069 + else
33070 + gcc_unreachable ();
33072 + return ret;
33075 +/* Print out the target options as a list for -mdebug=target. */
33077 +static void
33078 +rs6000_debug_target_options (tree args, const char *prefix)
33080 + if (args == NULL_TREE)
33081 + fprintf (stderr, "%s<NULL>", prefix);
33083 + else if (TREE_CODE (args) == STRING_CST)
33085 + char *p = ASTRDUP (TREE_STRING_POINTER (args));
33086 + char *q;
33088 + while ((q = strtok (p, ",")) != NULL)
33090 + p = NULL;
33091 + fprintf (stderr, "%s\"%s\"", prefix, q);
33092 + prefix = ", ";
33096 + else if (TREE_CODE (args) == TREE_LIST)
33098 + do
33100 + tree value = TREE_VALUE (args);
33101 + if (value)
33103 + rs6000_debug_target_options (value, prefix);
33104 + prefix = ", ";
33106 + args = TREE_CHAIN (args);
33108 + while (args != NULL_TREE);
33111 + else
33112 + gcc_unreachable ();
33114 + return;
33118 +/* Hook to validate attribute((target("..."))). */
33120 +static bool
33121 +rs6000_valid_attribute_p (tree fndecl,
33122 + tree ARG_UNUSED (name),
33123 + tree args,
33124 + int flags)
33126 + struct cl_target_option cur_target;
33127 + bool ret;
33128 + tree old_optimize = build_optimization_node (&global_options);
33129 + tree new_target, new_optimize;
33130 + tree func_optimize = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl);
33132 + gcc_assert ((fndecl != NULL_TREE) && (args != NULL_TREE));
33134 + if (TARGET_DEBUG_TARGET)
33136 + tree tname = DECL_NAME (fndecl);
33137 + fprintf (stderr, "\n==================== rs6000_valid_attribute_p:\n");
33138 + if (tname)
33139 + fprintf (stderr, "function: %.*s\n",
33140 + (int) IDENTIFIER_LENGTH (tname),
33141 + IDENTIFIER_POINTER (tname));
33142 + else
33143 + fprintf (stderr, "function: unknown\n");
33145 + fprintf (stderr, "args:");
33146 + rs6000_debug_target_options (args, " ");
33147 + fprintf (stderr, "\n");
33149 + if (flags)
33150 + fprintf (stderr, "flags: 0x%x\n", flags);
33152 + fprintf (stderr, "--------------------\n");
33155 + old_optimize = build_optimization_node (&global_options);
33156 + func_optimize = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl);
33158 + /* If the function changed the optimization levels as well as setting target
33159 + options, start with the optimizations specified. */
33160 + if (func_optimize && func_optimize != old_optimize)
33161 + cl_optimization_restore (&global_options,
33162 + TREE_OPTIMIZATION (func_optimize));
33164 + /* The target attributes may also change some optimization flags, so update
33165 + the optimization options if necessary. */
33166 + cl_target_option_save (&cur_target, &global_options);
33167 + rs6000_cpu_index = rs6000_tune_index = -1;
33168 + ret = rs6000_inner_target_options (args, true);
33170 + /* Set up any additional state. */
33171 + if (ret)
33173 + ret = rs6000_option_override_internal (false);
33174 + new_target = build_target_option_node (&global_options);
33176 + else
33177 + new_target = NULL;
33179 + new_optimize = build_optimization_node (&global_options);
33181 + if (!new_target)
33182 + ret = false;
33184 + else if (fndecl)
33186 + DECL_FUNCTION_SPECIFIC_TARGET (fndecl) = new_target;
33188 + if (old_optimize != new_optimize)
33189 + DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl) = new_optimize;
33192 + cl_target_option_restore (&global_options, &cur_target);
33194 + if (old_optimize != new_optimize)
33195 + cl_optimization_restore (&global_options,
33196 + TREE_OPTIMIZATION (old_optimize));
33198 + return ret;
33202 +/* Hook to validate the current #pragma GCC target and set the state, and
33203 + update the macros based on what was changed. If ARGS is NULL, then
33204 + POP_TARGET is used to reset the options. */
33206 +bool
33207 +rs6000_pragma_target_parse (tree args, tree pop_target)
33209 + tree prev_tree = build_target_option_node (&global_options);
33210 + tree cur_tree;
33211 + struct cl_target_option *prev_opt, *cur_opt;
33212 + HOST_WIDE_INT prev_flags, cur_flags, diff_flags;
33213 + HOST_WIDE_INT prev_bumask, cur_bumask, diff_bumask;
33215 + if (TARGET_DEBUG_TARGET)
33217 + fprintf (stderr, "\n==================== rs6000_pragma_target_parse\n");
33218 + fprintf (stderr, "args:");
33219 + rs6000_debug_target_options (args, " ");
33220 + fprintf (stderr, "\n");
33222 + if (pop_target)
33224 + fprintf (stderr, "pop_target:\n");
33225 + debug_tree (pop_target);
33227 + else
33228 + fprintf (stderr, "pop_target: <NULL>\n");
33230 + fprintf (stderr, "--------------------\n");
33233 + if (! args)
33235 + cur_tree = ((pop_target)
33236 + ? pop_target
33237 + : target_option_default_node);
33238 + cl_target_option_restore (&global_options,
33239 + TREE_TARGET_OPTION (cur_tree));
33241 + else
33243 + rs6000_cpu_index = rs6000_tune_index = -1;
33244 + if (!rs6000_inner_target_options (args, false)
33245 + || !rs6000_option_override_internal (false)
33246 + || (cur_tree = build_target_option_node (&global_options))
33247 + == NULL_TREE)
33249 + if (TARGET_DEBUG_BUILTIN || TARGET_DEBUG_TARGET)
33250 + fprintf (stderr, "invalid pragma\n");
33252 + return false;
33256 + target_option_current_node = cur_tree;
33258 + /* If we have the preprocessor linked in (i.e. C or C++ languages), possibly
33259 + change the macros that are defined. */
33260 + if (rs6000_target_modify_macros_ptr)
33262 + prev_opt = TREE_TARGET_OPTION (prev_tree);
33263 + prev_bumask = prev_opt->x_rs6000_builtin_mask;
33264 + prev_flags = prev_opt->x_rs6000_isa_flags;
33266 + cur_opt = TREE_TARGET_OPTION (cur_tree);
33267 + cur_flags = cur_opt->x_rs6000_isa_flags;
33268 + cur_bumask = cur_opt->x_rs6000_builtin_mask;
33270 + diff_bumask = (prev_bumask ^ cur_bumask);
33271 + diff_flags = (prev_flags ^ cur_flags);
33273 + if ((diff_flags != 0) || (diff_bumask != 0))
33275 + /* Delete old macros. */
33276 + rs6000_target_modify_macros_ptr (false,
33277 + prev_flags & diff_flags,
33278 + prev_bumask & diff_bumask);
33280 + /* Define new macros. */
33281 + rs6000_target_modify_macros_ptr (true,
33282 + cur_flags & diff_flags,
33283 + cur_bumask & diff_bumask);
33287 + return true;
33291 +/* Remember the last target of rs6000_set_current_function. */
33292 +static GTY(()) tree rs6000_previous_fndecl;
33294 +/* Establish appropriate back-end context for processing the function
33295 + FNDECL. The argument might be NULL to indicate processing at top
33296 + level, outside of any function scope. */
33297 +static void
33298 +rs6000_set_current_function (tree fndecl)
33300 + tree old_tree = (rs6000_previous_fndecl
33301 + ? DECL_FUNCTION_SPECIFIC_TARGET (rs6000_previous_fndecl)
33302 + : NULL_TREE);
33304 + tree new_tree = (fndecl
33305 + ? DECL_FUNCTION_SPECIFIC_TARGET (fndecl)
33306 + : NULL_TREE);
33308 + if (TARGET_DEBUG_TARGET)
33310 + bool print_final = false;
33311 + fprintf (stderr, "\n==================== rs6000_set_current_function");
33313 + if (fndecl)
33314 + fprintf (stderr, ", fndecl %s (%p)",
33315 + (DECL_NAME (fndecl)
33316 + ? IDENTIFIER_POINTER (DECL_NAME (fndecl))
33317 + : "<unknown>"), (void *)fndecl);
33319 + if (rs6000_previous_fndecl)
33320 + fprintf (stderr, ", prev_fndecl (%p)", (void *)rs6000_previous_fndecl);
33322 + fprintf (stderr, "\n");
33323 + if (new_tree)
33325 + fprintf (stderr, "\nnew fndecl target specific options:\n");
33326 + debug_tree (new_tree);
33327 + print_final = true;
33330 + if (old_tree)
33332 + fprintf (stderr, "\nold fndecl target specific options:\n");
33333 + debug_tree (old_tree);
33334 + print_final = true;
33337 + if (print_final)
33338 + fprintf (stderr, "--------------------\n");
33341 + /* Only change the context if the function changes. This hook is called
33342 + several times in the course of compiling a function, and we don't want to
33343 + slow things down too much or call target_reinit when it isn't safe. */
33344 + if (fndecl && fndecl != rs6000_previous_fndecl)
33346 + rs6000_previous_fndecl = fndecl;
33347 + if (old_tree == new_tree)
33350 + else if (new_tree && new_tree != target_option_default_node)
33352 + cl_target_option_restore (&global_options,
33353 + TREE_TARGET_OPTION (new_tree));
33354 + if (TREE_TARGET_GLOBALS (new_tree))
33355 + restore_target_globals (TREE_TARGET_GLOBALS (new_tree));
33356 + else
33357 + TREE_TARGET_GLOBALS (new_tree)
33358 + = save_target_globals_default_opts ();
33361 + else if (old_tree && old_tree != target_option_default_node)
33363 + new_tree = target_option_current_node;
33364 + cl_target_option_restore (&global_options,
33365 + TREE_TARGET_OPTION (new_tree));
33366 + if (TREE_TARGET_GLOBALS (new_tree))
33367 + restore_target_globals (TREE_TARGET_GLOBALS (new_tree));
33368 + else if (new_tree == target_option_default_node)
33369 + restore_target_globals (&default_target_globals);
33370 + else
33371 + TREE_TARGET_GLOBALS (new_tree)
33372 + = save_target_globals_default_opts ();
33378 +/* Save the current options */
33380 +static void
33381 +rs6000_function_specific_save (struct cl_target_option *ptr,
33382 + struct gcc_options *opts)
33384 + ptr->x_rs6000_isa_flags = opts->x_rs6000_isa_flags;
33385 + ptr->x_rs6000_isa_flags_explicit = opts->x_rs6000_isa_flags_explicit;
33388 +/* Restore the current options */
33390 +static void
33391 +rs6000_function_specific_restore (struct gcc_options *opts,
33392 + struct cl_target_option *ptr)
33395 + opts->x_rs6000_isa_flags = ptr->x_rs6000_isa_flags;
33396 + opts->x_rs6000_isa_flags_explicit = ptr->x_rs6000_isa_flags_explicit;
33397 + (void) rs6000_option_override_internal (false);
33400 +/* Print the current options */
33402 +static void
33403 +rs6000_function_specific_print (FILE *file, int indent,
33404 + struct cl_target_option *ptr)
33406 + rs6000_print_isa_options (file, indent, "Isa options set",
33407 + ptr->x_rs6000_isa_flags);
33409 + rs6000_print_isa_options (file, indent, "Isa options explicit",
33410 + ptr->x_rs6000_isa_flags_explicit);
33413 +/* Helper function to print the current isa or misc options on a line. */
33415 +static void
33416 +rs6000_print_options_internal (FILE *file,
33417 + int indent,
33418 + const char *string,
33419 + HOST_WIDE_INT flags,
33420 + const char *prefix,
33421 + const struct rs6000_opt_mask *opts,
33422 + size_t num_elements)
33424 + size_t i;
33425 + size_t start_column = 0;
33426 + size_t cur_column;
33427 + size_t max_column = 76;
33428 + const char *comma = "";
33430 + if (indent)
33431 + start_column += fprintf (file, "%*s", indent, "");
33433 + if (!flags)
33435 + fprintf (stderr, DEBUG_FMT_S, string, "<none>");
33436 + return;
33439 + start_column += fprintf (stderr, DEBUG_FMT_WX, string, flags);
33441 + /* Print the various mask options. */
33442 + cur_column = start_column;
33443 + for (i = 0; i < num_elements; i++)
33445 + if ((flags & opts[i].mask) != 0)
33447 + const char *no_str = rs6000_opt_masks[i].invert ? "no-" : "";
33448 + size_t len = (strlen (comma)
33449 + + strlen (prefix)
33450 + + strlen (no_str)
33451 + + strlen (rs6000_opt_masks[i].name));
33453 + cur_column += len;
33454 + if (cur_column > max_column)
33456 + fprintf (stderr, ", \\\n%*s", (int)start_column, "");
33457 + cur_column = start_column + len;
33458 + comma = "";
33461 + fprintf (file, "%s%s%s%s", comma, prefix, no_str,
33462 + rs6000_opt_masks[i].name);
33463 + flags &= ~ opts[i].mask;
33464 + comma = ", ";
33468 + fputs ("\n", file);
33471 +/* Helper function to print the current isa options on a line. */
33473 +static void
33474 +rs6000_print_isa_options (FILE *file, int indent, const char *string,
33475 + HOST_WIDE_INT flags)
33477 + rs6000_print_options_internal (file, indent, string, flags, "-m",
33478 + &rs6000_opt_masks[0],
33479 + ARRAY_SIZE (rs6000_opt_masks));
33482 +static void
33483 +rs6000_print_builtin_options (FILE *file, int indent, const char *string,
33484 + HOST_WIDE_INT flags)
33486 + rs6000_print_options_internal (file, indent, string, flags, "",
33487 + &rs6000_builtin_mask_names[0],
33488 + ARRAY_SIZE (rs6000_builtin_mask_names));
33492 +/* Hook to determine if one function can safely inline another. */
33494 +static bool
33495 +rs6000_can_inline_p (tree caller, tree callee)
33497 + bool ret = false;
33498 + tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller);
33499 + tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee);
33501 + /* If callee has no option attributes, then it is ok to inline. */
33502 + if (!callee_tree)
33503 + ret = true;
33505 + /* If caller has no option attributes, but callee does then it is not ok to
33506 + inline. */
33507 + else if (!caller_tree)
33508 + ret = false;
33510 + else
33512 + struct cl_target_option *caller_opts = TREE_TARGET_OPTION (caller_tree);
33513 + struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree);
33515 + /* Callee's options should a subset of the caller's, i.e. a vsx function
33516 + can inline an altivec function but a non-vsx function can't inline a
33517 + vsx function. */
33518 + if ((caller_opts->x_rs6000_isa_flags & callee_opts->x_rs6000_isa_flags)
33519 + == callee_opts->x_rs6000_isa_flags)
33520 + ret = true;
33523 + if (TARGET_DEBUG_TARGET)
33524 + fprintf (stderr, "rs6000_can_inline_p:, caller %s, callee %s, %s inline\n",
33525 + (DECL_NAME (caller)
33526 + ? IDENTIFIER_POINTER (DECL_NAME (caller))
33527 + : "<unknown>"),
33528 + (DECL_NAME (callee)
33529 + ? IDENTIFIER_POINTER (DECL_NAME (callee))
33530 + : "<unknown>"),
33531 + (ret ? "can" : "cannot"));
33533 + return ret;
33536 +/* Allocate a stack temp and fixup the address so it meets the particular
33537 + memory requirements (either offetable or REG+REG addressing). */
33539 +rtx
33540 +rs6000_allocate_stack_temp (machine_mode mode,
33541 + bool offsettable_p,
33542 + bool reg_reg_p)
33544 + rtx stack = assign_stack_temp (mode, GET_MODE_SIZE (mode));
33545 + rtx addr = XEXP (stack, 0);
33546 + int strict_p = (reload_in_progress || reload_completed);
33548 + if (!legitimate_indirect_address_p (addr, strict_p))
33550 + if (offsettable_p
33551 + && !rs6000_legitimate_offset_address_p (mode, addr, strict_p, true))
33552 + stack = replace_equiv_address (stack, copy_addr_to_reg (addr));
33554 + else if (reg_reg_p && !legitimate_indexed_address_p (addr, strict_p))
33555 + stack = replace_equiv_address (stack, copy_addr_to_reg (addr));
33558 + return stack;
33561 +/* Given a memory reference, if it is not a reg or reg+reg addressing, convert
33562 + to such a form to deal with memory reference instructions like STFIWX that
33563 + only take reg+reg addressing. */
33565 +rtx
33566 +rs6000_address_for_fpconvert (rtx x)
33568 + int strict_p = (reload_in_progress || reload_completed);
33569 + rtx addr;
33571 + gcc_assert (MEM_P (x));
33572 + addr = XEXP (x, 0);
33573 + if (! legitimate_indirect_address_p (addr, strict_p)
33574 + && ! legitimate_indexed_address_p (addr, strict_p))
33576 + if (GET_CODE (addr) == PRE_INC || GET_CODE (addr) == PRE_DEC)
33578 + rtx reg = XEXP (addr, 0);
33579 + HOST_WIDE_INT size = GET_MODE_SIZE (GET_MODE (x));
33580 + rtx size_rtx = GEN_INT ((GET_CODE (addr) == PRE_DEC) ? -size : size);
33581 + gcc_assert (REG_P (reg));
33582 + emit_insn (gen_add3_insn (reg, reg, size_rtx));
33583 + addr = reg;
33585 + else if (GET_CODE (addr) == PRE_MODIFY)
33587 + rtx reg = XEXP (addr, 0);
33588 + rtx expr = XEXP (addr, 1);
33589 + gcc_assert (REG_P (reg));
33590 + gcc_assert (GET_CODE (expr) == PLUS);
33591 + emit_insn (gen_add3_insn (reg, XEXP (expr, 0), XEXP (expr, 1)));
33592 + addr = reg;
33595 + x = replace_equiv_address (x, copy_addr_to_reg (addr));
33598 + return x;
33601 +/* Given a memory reference, if it is not in the form for altivec memory
33602 + reference instructions (i.e. reg or reg+reg addressing with AND of -16),
33603 + convert to the altivec format. */
33605 +rtx
33606 +rs6000_address_for_altivec (rtx x)
33608 + gcc_assert (MEM_P (x));
33609 + if (!altivec_indexed_or_indirect_operand (x, GET_MODE (x)))
33611 + rtx addr = XEXP (x, 0);
33612 + int strict_p = (reload_in_progress || reload_completed);
33614 + if (!legitimate_indexed_address_p (addr, strict_p)
33615 + && !legitimate_indirect_address_p (addr, strict_p))
33616 + addr = copy_to_mode_reg (Pmode, addr);
33618 + addr = gen_rtx_AND (Pmode, addr, GEN_INT (-16));
33619 + x = change_address (x, GET_MODE (x), addr);
33622 + return x;
33625 +/* Implement TARGET_LEGITIMATE_CONSTANT_P.
33627 + On the RS/6000, all integer constants are acceptable, most won't be valid
33628 + for particular insns, though. Only easy FP constants are acceptable. */
33630 +static bool
33631 +rs6000_legitimate_constant_p (machine_mode mode, rtx x)
33633 + if (TARGET_ELF && tls_referenced_p (x))
33634 + return false;
33636 + return ((GET_CODE (x) != CONST_DOUBLE && GET_CODE (x) != CONST_VECTOR)
33637 + || GET_MODE (x) == VOIDmode
33638 + || (TARGET_POWERPC64 && mode == DImode)
33639 + || easy_fp_constant (x, mode)
33640 + || easy_vector_constant (x, mode));
33644 +/* Return TRUE iff the sequence ending in LAST sets the static chain. */
33646 +static bool
33647 +chain_already_loaded (rtx_insn *last)
33649 + for (; last != NULL; last = PREV_INSN (last))
33651 + if (NONJUMP_INSN_P (last))
33653 + rtx patt = PATTERN (last);
33655 + if (GET_CODE (patt) == SET)
33657 + rtx lhs = XEXP (patt, 0);
33659 + if (REG_P (lhs) && REGNO (lhs) == STATIC_CHAIN_REGNUM)
33660 + return true;
33664 + return false;
33667 +/* Expand code to perform a call under the AIX or ELFv2 ABI. */
33669 +void
33670 +rs6000_call_aix (rtx value, rtx func_desc, rtx flag, rtx cookie)
33672 + const bool direct_call_p
33673 + = GET_CODE (func_desc) == SYMBOL_REF && SYMBOL_REF_FUNCTION_P (func_desc);
33674 + rtx toc_reg = gen_rtx_REG (Pmode, TOC_REGNUM);
33675 + rtx toc_load = NULL_RTX;
33676 + rtx toc_restore = NULL_RTX;
33677 + rtx func_addr;
33678 + rtx abi_reg = NULL_RTX;
33679 + rtx call[4];
33680 + int n_call;
33681 + rtx insn;
33683 + /* Handle longcall attributes. */
33684 + if (INTVAL (cookie) & CALL_LONG)
33685 + func_desc = rs6000_longcall_ref (func_desc);
33687 + /* Handle indirect calls. */
33688 + if (GET_CODE (func_desc) != SYMBOL_REF
33689 + || (DEFAULT_ABI == ABI_AIX && !SYMBOL_REF_FUNCTION_P (func_desc)))
33691 + /* Save the TOC into its reserved slot before the call,
33692 + and prepare to restore it after the call. */
33693 + rtx stack_ptr = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM);
33694 + rtx stack_toc_offset = GEN_INT (RS6000_TOC_SAVE_SLOT);
33695 + rtx stack_toc_mem = gen_frame_mem (Pmode,
33696 + gen_rtx_PLUS (Pmode, stack_ptr,
33697 + stack_toc_offset));
33698 + rtx stack_toc_unspec = gen_rtx_UNSPEC (Pmode,
33699 + gen_rtvec (1, stack_toc_offset),
33700 + UNSPEC_TOCSLOT);
33701 + toc_restore = gen_rtx_SET (VOIDmode, toc_reg, stack_toc_unspec);
33703 + /* Can we optimize saving the TOC in the prologue or
33704 + do we need to do it at every call? */
33705 + if (TARGET_SAVE_TOC_INDIRECT && !cfun->calls_alloca)
33706 + cfun->machine->save_toc_in_prologue = true;
33707 + else
33709 + MEM_VOLATILE_P (stack_toc_mem) = 1;
33710 + emit_move_insn (stack_toc_mem, toc_reg);
33713 + if (DEFAULT_ABI == ABI_ELFv2)
33715 + /* A function pointer in the ELFv2 ABI is just a plain address, but
33716 + the ABI requires it to be loaded into r12 before the call. */
33717 + func_addr = gen_rtx_REG (Pmode, 12);
33718 + emit_move_insn (func_addr, func_desc);
33719 + abi_reg = func_addr;
33721 + else
33723 + /* A function pointer under AIX is a pointer to a data area whose
33724 + first word contains the actual address of the function, whose
33725 + second word contains a pointer to its TOC, and whose third word
33726 + contains a value to place in the static chain register (r11).
33727 + Note that if we load the static chain, our "trampoline" need
33728 + not have any executable code. */
33730 + /* Load up address of the actual function. */
33731 + func_desc = force_reg (Pmode, func_desc);
33732 + func_addr = gen_reg_rtx (Pmode);
33733 + emit_move_insn (func_addr, gen_rtx_MEM (Pmode, func_desc));
33735 + /* Prepare to load the TOC of the called function. Note that the
33736 + TOC load must happen immediately before the actual call so
33737 + that unwinding the TOC registers works correctly. See the
33738 + comment in frob_update_context. */
33739 + rtx func_toc_offset = GEN_INT (GET_MODE_SIZE (Pmode));
33740 + rtx func_toc_mem = gen_rtx_MEM (Pmode,
33741 + gen_rtx_PLUS (Pmode, func_desc,
33742 + func_toc_offset));
33743 + toc_load = gen_rtx_USE (VOIDmode, func_toc_mem);
33745 + /* If we have a static chain, load it up. But, if the call was
33746 + originally direct, the 3rd word has not been written since no
33747 + trampoline has been built, so we ought not to load it, lest we
33748 + override a static chain value. */
33749 + if (!direct_call_p
33750 + && TARGET_POINTERS_TO_NESTED_FUNCTIONS
33751 + && !chain_already_loaded (crtl->emit.sequence_stack->last))
33753 + rtx sc_reg = gen_rtx_REG (Pmode, STATIC_CHAIN_REGNUM);
33754 + rtx func_sc_offset = GEN_INT (2 * GET_MODE_SIZE (Pmode));
33755 + rtx func_sc_mem = gen_rtx_MEM (Pmode,
33756 + gen_rtx_PLUS (Pmode, func_desc,
33757 + func_sc_offset));
33758 + emit_move_insn (sc_reg, func_sc_mem);
33759 + abi_reg = sc_reg;
33763 + else
33765 + /* Direct calls use the TOC: for local calls, the callee will
33766 + assume the TOC register is set; for non-local calls, the
33767 + PLT stub needs the TOC register. */
33768 + abi_reg = toc_reg;
33769 + func_addr = func_desc;
33772 + /* Create the call. */
33773 + call[0] = gen_rtx_CALL (VOIDmode, gen_rtx_MEM (SImode, func_addr), flag);
33774 + if (value != NULL_RTX)
33775 + call[0] = gen_rtx_SET (VOIDmode, value, call[0]);
33776 + n_call = 1;
33778 + if (toc_load)
33779 + call[n_call++] = toc_load;
33780 + if (toc_restore)
33781 + call[n_call++] = toc_restore;
33783 + call[n_call++] = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, LR_REGNO));
33785 + insn = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (n_call, call));
33786 + insn = emit_call_insn (insn);
33788 + /* Mention all registers defined by the ABI to hold information
33789 + as uses in CALL_INSN_FUNCTION_USAGE. */
33790 + if (abi_reg)
33791 + use_reg (&CALL_INSN_FUNCTION_USAGE (insn), abi_reg);
33794 +/* Expand code to perform a sibling call under the AIX or ELFv2 ABI. */
33796 +void
33797 +rs6000_sibcall_aix (rtx value, rtx func_desc, rtx flag, rtx cookie)
33799 + rtx call[2];
33800 + rtx insn;
33802 + gcc_assert (INTVAL (cookie) == 0);
33804 + /* Create the call. */
33805 + call[0] = gen_rtx_CALL (VOIDmode, gen_rtx_MEM (SImode, func_desc), flag);
33806 + if (value != NULL_RTX)
33807 + call[0] = gen_rtx_SET (VOIDmode, value, call[0]);
33809 + call[1] = simple_return_rtx;
33811 + insn = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (2, call));
33812 + insn = emit_call_insn (insn);
33814 + /* Note use of the TOC register. */
33815 + use_reg (&CALL_INSN_FUNCTION_USAGE (insn), gen_rtx_REG (Pmode, TOC_REGNUM));
33816 + /* We need to also mark a use of the link register since the function we
33817 + sibling-call to will use it to return to our caller. */
33818 + use_reg (&CALL_INSN_FUNCTION_USAGE (insn), gen_rtx_REG (Pmode, LR_REGNO));
33821 +/* Return whether we need to always update the saved TOC pointer when we update
33822 + the stack pointer. */
33824 +static bool
33825 +rs6000_save_toc_in_prologue_p (void)
33827 + return (cfun && cfun->machine && cfun->machine->save_toc_in_prologue);
33830 +#ifdef HAVE_GAS_HIDDEN
33831 +# define USE_HIDDEN_LINKONCE 1
33832 +#else
33833 +# define USE_HIDDEN_LINKONCE 0
33834 +#endif
33836 +/* Fills in the label name that should be used for a 476 link stack thunk. */
33838 +void
33839 +get_ppc476_thunk_name (char name[32])
33841 + gcc_assert (TARGET_LINK_STACK);
33843 + if (USE_HIDDEN_LINKONCE)
33844 + sprintf (name, "__ppc476.get_thunk");
33845 + else
33846 + ASM_GENERATE_INTERNAL_LABEL (name, "LPPC476_", 0);
33849 +/* This function emits the simple thunk routine that is used to preserve
33850 + the link stack on the 476 cpu. */
33852 +static void rs6000_code_end (void) ATTRIBUTE_UNUSED;
33853 +static void
33854 +rs6000_code_end (void)
33856 + char name[32];
33857 + tree decl;
33859 + if (!TARGET_LINK_STACK)
33860 + return;
33862 + get_ppc476_thunk_name (name);
33864 + decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, get_identifier (name),
33865 + build_function_type_list (void_type_node, NULL_TREE));
33866 + DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL,
33867 + NULL_TREE, void_type_node);
33868 + TREE_PUBLIC (decl) = 1;
33869 + TREE_STATIC (decl) = 1;
33871 +#if RS6000_WEAK
33872 + if (USE_HIDDEN_LINKONCE)
33874 + cgraph_node::create (decl)->set_comdat_group (DECL_ASSEMBLER_NAME (decl));
33875 + targetm.asm_out.unique_section (decl, 0);
33876 + switch_to_section (get_named_section (decl, NULL, 0));
33877 + DECL_WEAK (decl) = 1;
33878 + ASM_WEAKEN_DECL (asm_out_file, decl, name, 0);
33879 + targetm.asm_out.globalize_label (asm_out_file, name);
33880 + targetm.asm_out.assemble_visibility (decl, VISIBILITY_HIDDEN);
33881 + ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl);
33883 + else
33884 +#endif
33886 + switch_to_section (text_section);
33887 + ASM_OUTPUT_LABEL (asm_out_file, name);
33890 + DECL_INITIAL (decl) = make_node (BLOCK);
33891 + current_function_decl = decl;
33892 + init_function_start (decl);
33893 + first_function_block_is_cold = false;
33894 + /* Make sure unwind info is emitted for the thunk if needed. */
33895 + final_start_function (emit_barrier (), asm_out_file, 1);
33897 + fputs ("\tblr\n", asm_out_file);
33899 + final_end_function ();
33900 + init_insn_lengths ();
33901 + free_after_compilation (cfun);
33902 + set_cfun (NULL);
33903 + current_function_decl = NULL;
33906 +/* Add r30 to hard reg set if the prologue sets it up and it is not
33907 + pic_offset_table_rtx. */
33909 +static void
33910 +rs6000_set_up_by_prologue (struct hard_reg_set_container *set)
33912 + if (!TARGET_SINGLE_PIC_BASE
33913 + && TARGET_TOC
33914 + && TARGET_MINIMAL_TOC
33915 + && get_pool_size () != 0)
33916 + add_to_hard_reg_set (&set->set, Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
33920 +/* Helper function for rs6000_split_logical to emit a logical instruction after
33921 + spliting the operation to single GPR registers.
33923 + DEST is the destination register.
33924 + OP1 and OP2 are the input source registers.
33925 + CODE is the base operation (AND, IOR, XOR, NOT).
33926 + MODE is the machine mode.
33927 + If COMPLEMENT_FINAL_P is true, wrap the whole operation with NOT.
33928 + If COMPLEMENT_OP1_P is true, wrap operand1 with NOT.
33929 + If COMPLEMENT_OP2_P is true, wrap operand2 with NOT. */
33931 +static void
33932 +rs6000_split_logical_inner (rtx dest,
33933 + rtx op1,
33934 + rtx op2,
33935 + enum rtx_code code,
33936 + machine_mode mode,
33937 + bool complement_final_p,
33938 + bool complement_op1_p,
33939 + bool complement_op2_p)
33941 + rtx bool_rtx;
33943 + /* Optimize AND of 0/0xffffffff and IOR/XOR of 0. */
33944 + if (op2 && GET_CODE (op2) == CONST_INT
33945 + && (mode == SImode || (mode == DImode && TARGET_POWERPC64))
33946 + && !complement_final_p && !complement_op1_p && !complement_op2_p)
33948 + HOST_WIDE_INT mask = GET_MODE_MASK (mode);
33949 + HOST_WIDE_INT value = INTVAL (op2) & mask;
33951 + /* Optimize AND of 0 to just set 0. Optimize AND of -1 to be a move. */
33952 + if (code == AND)
33954 + if (value == 0)
33956 + emit_insn (gen_rtx_SET (VOIDmode, dest, const0_rtx));
33957 + return;
33960 + else if (value == mask)
33962 + if (!rtx_equal_p (dest, op1))
33963 + emit_insn (gen_rtx_SET (VOIDmode, dest, op1));
33964 + return;
33968 + /* Optimize IOR/XOR of 0 to be a simple move. Split large operations
33969 + into separate ORI/ORIS or XORI/XORIS instrucitons. */
33970 + else if (code == IOR || code == XOR)
33972 + if (value == 0)
33974 + if (!rtx_equal_p (dest, op1))
33975 + emit_insn (gen_rtx_SET (VOIDmode, dest, op1));
33976 + return;
33981 + if (code == AND && mode == SImode
33982 + && !complement_final_p && !complement_op1_p && !complement_op2_p)
33984 + emit_insn (gen_andsi3 (dest, op1, op2));
33985 + return;
33988 + if (complement_op1_p)
33989 + op1 = gen_rtx_NOT (mode, op1);
33991 + if (complement_op2_p)
33992 + op2 = gen_rtx_NOT (mode, op2);
33994 + /* For canonical RTL, if only one arm is inverted it is the first. */
33995 + if (!complement_op1_p && complement_op2_p)
33996 + std::swap (op1, op2);
33998 + bool_rtx = ((code == NOT)
33999 + ? gen_rtx_NOT (mode, op1)
34000 + : gen_rtx_fmt_ee (code, mode, op1, op2));
34002 + if (complement_final_p)
34003 + bool_rtx = gen_rtx_NOT (mode, bool_rtx);
34005 + emit_insn (gen_rtx_SET (VOIDmode, dest, bool_rtx));
34008 +/* Split a DImode AND/IOR/XOR with a constant on a 32-bit system. These
34009 + operations are split immediately during RTL generation to allow for more
34010 + optimizations of the AND/IOR/XOR.
34012 + OPERANDS is an array containing the destination and two input operands.
34013 + CODE is the base operation (AND, IOR, XOR, NOT).
34014 + MODE is the machine mode.
34015 + If COMPLEMENT_FINAL_P is true, wrap the whole operation with NOT.
34016 + If COMPLEMENT_OP1_P is true, wrap operand1 with NOT.
34017 + If COMPLEMENT_OP2_P is true, wrap operand2 with NOT.
34018 + CLOBBER_REG is either NULL or a scratch register of type CC to allow
34019 + formation of the AND instructions. */
34021 +static void
34022 +rs6000_split_logical_di (rtx operands[3],
34023 + enum rtx_code code,
34024 + bool complement_final_p,
34025 + bool complement_op1_p,
34026 + bool complement_op2_p)
34028 + const HOST_WIDE_INT lower_32bits = HOST_WIDE_INT_C(0xffffffff);
34029 + const HOST_WIDE_INT upper_32bits = ~ lower_32bits;
34030 + const HOST_WIDE_INT sign_bit = HOST_WIDE_INT_C(0x80000000);
34031 + enum hi_lo { hi = 0, lo = 1 };
34032 + rtx op0_hi_lo[2], op1_hi_lo[2], op2_hi_lo[2];
34033 + size_t i;
34035 + op0_hi_lo[hi] = gen_highpart (SImode, operands[0]);
34036 + op1_hi_lo[hi] = gen_highpart (SImode, operands[1]);
34037 + op0_hi_lo[lo] = gen_lowpart (SImode, operands[0]);
34038 + op1_hi_lo[lo] = gen_lowpart (SImode, operands[1]);
34040 + if (code == NOT)
34041 + op2_hi_lo[hi] = op2_hi_lo[lo] = NULL_RTX;
34042 + else
34044 + if (GET_CODE (operands[2]) != CONST_INT)
34046 + op2_hi_lo[hi] = gen_highpart_mode (SImode, DImode, operands[2]);
34047 + op2_hi_lo[lo] = gen_lowpart (SImode, operands[2]);
34049 + else
34051 + HOST_WIDE_INT value = INTVAL (operands[2]);
34052 + HOST_WIDE_INT value_hi_lo[2];
34054 + gcc_assert (!complement_final_p);
34055 + gcc_assert (!complement_op1_p);
34056 + gcc_assert (!complement_op2_p);
34058 + value_hi_lo[hi] = value >> 32;
34059 + value_hi_lo[lo] = value & lower_32bits;
34061 + for (i = 0; i < 2; i++)
34063 + HOST_WIDE_INT sub_value = value_hi_lo[i];
34065 + if (sub_value & sign_bit)
34066 + sub_value |= upper_32bits;
34068 + op2_hi_lo[i] = GEN_INT (sub_value);
34070 + /* If this is an AND instruction, check to see if we need to load
34071 + the value in a register. */
34072 + if (code == AND && sub_value != -1 && sub_value != 0
34073 + && !and_operand (op2_hi_lo[i], SImode))
34074 + op2_hi_lo[i] = force_reg (SImode, op2_hi_lo[i]);
34079 + for (i = 0; i < 2; i++)
34081 + /* Split large IOR/XOR operations. */
34082 + if ((code == IOR || code == XOR)
34083 + && GET_CODE (op2_hi_lo[i]) == CONST_INT
34084 + && !complement_final_p
34085 + && !complement_op1_p
34086 + && !complement_op2_p
34087 + && !logical_const_operand (op2_hi_lo[i], SImode))
34089 + HOST_WIDE_INT value = INTVAL (op2_hi_lo[i]);
34090 + HOST_WIDE_INT hi_16bits = value & HOST_WIDE_INT_C(0xffff0000);
34091 + HOST_WIDE_INT lo_16bits = value & HOST_WIDE_INT_C(0x0000ffff);
34092 + rtx tmp = gen_reg_rtx (SImode);
34094 + /* Make sure the constant is sign extended. */
34095 + if ((hi_16bits & sign_bit) != 0)
34096 + hi_16bits |= upper_32bits;
34098 + rs6000_split_logical_inner (tmp, op1_hi_lo[i], GEN_INT (hi_16bits),
34099 + code, SImode, false, false, false);
34101 + rs6000_split_logical_inner (op0_hi_lo[i], tmp, GEN_INT (lo_16bits),
34102 + code, SImode, false, false, false);
34104 + else
34105 + rs6000_split_logical_inner (op0_hi_lo[i], op1_hi_lo[i], op2_hi_lo[i],
34106 + code, SImode, complement_final_p,
34107 + complement_op1_p, complement_op2_p);
34110 + return;
34113 +/* Split the insns that make up boolean operations operating on multiple GPR
34114 + registers. The boolean MD patterns ensure that the inputs either are
34115 + exactly the same as the output registers, or there is no overlap.
34117 + OPERANDS is an array containing the destination and two input operands.
34118 + CODE is the base operation (AND, IOR, XOR, NOT).
34119 + If COMPLEMENT_FINAL_P is true, wrap the whole operation with NOT.
34120 + If COMPLEMENT_OP1_P is true, wrap operand1 with NOT.
34121 + If COMPLEMENT_OP2_P is true, wrap operand2 with NOT. */
34123 +void
34124 +rs6000_split_logical (rtx operands[3],
34125 + enum rtx_code code,
34126 + bool complement_final_p,
34127 + bool complement_op1_p,
34128 + bool complement_op2_p)
34130 + machine_mode mode = GET_MODE (operands[0]);
34131 + machine_mode sub_mode;
34132 + rtx op0, op1, op2;
34133 + int sub_size, regno0, regno1, nregs, i;
34135 + /* If this is DImode, use the specialized version that can run before
34136 + register allocation. */
34137 + if (mode == DImode && !TARGET_POWERPC64)
34139 + rs6000_split_logical_di (operands, code, complement_final_p,
34140 + complement_op1_p, complement_op2_p);
34141 + return;
34144 + op0 = operands[0];
34145 + op1 = operands[1];
34146 + op2 = (code == NOT) ? NULL_RTX : operands[2];
34147 + sub_mode = (TARGET_POWERPC64) ? DImode : SImode;
34148 + sub_size = GET_MODE_SIZE (sub_mode);
34149 + regno0 = REGNO (op0);
34150 + regno1 = REGNO (op1);
34152 + gcc_assert (reload_completed);
34153 + gcc_assert (IN_RANGE (regno0, FIRST_GPR_REGNO, LAST_GPR_REGNO));
34154 + gcc_assert (IN_RANGE (regno1, FIRST_GPR_REGNO, LAST_GPR_REGNO));
34156 + nregs = rs6000_hard_regno_nregs[(int)mode][regno0];
34157 + gcc_assert (nregs > 1);
34159 + if (op2 && REG_P (op2))
34160 + gcc_assert (IN_RANGE (REGNO (op2), FIRST_GPR_REGNO, LAST_GPR_REGNO));
34162 + for (i = 0; i < nregs; i++)
34164 + int offset = i * sub_size;
34165 + rtx sub_op0 = simplify_subreg (sub_mode, op0, mode, offset);
34166 + rtx sub_op1 = simplify_subreg (sub_mode, op1, mode, offset);
34167 + rtx sub_op2 = ((code == NOT)
34168 + ? NULL_RTX
34169 + : simplify_subreg (sub_mode, op2, mode, offset));
34171 + rs6000_split_logical_inner (sub_op0, sub_op1, sub_op2, code, sub_mode,
34172 + complement_final_p, complement_op1_p,
34173 + complement_op2_p);
34176 + return;
34180 +/* Return true if the peephole2 can combine a load involving a combination of
34181 + an addis instruction and a load with an offset that can be fused together on
34182 + a power8. */
34184 +bool
34185 +fusion_gpr_load_p (rtx addis_reg, /* register set via addis. */
34186 + rtx addis_value, /* addis value. */
34187 + rtx target, /* target register that is loaded. */
34188 + rtx mem) /* bottom part of the memory addr. */
34190 + rtx addr;
34191 + rtx base_reg;
34193 + /* Validate arguments. */
34194 + if (!base_reg_operand (addis_reg, GET_MODE (addis_reg)))
34195 + return false;
34197 + if (!base_reg_operand (target, GET_MODE (target)))
34198 + return false;
34200 + if (!fusion_gpr_addis (addis_value, GET_MODE (addis_value)))
34201 + return false;
34203 + /* Allow sign/zero extension. */
34204 + if (GET_CODE (mem) == ZERO_EXTEND
34205 + || (GET_CODE (mem) == SIGN_EXTEND && TARGET_P8_FUSION_SIGN))
34206 + mem = XEXP (mem, 0);
34208 + if (!MEM_P (mem))
34209 + return false;
34211 + if (!fusion_gpr_mem_load (mem, GET_MODE (mem)))
34212 + return false;
34214 + addr = XEXP (mem, 0); /* either PLUS or LO_SUM. */
34215 + if (GET_CODE (addr) != PLUS && GET_CODE (addr) != LO_SUM)
34216 + return false;
34218 + /* Validate that the register used to load the high value is either the
34219 + register being loaded, or we can safely replace its use.
34221 + This function is only called from the peephole2 pass and we assume that
34222 + there are 2 instructions in the peephole (addis and load), so we want to
34223 + check if the target register was not used in the memory address and the
34224 + register to hold the addis result is dead after the peephole. */
34225 + if (REGNO (addis_reg) != REGNO (target))
34227 + if (reg_mentioned_p (target, mem))
34228 + return false;
34230 + if (!peep2_reg_dead_p (2, addis_reg))
34231 + return false;
34233 + /* If the target register being loaded is the stack pointer, we must
34234 + avoid loading any other value into it, even temporarily. */
34235 + if (REG_P (target) && REGNO (target) == STACK_POINTER_REGNUM)
34236 + return false;
34239 + base_reg = XEXP (addr, 0);
34240 + return REGNO (addis_reg) == REGNO (base_reg);
34243 +/* During the peephole2 pass, adjust and expand the insns for a load fusion
34244 + sequence. We adjust the addis register to use the target register. If the
34245 + load sign extends, we adjust the code to do the zero extending load, and an
34246 + explicit sign extension later since the fusion only covers zero extending
34247 + loads.
34249 + The operands are:
34250 + operands[0] register set with addis (to be replaced with target)
34251 + operands[1] value set via addis
34252 + operands[2] target register being loaded
34253 + operands[3] D-form memory reference using operands[0]. */
34255 +void
34256 +expand_fusion_gpr_load (rtx *operands)
34258 + rtx addis_value = operands[1];
34259 + rtx target = operands[2];
34260 + rtx orig_mem = operands[3];
34261 + rtx new_addr, new_mem, orig_addr, offset;
34262 + enum rtx_code plus_or_lo_sum;
34263 + machine_mode target_mode = GET_MODE (target);
34264 + machine_mode extend_mode = target_mode;
34265 + machine_mode ptr_mode = Pmode;
34266 + enum rtx_code extend = UNKNOWN;
34268 + if (GET_CODE (orig_mem) == ZERO_EXTEND
34269 + || (TARGET_P8_FUSION_SIGN && GET_CODE (orig_mem) == SIGN_EXTEND))
34271 + extend = GET_CODE (orig_mem);
34272 + orig_mem = XEXP (orig_mem, 0);
34273 + target_mode = GET_MODE (orig_mem);
34276 + gcc_assert (MEM_P (orig_mem));
34278 + orig_addr = XEXP (orig_mem, 0);
34279 + plus_or_lo_sum = GET_CODE (orig_addr);
34280 + gcc_assert (plus_or_lo_sum == PLUS || plus_or_lo_sum == LO_SUM);
34282 + offset = XEXP (orig_addr, 1);
34283 + new_addr = gen_rtx_fmt_ee (plus_or_lo_sum, ptr_mode, addis_value, offset);
34284 + new_mem = replace_equiv_address_nv (orig_mem, new_addr, false);
34286 + if (extend != UNKNOWN)
34287 + new_mem = gen_rtx_fmt_e (ZERO_EXTEND, extend_mode, new_mem);
34289 + new_mem = gen_rtx_UNSPEC (extend_mode, gen_rtvec (1, new_mem),
34290 + UNSPEC_FUSION_GPR);
34291 + emit_insn (gen_rtx_SET (VOIDmode, target, new_mem));
34293 + if (extend == SIGN_EXTEND)
34295 + int sub_off = ((BYTES_BIG_ENDIAN)
34296 + ? GET_MODE_SIZE (extend_mode) - GET_MODE_SIZE (target_mode)
34297 + : 0);
34298 + rtx sign_reg
34299 + = simplify_subreg (target_mode, target, extend_mode, sub_off);
34301 + emit_insn (gen_rtx_SET (VOIDmode, target,
34302 + gen_rtx_SIGN_EXTEND (extend_mode, sign_reg)));
34305 + return;
34308 +/* Return a string to fuse an addis instruction with a gpr load to the same
34309 + register that we loaded up the addis instruction. The address that is used
34310 + is the logical address that was formed during peephole2:
34311 + (lo_sum (high) (low-part))
34313 + The code is complicated, so we call output_asm_insn directly, and just
34314 + return "". */
34316 +const char *
34317 +emit_fusion_gpr_load (rtx target, rtx mem)
34319 + rtx addis_value;
34320 + rtx fuse_ops[10];
34321 + rtx addr;
34322 + rtx load_offset;
34323 + const char *addis_str = NULL;
34324 + const char *load_str = NULL;
34325 + const char *mode_name = NULL;
34326 + char insn_template[80];
34327 + machine_mode mode;
34328 + const char *comment_str = ASM_COMMENT_START;
34330 + if (GET_CODE (mem) == ZERO_EXTEND)
34331 + mem = XEXP (mem, 0);
34333 + gcc_assert (REG_P (target) && MEM_P (mem));
34335 + if (*comment_str == ' ')
34336 + comment_str++;
34338 + addr = XEXP (mem, 0);
34339 + if (GET_CODE (addr) != PLUS && GET_CODE (addr) != LO_SUM)
34340 + gcc_unreachable ();
34342 + addis_value = XEXP (addr, 0);
34343 + load_offset = XEXP (addr, 1);
34345 + /* Now emit the load instruction to the same register. */
34346 + mode = GET_MODE (mem);
34347 + switch (mode)
34349 + case QImode:
34350 + mode_name = "char";
34351 + load_str = "lbz";
34352 + break;
34354 + case HImode:
34355 + mode_name = "short";
34356 + load_str = "lhz";
34357 + break;
34359 + case SImode:
34360 + mode_name = "int";
34361 + load_str = "lwz";
34362 + break;
34364 + case DImode:
34365 + gcc_assert (TARGET_POWERPC64);
34366 + mode_name = "long";
34367 + load_str = "ld";
34368 + break;
34370 + default:
34371 + gcc_unreachable ();
34374 + /* Emit the addis instruction. */
34375 + fuse_ops[0] = target;
34376 + if (satisfies_constraint_L (addis_value))
34378 + fuse_ops[1] = addis_value;
34379 + addis_str = "lis %0,%v1";
34382 + else if (GET_CODE (addis_value) == PLUS)
34384 + rtx op0 = XEXP (addis_value, 0);
34385 + rtx op1 = XEXP (addis_value, 1);
34387 + if (REG_P (op0) && CONST_INT_P (op1)
34388 + && satisfies_constraint_L (op1))
34390 + fuse_ops[1] = op0;
34391 + fuse_ops[2] = op1;
34392 + addis_str = "addis %0,%1,%v2";
34396 + else if (GET_CODE (addis_value) == HIGH)
34398 + rtx value = XEXP (addis_value, 0);
34399 + if (GET_CODE (value) == UNSPEC && XINT (value, 1) == UNSPEC_TOCREL)
34401 + fuse_ops[1] = XVECEXP (value, 0, 0); /* symbol ref. */
34402 + fuse_ops[2] = XVECEXP (value, 0, 1); /* TOC register. */
34403 + if (TARGET_ELF)
34404 + addis_str = "addis %0,%2,%1@toc@ha";
34406 + else if (TARGET_XCOFF)
34407 + addis_str = "addis %0,%1@u(%2)";
34409 + else
34410 + gcc_unreachable ();
34413 + else if (GET_CODE (value) == PLUS)
34415 + rtx op0 = XEXP (value, 0);
34416 + rtx op1 = XEXP (value, 1);
34418 + if (GET_CODE (op0) == UNSPEC
34419 + && XINT (op0, 1) == UNSPEC_TOCREL
34420 + && CONST_INT_P (op1))
34422 + fuse_ops[1] = XVECEXP (op0, 0, 0); /* symbol ref. */
34423 + fuse_ops[2] = XVECEXP (op0, 0, 1); /* TOC register. */
34424 + fuse_ops[3] = op1;
34425 + if (TARGET_ELF)
34426 + addis_str = "addis %0,%2,%1+%3@toc@ha";
34428 + else if (TARGET_XCOFF)
34429 + addis_str = "addis %0,%1+%3@u(%2)";
34431 + else
34432 + gcc_unreachable ();
34436 + else if (satisfies_constraint_L (value))
34438 + fuse_ops[1] = value;
34439 + addis_str = "lis %0,%v1";
34442 + else if (TARGET_ELF && !TARGET_POWERPC64 && CONSTANT_P (value))
34444 + fuse_ops[1] = value;
34445 + addis_str = "lis %0,%1@ha";
34449 + if (!addis_str)
34450 + fatal_insn ("Could not generate addis value for fusion", addis_value);
34452 + sprintf (insn_template, "%s\t\t%s gpr load fusion, type %s", addis_str,
34453 + comment_str, mode_name);
34454 + output_asm_insn (insn_template, fuse_ops);
34456 + /* Emit the D-form load instruction. */
34457 + if (CONST_INT_P (load_offset) && satisfies_constraint_I (load_offset))
34459 + sprintf (insn_template, "%s %%0,%%1(%%0)", load_str);
34460 + fuse_ops[1] = load_offset;
34461 + output_asm_insn (insn_template, fuse_ops);
34464 + else if (GET_CODE (load_offset) == UNSPEC
34465 + && XINT (load_offset, 1) == UNSPEC_TOCREL)
34467 + if (TARGET_ELF)
34468 + sprintf (insn_template, "%s %%0,%%1@toc@l(%%0)", load_str);
34470 + else if (TARGET_XCOFF)
34471 + sprintf (insn_template, "%s %%0,%%1@l(%%0)", load_str);
34473 + else
34474 + gcc_unreachable ();
34476 + fuse_ops[1] = XVECEXP (load_offset, 0, 0);
34477 + output_asm_insn (insn_template, fuse_ops);
34480 + else if (GET_CODE (load_offset) == PLUS
34481 + && GET_CODE (XEXP (load_offset, 0)) == UNSPEC
34482 + && XINT (XEXP (load_offset, 0), 1) == UNSPEC_TOCREL
34483 + && CONST_INT_P (XEXP (load_offset, 1)))
34485 + rtx tocrel_unspec = XEXP (load_offset, 0);
34486 + if (TARGET_ELF)
34487 + sprintf (insn_template, "%s %%0,%%1+%%2@toc@l(%%0)", load_str);
34489 + else if (TARGET_XCOFF)
34490 + sprintf (insn_template, "%s %%0,%%1+%%2@l(%%0)", load_str);
34492 + else
34493 + gcc_unreachable ();
34495 + fuse_ops[1] = XVECEXP (tocrel_unspec, 0, 0);
34496 + fuse_ops[2] = XEXP (load_offset, 1);
34497 + output_asm_insn (insn_template, fuse_ops);
34500 + else if (TARGET_ELF && !TARGET_POWERPC64 && CONSTANT_P (load_offset))
34502 + sprintf (insn_template, "%s %%0,%%1@l(%%0)", load_str);
34504 + fuse_ops[1] = load_offset;
34505 + output_asm_insn (insn_template, fuse_ops);
34508 + else
34509 + fatal_insn ("Unable to generate load offset for fusion", load_offset);
34511 + return "";
34514 +/* Analyze vector computations and remove unnecessary doubleword
34515 + swaps (xxswapdi instructions). This pass is performed only
34516 + for little-endian VSX code generation.
34518 + For this specific case, loads and stores of 4x32 and 2x64 vectors
34519 + are inefficient. These are implemented using the lvx2dx and
34520 + stvx2dx instructions, which invert the order of doublewords in
34521 + a vector register. Thus the code generation inserts an xxswapdi
34522 + after each such load, and prior to each such store. (For spill
34523 + code after register assignment, an additional xxswapdi is inserted
34524 + following each store in order to return a hard register to its
34525 + unpermuted value.)
34527 + The extra xxswapdi instructions reduce performance. This can be
34528 + particularly bad for vectorized code. The purpose of this pass
34529 + is to reduce the number of xxswapdi instructions required for
34530 + correctness.
34532 + The primary insight is that much code that operates on vectors
34533 + does not care about the relative order of elements in a register,
34534 + so long as the correct memory order is preserved. If we have
34535 + a computation where all input values are provided by lvxd2x/xxswapdi
34536 + sequences, all outputs are stored using xxswapdi/stvxd2x sequences,
34537 + and all intermediate computations are pure SIMD (independent of
34538 + element order), then all the xxswapdi's associated with the loads
34539 + and stores may be removed.
34541 + This pass uses some of the infrastructure and logical ideas from
34542 + the "web" pass in web.c. We create maximal webs of computations
34543 + fitting the description above using union-find. Each such web is
34544 + then optimized by removing its unnecessary xxswapdi instructions.
34546 + The pass is placed prior to global optimization so that we can
34547 + perform the optimization in the safest and simplest way possible;
34548 + that is, by replacing each xxswapdi insn with a register copy insn.
34549 + Subsequent forward propagation will remove copies where possible.
34551 + There are some operations sensitive to element order for which we
34552 + can still allow the operation, provided we modify those operations.
34553 + These include CONST_VECTORs, for which we must swap the first and
34554 + second halves of the constant vector; and SUBREGs, for which we
34555 + must adjust the byte offset to account for the swapped doublewords.
34556 + A remaining opportunity would be non-immediate-form splats, for
34557 + which we should adjust the selected lane of the input. We should
34558 + also make code generation adjustments for sum-across operations,
34559 + since this is a common vectorizer reduction.
34561 + Because we run prior to the first split, we can see loads and stores
34562 + here that match *vsx_le_perm_{load,store}_<mode>. These are vanilla
34563 + vector loads and stores that have not yet been split into a permuting
34564 + load/store and a swap. (One way this can happen is with a builtin
34565 + call to vec_vsx_{ld,st}.) We can handle these as well, but rather
34566 + than deleting a swap, we convert the load/store into a permuting
34567 + load/store (which effectively removes the swap). */
34569 +/* Notes on Permutes
34571 + We do not currently handle computations that contain permutes. There
34572 + is a general transformation that can be performed correctly, but it
34573 + may introduce more expensive code than it replaces. To handle these
34574 + would require a cost model to determine when to perform the optimization.
34575 + This commentary records how this could be done if desired.
34577 + The most general permute is something like this (example for V16QI):
34579 + (vec_select:V16QI (vec_concat:V32QI (op1:V16QI) (op2:V16QI))
34580 + (parallel [(const_int a0) (const_int a1)
34581 + ...
34582 + (const_int a14) (const_int a15)]))
34584 + where a0,...,a15 are in [0,31] and select elements from op1 and op2
34585 + to produce in the result.
34587 + Regardless of mode, we can convert the PARALLEL to a mask of 16
34588 + byte-element selectors. Let's call this M, with M[i] representing
34589 + the ith byte-element selector value. Then if we swap doublewords
34590 + throughout the computation, we can get correct behavior by replacing
34591 + M with M' as follows:
34593 + { M[i+8]+8 : i < 8, M[i+8] in [0,7] U [16,23]
34594 + M'[i] = { M[i+8]-8 : i < 8, M[i+8] in [8,15] U [24,31]
34595 + { M[i-8]+8 : i >= 8, M[i-8] in [0,7] U [16,23]
34596 + { M[i-8]-8 : i >= 8, M[i-8] in [8,15] U [24,31]
34598 + This seems promising at first, since we are just replacing one mask
34599 + with another. But certain masks are preferable to others. If M
34600 + is a mask that matches a vmrghh pattern, for example, M' certainly
34601 + will not. Instead of a single vmrghh, we would generate a load of
34602 + M' and a vperm. So we would need to know how many xxswapd's we can
34603 + remove as a result of this transformation to determine if it's
34604 + profitable; and preferably the logic would need to be aware of all
34605 + the special preferable masks.
34607 + Another form of permute is an UNSPEC_VPERM, in which the mask is
34608 + already in a register. In some cases, this mask may be a constant
34609 + that we can discover with ud-chains, in which case the above
34610 + transformation is ok. However, the common usage here is for the
34611 + mask to be produced by an UNSPEC_LVSL, in which case the mask
34612 + cannot be known at compile time. In such a case we would have to
34613 + generate several instructions to compute M' as above at run time,
34614 + and a cost model is needed again. */
34616 +/* This is based on the union-find logic in web.c. web_entry_base is
34617 + defined in df.h. */
34618 +class swap_web_entry : public web_entry_base
34620 + public:
34621 + /* Pointer to the insn. */
34622 + rtx_insn *insn;
34623 + /* Set if insn contains a mention of a vector register. All other
34624 + fields are undefined if this field is unset. */
34625 + unsigned int is_relevant : 1;
34626 + /* Set if insn is a load. */
34627 + unsigned int is_load : 1;
34628 + /* Set if insn is a store. */
34629 + unsigned int is_store : 1;
34630 + /* Set if insn is a doubleword swap. This can either be a register swap
34631 + or a permuting load or store (test is_load and is_store for this). */
34632 + unsigned int is_swap : 1;
34633 + /* Set if the insn has a live-in use of a parameter register. */
34634 + unsigned int is_live_in : 1;
34635 + /* Set if the insn has a live-out def of a return register. */
34636 + unsigned int is_live_out : 1;
34637 + /* Set if the insn contains a subreg reference of a vector register. */
34638 + unsigned int contains_subreg : 1;
34639 + /* Set if the insn contains a 128-bit integer operand. */
34640 + unsigned int is_128_int : 1;
34641 + /* Set if this is a call-insn. */
34642 + unsigned int is_call : 1;
34643 + /* Set if this insn does not perform a vector operation for which
34644 + element order matters, or if we know how to fix it up if it does.
34645 + Undefined if is_swap is set. */
34646 + unsigned int is_swappable : 1;
34647 + /* A nonzero value indicates what kind of special handling for this
34648 + insn is required if doublewords are swapped. Undefined if
34649 + is_swappable is not set. */
34650 + unsigned int special_handling : 3;
34651 + /* Set if the web represented by this entry cannot be optimized. */
34652 + unsigned int web_not_optimizable : 1;
34653 + /* Set if this insn should be deleted. */
34654 + unsigned int will_delete : 1;
34657 +enum special_handling_values {
34658 + SH_NONE = 0,
34659 + SH_CONST_VECTOR,
34660 + SH_SUBREG,
34661 + SH_NOSWAP_LD,
34662 + SH_NOSWAP_ST,
34663 + SH_EXTRACT,
34664 + SH_SPLAT
34667 +/* Union INSN with all insns containing definitions that reach USE.
34668 + Detect whether USE is live-in to the current function. */
34669 +static void
34670 +union_defs (swap_web_entry *insn_entry, rtx insn, df_ref use)
34672 + struct df_link *link = DF_REF_CHAIN (use);
34674 + if (!link)
34675 + insn_entry[INSN_UID (insn)].is_live_in = 1;
34677 + while (link)
34679 + if (DF_REF_IS_ARTIFICIAL (link->ref))
34680 + insn_entry[INSN_UID (insn)].is_live_in = 1;
34682 + if (DF_REF_INSN_INFO (link->ref))
34684 + rtx def_insn = DF_REF_INSN (link->ref);
34685 + (void)unionfind_union (insn_entry + INSN_UID (insn),
34686 + insn_entry + INSN_UID (def_insn));
34689 + link = link->next;
34693 +/* Union INSN with all insns containing uses reached from DEF.
34694 + Detect whether DEF is live-out from the current function. */
34695 +static void
34696 +union_uses (swap_web_entry *insn_entry, rtx insn, df_ref def)
34698 + struct df_link *link = DF_REF_CHAIN (def);
34700 + if (!link)
34701 + insn_entry[INSN_UID (insn)].is_live_out = 1;
34703 + while (link)
34705 + /* This could be an eh use or some other artificial use;
34706 + we treat these all the same (killing the optimization). */
34707 + if (DF_REF_IS_ARTIFICIAL (link->ref))
34708 + insn_entry[INSN_UID (insn)].is_live_out = 1;
34710 + if (DF_REF_INSN_INFO (link->ref))
34712 + rtx use_insn = DF_REF_INSN (link->ref);
34713 + (void)unionfind_union (insn_entry + INSN_UID (insn),
34714 + insn_entry + INSN_UID (use_insn));
34717 + link = link->next;
34721 +/* Return 1 iff INSN is a load insn, including permuting loads that
34722 + represent an lvxd2x instruction; else return 0. */
34723 +static unsigned int
34724 +insn_is_load_p (rtx insn)
34726 + rtx body = PATTERN (insn);
34728 + if (GET_CODE (body) == SET)
34730 + if (GET_CODE (SET_SRC (body)) == MEM)
34731 + return 1;
34733 + if (GET_CODE (SET_SRC (body)) == VEC_SELECT
34734 + && GET_CODE (XEXP (SET_SRC (body), 0)) == MEM)
34735 + return 1;
34737 + return 0;
34740 + if (GET_CODE (body) != PARALLEL)
34741 + return 0;
34743 + rtx set = XVECEXP (body, 0, 0);
34745 + if (GET_CODE (set) == SET && GET_CODE (SET_SRC (set)) == MEM)
34746 + return 1;
34748 + return 0;
34751 +/* Return 1 iff INSN is a store insn, including permuting stores that
34752 + represent an stvxd2x instruction; else return 0. */
34753 +static unsigned int
34754 +insn_is_store_p (rtx insn)
34756 + rtx body = PATTERN (insn);
34757 + if (GET_CODE (body) == SET && GET_CODE (SET_DEST (body)) == MEM)
34758 + return 1;
34759 + if (GET_CODE (body) != PARALLEL)
34760 + return 0;
34761 + rtx set = XVECEXP (body, 0, 0);
34762 + if (GET_CODE (set) == SET && GET_CODE (SET_DEST (set)) == MEM)
34763 + return 1;
34764 + return 0;
34767 +/* Return 1 iff INSN swaps doublewords. This may be a reg-reg swap,
34768 + a permuting load, or a permuting store. */
34769 +static unsigned int
34770 +insn_is_swap_p (rtx insn)
34772 + rtx body = PATTERN (insn);
34773 + if (GET_CODE (body) != SET)
34774 + return 0;
34775 + rtx rhs = SET_SRC (body);
34776 + if (GET_CODE (rhs) != VEC_SELECT)
34777 + return 0;
34778 + rtx parallel = XEXP (rhs, 1);
34779 + if (GET_CODE (parallel) != PARALLEL)
34780 + return 0;
34781 + unsigned int len = XVECLEN (parallel, 0);
34782 + if (len != 2 && len != 4 && len != 8 && len != 16)
34783 + return 0;
34784 + for (unsigned int i = 0; i < len / 2; ++i)
34786 + rtx op = XVECEXP (parallel, 0, i);
34787 + if (GET_CODE (op) != CONST_INT || INTVAL (op) != len / 2 + i)
34788 + return 0;
34790 + for (unsigned int i = len / 2; i < len; ++i)
34792 + rtx op = XVECEXP (parallel, 0, i);
34793 + if (GET_CODE (op) != CONST_INT || INTVAL (op) != i - len / 2)
34794 + return 0;
34796 + return 1;
34799 +/* Return 1 iff OP is an operand that will not be affected by having
34800 + vector doublewords swapped in memory. */
34801 +static unsigned int
34802 +rtx_is_swappable_p (rtx op, unsigned int *special)
34804 + enum rtx_code code = GET_CODE (op);
34805 + int i, j;
34806 + rtx parallel;
34808 + switch (code)
34810 + case LABEL_REF:
34811 + case SYMBOL_REF:
34812 + case CLOBBER:
34813 + case REG:
34814 + return 1;
34816 + case VEC_CONCAT:
34817 + case ASM_INPUT:
34818 + case ASM_OPERANDS:
34819 + return 0;
34821 + case CONST_VECTOR:
34823 + *special = SH_CONST_VECTOR;
34824 + return 1;
34827 + case VEC_DUPLICATE:
34828 + /* Opportunity: If XEXP (op, 0) has the same mode as the result,
34829 + and XEXP (op, 1) is a PARALLEL with a single QImode const int,
34830 + it represents a vector splat for which we can do special
34831 + handling. */
34832 + if (GET_CODE (XEXP (op, 0)) == CONST_INT)
34833 + return 1;
34834 + else if (GET_CODE (XEXP (op, 0)) == REG
34835 + && GET_MODE_INNER (GET_MODE (op)) == GET_MODE (XEXP (op, 0)))
34836 + /* This catches V2DF and V2DI splat, at a minimum. */
34837 + return 1;
34838 + else if (GET_CODE (XEXP (op, 0)) == VEC_SELECT)
34839 + /* If the duplicated item is from a select, defer to the select
34840 + processing to see if we can change the lane for the splat. */
34841 + return rtx_is_swappable_p (XEXP (op, 0), special);
34842 + else
34843 + return 0;
34845 + case VEC_SELECT:
34846 + /* A vec_extract operation is ok if we change the lane. */
34847 + if (GET_CODE (XEXP (op, 0)) == REG
34848 + && GET_MODE_INNER (GET_MODE (XEXP (op, 0))) == GET_MODE (op)
34849 + && GET_CODE ((parallel = XEXP (op, 1))) == PARALLEL
34850 + && XVECLEN (parallel, 0) == 1
34851 + && GET_CODE (XVECEXP (parallel, 0, 0)) == CONST_INT)
34853 + *special = SH_EXTRACT;
34854 + return 1;
34856 + else
34857 + return 0;
34859 + case UNSPEC:
34861 + /* Various operations are unsafe for this optimization, at least
34862 + without significant additional work. Permutes are obviously
34863 + problematic, as both the permute control vector and the ordering
34864 + of the target values are invalidated by doubleword swapping.
34865 + Vector pack and unpack modify the number of vector lanes.
34866 + Merge-high/low will not operate correctly on swapped operands.
34867 + Vector shifts across element boundaries are clearly uncool,
34868 + as are vector select and concatenate operations. Vector
34869 + sum-across instructions define one operand with a specific
34870 + order-dependent element, so additional fixup code would be
34871 + needed to make those work. Vector set and non-immediate-form
34872 + vector splat are element-order sensitive. A few of these
34873 + cases might be workable with special handling if required. */
34874 + int val = XINT (op, 1);
34875 + switch (val)
34877 + default:
34878 + break;
34879 + case UNSPEC_VMRGH_DIRECT:
34880 + case UNSPEC_VMRGL_DIRECT:
34881 + case UNSPEC_VPACK_SIGN_SIGN_SAT:
34882 + case UNSPEC_VPACK_SIGN_UNS_SAT:
34883 + case UNSPEC_VPACK_UNS_UNS_MOD:
34884 + case UNSPEC_VPACK_UNS_UNS_MOD_DIRECT:
34885 + case UNSPEC_VPACK_UNS_UNS_SAT:
34886 + case UNSPEC_VPERM:
34887 + case UNSPEC_VPERM_UNS:
34888 + case UNSPEC_VPERMHI:
34889 + case UNSPEC_VPERMSI:
34890 + case UNSPEC_VPKPX:
34891 + case UNSPEC_VSLDOI:
34892 + case UNSPEC_VSLO:
34893 + case UNSPEC_VSRO:
34894 + case UNSPEC_VSUM2SWS:
34895 + case UNSPEC_VSUM4S:
34896 + case UNSPEC_VSUM4UBS:
34897 + case UNSPEC_VSUMSWS:
34898 + case UNSPEC_VSUMSWS_DIRECT:
34899 + case UNSPEC_VSX_CONCAT:
34900 + case UNSPEC_VSX_SET:
34901 + case UNSPEC_VSX_SLDWI:
34902 + case UNSPEC_VUNPACK_HI_SIGN:
34903 + case UNSPEC_VUNPACK_HI_SIGN_DIRECT:
34904 + case UNSPEC_VUNPACK_LO_SIGN:
34905 + case UNSPEC_VUNPACK_LO_SIGN_DIRECT:
34906 + case UNSPEC_VUPKHPX:
34907 + case UNSPEC_VUPKHS_V4SF:
34908 + case UNSPEC_VUPKHU_V4SF:
34909 + case UNSPEC_VUPKLPX:
34910 + case UNSPEC_VUPKLS_V4SF:
34911 + case UNSPEC_VUPKLU_V4SF:
34912 + /* The following could be handled as an idiom with XXSPLTW.
34913 + These place a scalar in BE element zero, but the XXSPLTW
34914 + will currently expect it in BE element 2 in a swapped
34915 + region. When one of these feeds an XXSPLTW with no other
34916 + defs/uses either way, we can avoid the lane change for
34917 + XXSPLTW and things will be correct. TBD. */
34918 + case UNSPEC_VSX_CVDPSPN:
34919 + case UNSPEC_VSX_CVSPDP:
34920 + case UNSPEC_VSX_CVSPDPN:
34921 + return 0;
34922 + case UNSPEC_VSPLT_DIRECT:
34923 + *special = SH_SPLAT;
34924 + return 1;
34928 + default:
34929 + break;
34932 + const char *fmt = GET_RTX_FORMAT (code);
34933 + int ok = 1;
34935 + for (i = 0; i < GET_RTX_LENGTH (code); ++i)
34936 + if (fmt[i] == 'e' || fmt[i] == 'u')
34938 + unsigned int special_op = SH_NONE;
34939 + ok &= rtx_is_swappable_p (XEXP (op, i), &special_op);
34940 + /* Ensure we never have two kinds of special handling
34941 + for the same insn. */
34942 + if (*special != SH_NONE && special_op != SH_NONE
34943 + && *special != special_op)
34944 + return 0;
34945 + *special = special_op;
34947 + else if (fmt[i] == 'E')
34948 + for (j = 0; j < XVECLEN (op, i); ++j)
34950 + unsigned int special_op = SH_NONE;
34951 + ok &= rtx_is_swappable_p (XVECEXP (op, i, j), &special_op);
34952 + /* Ensure we never have two kinds of special handling
34953 + for the same insn. */
34954 + if (*special != SH_NONE && special_op != SH_NONE
34955 + && *special != special_op)
34956 + return 0;
34957 + *special = special_op;
34960 + return ok;
34963 +/* Return 1 iff INSN is an operand that will not be affected by
34964 + having vector doublewords swapped in memory (in which case
34965 + *SPECIAL is unchanged), or that can be modified to be correct
34966 + if vector doublewords are swapped in memory (in which case
34967 + *SPECIAL is changed to a value indicating how). */
34968 +static unsigned int
34969 +insn_is_swappable_p (swap_web_entry *insn_entry, rtx insn,
34970 + unsigned int *special)
34972 + /* Calls are always bad. */
34973 + if (GET_CODE (insn) == CALL_INSN)
34974 + return 0;
34976 + /* Loads and stores seen here are not permuting, but we can still
34977 + fix them up by converting them to permuting ones. Exceptions:
34978 + UNSPEC_LVE, UNSPEC_LVX, and UNSPEC_STVX, which have a PARALLEL
34979 + body instead of a SET; and UNSPEC_STVE, which has an UNSPEC
34980 + for the SET source. */
34981 + rtx body = PATTERN (insn);
34982 + int i = INSN_UID (insn);
34984 + if (insn_entry[i].is_load)
34986 + if (GET_CODE (body) == SET)
34988 + *special = SH_NOSWAP_LD;
34989 + return 1;
34991 + else
34992 + return 0;
34995 + if (insn_entry[i].is_store)
34997 + if (GET_CODE (body) == SET && GET_CODE (SET_SRC (body)) != UNSPEC)
34999 + *special = SH_NOSWAP_ST;
35000 + return 1;
35002 + else
35003 + return 0;
35006 + /* Otherwise check the operands for vector lane violations. */
35007 + return rtx_is_swappable_p (body, special);
35010 +enum chain_purpose { FOR_LOADS, FOR_STORES };
35012 +/* Return true if the UD or DU chain headed by LINK is non-empty,
35013 + and every entry on the chain references an insn that is a
35014 + register swap. Furthermore, if PURPOSE is FOR_LOADS, each such
35015 + register swap must have only permuting loads as reaching defs.
35016 + If PURPOSE is FOR_STORES, each such register swap must have only
35017 + register swaps or permuting stores as reached uses. */
35018 +static bool
35019 +chain_contains_only_swaps (swap_web_entry *insn_entry, struct df_link *link,
35020 + enum chain_purpose purpose)
35022 + if (!link)
35023 + return false;
35025 + for (; link; link = link->next)
35027 + if (!VECTOR_MODE_P (GET_MODE (DF_REF_REG (link->ref))))
35028 + continue;
35030 + if (DF_REF_IS_ARTIFICIAL (link->ref))
35031 + return false;
35033 + rtx reached_insn = DF_REF_INSN (link->ref);
35034 + unsigned uid = INSN_UID (reached_insn);
35035 + struct df_insn_info *insn_info = DF_INSN_INFO_GET (reached_insn);
35037 + if (!insn_entry[uid].is_swap || insn_entry[uid].is_load
35038 + || insn_entry[uid].is_store)
35039 + return false;
35041 + if (purpose == FOR_LOADS)
35043 + df_ref use;
35044 + FOR_EACH_INSN_INFO_USE (use, insn_info)
35046 + struct df_link *swap_link = DF_REF_CHAIN (use);
35048 + while (swap_link)
35050 + if (DF_REF_IS_ARTIFICIAL (link->ref))
35051 + return false;
35053 + rtx swap_def_insn = DF_REF_INSN (swap_link->ref);
35054 + unsigned uid2 = INSN_UID (swap_def_insn);
35056 + /* Only permuting loads are allowed. */
35057 + if (!insn_entry[uid2].is_swap || !insn_entry[uid2].is_load)
35058 + return false;
35060 + swap_link = swap_link->next;
35064 + else if (purpose == FOR_STORES)
35066 + df_ref def;
35067 + FOR_EACH_INSN_INFO_DEF (def, insn_info)
35069 + struct df_link *swap_link = DF_REF_CHAIN (def);
35071 + while (swap_link)
35073 + if (DF_REF_IS_ARTIFICIAL (link->ref))
35074 + return false;
35076 + rtx swap_use_insn = DF_REF_INSN (swap_link->ref);
35077 + unsigned uid2 = INSN_UID (swap_use_insn);
35079 + /* Permuting stores or register swaps are allowed. */
35080 + if (!insn_entry[uid2].is_swap || insn_entry[uid2].is_load)
35081 + return false;
35083 + swap_link = swap_link->next;
35089 + return true;
35092 +/* Mark the xxswapdi instructions associated with permuting loads and
35093 + stores for removal. Note that we only flag them for deletion here,
35094 + as there is a possibility of a swap being reached from multiple
35095 + loads, etc. */
35096 +static void
35097 +mark_swaps_for_removal (swap_web_entry *insn_entry, unsigned int i)
35099 + rtx insn = insn_entry[i].insn;
35100 + struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
35102 + if (insn_entry[i].is_load)
35104 + df_ref def;
35105 + FOR_EACH_INSN_INFO_DEF (def, insn_info)
35107 + struct df_link *link = DF_REF_CHAIN (def);
35109 + /* We know by now that these are swaps, so we can delete
35110 + them confidently. */
35111 + while (link)
35113 + rtx use_insn = DF_REF_INSN (link->ref);
35114 + insn_entry[INSN_UID (use_insn)].will_delete = 1;
35115 + link = link->next;
35119 + else if (insn_entry[i].is_store)
35121 + df_ref use;
35122 + FOR_EACH_INSN_INFO_USE (use, insn_info)
35124 + /* Ignore uses for addressability. */
35125 + machine_mode mode = GET_MODE (DF_REF_REG (use));
35126 + if (!VECTOR_MODE_P (mode))
35127 + continue;
35129 + struct df_link *link = DF_REF_CHAIN (use);
35131 + /* We know by now that these are swaps, so we can delete
35132 + them confidently. */
35133 + while (link)
35135 + rtx def_insn = DF_REF_INSN (link->ref);
35136 + insn_entry[INSN_UID (def_insn)].will_delete = 1;
35137 + link = link->next;
35143 +/* OP is either a CONST_VECTOR or an expression containing one.
35144 + Swap the first half of the vector with the second in the first
35145 + case. Recurse to find it in the second. */
35146 +static void
35147 +swap_const_vector_halves (rtx op)
35149 + int i;
35150 + enum rtx_code code = GET_CODE (op);
35151 + if (GET_CODE (op) == CONST_VECTOR)
35153 + int half_units = GET_MODE_NUNITS (GET_MODE (op)) / 2;
35154 + for (i = 0; i < half_units; ++i)
35156 + rtx temp = CONST_VECTOR_ELT (op, i);
35157 + CONST_VECTOR_ELT (op, i) = CONST_VECTOR_ELT (op, i + half_units);
35158 + CONST_VECTOR_ELT (op, i + half_units) = temp;
35161 + else
35163 + int j;
35164 + const char *fmt = GET_RTX_FORMAT (code);
35165 + for (i = 0; i < GET_RTX_LENGTH (code); ++i)
35166 + if (fmt[i] == 'e' || fmt[i] == 'u')
35167 + swap_const_vector_halves (XEXP (op, i));
35168 + else if (fmt[i] == 'E')
35169 + for (j = 0; j < XVECLEN (op, i); ++j)
35170 + swap_const_vector_halves (XVECEXP (op, i, j));
35174 +/* Find all subregs of a vector expression that perform a narrowing,
35175 + and adjust the subreg index to account for doubleword swapping. */
35176 +static void
35177 +adjust_subreg_index (rtx op)
35179 + enum rtx_code code = GET_CODE (op);
35180 + if (code == SUBREG
35181 + && (GET_MODE_SIZE (GET_MODE (op))
35182 + < GET_MODE_SIZE (GET_MODE (XEXP (op, 0)))))
35184 + unsigned int index = SUBREG_BYTE (op);
35185 + if (index < 8)
35186 + index += 8;
35187 + else
35188 + index -= 8;
35189 + SUBREG_BYTE (op) = index;
35192 + const char *fmt = GET_RTX_FORMAT (code);
35193 + int i,j;
35194 + for (i = 0; i < GET_RTX_LENGTH (code); ++i)
35195 + if (fmt[i] == 'e' || fmt[i] == 'u')
35196 + adjust_subreg_index (XEXP (op, i));
35197 + else if (fmt[i] == 'E')
35198 + for (j = 0; j < XVECLEN (op, i); ++j)
35199 + adjust_subreg_index (XVECEXP (op, i, j));
35202 +/* Convert the non-permuting load INSN to a permuting one. */
35203 +static void
35204 +permute_load (rtx_insn *insn)
35206 + rtx body = PATTERN (insn);
35207 + rtx mem_op = SET_SRC (body);
35208 + rtx tgt_reg = SET_DEST (body);
35209 + machine_mode mode = GET_MODE (tgt_reg);
35210 + int n_elts = GET_MODE_NUNITS (mode);
35211 + int half_elts = n_elts / 2;
35212 + rtx par = gen_rtx_PARALLEL (mode, rtvec_alloc (n_elts));
35213 + int i, j;
35214 + for (i = 0, j = half_elts; i < half_elts; ++i, ++j)
35215 + XVECEXP (par, 0, i) = GEN_INT (j);
35216 + for (i = half_elts, j = 0; j < half_elts; ++i, ++j)
35217 + XVECEXP (par, 0, i) = GEN_INT (j);
35218 + rtx sel = gen_rtx_VEC_SELECT (mode, mem_op, par);
35219 + SET_SRC (body) = sel;
35220 + INSN_CODE (insn) = -1; /* Force re-recognition. */
35221 + df_insn_rescan (insn);
35223 + if (dump_file)
35224 + fprintf (dump_file, "Replacing load %d with permuted load\n",
35225 + INSN_UID (insn));
35228 +/* Convert the non-permuting store INSN to a permuting one. */
35229 +static void
35230 +permute_store (rtx_insn *insn)
35232 + rtx body = PATTERN (insn);
35233 + rtx src_reg = SET_SRC (body);
35234 + machine_mode mode = GET_MODE (src_reg);
35235 + int n_elts = GET_MODE_NUNITS (mode);
35236 + int half_elts = n_elts / 2;
35237 + rtx par = gen_rtx_PARALLEL (mode, rtvec_alloc (n_elts));
35238 + int i, j;
35239 + for (i = 0, j = half_elts; i < half_elts; ++i, ++j)
35240 + XVECEXP (par, 0, i) = GEN_INT (j);
35241 + for (i = half_elts, j = 0; j < half_elts; ++i, ++j)
35242 + XVECEXP (par, 0, i) = GEN_INT (j);
35243 + rtx sel = gen_rtx_VEC_SELECT (mode, src_reg, par);
35244 + SET_SRC (body) = sel;
35245 + INSN_CODE (insn) = -1; /* Force re-recognition. */
35246 + df_insn_rescan (insn);
35248 + if (dump_file)
35249 + fprintf (dump_file, "Replacing store %d with permuted store\n",
35250 + INSN_UID (insn));
35253 +/* Given OP that contains a vector extract operation, adjust the index
35254 + of the extracted lane to account for the doubleword swap. */
35255 +static void
35256 +adjust_extract (rtx_insn *insn)
35258 + rtx src = SET_SRC (PATTERN (insn));
35259 + /* The vec_select may be wrapped in a vec_duplicate for a splat, so
35260 + account for that. */
35261 + rtx sel = GET_CODE (src) == VEC_DUPLICATE ? XEXP (src, 0) : src;
35262 + rtx par = XEXP (sel, 1);
35263 + int half_elts = GET_MODE_NUNITS (GET_MODE (XEXP (sel, 0))) >> 1;
35264 + int lane = INTVAL (XVECEXP (par, 0, 0));
35265 + lane = lane >= half_elts ? lane - half_elts : lane + half_elts;
35266 + XVECEXP (par, 0, 0) = GEN_INT (lane);
35267 + INSN_CODE (insn) = -1; /* Force re-recognition. */
35268 + df_insn_rescan (insn);
35270 + if (dump_file)
35271 + fprintf (dump_file, "Changing lane for extract %d\n", INSN_UID (insn));
35274 +/* Given OP that contains a vector direct-splat operation, adjust the index
35275 + of the source lane to account for the doubleword swap. */
35276 +static void
35277 +adjust_splat (rtx_insn *insn)
35279 + rtx body = PATTERN (insn);
35280 + rtx unspec = XEXP (body, 1);
35281 + int half_elts = GET_MODE_NUNITS (GET_MODE (unspec)) >> 1;
35282 + int lane = INTVAL (XVECEXP (unspec, 0, 1));
35283 + lane = lane >= half_elts ? lane - half_elts : lane + half_elts;
35284 + XVECEXP (unspec, 0, 1) = GEN_INT (lane);
35285 + INSN_CODE (insn) = -1; /* Force re-recognition. */
35286 + df_insn_rescan (insn);
35288 + if (dump_file)
35289 + fprintf (dump_file, "Changing lane for splat %d\n", INSN_UID (insn));
35292 +/* The insn described by INSN_ENTRY[I] can be swapped, but only
35293 + with special handling. Take care of that here. */
35294 +static void
35295 +handle_special_swappables (swap_web_entry *insn_entry, unsigned i)
35297 + rtx_insn *insn = insn_entry[i].insn;
35298 + rtx body = PATTERN (insn);
35300 + switch (insn_entry[i].special_handling)
35302 + default:
35303 + gcc_unreachable ();
35304 + case SH_CONST_VECTOR:
35306 + /* A CONST_VECTOR will only show up somewhere in the RHS of a SET. */
35307 + gcc_assert (GET_CODE (body) == SET);
35308 + rtx rhs = SET_SRC (body);
35309 + swap_const_vector_halves (rhs);
35310 + if (dump_file)
35311 + fprintf (dump_file, "Swapping constant halves in insn %d\n", i);
35312 + break;
35314 + case SH_SUBREG:
35315 + /* A subreg of the same size is already safe. For subregs that
35316 + select a smaller portion of a reg, adjust the index for
35317 + swapped doublewords. */
35318 + adjust_subreg_index (body);
35319 + if (dump_file)
35320 + fprintf (dump_file, "Adjusting subreg in insn %d\n", i);
35321 + break;
35322 + case SH_NOSWAP_LD:
35323 + /* Convert a non-permuting load to a permuting one. */
35324 + permute_load (insn);
35325 + break;
35326 + case SH_NOSWAP_ST:
35327 + /* Convert a non-permuting store to a permuting one. */
35328 + permute_store (insn);
35329 + break;
35330 + case SH_EXTRACT:
35331 + /* Change the lane on an extract operation. */
35332 + adjust_extract (insn);
35333 + break;
35334 + case SH_SPLAT:
35335 + /* Change the lane on a direct-splat operation. */
35336 + adjust_splat (insn);
35337 + break;
35341 +/* Find the insn from the Ith table entry, which is known to be a
35342 + register swap Y = SWAP(X). Replace it with a copy Y = X. */
35343 +static void
35344 +replace_swap_with_copy (swap_web_entry *insn_entry, unsigned i)
35346 + rtx_insn *insn = insn_entry[i].insn;
35347 + rtx body = PATTERN (insn);
35348 + rtx src_reg = XEXP (SET_SRC (body), 0);
35349 + rtx copy = gen_rtx_SET (VOIDmode, SET_DEST (body), src_reg);
35350 + rtx_insn *new_insn = emit_insn_before (copy, insn);
35351 + set_block_for_insn (new_insn, BLOCK_FOR_INSN (insn));
35352 + df_insn_rescan (new_insn);
35354 + if (dump_file)
35356 + unsigned int new_uid = INSN_UID (new_insn);
35357 + fprintf (dump_file, "Replacing swap %d with copy %d\n", i, new_uid);
35360 + df_insn_delete (insn);
35361 + remove_insn (insn);
35362 + insn->set_deleted ();
35365 +/* Dump the swap table to DUMP_FILE. */
35366 +static void
35367 +dump_swap_insn_table (swap_web_entry *insn_entry)
35369 + int e = get_max_uid ();
35370 + fprintf (dump_file, "\nRelevant insns with their flag settings\n\n");
35372 + for (int i = 0; i < e; ++i)
35373 + if (insn_entry[i].is_relevant)
35375 + swap_web_entry *pred_entry = (swap_web_entry *)insn_entry[i].pred ();
35376 + fprintf (dump_file, "%6d %6d ", i,
35377 + pred_entry && pred_entry->insn
35378 + ? INSN_UID (pred_entry->insn) : 0);
35379 + if (insn_entry[i].is_load)
35380 + fputs ("load ", dump_file);
35381 + if (insn_entry[i].is_store)
35382 + fputs ("store ", dump_file);
35383 + if (insn_entry[i].is_swap)
35384 + fputs ("swap ", dump_file);
35385 + if (insn_entry[i].is_live_in)
35386 + fputs ("live-in ", dump_file);
35387 + if (insn_entry[i].is_live_out)
35388 + fputs ("live-out ", dump_file);
35389 + if (insn_entry[i].contains_subreg)
35390 + fputs ("subreg ", dump_file);
35391 + if (insn_entry[i].is_128_int)
35392 + fputs ("int128 ", dump_file);
35393 + if (insn_entry[i].is_call)
35394 + fputs ("call ", dump_file);
35395 + if (insn_entry[i].is_swappable)
35397 + fputs ("swappable ", dump_file);
35398 + if (insn_entry[i].special_handling == SH_CONST_VECTOR)
35399 + fputs ("special:constvec ", dump_file);
35400 + else if (insn_entry[i].special_handling == SH_SUBREG)
35401 + fputs ("special:subreg ", dump_file);
35402 + else if (insn_entry[i].special_handling == SH_NOSWAP_LD)
35403 + fputs ("special:load ", dump_file);
35404 + else if (insn_entry[i].special_handling == SH_NOSWAP_ST)
35405 + fputs ("special:store ", dump_file);
35406 + else if (insn_entry[i].special_handling == SH_EXTRACT)
35407 + fputs ("special:extract ", dump_file);
35408 + else if (insn_entry[i].special_handling == SH_SPLAT)
35409 + fputs ("special:splat ", dump_file);
35411 + if (insn_entry[i].web_not_optimizable)
35412 + fputs ("unoptimizable ", dump_file);
35413 + if (insn_entry[i].will_delete)
35414 + fputs ("delete ", dump_file);
35415 + fputs ("\n", dump_file);
35417 + fputs ("\n", dump_file);
35420 +/* Main entry point for this pass. */
35421 +unsigned int
35422 +rs6000_analyze_swaps (function *fun)
35424 + swap_web_entry *insn_entry;
35425 + basic_block bb;
35426 + rtx_insn *insn;
35428 + /* Dataflow analysis for use-def chains. */
35429 + df_set_flags (DF_RD_PRUNE_DEAD_DEFS);
35430 + df_chain_add_problem (DF_DU_CHAIN | DF_UD_CHAIN);
35431 + df_analyze ();
35432 + df_set_flags (DF_DEFER_INSN_RESCAN);
35434 + /* Allocate structure to represent webs of insns. */
35435 + insn_entry = XCNEWVEC (swap_web_entry, get_max_uid ());
35437 + /* Walk the insns to gather basic data. */
35438 + FOR_ALL_BB_FN (bb, fun)
35439 + FOR_BB_INSNS (bb, insn)
35441 + unsigned int uid = INSN_UID (insn);
35442 + if (NONDEBUG_INSN_P (insn))
35444 + insn_entry[uid].insn = insn;
35446 + if (GET_CODE (insn) == CALL_INSN)
35447 + insn_entry[uid].is_call = 1;
35449 + /* Walk the uses and defs to see if we mention vector regs.
35450 + Record any constraints on optimization of such mentions. */
35451 + struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
35452 + df_ref mention;
35453 + FOR_EACH_INSN_INFO_USE (mention, insn_info)
35455 + /* We use DF_REF_REAL_REG here to get inside any subregs. */
35456 + machine_mode mode = GET_MODE (DF_REF_REAL_REG (mention));
35458 + /* If a use gets its value from a call insn, it will be
35459 + a hard register and will look like (reg:V4SI 3 3).
35460 + The df analysis creates two mentions for GPR3 and GPR4,
35461 + both DImode. We must recognize this and treat it as a
35462 + vector mention to ensure the call is unioned with this
35463 + use. */
35464 + if (mode == DImode && DF_REF_INSN_INFO (mention))
35466 + rtx feeder = DF_REF_INSN (mention);
35467 + /* FIXME: It is pretty hard to get from the df mention
35468 + to the mode of the use in the insn. We arbitrarily
35469 + pick a vector mode here, even though the use might
35470 + be a real DImode. We can be too conservative
35471 + (create a web larger than necessary) because of
35472 + this, so consider eventually fixing this. */
35473 + if (GET_CODE (feeder) == CALL_INSN)
35474 + mode = V4SImode;
35477 + if (VECTOR_MODE_P (mode))
35479 + insn_entry[uid].is_relevant = 1;
35480 + if (mode == TImode || mode == V1TImode)
35481 + insn_entry[uid].is_128_int = 1;
35482 + if (DF_REF_INSN_INFO (mention))
35483 + insn_entry[uid].contains_subreg
35484 + = !rtx_equal_p (DF_REF_REG (mention),
35485 + DF_REF_REAL_REG (mention));
35486 + union_defs (insn_entry, insn, mention);
35489 + FOR_EACH_INSN_INFO_DEF (mention, insn_info)
35491 + /* We use DF_REF_REAL_REG here to get inside any subregs. */
35492 + machine_mode mode = GET_MODE (DF_REF_REAL_REG (mention));
35494 + /* If we're loading up a hard vector register for a call,
35495 + it looks like (set (reg:V4SI 9 9) (...)). The df
35496 + analysis creates two mentions for GPR9 and GPR10, both
35497 + DImode. So relying on the mode from the mentions
35498 + isn't sufficient to ensure we union the call into the
35499 + web with the parameter setup code. */
35500 + if (mode == DImode && GET_CODE (insn) == SET
35501 + && VECTOR_MODE_P (GET_MODE (SET_DEST (insn))))
35502 + mode = GET_MODE (SET_DEST (insn));
35504 + if (VECTOR_MODE_P (mode))
35506 + insn_entry[uid].is_relevant = 1;
35507 + if (mode == TImode || mode == V1TImode)
35508 + insn_entry[uid].is_128_int = 1;
35509 + if (DF_REF_INSN_INFO (mention))
35510 + insn_entry[uid].contains_subreg
35511 + = !rtx_equal_p (DF_REF_REG (mention),
35512 + DF_REF_REAL_REG (mention));
35513 + /* REG_FUNCTION_VALUE_P is not valid for subregs. */
35514 + else if (REG_FUNCTION_VALUE_P (DF_REF_REG (mention)))
35515 + insn_entry[uid].is_live_out = 1;
35516 + union_uses (insn_entry, insn, mention);
35520 + if (insn_entry[uid].is_relevant)
35522 + /* Determine if this is a load or store. */
35523 + insn_entry[uid].is_load = insn_is_load_p (insn);
35524 + insn_entry[uid].is_store = insn_is_store_p (insn);
35526 + /* Determine if this is a doubleword swap. If not,
35527 + determine whether it can legally be swapped. */
35528 + if (insn_is_swap_p (insn))
35529 + insn_entry[uid].is_swap = 1;
35530 + else
35532 + unsigned int special = SH_NONE;
35533 + insn_entry[uid].is_swappable
35534 + = insn_is_swappable_p (insn_entry, insn, &special);
35535 + if (special != SH_NONE && insn_entry[uid].contains_subreg)
35536 + insn_entry[uid].is_swappable = 0;
35537 + else if (special != SH_NONE)
35538 + insn_entry[uid].special_handling = special;
35539 + else if (insn_entry[uid].contains_subreg)
35540 + insn_entry[uid].special_handling = SH_SUBREG;
35546 + if (dump_file)
35548 + fprintf (dump_file, "\nSwap insn entry table when first built\n");
35549 + dump_swap_insn_table (insn_entry);
35552 + /* Record unoptimizable webs. */
35553 + unsigned e = get_max_uid (), i;
35554 + for (i = 0; i < e; ++i)
35556 + if (!insn_entry[i].is_relevant)
35557 + continue;
35559 + swap_web_entry *root
35560 + = (swap_web_entry*)(&insn_entry[i])->unionfind_root ();
35562 + if (insn_entry[i].is_live_in || insn_entry[i].is_live_out
35563 + || (insn_entry[i].contains_subreg
35564 + && insn_entry[i].special_handling != SH_SUBREG)
35565 + || insn_entry[i].is_128_int || insn_entry[i].is_call
35566 + || !(insn_entry[i].is_swappable || insn_entry[i].is_swap))
35567 + root->web_not_optimizable = 1;
35569 + /* If we have loads or stores that aren't permuting then the
35570 + optimization isn't appropriate. */
35571 + else if ((insn_entry[i].is_load || insn_entry[i].is_store)
35572 + && !insn_entry[i].is_swap && !insn_entry[i].is_swappable)
35573 + root->web_not_optimizable = 1;
35575 + /* If we have permuting loads or stores that are not accompanied
35576 + by a register swap, the optimization isn't appropriate. */
35577 + else if (insn_entry[i].is_load && insn_entry[i].is_swap)
35579 + rtx insn = insn_entry[i].insn;
35580 + struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
35581 + df_ref def;
35583 + FOR_EACH_INSN_INFO_DEF (def, insn_info)
35585 + struct df_link *link = DF_REF_CHAIN (def);
35587 + if (!chain_contains_only_swaps (insn_entry, link, FOR_LOADS))
35589 + root->web_not_optimizable = 1;
35590 + break;
35594 + else if (insn_entry[i].is_store && insn_entry[i].is_swap)
35596 + rtx insn = insn_entry[i].insn;
35597 + struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
35598 + df_ref use;
35600 + FOR_EACH_INSN_INFO_USE (use, insn_info)
35602 + struct df_link *link = DF_REF_CHAIN (use);
35604 + if (!chain_contains_only_swaps (insn_entry, link, FOR_STORES))
35606 + root->web_not_optimizable = 1;
35607 + break;
35613 + if (dump_file)
35615 + fprintf (dump_file, "\nSwap insn entry table after web analysis\n");
35616 + dump_swap_insn_table (insn_entry);
35619 + /* For each load and store in an optimizable web (which implies
35620 + the loads and stores are permuting), find the associated
35621 + register swaps and mark them for removal. Due to various
35622 + optimizations we may mark the same swap more than once. Also
35623 + perform special handling for swappable insns that require it. */
35624 + for (i = 0; i < e; ++i)
35625 + if ((insn_entry[i].is_load || insn_entry[i].is_store)
35626 + && insn_entry[i].is_swap)
35628 + swap_web_entry* root_entry
35629 + = (swap_web_entry*)((&insn_entry[i])->unionfind_root ());
35630 + if (!root_entry->web_not_optimizable)
35631 + mark_swaps_for_removal (insn_entry, i);
35633 + else if (insn_entry[i].is_swappable && insn_entry[i].special_handling)
35635 + swap_web_entry* root_entry
35636 + = (swap_web_entry*)((&insn_entry[i])->unionfind_root ());
35637 + if (!root_entry->web_not_optimizable)
35638 + handle_special_swappables (insn_entry, i);
35641 + /* Now delete the swaps marked for removal. */
35642 + for (i = 0; i < e; ++i)
35643 + if (insn_entry[i].will_delete)
35644 + replace_swap_with_copy (insn_entry, i);
35646 + /* Clean up. */
35647 + free (insn_entry);
35648 + return 0;
35651 +const pass_data pass_data_analyze_swaps =
35653 + RTL_PASS, /* type */
35654 + "swaps", /* name */
35655 + OPTGROUP_NONE, /* optinfo_flags */
35656 + TV_NONE, /* tv_id */
35657 + 0, /* properties_required */
35658 + 0, /* properties_provided */
35659 + 0, /* properties_destroyed */
35660 + 0, /* todo_flags_start */
35661 + TODO_df_finish, /* todo_flags_finish */
35664 +class pass_analyze_swaps : public rtl_opt_pass
35666 +public:
35667 + pass_analyze_swaps(gcc::context *ctxt)
35668 + : rtl_opt_pass(pass_data_analyze_swaps, ctxt)
35669 + {}
35671 + /* opt_pass methods: */
35672 + virtual bool gate (function *)
35674 + return (optimize > 0 && !BYTES_BIG_ENDIAN && TARGET_VSX
35675 + && rs6000_optimize_swaps);
35678 + virtual unsigned int execute (function *fun)
35680 + return rs6000_analyze_swaps (fun);
35683 +}; // class pass_analyze_swaps
35685 +rtl_opt_pass *
35686 +make_pass_analyze_swaps (gcc::context *ctxt)
35688 + return new pass_analyze_swaps (ctxt);
35691 +#ifdef RS6000_GLIBC_ATOMIC_FENV
35692 +/* Function declarations for rs6000_atomic_assign_expand_fenv. */
35693 +static tree atomic_hold_decl, atomic_clear_decl, atomic_update_decl;
35694 +#endif
35696 +/* Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook. */
35698 +static void
35699 +rs6000_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update)
35701 + if (!TARGET_HARD_FLOAT || !TARGET_FPRS)
35703 +#ifdef RS6000_GLIBC_ATOMIC_FENV
35704 + if (atomic_hold_decl == NULL_TREE)
35706 + atomic_hold_decl
35707 + = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
35708 + get_identifier ("__atomic_feholdexcept"),
35709 + build_function_type_list (void_type_node,
35710 + double_ptr_type_node,
35711 + NULL_TREE));
35712 + TREE_PUBLIC (atomic_hold_decl) = 1;
35713 + DECL_EXTERNAL (atomic_hold_decl) = 1;
35716 + if (atomic_clear_decl == NULL_TREE)
35718 + atomic_clear_decl
35719 + = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
35720 + get_identifier ("__atomic_feclearexcept"),
35721 + build_function_type_list (void_type_node,
35722 + NULL_TREE));
35723 + TREE_PUBLIC (atomic_clear_decl) = 1;
35724 + DECL_EXTERNAL (atomic_clear_decl) = 1;
35727 + tree const_double = build_qualified_type (double_type_node,
35728 + TYPE_QUAL_CONST);
35729 + tree const_double_ptr = build_pointer_type (const_double);
35730 + if (atomic_update_decl == NULL_TREE)
35732 + atomic_update_decl
35733 + = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
35734 + get_identifier ("__atomic_feupdateenv"),
35735 + build_function_type_list (void_type_node,
35736 + const_double_ptr,
35737 + NULL_TREE));
35738 + TREE_PUBLIC (atomic_update_decl) = 1;
35739 + DECL_EXTERNAL (atomic_update_decl) = 1;
35742 + tree fenv_var = create_tmp_var (double_type_node);
35743 + mark_addressable (fenv_var);
35744 + tree fenv_addr = build1 (ADDR_EXPR, double_ptr_type_node, fenv_var);
35746 + *hold = build_call_expr (atomic_hold_decl, 1, fenv_addr);
35747 + *clear = build_call_expr (atomic_clear_decl, 0);
35748 + *update = build_call_expr (atomic_update_decl, 1,
35749 + fold_convert (const_double_ptr, fenv_addr));
35750 +#endif
35751 + return;
35754 + tree mffs = rs6000_builtin_decls[RS6000_BUILTIN_MFFS];
35755 + tree mtfsf = rs6000_builtin_decls[RS6000_BUILTIN_MTFSF];
35756 + tree call_mffs = build_call_expr (mffs, 0);
35758 + /* Generates the equivalent of feholdexcept (&fenv_var)
35760 + *fenv_var = __builtin_mffs ();
35761 + double fenv_hold;
35762 + *(uint64_t*)&fenv_hold = *(uint64_t*)fenv_var & 0xffffffff00000007LL;
35763 + __builtin_mtfsf (0xff, fenv_hold); */
35765 + /* Mask to clear everything except for the rounding modes and non-IEEE
35766 + arithmetic flag. */
35767 + const unsigned HOST_WIDE_INT hold_exception_mask =
35768 + HOST_WIDE_INT_C (0xffffffff00000007);
35770 + tree fenv_var = create_tmp_var (double_type_node);
35772 + tree hold_mffs = build2 (MODIFY_EXPR, void_type_node, fenv_var, call_mffs);
35774 + tree fenv_llu = build1 (VIEW_CONVERT_EXPR, uint64_type_node, fenv_var);
35775 + tree fenv_llu_and = build2 (BIT_AND_EXPR, uint64_type_node, fenv_llu,
35776 + build_int_cst (uint64_type_node,
35777 + hold_exception_mask));
35779 + tree fenv_hold_mtfsf = build1 (VIEW_CONVERT_EXPR, double_type_node,
35780 + fenv_llu_and);
35782 + tree hold_mtfsf = build_call_expr (mtfsf, 2,
35783 + build_int_cst (unsigned_type_node, 0xff),
35784 + fenv_hold_mtfsf);
35786 + *hold = build2 (COMPOUND_EXPR, void_type_node, hold_mffs, hold_mtfsf);
35788 + /* Generates the equivalent of feclearexcept (FE_ALL_EXCEPT):
35790 + double fenv_clear = __builtin_mffs ();
35791 + *(uint64_t)&fenv_clear &= 0xffffffff00000000LL;
35792 + __builtin_mtfsf (0xff, fenv_clear); */
35794 + /* Mask to clear everything except for the rounding modes and non-IEEE
35795 + arithmetic flag. */
35796 + const unsigned HOST_WIDE_INT clear_exception_mask =
35797 + HOST_WIDE_INT_C (0xffffffff00000000);
35799 + tree fenv_clear = create_tmp_var (double_type_node);
35801 + tree clear_mffs = build2 (MODIFY_EXPR, void_type_node, fenv_clear, call_mffs);
35803 + tree fenv_clean_llu = build1 (VIEW_CONVERT_EXPR, uint64_type_node, fenv_clear);
35804 + tree fenv_clear_llu_and = build2 (BIT_AND_EXPR, uint64_type_node,
35805 + fenv_clean_llu,
35806 + build_int_cst (uint64_type_node,
35807 + clear_exception_mask));
35809 + tree fenv_clear_mtfsf = build1 (VIEW_CONVERT_EXPR, double_type_node,
35810 + fenv_clear_llu_and);
35812 + tree clear_mtfsf = build_call_expr (mtfsf, 2,
35813 + build_int_cst (unsigned_type_node, 0xff),
35814 + fenv_clear_mtfsf);
35816 + *clear = build2 (COMPOUND_EXPR, void_type_node, clear_mffs, clear_mtfsf);
35818 + /* Generates the equivalent of feupdateenv (&fenv_var)
35820 + double old_fenv = __builtin_mffs ();
35821 + double fenv_update;
35822 + *(uint64_t*)&fenv_update = (*(uint64_t*)&old & 0xffffffff1fffff00LL) |
35823 + (*(uint64_t*)fenv_var 0x1ff80fff);
35824 + __builtin_mtfsf (0xff, fenv_update); */
35826 + const unsigned HOST_WIDE_INT update_exception_mask =
35827 + HOST_WIDE_INT_C (0xffffffff1fffff00);
35828 + const unsigned HOST_WIDE_INT new_exception_mask =
35829 + HOST_WIDE_INT_C (0x1ff80fff);
35831 + tree old_fenv = create_tmp_var (double_type_node);
35832 + tree update_mffs = build2 (MODIFY_EXPR, void_type_node, old_fenv, call_mffs);
35834 + tree old_llu = build1 (VIEW_CONVERT_EXPR, uint64_type_node, old_fenv);
35835 + tree old_llu_and = build2 (BIT_AND_EXPR, uint64_type_node, old_llu,
35836 + build_int_cst (uint64_type_node,
35837 + update_exception_mask));
35839 + tree new_llu_and = build2 (BIT_AND_EXPR, uint64_type_node, fenv_llu,
35840 + build_int_cst (uint64_type_node,
35841 + new_exception_mask));
35843 + tree new_llu_mask = build2 (BIT_IOR_EXPR, uint64_type_node,
35844 + old_llu_and, new_llu_and);
35846 + tree fenv_update_mtfsf = build1 (VIEW_CONVERT_EXPR, double_type_node,
35847 + new_llu_mask);
35849 + tree update_mtfsf = build_call_expr (mtfsf, 2,
35850 + build_int_cst (unsigned_type_node, 0xff),
35851 + fenv_update_mtfsf);
35853 + *update = build2 (COMPOUND_EXPR, void_type_node, update_mffs, update_mtfsf);
35857 +struct gcc_target targetm = TARGET_INITIALIZER;
35859 +#include "gt-rs6000.h"
35860 diff -ruN gcc-5-20150222/gcc/config/rs6000/rs6000.h gcc-5-20150222.aros/gcc/config/rs6000/rs6000.h
35861 --- gcc-5-20150222/gcc/config/rs6000/rs6000.h 2015-01-16 16:31:37.000000000 +0000
35862 +++ gcc-5-20150222.aros/gcc/config/rs6000/rs6000.h 2015-02-23 08:11:04.769837296 +0000
35863 @@ -1765,6 +1765,7 @@
35864 int nargs_prototype; /* # args left in the current prototype */
35865 int prototype; /* Whether a prototype was defined */
35866 int stdarg; /* Whether function is a stdarg function. */
35867 + int stackparm; /* Whether function has all args on the stack */
35868 int call_cookie; /* Do special things for this call */
35869 int sysv_gregno; /* next available GP register */
35870 int intoffset; /* running offset in struct (darwin64) */
35871 diff -ruN gcc-5-20150222/gcc/config/t-aros gcc-5-20150222.aros/gcc/config/t-aros
35872 --- gcc-5-20150222/gcc/config/t-aros 1970-01-01 01:00:00.000000000 +0100
35873 +++ gcc-5-20150222.aros/gcc/config/t-aros 2015-02-23 08:11:04.769837296 +0000
35874 @@ -0,0 +1,29 @@
35875 +# In AROS, "/usr" is a four-letter word.
35876 +# Must match NATIVE_SYSTEM_HEADER_COMPONENT in aros.h !
35877 +NATIVE_SYSTEM_HEADER_DIR = /include
35879 +# Don't add AROS target include path when compiling host compiler
35880 +CPPFLAGS =
35882 +# Copy AROS specific include replacement files
35883 +LIBGCC_DEPS += stmp-aros-hrds
35885 +EXTRA_AROS_HEADERS = aros/types/size_t.h aros/types/ptrdiff_t.h \
35886 + aros/types/wchar_t.h aros/types/wint_t.h aros/types/null.h
35888 +stmp-int-hdrs : | include/aros/types
35890 +include/aros/types : $(addprefix $(srcdir)/ginclude/,$(EXTRA_AROS_HEADERS))
35891 + -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
35892 + -if [ -d include/aros/types ] ; \
35893 + then true; \
35894 + else \
35895 + mkdir include/aros; chmod a+rx include/aros; \
35896 + mkdir include/aros/types; chmod a+rx include/aros/types; \
35897 + fi
35898 + for file in $(EXTRA_AROS_HEADERS); do \
35899 + $(STAMP) include/$$file; \
35900 + rm -fr include/$$file; \
35901 + cp $(srcdir)/ginclude/$$file include/$$file; \
35902 + chmod a+r include/$$file; \
35903 + done
35904 diff -ruN gcc-5-20150222/gcc/config.build gcc-5-20150222.aros/gcc/config.build
35905 --- gcc-5-20150222/gcc/config.build 2015-01-05 12:33:28.000000000 +0000
35906 +++ gcc-5-20150222.aros/gcc/config.build 2015-02-23 08:11:04.769837296 +0000
35907 @@ -102,6 +102,9 @@
35908 # HP 9000 series 300
35909 build_install_headers_dir=install-headers-cpio
35911 + *-*-aros*)
35912 + build_xm_file=xm-aros.h
35913 + ;;
35914 *-*-sysv*)
35915 # All other System V variants.
35916 build_install_headers_dir=install-headers-cpio
35917 diff -ruN gcc-5-20150222/gcc/config.gcc gcc-5-20150222.aros/gcc/config.gcc
35918 --- gcc-5-20150222/gcc/config.gcc 2015-01-28 17:03:44.000000000 +0000
35919 +++ gcc-5-20150222.aros/gcc/config.gcc 2015-02-23 08:11:04.769837296 +0000
35920 @@ -774,6 +774,15 @@
35922 esac
35924 +*-*-aros*)
35925 + gas=yes
35926 + gnu_ld=yes
35927 + thread_file=posix
35928 + use_collect2=no
35929 + xm_defines='STDC_HEADERS=1'
35930 + extra_options="${extra_options} aros.opt"
35931 + ;;
35933 *-*-openbsd*)
35934 tmake_file="t-openbsd"
35935 case ${enable_threads} in
35936 @@ -956,6 +965,16 @@
35937 tm_file="${tm_file} vms/vms.h alpha/vms.h"
35938 tmake_file="${tmake_file} alpha/t-vms"
35940 +arm*-*-aros*)
35941 + tm_file="dbxelf.h elfos.h arm/elf.h arm/bpabi.h aros.h arm/aros.h arm/aout.h arm/arm.h"
35942 + tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h"
35943 + tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-arm-softfp arm/t-bpabi arm/t-aros t-aros"
35944 + xm_file="xm-aros.h"
35945 + # The BPABI long long divmod functions return a 128-bit value in
35946 + # registers r0-r3. Correctly modeling that requires the use of
35947 + # TImode.
35948 + need_64bit_hwint=yes
35949 + ;;
35950 arc*-*-elf*)
35951 extra_headers="arc-simd.h"
35952 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
35953 @@ -1540,6 +1559,16 @@
35954 done
35955 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
35957 +i[34567]86-*-aros*)
35958 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h aros.h i386/aros.h"
35959 + xm_file=xm-aros.h
35960 + tmake_file="${tmake_file} i386/t-i386elf t-aros"
35961 + ;;
35962 +x86_64-*-aros*)
35963 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h aros.h i386/aros64.h"
35964 + tmake_file="${tmake_file} i386/t-i386elf t-aros"
35965 + xm_file=xm-aros.h
35966 + ;;
35967 i[34567]86-pc-msdosdjgpp*)
35968 xm_file=i386/xm-djgpp.h
35969 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
35970 @@ -1837,6 +1866,16 @@
35971 thread_file='posix'
35974 +m68k-*-aros*)
35975 + default_m68k_cpu=68000
35976 + default_cf_cpu=5206
35977 + tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
35978 + tm_file="${tm_file} aros.h"
35979 + tm_defines="${tm_defines} MOTOROLA=1"
35980 + tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
35981 + tmake_file="$tmake_file m68k/t-aros m68k/t-mlibs t-aros"
35982 + extra_parts="crtbegin.o crtend.o"
35983 + ;;
35984 m68k-*-elf* | fido-*-elf*)
35985 case ${target} in
35986 fido-*-elf*)
35987 @@ -2336,6 +2375,13 @@
35988 extra_options="${extra_options} rs6000/sysv4.opt"
35989 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
35991 +powerpc-*-aros*)
35992 + tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h aros.h"
35993 + extra_options="${extra_options} rs6000/sysv4.opt"
35994 + tm_file="${tm_file} rs6000/aros.h"
35995 + xm_file=xm-aros.h
35996 + tmake_file="$tmake_file t-aros"
35997 + ;;
35998 powerpc*-*-linux*)
35999 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
36000 extra_options="${extra_options} rs6000/sysv4.opt"
36001 diff -ruN gcc-5-20150222/gcc/config.gcc.orig gcc-5-20150222.aros/gcc/config.gcc.orig
36002 --- gcc-5-20150222/gcc/config.gcc.orig 1970-01-01 01:00:00.000000000 +0100
36003 +++ gcc-5-20150222.aros/gcc/config.gcc.orig 2015-02-23 08:11:04.769837296 +0000
36004 @@ -0,0 +1,4380 @@
36005 +# GCC target-specific configuration file.
36006 +# Copyright (C) 1997-2015 Free Software Foundation, Inc.
36008 +#This file is part of GCC.
36010 +#GCC is free software; you can redistribute it and/or modify it under
36011 +#the terms of the GNU General Public License as published by the Free
36012 +#Software Foundation; either version 3, or (at your option) any later
36013 +#version.
36015 +#GCC is distributed in the hope that it will be useful, but WITHOUT
36016 +#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
36017 +#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
36018 +#for more details.
36020 +#You should have received a copy of the GNU General Public License
36021 +#along with GCC; see the file COPYING3. If not see
36022 +#<http://www.gnu.org/licenses/>.
36024 +# This is the GCC target-specific configuration file
36025 +# where a configuration type is mapped to different system-specific
36026 +# definitions and files. This is invoked by the autoconf-generated
36027 +# configure script. Putting it in a separate shell file lets us skip
36028 +# running autoconf when modifying target-specific information.
36030 +# When you change the cases in the OS or target switches, consider
36031 +# updating ../libgcc/config.host also.
36033 +# This file switches on the shell variable ${target}, and also uses the
36034 +# following shell variables:
36036 +# with_* Various variables as set by configure.
36038 +# enable_threads Either the name, yes or no depending on whether
36039 +# threads support was requested.
36041 +# default_use_cxa_atexit
36042 +# The default value for the $enable___cxa_atexit
36043 +# variable. enable___cxa_atexit needs to be set to
36044 +# "yes" for the correct operation of C++ destructors
36045 +# but it relies upon the presence of a non-standard C
36046 +# library function called __cxa_atexit.
36047 +# Since not all C libraries provide __cxa_atexit the
36048 +# default value of $default_use_cxa_atexit is set to
36049 +# "no" except for targets which are known to be OK.
36051 +# default_gnu_indirect_function
36052 +# The default value for the $enable_gnu_indirect_function
36053 +# variable. enable_gnu_indirect_function relies
36054 +# upon the presence of a non-standard gnu ifunc support
36055 +# in the assembler, linker and dynamic linker.
36056 +# Since not all libraries provide the dynamic linking
36057 +# support, the default value of
36058 +# $default_gnu_indirect_function is set to
36059 +# "no" except for targets which are known to be OK.
36061 +# gas_flag Either yes or no depending on whether GNU as was
36062 +# requested.
36064 +# gnu_ld_flag Either yes or no depending on whether GNU ld was
36065 +# requested.
36067 +# This file sets the following shell variables for use by the
36068 +# autoconf-generated configure script:
36070 +# cpu_type The name of the cpu, if different from the first
36071 +# chunk of the canonical target name.
36073 +# tm_defines List of target macros to define for all compilations.
36075 +# tm_file A list of target macro files, if different from
36076 +# "$cpu_type/$cpu_type.h". Usually it's constructed
36077 +# per target in a way like this:
36078 +# tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
36079 +# Note that the preferred order is:
36080 +# - specific target header "${cpu_type}/${cpu_type.h}"
36081 +# - generic headers like dbxelf.h elfos.h, etc.
36082 +# - specializing target headers like ${cpu_type.h}/elf.h
36083 +# This helps to keep OS specific stuff out of the CPU
36084 +# defining header ${cpu_type}/${cpu_type.h}.
36086 +# It is possible to include automatically-generated
36087 +# build-directory files by prefixing them with "./".
36088 +# All other files should relative to $srcdir/config.
36090 +# tm_p_file Location of file with declarations for functions
36091 +# in $out_file.
36093 +# out_file The name of the machine description C support
36094 +# file, if different from "$cpu_type/$cpu_type.c".
36096 +# common_out_file The name of the source file for code shared between
36097 +# the compiler proper and the driver.
36099 +# md_file The name of the machine-description file, if
36100 +# different from "$cpu_type/$cpu_type.md".
36102 +# tmake_file A list of machine-description-specific
36103 +# makefile-fragments, if different from
36104 +# "$cpu_type/t-$cpu_type".
36106 +# extra_modes The name of the file containing a list of extra
36107 +# machine modes, if necessary and different from
36108 +# "$cpu_type/$cpu_type-modes.def".
36110 +# extra_objs List of extra objects that should be linked into
36111 +# the compiler proper (cc1, cc1obj, cc1plus)
36112 +# depending on target.
36114 +# extra_gcc_objs List of extra objects that should be linked into
36115 +# the compiler driver (gcc) depending on target.
36117 +# extra_headers List of used header files from the directory
36118 +# config/${cpu_type}.
36120 +# user_headers_inc_next_pre
36121 +# List of header file names of internal gcc header
36122 +# files, which should be prefixed by an include_next.
36123 +# user_headers_inc_next_post
36124 +# List of header file names of internal gcc header
36125 +# files, which should be postfixed by an include_next.
36126 +# use_gcc_tgmath If set, add tgmath.h to the list of used header
36127 +# files.
36129 +# use_gcc_stdint If "wrap", install a version of stdint.h that
36130 +# wraps the system's copy for hosted compilations;
36131 +# if "provide", provide a version of systems without
36132 +# such a system header; otherwise "none", do not
36133 +# provide such a header at all.
36135 +# extra_programs List of extra executables compiled for this target
36136 +# machine, used when linking.
36138 +# extra_options List of target-dependent .opt files.
36140 +# c_target_objs List of extra target-dependent objects that be
36141 +# linked into the C compiler only.
36143 +# cxx_target_objs List of extra target-dependent objects that be
36144 +# linked into the C++ compiler only.
36146 +# fortran_target_objs List of extra target-dependent objects that be
36147 +# linked into the fortran compiler only.
36149 +# target_gtfiles List of extra source files with type information.
36151 +# xm_defines List of macros to define when compiling for the
36152 +# target machine.
36154 +# xm_file List of files to include when compiling for the
36155 +# target machine.
36157 +# use_collect2 Set to yes or no, depending on whether collect2
36158 +# will be used.
36160 +# target_cpu_default Set to override the default target model.
36162 +# gdb_needs_out_file_path
36163 +# Set to yes if gdb needs a dir command with
36164 +# `dirname $out_file`.
36166 +# thread_file Set to control which thread package to use.
36168 +# gas Set to yes or no depending on whether the target
36169 +# system normally uses GNU as.
36171 +# configure_default_options
36172 +# Set to an initializer for configure_default_options
36173 +# in configargs.h, based on --with-cpu et cetera.
36175 +# native_system_header_dir
36176 +# Where system header files are found for this
36177 +# target. This defaults to /usr/include. If
36178 +# the --with-sysroot configure option or the
36179 +# --sysroot command line option is used this
36180 +# will be relative to the sysroot.
36181 +# target_type_format_char
36182 +# The default character to be used for formatting
36183 +# the attribute in a
36184 +# .type symbol_name, ${t_t_f_c}<property>
36185 +# directive.
36187 +# The following variables are used in each case-construct to build up the
36188 +# outgoing variables:
36190 +# gnu_ld Set to yes or no depending on whether the target
36191 +# system normally uses GNU ld.
36193 +# target_has_targetcm Set to yes or no depending on whether the target
36194 +# has its own definition of targetcm.
36196 +# target_has_targetm_common Set to yes or no depending on whether the
36197 +# target has its own definition of targetm_common.
36199 +out_file=
36200 +common_out_file=
36201 +tmake_file=
36202 +extra_headers=
36203 +user_headers_inc_next_pre=
36204 +user_headers_inc_next_post=
36205 +use_gcc_tgmath=yes
36206 +use_gcc_stdint=none
36207 +extra_programs=
36208 +extra_objs=
36209 +extra_gcc_objs=
36210 +extra_options=
36211 +c_target_objs=
36212 +cxx_target_objs=
36213 +fortran_target_objs=
36214 +target_has_targetcm=no
36215 +target_has_targetm_common=yes
36216 +tm_defines=
36217 +xm_defines=
36218 +# Set this to force installation and use of collect2.
36219 +use_collect2=
36220 +# Set this to override the default target model.
36221 +target_cpu_default=
36222 +# Set this if gdb needs a dir command with `dirname $out_file`
36223 +gdb_needs_out_file_path=
36224 +# Set this to control which thread package will be used.
36225 +thread_file=
36226 +# Reinitialize these from the flag values every loop pass, since some
36227 +# configure entries modify them.
36228 +gas="$gas_flag"
36229 +gnu_ld="$gnu_ld_flag"
36230 +default_use_cxa_atexit=no
36231 +default_gnu_indirect_function=no
36232 +target_gtfiles=
36233 +need_64bit_isa=
36234 +native_system_header_dir=/usr/include
36235 +target_type_format_char='@'
36237 +# Don't carry these over build->host->target. Please.
36238 +xm_file=
36239 +md_file=
36241 +# Obsolete configurations.
36242 +case ${target} in
36243 +# Currently there are no obsolete targets.
36244 + nothing \
36246 + if test "x$enable_obsolete" != xyes; then
36247 + echo "*** Configuration ${target} is obsolete." >&2
36248 + echo "*** Specify --enable-obsolete to build it anyway." >&2
36249 + echo "*** Support will be REMOVED in the next major release of GCC," >&2
36250 + echo "*** unless a maintainer comes forward." >&2
36251 + exit 1
36252 + fi;;
36253 +esac
36255 +# Unsupported targets list. Do not put an entry in this list unless
36256 +# it would otherwise be caught by a more permissive pattern. The list
36257 +# should be in alphabetical order.
36258 +case ${target} in
36259 + # Avoid special cases that are not obsolete
36260 + arm*-*-*eabi* \
36262 + ;;
36263 + arm*-wince-pe* \
36264 + | arm*-*-ecos-elf \
36265 + | arm*-*-elf \
36266 + | arm*-*-linux* \
36267 + | arm*-*-uclinux* \
36268 + | i[34567]86-go32-* \
36269 + | i[34567]86-*-go32* \
36270 + | m68k-*-uclinuxoldabi* \
36271 + | mips64orion*-*-rtems* \
36272 + | pdp11-*-bsd \
36273 + | sparc-hal-solaris2* \
36274 + | thumb-*-* \
36275 + | *-*-freebsd[12] | *-*-freebsd[12].* \
36276 + | *-*-freebsd*aout* \
36277 + | *-*-linux*aout* \
36278 + | *-*-linux*coff* \
36279 + | *-*-linux*libc1* \
36280 + | *-*-linux*oldld* \
36281 + | *-*-rtemsaout* \
36282 + | *-*-rtemscoff* \
36283 + | *-*-solaris2 \
36284 + | *-*-solaris2.[0-9] \
36285 + | *-*-solaris2.[0-9].* \
36286 + | *-*-sysv* \
36287 + | vax-*-vms* \
36289 + echo "*** Configuration ${target} not supported" 1>&2
36290 + exit 1
36291 + ;;
36292 +esac
36294 +# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
36295 +# updated in each machine entry. Also set default extra_headers for some
36296 +# machines.
36297 +tm_p_file=
36298 +cpu_type=`echo ${target} | sed 's/-.*$//'`
36299 +cpu_is_64bit=
36300 +case ${target} in
36301 +m32c*-*-*)
36302 + cpu_type=m32c
36303 + tmake_file=m32c/t-m32c
36304 + target_has_targetm_common=no
36305 + ;;
36306 +aarch64*-*-*)
36307 + cpu_type=aarch64
36308 + extra_headers="arm_neon.h arm_acle.h"
36309 + extra_objs="aarch64-builtins.o aarch-common.o"
36310 + target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
36311 + target_has_targetm_common=yes
36312 + ;;
36313 +alpha*-*-*)
36314 + cpu_type=alpha
36315 + extra_options="${extra_options} g.opt"
36316 + ;;
36317 +am33_2.0-*-linux*)
36318 + cpu_type=mn10300
36319 + ;;
36320 +arc*-*-*)
36321 + cpu_type=arc
36322 + ;;
36323 +arm*-*-*)
36324 + cpu_type=arm
36325 + extra_objs="arm-builtins.o aarch-common.o"
36326 + extra_headers="mmintrin.h arm_neon.h arm_acle.h"
36327 + target_type_format_char='%'
36328 + c_target_objs="arm-c.o"
36329 + cxx_target_objs="arm-c.o"
36330 + extra_options="${extra_options} arm/arm-tables.opt"
36331 + target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
36332 + ;;
36333 +avr-*-*)
36334 + cpu_type=avr
36335 + c_target_objs="avr-c.o"
36336 + cxx_target_objs="avr-c.o"
36337 + extra_options="${extra_options} avr/avr-tables.opt"
36338 + ;;
36339 +bfin*-*)
36340 + cpu_type=bfin
36341 + ;;
36342 +crisv32-*)
36343 + cpu_type=cris
36344 + ;;
36345 +frv*) cpu_type=frv
36346 + extra_options="${extra_options} g.opt"
36347 + ;;
36348 +moxie*) cpu_type=moxie
36349 + target_has_targetm_common=no
36350 + ;;
36351 +fido-*-*)
36352 + cpu_type=m68k
36353 + extra_headers=math-68881.h
36354 + extra_options="${extra_options} m68k/m68k-tables.opt"
36355 + ;;
36356 +i[34567]86-*-*)
36357 + cpu_type=i386
36358 + c_target_objs="i386-c.o"
36359 + cxx_target_objs="i386-c.o"
36360 + extra_options="${extra_options} fused-madd.opt"
36361 + extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
36362 + pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
36363 + nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
36364 + immintrin.h x86intrin.h avxintrin.h xopintrin.h
36365 + ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
36366 + lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
36367 + avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
36368 + rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
36369 + adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
36370 + avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
36371 + shaintrin.h clflushoptintrin.h xsavecintrin.h
36372 + xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
36373 + avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
36374 + avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
36375 + avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
36376 + ;;
36377 +x86_64-*-*)
36378 + cpu_type=i386
36379 + c_target_objs="i386-c.o"
36380 + cxx_target_objs="i386-c.o"
36381 + extra_options="${extra_options} fused-madd.opt"
36382 + extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
36383 + pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
36384 + nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
36385 + immintrin.h x86intrin.h avxintrin.h xopintrin.h
36386 + ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
36387 + lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
36388 + avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
36389 + rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
36390 + adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
36391 + avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
36392 + shaintrin.h clflushoptintrin.h xsavecintrin.h
36393 + xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
36394 + avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
36395 + avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
36396 + avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
36397 + ;;
36398 +ia64-*-*)
36399 + extra_headers=ia64intrin.h
36400 + extra_options="${extra_options} g.opt fused-madd.opt"
36401 + ;;
36402 +hppa*-*-*)
36403 + cpu_type=pa
36404 + ;;
36405 +lm32*)
36406 + extra_options="${extra_options} g.opt"
36407 + ;;
36408 +m32r*-*-*)
36409 + cpu_type=m32r
36410 + extra_options="${extra_options} g.opt"
36411 + ;;
36412 +m68k-*-*)
36413 + extra_headers=math-68881.h
36414 + extra_options="${extra_options} m68k/m68k-tables.opt"
36415 + ;;
36416 +microblaze*-*-*)
36417 + cpu_type=microblaze
36418 + extra_options="${extra_options} g.opt"
36419 + ;;
36420 +mips*-*-*)
36421 + cpu_type=mips
36422 + extra_headers="loongson.h"
36423 + extra_options="${extra_options} g.opt mips/mips-tables.opt"
36424 + ;;
36425 +nds32*)
36426 + cpu_type=nds32
36427 + extra_headers="nds32_intrinsic.h"
36428 + extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o"
36429 + ;;
36430 +nios2-*-*)
36431 + cpu_type=nios2
36432 + extra_options="${extra_options} g.opt"
36433 + ;;
36434 +nvptx-*-*)
36435 + cpu_type=nvptx
36436 + ;;
36437 +powerpc*-*-*)
36438 + cpu_type=rs6000
36439 + extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
36440 + case x$with_cpu in
36441 + xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
36442 + cpu_is_64bit=yes
36443 + ;;
36444 + esac
36445 + extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
36446 + ;;
36447 +rs6000*-*-*)
36448 + extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
36449 + ;;
36450 +sparc*-*-*)
36451 + cpu_type=sparc
36452 + c_target_objs="sparc-c.o"
36453 + cxx_target_objs="sparc-c.o"
36454 + extra_headers="visintrin.h"
36455 + ;;
36456 +spu*-*-*)
36457 + cpu_type=spu
36458 + ;;
36459 +s390*-*-*)
36460 + cpu_type=s390
36461 + extra_options="${extra_options} fused-madd.opt"
36462 + extra_headers="s390intrin.h htmintrin.h htmxlintrin.h"
36463 + ;;
36464 +# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
36465 +sh[123456789lbe]*-*-* | sh-*-*)
36466 + cpu_type=sh
36467 + extra_options="${extra_options} fused-madd.opt"
36468 + extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
36469 + ;;
36470 +v850*-*-*)
36471 + cpu_type=v850
36472 + ;;
36473 +tic6x-*-*)
36474 + cpu_type=c6x
36475 + extra_headers="c6x_intrinsics.h"
36476 + extra_options="${extra_options} c6x/c6x-tables.opt"
36477 + ;;
36478 +xtensa*-*-*)
36479 + extra_options="${extra_options} fused-madd.opt"
36480 + ;;
36481 +tilegx*-*-*)
36482 + cpu_type=tilegx
36483 + ;;
36484 +tilepro*-*-*)
36485 + cpu_type=tilepro
36486 + ;;
36487 +esac
36489 +tm_file=${cpu_type}/${cpu_type}.h
36490 +if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
36491 +then
36492 + tm_p_file=${cpu_type}/${cpu_type}-protos.h
36494 +extra_modes=
36495 +if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
36496 +then
36497 + extra_modes=${cpu_type}/${cpu_type}-modes.def
36499 +if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
36500 +then
36501 + extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
36504 +case ${target} in
36505 +aarch64*-*-*)
36506 + tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
36507 + case ${with_abi} in
36508 + "")
36509 + if test "x$with_multilib_list" = xilp32; then
36510 + tm_file="aarch64/biarchilp32.h ${tm_file}"
36511 + else
36512 + tm_file="aarch64/biarchlp64.h ${tm_file}"
36513 + fi
36514 + ;;
36515 + ilp32)
36516 + tm_file="aarch64/biarchilp32.h ${tm_file}"
36517 + ;;
36518 + lp64)
36519 + tm_file="aarch64/biarchlp64.h ${tm_file}"
36520 + ;;
36521 + *)
36522 + echo "Unknown ABI used in --with-abi=$with_abi"
36523 + exit 1
36524 + esac
36525 + ;;
36526 +i[34567]86-*-*)
36527 + if test "x$with_abi" != x; then
36528 + echo "This target does not support --with-abi."
36529 + exit 1
36530 + fi
36531 + if test "x$enable_cld" = xyes; then
36532 + tm_defines="${tm_defines} USE_IX86_CLD=1"
36533 + fi
36534 + if test "x$enable_frame_pointer" = xyes; then
36535 + tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
36536 + fi
36537 + tm_file="vxworks-dummy.h ${tm_file}"
36538 + ;;
36539 +x86_64-*-*)
36540 + case ${with_abi} in
36541 + "")
36542 + if test "x$with_multilib_list" = xmx32; then
36543 + tm_file="i386/biarchx32.h ${tm_file}"
36544 + else
36545 + tm_file="i386/biarch64.h ${tm_file}"
36546 + fi
36547 + ;;
36548 + 64 | m64)
36549 + tm_file="i386/biarch64.h ${tm_file}"
36550 + ;;
36551 + x32 | mx32)
36552 + tm_file="i386/biarchx32.h ${tm_file}"
36553 + ;;
36554 + *)
36555 + echo "Unknown ABI used in --with-abi=$with_abi"
36556 + exit 1
36557 + esac
36558 + if test "x$enable_cld" = xyes; then
36559 + tm_defines="${tm_defines} USE_IX86_CLD=1"
36560 + fi
36561 + if test "x$enable_frame_pointer" = xyes; then
36562 + tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
36563 + fi
36564 + tm_file="vxworks-dummy.h ${tm_file}"
36565 + ;;
36566 +arm*-*-*)
36567 + tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
36568 + tm_file="vxworks-dummy.h ${tm_file}"
36569 + ;;
36570 +mips*-*-* | sh*-*-* | sparc*-*-*)
36571 + tm_file="vxworks-dummy.h ${tm_file}"
36572 + ;;
36573 +esac
36575 +# On a.out targets, we need to use collect2.
36576 +case ${target} in
36577 +*-*-*aout*)
36578 + use_collect2=yes
36579 + ;;
36580 +esac
36582 +# Common C libraries.
36583 +tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
36585 +# 32-bit x86 processors supported by --with-arch=. Each processor
36586 +# MUST be separated by exactly one space.
36587 +x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
36588 +athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
36589 +i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
36590 +pentium4 pentium4m pentiumpro prescott"
36592 +# 64-bit x86 processors supported by --with-arch=. Each processor
36593 +# MUST be separated by exactly one space.
36594 +x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
36595 +bdver3 bdver4 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
36596 +core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
36597 +sandybridge ivybridge haswell broadwell bonnell silvermont knl x86-64 \
36598 +native"
36600 +# Additional x86 processors supported by --with-cpu=. Each processor
36601 +# MUST be separated by exactly one space.
36602 +x86_cpus="generic intel"
36604 +# Common parts for widely ported systems.
36605 +case ${target} in
36606 +*-*-darwin*)
36607 + tmake_file="t-darwin ${cpu_type}/t-darwin"
36608 + tm_file="${tm_file} darwin.h"
36609 + case ${target} in
36610 + *-*-darwin9*)
36611 + tm_file="${tm_file} darwin9.h"
36612 + ;;
36613 + *-*-darwin[12][0-9]*)
36614 + tm_file="${tm_file} darwin9.h darwin10.h"
36615 + ;;
36616 + esac
36617 + tm_file="${tm_file} ${cpu_type}/darwin.h"
36618 + tm_p_file="${tm_p_file} darwin-protos.h"
36619 + target_gtfiles="\$(srcdir)/config/darwin.c"
36620 + extra_options="${extra_options} darwin.opt"
36621 + c_target_objs="${c_target_objs} darwin-c.o"
36622 + cxx_target_objs="${cxx_target_objs} darwin-c.o"
36623 + fortran_target_objs="darwin-f.o"
36624 + target_has_targetcm=yes
36625 + extra_objs="darwin.o"
36626 + extra_gcc_objs="darwin-driver.o"
36627 + default_use_cxa_atexit=yes
36628 + use_gcc_stdint=wrap
36629 + case ${enable_threads} in
36630 + "" | yes | posix) thread_file='posix' ;;
36631 + esac
36632 + ;;
36633 +*-*-dragonfly*)
36634 + gas=yes
36635 + gnu_ld=yes
36636 + tmake_file="t-slibgcc"
36637 + case ${enable_threads} in
36638 + "" | yes | posix)
36639 + thread_file='posix'
36640 + ;;
36641 + no | single)
36642 + # Let these non-posix thread selections fall through if requested
36643 + ;;
36644 + *)
36645 + echo 'Unknown thread configuration for DragonFly BSD'
36646 + exit 1
36647 + ;;
36648 + esac
36649 + extra_options="$extra_options rpath.opt dragonfly.opt"
36650 + default_use_cxa_atexit=yes
36651 + use_gcc_stdint=wrap
36652 + ;;
36653 +*-*-freebsd*)
36654 + # This is the generic ELF configuration of FreeBSD. Later
36655 + # machine-specific sections may refine and add to this
36656 + # configuration.
36658 + # Due to tm_file entry ordering issues that vary between cpu
36659 + # architectures, we only define fbsd_tm_file to allow the
36660 + # machine-specific section to dictate the final order of all
36661 + # entries of tm_file with the minor exception that components
36662 + # of the tm_file set here will always be of the form:
36664 + # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
36666 + # The machine-specific section should not tamper with this
36667 + # ordering but may order all other entries of tm_file as it
36668 + # pleases around the provided core setting.
36669 + gas=yes
36670 + gnu_ld=yes
36671 + fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
36672 + tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
36673 + tmake_file="t-slibgcc"
36674 + case ${enable_threads} in
36675 + no)
36676 + fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
36677 + ;;
36678 + "" | yes | posix)
36679 + thread_file='posix'
36680 + ;;
36681 + *)
36682 + echo 'Unknown thread configuration for FreeBSD'
36683 + exit 1
36684 + ;;
36685 + esac
36686 + fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
36687 + extra_options="$extra_options rpath.opt freebsd.opt"
36688 + case ${target} in
36689 + *-*-freebsd[345].*)
36690 + :;;
36691 + *)
36692 + default_use_cxa_atexit=yes;;
36693 + esac
36694 + use_gcc_stdint=wrap
36695 + ;;
36696 +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
36697 + extra_options="$extra_options gnu-user.opt"
36698 + gas=yes
36699 + gnu_ld=yes
36700 + case ${enable_threads} in
36701 + "" | yes | posix) thread_file='posix' ;;
36702 + esac
36703 + tmake_file="t-slibgcc"
36704 + case $target in
36705 + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
36706 + :;;
36707 + *-*-gnu*)
36708 + native_system_header_dir=/include
36709 + ;;
36710 + esac
36711 + # Linux C libraries selection switch: glibc / uclibc / bionic.
36712 + # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
36713 + case $target in
36714 + *linux*)
36715 + tm_p_file="${tm_p_file} linux-protos.h"
36716 + tmake_file="${tmake_file} t-linux"
36717 + extra_objs="${extra_objs} linux.o"
36718 + extra_options="${extra_options} linux.opt"
36719 + ;;
36720 + esac
36721 + case $target in
36722 + *-*-*android*)
36723 + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
36724 + ;;
36725 + *-*-*uclibc*)
36726 + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
36727 + ;;
36728 + *)
36729 + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
36730 + ;;
36731 + esac
36732 + # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
36733 + # is provided.
36734 + default_use_cxa_atexit=yes
36735 + use_gcc_tgmath=no
36736 + use_gcc_stdint=wrap
36737 + # Enable compilation for Android by default for *android* targets.
36738 + case $target in
36739 + *-*-*android*)
36740 + tm_defines="$tm_defines ANDROID_DEFAULT=1"
36741 + ;;
36742 + *)
36743 + tm_defines="$tm_defines ANDROID_DEFAULT=0"
36744 + ;;
36745 + esac
36746 + c_target_objs="${c_target_objs} glibc-c.o"
36747 + cxx_target_objs="${cxx_target_objs} glibc-c.o"
36748 + tmake_file="${tmake_file} t-glibc"
36749 + target_has_targetcm=yes
36750 + ;;
36751 +*-*-netbsd*)
36752 + tmake_file="t-slibgcc"
36753 + gas=yes
36754 + gnu_ld=yes
36756 + # NetBSD 2.0 and later get POSIX threads enabled by default.
36757 + # Allow them to be explicitly enabled on any other version.
36758 + case ${enable_threads} in
36759 + "")
36760 + case ${target} in
36761 + *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
36762 + thread_file='posix'
36763 + tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
36764 + ;;
36765 + esac
36766 + ;;
36767 + yes | posix)
36768 + thread_file='posix'
36769 + tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
36770 + ;;
36771 + esac
36773 + # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
36774 + # default (unless overridden by --disable-__cxa_atexit).
36775 + case ${target} in
36776 + *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
36777 + default_use_cxa_atexit=yes
36778 + ;;
36779 + esac
36780 + ;;
36781 +*-*-openbsd*)
36782 + tmake_file="t-openbsd"
36783 + case ${enable_threads} in
36784 + yes)
36785 + thread_file='posix'
36786 + ;;
36787 + esac
36788 + case ${target} in
36789 + *-*-openbsd2.*|*-*-openbsd3.[012])
36790 + tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
36791 + esac
36792 + case ${target} in
36793 + *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
36794 + default_use_cxa_atexit=yes
36795 + ;;
36796 + esac
36797 + ;;
36798 +*-*-rtems*)
36799 + case ${enable_threads} in
36800 + "" | yes | rtems) thread_file='rtems' ;;
36801 + posix) thread_file='posix' ;;
36802 + no) ;;
36803 + *)
36804 + echo 'Unknown thread configuration for RTEMS'
36805 + exit 1
36806 + ;;
36807 + esac
36808 + tmake_file="${tmake_file} t-rtems"
36809 + extra_options="${extra_options} rtems.opt"
36810 + default_use_cxa_atexit=yes
36811 + use_gcc_stdint=wrap
36812 + ;;
36813 +*-*-uclinux*)
36814 + extra_options="$extra_options gnu-user.opt"
36815 + use_gcc_stdint=wrap
36816 + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
36817 + ;;
36818 +*-*-rdos*)
36819 + use_gcc_stdint=wrap
36820 + ;;
36821 +*-*-solaris2*)
36822 + # i?86-*-solaris2* needs to insert headers between cpu default and
36823 + # Solaris 2 specific ones.
36824 + sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
36825 + sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
36826 + sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
36827 + use_gcc_stdint=wrap
36828 + if test x$gnu_ld = xyes; then
36829 + tm_file="usegld.h ${tm_file}"
36830 + fi
36831 + if test x$gas = xyes; then
36832 + tm_file="usegas.h ${tm_file}"
36833 + fi
36834 + tm_p_file="${tm_p_file} sol2-protos.h"
36835 + tmake_file="${tmake_file} t-sol2 t-slibgcc"
36836 + c_target_objs="${c_target_objs} sol2-c.o"
36837 + cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
36838 + extra_objs="sol2.o sol2-stubs.o"
36839 + extra_options="${extra_options} sol2.opt"
36840 + case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
36841 + "":yes:* | yes:yes:* )
36842 + thread_file=posix
36843 + ;;
36844 + esac
36845 + ;;
36846 +*-*-*vms*)
36847 + extra_options="${extra_options} vms/vms.opt"
36848 + xmake_file=vms/x-vms
36849 + tmake_file="vms/t-vms t-slibgcc"
36850 + extra_objs="vms.o"
36851 + target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
36852 + tm_p_file="${tm_p_file} vms/vms-protos.h"
36853 + xm_file="vms/xm-vms.h"
36854 + c_target_objs="vms-c.o"
36855 + cxx_target_objs="vms-c.o"
36856 + fortran_target_objs="vms-f.o"
36857 + use_gcc_stdint=provide
36858 + tm_file="${tm_file} vms/vms-stdint.h"
36859 + if test x$gnu_ld != xyes; then
36860 + # Build wrappers for native case.
36861 + extra_programs="ld\$(exeext) ar\$(exeext)"
36862 + tmake_file="$tmake_file vms/t-vmsnative"
36863 + fi
36864 + ;;
36865 +*-*-vxworks*)
36866 + tmake_file=t-vxworks
36867 + xm_defines=POSIX
36868 + extra_options="${extra_options} vxworks.opt"
36869 + extra_objs="$extra_objs vxworks.o"
36870 + case ${enable_threads} in
36871 + no) ;;
36872 + "" | yes | vxworks) thread_file='vxworks' ;;
36873 + *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
36874 + esac
36875 + ;;
36876 +*-*-elf|arc*-*-elf*)
36877 + # Assume that newlib is being used and so __cxa_atexit is provided.
36878 + default_use_cxa_atexit=yes
36879 + use_gcc_stdint=wrap
36880 + ;;
36881 +esac
36883 +case ${target} in
36884 +aarch64*-*-elf)
36885 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
36886 + tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
36887 + tmake_file="${tmake_file} aarch64/t-aarch64"
36888 + use_gcc_stdint=wrap
36889 + case $target in
36890 + aarch64_be-*)
36891 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
36892 + ;;
36893 + esac
36894 + aarch64_multilibs="${with_multilib_list}"
36895 + if test "$aarch64_multilibs" = "default"; then
36896 + aarch64_multilibs="lp64,ilp32"
36897 + fi
36898 + aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
36899 + for aarch64_multilib in ${aarch64_multilibs}; do
36900 + case ${aarch64_multilib} in
36901 + ilp32 | lp64 )
36902 + TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
36903 + ;;
36904 + *)
36905 + echo "--with-multilib-list=${aarch64_multilib} not supported."
36906 + exit 1
36907 + esac
36908 + done
36909 + TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
36910 + ;;
36911 +aarch64*-*-linux*)
36912 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
36913 + tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
36914 + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
36915 + case $target in
36916 + aarch64_be-*)
36917 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
36918 + ;;
36919 + esac
36920 + aarch64_multilibs="${with_multilib_list}"
36921 + if test "$aarch64_multilibs" = "default"; then
36922 + # TODO: turn on ILP32 multilib build after its support is mature.
36923 + # aarch64_multilibs="lp64,ilp32"
36924 + aarch64_multilibs="lp64"
36925 + fi
36926 + aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
36927 + for aarch64_multilib in ${aarch64_multilibs}; do
36928 + case ${aarch64_multilib} in
36929 + ilp32 | lp64 )
36930 + TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
36931 + ;;
36932 + *)
36933 + echo "--with-multilib-list=${aarch64_multilib} not supported."
36934 + exit 1
36935 + esac
36936 + done
36937 + TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
36938 + ;;
36939 +alpha*-*-linux*)
36940 + tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
36941 + tmake_file="${tmake_file} alpha/t-linux"
36942 + extra_options="${extra_options} alpha/elf.opt"
36943 + ;;
36944 +alpha*-*-freebsd*)
36945 + tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
36946 + extra_options="${extra_options} alpha/elf.opt"
36947 + ;;
36948 +alpha*-*-netbsd*)
36949 + tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
36950 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
36951 + alpha/elf.opt"
36952 + ;;
36953 +alpha*-*-openbsd*)
36954 + tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
36955 + tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
36956 + extra_options="${extra_options} openbsd.opt alpha/elf.opt"
36957 + # default x-alpha is only appropriate for dec-osf.
36958 + ;;
36959 +alpha*-dec-*vms*)
36960 + tm_file="${tm_file} vms/vms.h alpha/vms.h"
36961 + tmake_file="${tmake_file} alpha/t-vms"
36962 + ;;
36963 +arc*-*-elf*)
36964 + extra_headers="arc-simd.h"
36965 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
36966 + tmake_file="arc/t-arc-newlib arc/t-arc"
36967 + case x"${with_cpu}" in
36968 + xarc600|xarc601|xarc700)
36969 + target_cpu_default="TARGET_CPU_$with_cpu"
36970 + ;;
36971 + esac
36972 + if test x${with_endian} = x; then
36973 + case ${target} in
36974 + arc*be-*-* | arc*eb-*-*) with_endian=big ;;
36975 + *) with_endian=little ;;
36976 + esac
36977 + fi
36978 + case ${with_endian} in
36979 + big|little) ;;
36980 + *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
36981 + esac
36982 + case ${with_endian} in
36983 + big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
36984 + esac
36985 + ;;
36986 +arc*-*-linux-uclibc*)
36987 + extra_headers="arc-simd.h"
36988 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
36989 + tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
36990 + tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
36991 + tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
36992 + case x"${with_cpu}" in
36993 + xarc600|xarc601|xarc700)
36994 + target_cpu_default="TARGET_CPU_$with_cpu"
36995 + ;;
36996 + esac
36997 + if test x${with_endian} = x; then
36998 + case ${target} in
36999 + arc*be-*-* | arc*eb-*-*) with_endian=big ;;
37000 + *) with_endian=little ;;
37001 + esac
37002 + fi
37003 + case ${with_endian} in
37004 + big|little) ;;
37005 + *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
37006 + esac
37007 + case ${with_endian} in
37008 + big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
37009 + esac
37010 + ;;
37011 +arm-wrs-vxworks)
37012 + tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
37013 + extra_options="${extra_options} arm/vxworks.opt"
37014 + tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
37015 + ;;
37016 +arm*-*-freebsd*) # ARM FreeBSD EABI
37017 + tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
37018 + case $target in
37019 + arm*b-*-freebsd*)
37020 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
37021 + ;;
37022 + esac
37023 + tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
37024 + tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
37025 + case $target in
37026 + armv6*-*-freebsd*)
37027 + tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
37028 + ;;
37029 + esac
37030 + case $target in
37031 + arm*hf-*-freebsd*)
37032 + tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
37033 + ;;
37034 + esac
37035 + with_tls=${with_tls:-gnu}
37036 + ;;
37037 +arm*-*-netbsdelf*)
37038 + tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
37039 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
37040 + tmake_file="${tmake_file} arm/t-arm"
37041 + ;;
37042 +arm*-*-linux-*) # ARM GNU/Linux with ELF
37043 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
37044 + extra_options="${extra_options} linux-android.opt"
37045 + case $target in
37046 + arm*b-*-linux*)
37047 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
37048 + ;;
37049 + esac
37050 + tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
37051 + tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
37052 + # Define multilib configuration for arm-linux-androideabi.
37053 + case ${target} in
37054 + *-androideabi)
37055 + tmake_file="$tmake_file arm/t-linux-androideabi"
37056 + ;;
37057 + esac
37058 + # The EABI requires the use of __cxa_atexit.
37059 + default_use_cxa_atexit=yes
37060 + with_tls=${with_tls:-gnu}
37061 + ;;
37062 +arm*-*-uclinux*eabi*) # ARM ucLinux
37063 + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
37064 + tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
37065 + tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
37066 + # The EABI requires the use of __cxa_atexit.
37067 + default_use_cxa_atexit=yes
37068 + ;;
37069 +arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
37070 + case ${target} in
37071 + arm*eb-*-eabi*)
37072 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
37073 + esac
37074 + default_use_cxa_atexit=yes
37075 + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
37076 + tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
37077 + case ${target} in
37078 + arm*-*-eabi*)
37079 + tm_file="$tm_file newlib-stdint.h"
37080 + tmake_file="${tmake_file} arm/t-bpabi"
37081 + use_gcc_stdint=wrap
37082 + ;;
37083 + arm*-*-rtems*)
37084 + tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
37085 + tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
37086 + ;;
37087 + arm*-*-symbianelf*)
37088 + tm_file="${tm_file} arm/symbian.h"
37089 + # We do not include t-bpabi for Symbian OS because the system
37090 + # provides its own implementation of the BPABI functions.
37091 + tmake_file="${tmake_file} arm/t-symbian"
37092 + ;;
37093 + esac
37094 + tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
37095 + ;;
37096 +avr-*-rtems*)
37097 + tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
37098 + tmake_file="${tmake_file} avr/t-avr avr/t-multilib avr/t-rtems"
37099 + extra_gcc_objs="driver-avr.o avr-devices.o"
37100 + extra_objs="avr-devices.o avr-log.o"
37101 + ;;
37102 +avr-*-*)
37103 + tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h dbxelf.h avr/avr-stdint.h"
37104 + if test x${with_avrlibc} != xno; then
37105 + tm_file="${tm_file} ${cpu_type}/avrlibc.h"
37106 + tm_defines="${tm_defines} WITH_AVRLIBC"
37107 + fi
37108 + tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
37109 + use_gcc_stdint=wrap
37110 + extra_gcc_objs="driver-avr.o avr-devices.o"
37111 + extra_objs="avr-devices.o avr-log.o"
37112 + ;;
37113 +bfin*-elf*)
37114 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
37115 + tmake_file=bfin/t-bfin-elf
37116 + use_collect2=no
37117 + ;;
37118 +bfin*-uclinux*)
37119 + tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
37120 + tmake_file=bfin/t-bfin-uclinux
37121 + use_collect2=no
37122 + ;;
37123 +bfin*-linux-uclibc*)
37124 + tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h"
37125 + tmake_file="bfin/t-bfin-linux t-slibgcc t-linux"
37126 + use_collect2=no
37127 + ;;
37128 +bfin*-rtems*)
37129 + tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
37130 + tmake_file="${tmake_file} bfin/t-rtems"
37131 + ;;
37132 +bfin*-*)
37133 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
37134 + use_collect2=no
37135 + use_gcc_stdint=wrap
37136 + ;;
37137 +cr16-*-elf)
37138 + tm_file="elfos.h ${tm_file}"
37139 + tmake_file="${tmake_file} cr16/t-cr16 "
37140 + use_collect2=no
37141 + ;;
37142 +crisv32-*-elf | crisv32-*-none)
37143 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37144 + tmake_file="cris/t-cris"
37145 + target_cpu_default=32
37146 + gas=yes
37147 + extra_options="${extra_options} cris/elf.opt"
37148 + use_gcc_stdint=wrap
37149 + ;;
37150 +cris-*-elf | cris-*-none)
37151 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37152 + tmake_file="cris/t-cris cris/t-elfmulti"
37153 + gas=yes
37154 + extra_options="${extra_options} cris/elf.opt"
37155 + use_gcc_stdint=wrap
37156 + ;;
37157 +crisv32-*-linux* | cris-*-linux*)
37158 + tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
37159 + tmake_file="${tmake_file} cris/t-cris cris/t-linux"
37160 + extra_options="${extra_options} cris/linux.opt"
37161 + case $target in
37162 + cris-*-*)
37163 + target_cpu_default=10
37164 + ;;
37165 + crisv32-*-*)
37166 + target_cpu_default=32
37167 + ;;
37168 + esac
37169 + ;;
37170 +epiphany-*-elf )
37171 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37172 + tmake_file="epiphany/t-epiphany"
37173 + extra_options="${extra_options} fused-madd.opt"
37174 + extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
37175 + tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
37176 + extra_headers="epiphany_intrinsics.h"
37177 + ;;
37178 +fr30-*-elf)
37179 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37180 + ;;
37181 +frv-*-elf)
37182 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37183 + tmake_file=frv/t-frv
37184 + ;;
37185 +frv-*-*linux*)
37186 + tm_file="dbxelf.h elfos.h ${tm_file} \
37187 + gnu-user.h linux.h glibc-stdint.h frv/linux.h"
37188 + tmake_file="${tmake_file} frv/t-frv frv/t-linux"
37189 + ;;
37190 +moxie-*-elf)
37191 + gas=yes
37192 + gnu_ld=yes
37193 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37194 + tmake_file="${tmake_file} moxie/t-moxie"
37195 + ;;
37196 +moxie-*-uclinux*)
37197 + gas=yes
37198 + gnu_ld=yes
37199 + tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
37200 + tmake_file="${tmake_file} moxie/t-moxie"
37201 + ;;
37202 +moxie-*-rtems*)
37203 + tmake_file="${tmake_file} moxie/t-moxie"
37204 + tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
37205 + ;;
37206 +moxie-*-moxiebox*)
37207 + gas=yes
37208 + gnu_ld=yes
37209 + tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
37210 + tmake_file="${tmake_file} moxie/t-moxiebox"
37211 + ;;
37212 +h8300-*-rtems*)
37213 + tmake_file="${tmake_file} h8300/t-h8300 h8300/t-rtems"
37214 + tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h"
37215 + ;;
37216 +h8300-*-elf*)
37217 + tmake_file="h8300/t-h8300"
37218 + tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
37219 + ;;
37220 +hppa*64*-*-linux*)
37221 + target_cpu_default="MASK_PA_11|MASK_PA_20"
37222 + tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
37223 + glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
37224 + pa/pa64-linux.h"
37225 + gas=yes gnu_ld=yes
37226 + ;;
37227 +hppa*-*-linux*)
37228 + target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
37229 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
37230 + pa/pa32-regs.h pa/pa32-linux.h"
37231 + tmake_file="${tmake_file} pa/t-linux"
37232 + ;;
37233 +hppa*-*-openbsd*)
37234 + target_cpu_default="MASK_PA_11"
37235 + tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
37236 + pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
37237 + extra_options="${extra_options} openbsd.opt"
37238 + gas=yes
37239 + gnu_ld=yes
37240 + ;;
37241 +hppa[12]*-*-hpux10*)
37242 + case ${target} in
37243 + hppa1.1-*-* | hppa2*-*-*)
37244 + target_cpu_default="MASK_PA_11"
37245 + ;;
37246 + esac
37247 + tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
37248 + pa/pa-hpux.h pa/pa-hpux10.h"
37249 + extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
37250 + case ${target} in
37251 + *-*-hpux10.[1-9]*)
37252 + tm_file="${tm_file} pa/pa-hpux1010.h"
37253 + extra_options="${extra_options} pa/pa-hpux1010.opt"
37254 + ;;
37255 + esac
37256 + use_gcc_stdint=provide
37257 + tm_file="${tm_file} hpux-stdint.h"
37258 + tmake_file="t-slibgcc"
37259 + case ${enable_threads} in
37260 + "")
37261 + if test x$have_pthread_h = xyes ; then
37262 + tmake_file="${tmake_file} pa/t-dce-thr"
37263 + fi
37264 + ;;
37265 + yes | dce)
37266 + tmake_file="${tmake_file} pa/t-dce-thr"
37267 + ;;
37268 + esac
37269 + use_collect2=yes
37270 + gas=yes
37271 + if test "x$with_dwarf2" != x; then
37272 + echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
37273 + dwarf2=no
37274 + fi
37275 + ;;
37276 +hppa*64*-*-hpux11*)
37277 + target_cpu_default="MASK_PA_11|MASK_PA_20"
37278 + if test x$gnu_ld = xyes
37279 + then
37280 + target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
37281 + fi
37282 + tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
37283 + pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
37284 + pa/pa-hpux11.h"
37285 + case ${target} in
37286 + *-*-hpux11.[12]*)
37287 + tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
37288 + extra_options="${extra_options} pa/pa-hpux1111.opt"
37289 + ;;
37290 + *-*-hpux11.[3-9]*)
37291 + tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
37292 + extra_options="${extra_options} pa/pa-hpux1131.opt"
37293 + ;;
37294 + *)
37295 + tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
37296 + ;;
37297 + esac
37298 + extra_options="${extra_options} pa/pa-hpux.opt \
37299 + pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
37300 + tmake_file="t-slibgcc"
37301 + case x${enable_threads} in
37302 + x | xyes | xposix )
37303 + thread_file=posix
37304 + ;;
37305 + esac
37306 + gas=yes
37307 + case ${target} in
37308 + *-*-hpux11.[01]*)
37309 + use_gcc_stdint=provide
37310 + tm_file="${tm_file} hpux-stdint.h"
37311 + ;;
37312 + *-*-hpux11.[23]*)
37313 + use_gcc_stdint=wrap
37314 + tm_file="${tm_file} hpux-stdint.h"
37315 + ;;
37316 + esac
37317 + ;;
37318 +hppa[12]*-*-hpux11*)
37319 + case ${target} in
37320 + hppa1.1-*-* | hppa2*-*-*)
37321 + target_cpu_default="MASK_PA_11"
37322 + ;;
37323 + esac
37324 + tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
37325 + pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
37326 + extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
37327 + hpux11.opt"
37328 + case ${target} in
37329 + *-*-hpux11.[12]*)
37330 + tm_file="${tm_file} pa/pa-hpux1111.h"
37331 + extra_options="${extra_options} pa/pa-hpux1111.opt"
37332 + ;;
37333 + *-*-hpux11.[3-9]*)
37334 + tm_file="${tm_file} pa/pa-hpux1131.h"
37335 + extra_options="${extra_options} pa/pa-hpux1131.opt"
37336 + ;;
37337 + esac
37338 + tmake_file="t-slibgcc"
37339 + case x${enable_threads} in
37340 + x | xyes | xposix )
37341 + thread_file=posix
37342 + ;;
37343 + esac
37344 + use_collect2=yes
37345 + gas=yes
37346 + case ${target} in
37347 + *-*-hpux11.[01]*)
37348 + use_gcc_stdint=provide
37349 + tm_file="${tm_file} hpux-stdint.h"
37350 + ;;
37351 + *-*-hpux11.[23]*)
37352 + use_gcc_stdint=wrap
37353 + tm_file="${tm_file} hpux-stdint.h"
37354 + ;;
37355 + esac
37356 + if test "x$with_dwarf2" != x; then
37357 + echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
37358 + dwarf2=no
37359 + fi
37360 + ;;
37361 +i[34567]86-*-darwin*)
37362 + need_64bit_isa=yes
37363 + # Baseline choice for a machine that allows m64 support.
37364 + with_cpu=${with_cpu:-core2}
37365 + tmake_file="${tmake_file} t-slibgcc"
37366 + ;;
37367 +x86_64-*-darwin*)
37368 + with_cpu=${with_cpu:-core2}
37369 + tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
37370 + tm_file="${tm_file} ${cpu_type}/darwin64.h"
37371 + ;;
37372 +i[34567]86-*-elf*)
37373 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
37374 + ;;
37375 +x86_64-*-elf*)
37376 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
37377 + ;;
37378 +i[34567]86-*-rdos*)
37379 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
37380 + ;;
37381 +x86_64-*-rdos*)
37382 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rdos.h i386/rdos64.h"
37383 + tmake_file="i386/t-i386elf t-svr4"
37384 + ;;
37385 +i[34567]86-*-dragonfly*)
37386 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
37387 + tmake_file="${tmake_file} i386/t-crtstuff"
37388 + ;;
37389 +x86_64-*-dragonfly*)
37390 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h"
37391 + tmake_file="${tmake_file} i386/t-crtstuff"
37392 + ;;
37393 +i[34567]86-*-freebsd*)
37394 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
37395 + ;;
37396 +x86_64-*-freebsd*)
37397 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
37398 + ;;
37399 +i[34567]86-*-netbsdelf*)
37400 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
37401 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
37402 + ;;
37403 +x86_64-*-netbsd*)
37404 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
37405 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
37406 + ;;
37407 +i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
37408 + tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
37409 + extra_options="${extra_options} openbsd.opt"
37410 + # needed to unconfuse gdb
37411 + tmake_file="${tmake_file} t-openbsd i386/t-openbsd"
37412 + # we need collect2 until our bug is fixed...
37413 + use_collect2=yes
37414 + ;;
37415 +i[34567]86-*-openbsd*)
37416 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
37417 + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
37418 + extra_options="${extra_options} openbsd.opt"
37419 + gas=yes
37420 + gnu_ld=yes
37421 + ;;
37422 +x86_64-*-openbsd*)
37423 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
37424 + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
37425 + extra_options="${extra_options} openbsd.opt"
37426 + gas=yes
37427 + gnu_ld=yes
37428 + ;;
37429 +i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
37430 + # Intel 80386's running GNU/*
37431 + # with ELF format using glibc 2
37432 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
37433 + case ${target} in
37434 + i[34567]86-*-linux*)
37435 + tm_file="${tm_file} linux.h linux-android.h"
37436 + extra_options="${extra_options} linux-android.opt"
37437 + # Assume modern glibc if not targeting Android nor uclibc.
37438 + case ${target} in
37439 + *-*-*android*|*-*-*uclibc*)
37440 + ;;
37441 + *)
37442 + default_gnu_indirect_function=yes
37443 + ;;
37444 + esac
37445 + if test x$enable_targets = xall; then
37446 + tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
37447 + tm_defines="${tm_defines} TARGET_BI_ARCH=1"
37448 + tmake_file="${tmake_file} i386/t-linux64"
37449 + x86_multilibs="${with_multilib_list}"
37450 + if test "$x86_multilibs" = "default"; then
37451 + x86_multilibs="m64,m32"
37452 + fi
37453 + x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
37454 + for x86_multilib in ${x86_multilibs}; do
37455 + case ${x86_multilib} in
37456 + m32 | m64 | mx32)
37457 + TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
37458 + ;;
37459 + *)
37460 + echo "--with-multilib-list=${x86_with_multilib} not supported."
37461 + exit 1
37462 + esac
37463 + done
37464 + TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
37465 + need_64bit_isa=yes
37466 + if test x$with_cpu = x; then
37467 + if test x$with_cpu_64 = x; then
37468 + with_cpu_64=generic
37469 + fi
37470 + else
37471 + case " $x86_cpus $x86_archs $x86_64_archs " in
37472 + *" $with_cpu "*)
37473 + ;;
37474 + *)
37475 + echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
37476 + echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
37477 + exit 1
37478 + ;;
37479 + esac
37480 + fi
37481 + else
37482 + tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
37483 + fi
37484 + ;;
37485 + i[34567]86-*-knetbsd*-gnu)
37486 + tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h"
37487 + ;;
37488 + i[34567]86-*-kfreebsd*-gnu)
37489 + tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
37490 + ;;
37491 + i[34567]86-*-kopensolaris*-gnu)
37492 + tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
37493 + ;;
37494 + i[34567]86-*-gnu*)
37495 + tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
37496 + ;;
37497 + esac
37498 + ;;
37499 +x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
37500 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
37501 + i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
37502 + case ${target} in
37503 + x86_64-*-linux*)
37504 + tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
37505 + extra_options="${extra_options} linux-android.opt"
37506 + # Assume modern glibc if not targeting Android nor uclibc.
37507 + case ${target} in
37508 + *-*-*android*|*-*-*uclibc*)
37509 + ;;
37510 + *)
37511 + default_gnu_indirect_function=yes
37512 + ;;
37513 + esac
37514 + ;;
37515 + x86_64-*-kfreebsd*-gnu)
37516 + tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
37517 + ;;
37518 + x86_64-*-knetbsd*-gnu)
37519 + tm_file="${tm_file} knetbsd-gnu.h"
37520 + ;;
37521 + esac
37522 + tmake_file="${tmake_file} i386/t-linux64"
37523 + x86_multilibs="${with_multilib_list}"
37524 + if test "$x86_multilibs" = "default"; then
37525 + case ${with_abi} in
37526 + x32 | mx32)
37527 + x86_multilibs="mx32"
37528 + ;;
37529 + *)
37530 + x86_multilibs="m64,m32"
37531 + ;;
37532 + esac
37533 + fi
37534 + x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
37535 + for x86_multilib in ${x86_multilibs}; do
37536 + case ${x86_multilib} in
37537 + m32 | m64 | mx32)
37538 + TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
37539 + ;;
37540 + *)
37541 + echo "--with-multilib-list=${x86_with_multilib} not supported."
37542 + exit 1
37543 + esac
37544 + done
37545 + TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
37546 + ;;
37547 +i[34567]86-pc-msdosdjgpp*)
37548 + xm_file=i386/xm-djgpp.h
37549 + tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
37550 + native_system_header_dir=/dev/env/DJDIR/include
37551 + extra_options="${extra_options} i386/djgpp.opt"
37552 + gnu_ld=yes
37553 + gas=yes
37554 + use_gcc_stdint=wrap
37555 + ;;
37556 +i[34567]86-*-lynxos*)
37557 + xm_defines=POSIX
37558 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
37559 + tmake_file="${tmake_file} t-lynx"
37560 + extra_options="${extra_options} lynx.opt"
37561 + thread_file=lynx
37562 + gnu_ld=yes
37563 + gas=yes
37564 + ;;
37565 +i[34567]86-*-nto-qnx*)
37566 + tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
37567 + extra_options="${extra_options} i386/nto.opt"
37568 + gnu_ld=yes
37569 + gas=yes
37570 + ;;
37571 +i[34567]86-*-rtems*)
37572 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h"
37573 + tmake_file="${tmake_file} i386/t-rtems"
37574 + ;;
37575 +i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
37576 + # Set default arch_32 to pentium4, tune_32 to generic like the other
37577 + # i386 targets, although config.guess defaults to i386-pc-solaris2*.
37578 + with_arch_32=${with_arch_32:-pentium4}
37579 + with_tune_32=${with_tune_32:-generic}
37580 + tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
37581 + tm_defines="${tm_defines} TARGET_BI_ARCH=1"
37582 + tmake_file="$tmake_file i386/t-sol2"
37583 + need_64bit_isa=yes
37584 + if test x$with_cpu = x; then
37585 + if test x$with_cpu_64 = x; then
37586 + with_cpu_64=generic
37587 + fi
37588 + else
37589 + case " $x86_cpus $x86_archs $x86_64_archs " in
37590 + *" $with_cpu "*)
37591 + ;;
37592 + *)
37593 + echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
37594 + echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
37595 + exit 1
37596 + ;;
37597 + esac
37598 + fi
37599 + ;;
37600 +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
37601 + tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
37602 + case ${target} in
37603 + *-vxworksae*)
37604 + tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
37605 + tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
37606 + ;;
37607 + *)
37608 + tm_file="${tm_file} vxworks.h i386/vxworks.h"
37609 + tmake_file="${tmake_file} i386/t-vxworks"
37610 + ;;
37611 + esac
37612 + ;;
37613 +i[34567]86-*-cygwin*)
37614 + tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
37615 + xm_file=i386/xm-cygwin.h
37616 + tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
37617 + target_gtfiles="\$(srcdir)/config/i386/winnt.c"
37618 + extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
37619 + extra_objs="winnt.o winnt-stubs.o"
37620 + c_target_objs="${c_target_objs} msformat-c.o"
37621 + cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
37622 + if test x$enable_threads = xyes; then
37623 + thread_file='posix'
37624 + fi
37625 + default_use_cxa_atexit=yes
37626 + use_gcc_stdint=wrap
37627 + ;;
37628 +x86_64-*-cygwin*)
37629 + need_64bit_isa=yes
37630 + tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
37631 + xm_file=i386/xm-cygwin.h
37632 + tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
37633 + target_gtfiles="\$(srcdir)/config/i386/winnt.c"
37634 + extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
37635 + extra_objs="winnt.o winnt-stubs.o"
37636 + c_target_objs="${c_target_objs} msformat-c.o"
37637 + cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
37638 + if test x$enable_threads = xyes; then
37639 + thread_file='posix'
37640 + fi
37641 + default_use_cxa_atexit=yes
37642 + use_gcc_stdint=wrap
37643 + tm_defines="${tm_defines} TARGET_CYGWIN64=1"
37644 + ;;
37645 +i[34567]86-*-mingw* | x86_64-*-mingw*)
37646 + tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
37647 + xm_file=i386/xm-mingw32.h
37648 + c_target_objs="${c_target_objs} winnt-c.o"
37649 + cxx_target_objs="${cxx_target_objs} winnt-c.o"
37650 + target_has_targetcm="yes"
37651 + case ${target} in
37652 + x86_64-*-* | *-w64-*)
37653 + need_64bit_isa=yes
37654 + ;;
37655 + *)
37656 + ;;
37657 + esac
37658 + if test x$enable_threads = xposix ; then
37659 + tm_file="${tm_file} i386/mingw-pthread.h"
37660 + fi
37661 + tm_file="${tm_file} i386/mingw32.h"
37662 + # This makes the logic if mingw's or the w64 feature set has to be used
37663 + case ${target} in
37664 + *-w64-*)
37665 + user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
37666 + user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
37667 + tm_file="${tm_file} i386/mingw-w64.h"
37668 + if test x$enable_targets = xall; then
37669 + tm_defines="${tm_defines} TARGET_BI_ARCH=1"
37670 + if test x$with_cpu = x; then
37671 + if test x$with_cpu_64 = x; then
37672 + with_cpu_64=generic
37673 + fi
37674 + else
37675 + case " $x86_cpus $x86_archs $x86_64_archs " in
37676 + *" $with_cpu "*)
37677 + ;;
37678 + *)
37679 + echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
37680 + echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
37681 + exit 1
37682 + ;;
37683 + esac
37684 + fi
37685 + fi
37686 + ;;
37687 + *)
37688 + ;;
37689 + esac
37690 + tm_file="${tm_file} i386/mingw-stdint.h"
37691 + tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
37692 + case ${target} in
37693 + x86_64-w64-*)
37694 + tmake_file="${tmake_file} i386/t-mingw-w64"
37695 + ;;
37696 + i[34567]86-w64-*)
37697 + tmake_file="${tmake_file} i386/t-mingw-w32"
37698 + ;;
37699 + esac
37700 + native_system_header_dir=/mingw/include
37701 + target_gtfiles="\$(srcdir)/config/i386/winnt.c"
37702 + extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
37703 + case ${target} in
37704 + *-w64-*)
37705 + extra_options="${extra_options} i386/mingw-w64.opt"
37706 + ;;
37707 + *)
37708 + ;;
37709 + esac
37710 + extra_objs="winnt.o winnt-stubs.o"
37711 + c_target_objs="${c_target_objs} msformat-c.o"
37712 + cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
37713 + gas=yes
37714 + gnu_ld=yes
37715 + default_use_cxa_atexit=yes
37716 + use_gcc_stdint=wrap
37717 + case ${enable_threads} in
37718 + "" | yes | win32)
37719 + thread_file='win32'
37720 + ;;
37721 + posix)
37722 + thread_file='posix'
37723 + ;;
37724 + esac
37725 + case ${target} in
37726 + *mingw32crt*)
37727 + tm_file="${tm_file} i386/crtdll.h"
37728 + ;;
37729 + *mingw32msv* | *mingw*)
37730 + ;;
37731 + esac
37732 + ;;
37733 +i[34567]86-*-interix[3-9]*)
37734 + tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h"
37735 + tmake_file="${tmake_file} i386/t-interix"
37736 + extra_options="${extra_options} rpath.opt i386/interix.opt"
37737 + extra_objs="winnt.o winnt-stubs.o"
37738 + target_gtfiles="\$(srcdir)/config/i386/winnt.c"
37739 + if test x$enable_threads = xyes ; then
37740 + thread_file='posix'
37741 + fi
37742 + if test x$stabs = xyes ; then
37743 + tm_file="${tm_file} dbxcoff.h"
37744 + fi
37745 + ;;
37746 +ia64*-*-elf*)
37747 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
37748 + tmake_file="ia64/t-ia64"
37749 + target_cpu_default="0"
37750 + if test x$gas = xyes
37751 + then
37752 + target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
37753 + fi
37754 + if test x$gnu_ld = xyes
37755 + then
37756 + target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
37757 + fi
37758 + ;;
37759 +ia64*-*-freebsd*)
37760 + tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
37761 + target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
37762 + tmake_file="${tmake_file} ia64/t-ia64"
37763 + ;;
37764 +ia64*-*-linux*)
37765 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
37766 + tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
37767 + target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
37768 + ;;
37769 +ia64*-*-hpux*)
37770 + tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
37771 + tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
37772 + target_cpu_default="MASK_GNU_AS"
37773 + case x$enable_threads in
37774 + x | xyes | xposix )
37775 + thread_file=posix
37776 + ;;
37777 + esac
37778 + use_collect2=no
37779 + c_target_objs="ia64-c.o"
37780 + cxx_target_objs="ia64-c.o"
37781 + extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
37782 + use_gcc_stdint=wrap
37783 + tm_file="${tm_file} hpux-stdint.h"
37784 + case ${target} in
37785 + *-*-hpux11.3*)
37786 + tm_file="${tm_file} ia64/hpux-unix2003.h"
37787 + ;;
37788 + esac
37789 + ;;
37790 +ia64-hp-*vms*)
37791 + tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
37792 + tmake_file="${tmake_file} ia64/t-ia64"
37793 + target_cpu_default="0"
37794 + if test x$gas = xyes
37795 + then
37796 + target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
37797 + fi
37798 + extra_options="${extra_options} ia64/vms.opt"
37799 + ;;
37800 +iq2000*-*-elf*)
37801 + tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
37802 + out_file=iq2000/iq2000.c
37803 + md_file=iq2000/iq2000.md
37804 + ;;
37805 +lm32-*-elf*)
37806 + tm_file="dbxelf.h elfos.h ${tm_file}"
37807 + tmake_file="${tmake_file} lm32/t-lm32"
37808 + ;;
37809 +lm32-*-rtems*)
37810 + tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
37811 + tmake_file="${tmake_file} lm32/t-lm32"
37812 + tmake_file="${tmake_file} lm32/t-rtems"
37813 + ;;
37814 +lm32-*-uclinux*)
37815 + tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
37816 + tmake_file="${tmake_file} lm32/t-lm32"
37817 + ;;
37818 +m32r-*-elf*)
37819 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37820 + ;;
37821 +m32rle-*-elf*)
37822 + tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
37823 + ;;
37824 +m32r-*-rtems*)
37825 + tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h"
37826 + tmake_file="${tmake_file} m32r/t-m32r"
37827 + ;;
37828 +m32r-*-linux*)
37829 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
37830 + tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
37831 + gnu_ld=yes
37832 + if test x$enable_threads = xyes; then
37833 + thread_file='posix'
37834 + fi
37835 + ;;
37836 +m32rle-*-linux*)
37837 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
37838 + tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
37839 + gnu_ld=yes
37840 + if test x$enable_threads = xyes; then
37841 + thread_file='posix'
37842 + fi
37843 + ;;
37844 +m68k-*-elf* | fido-*-elf*)
37845 + case ${target} in
37846 + fido-*-elf*)
37847 + # Check that $with_cpu makes sense.
37848 + case $with_cpu in
37849 + "" | "fidoa")
37850 + ;;
37851 + *)
37852 + echo "Cannot accept --with-cpu=$with_cpu"
37853 + exit 1
37854 + ;;
37855 + esac
37856 + with_cpu=fidoa
37857 + ;;
37858 + *)
37859 + default_m68k_cpu=68020
37860 + default_cf_cpu=5206
37861 + ;;
37862 + esac
37863 + tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
37864 + tm_defines="${tm_defines} MOTOROLA=1"
37865 + tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
37866 + # Add multilibs for targets other than fido.
37867 + case ${target} in
37868 + fido-*-elf*)
37869 + ;;
37870 + *)
37871 + tmake_file="$tmake_file m68k/t-mlibs"
37872 + ;;
37873 + esac
37874 + ;;
37875 +m68k*-*-netbsdelf*)
37876 + default_m68k_cpu=68020
37877 + default_cf_cpu=5475
37878 + tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
37879 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
37880 + tm_defines="${tm_defines} MOTOROLA=1"
37881 + ;;
37882 +m68k*-*-openbsd*)
37883 + default_m68k_cpu=68020
37884 + default_cf_cpu=5475
37885 + # needed to unconfuse gdb
37886 + tm_defines="${tm_defines} OBSD_OLD_GAS"
37887 + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
37888 + extra_options="${extra_options} openbsd.opt"
37889 + tmake_file="t-openbsd m68k/t-openbsd"
37890 + # we need collect2 until our bug is fixed...
37891 + use_collect2=yes
37892 + ;;
37893 +m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
37894 + # with uClibc, using the new GNU/Linux-style
37895 + # ABI.
37896 + default_m68k_cpu=68020
37897 + default_cf_cpu=5206
37898 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
37899 + extra_options="${extra_options} m68k/uclinux.opt"
37900 + tm_defines="${tm_defines} MOTOROLA=1"
37901 + tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
37902 + ;;
37903 +m68k-*-linux*) # Motorola m68k's running GNU/Linux
37904 + # with ELF format using glibc 2
37905 + # aka the GNU/Linux C library 6.
37906 + default_m68k_cpu=68020
37907 + default_cf_cpu=5475
37908 + with_arch=${with_arch:-m68k}
37909 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
37910 + extra_options="${extra_options} m68k/ieee.opt"
37911 + tm_defines="${tm_defines} MOTOROLA=1"
37912 + tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
37913 + ;;
37914 +m68k-*-rtems*)
37915 + default_m68k_cpu=68020
37916 + default_cf_cpu=5206
37917 + tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
37918 + tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h"
37919 + tm_defines="${tm_defines} MOTOROLA=1"
37920 + ;;
37921 +mcore-*-elf)
37922 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
37923 + tmake_file=mcore/t-mcore
37924 + inhibit_libc=true
37925 + ;;
37926 +mep-*-*)
37927 + tm_file="dbxelf.h elfos.h ${tm_file}"
37928 + tmake_file=mep/t-mep
37929 + c_target_objs="mep-pragma.o"
37930 + cxx_target_objs="mep-pragma.o"
37931 + if test -d "${srcdir}/../newlib/libc/include" &&
37932 + test "x$with_headers" = x; then
37933 + with_headers=yes
37934 + fi
37935 + use_gcc_stdint=wrap
37936 + ;;
37937 +microblaze*-linux*)
37938 + case $target in
37939 + microblazeel-*)
37940 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
37941 + ;;
37942 + microblaze-*)
37943 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
37944 + ;;
37945 + esac
37946 + tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
37947 + tm_file="${tm_file} glibc-stdint.h"
37948 + c_target_objs="${c_target_objs} microblaze-c.o"
37949 + cxx_target_objs="${cxx_target_objs} microblaze-c.o"
37950 + tmake_file="${tmake_file} microblaze/t-microblaze"
37951 + tmake_file="${tmake_file} microblaze/t-microblaze-linux"
37952 + ;;
37953 +microblaze*-*-rtems*)
37954 + case $target in
37955 + microblazeel-*)
37956 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
37957 + ;;
37958 + microblaze-*)
37959 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
37960 + ;;
37961 + esac
37962 + tm_file="${tm_file} dbxelf.h"
37963 + tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
37964 + c_target_objs="${c_target_objs} microblaze-c.o"
37965 + cxx_target_objs="${cxx_target_objs} microblaze-c.o"
37966 + tmake_file="${tmake_file} microblaze/t-microblaze"
37967 + tmake_file="${tmake_file} microblaze/t-rtems"
37968 + ;;
37969 +microblaze*-*-elf)
37970 + case $target in
37971 + microblazeel-*)
37972 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
37973 + ;;
37974 + microblaze-*)
37975 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
37976 + ;;
37977 + esac
37978 + tm_file="${tm_file} dbxelf.h newlib-stdint.h"
37979 + c_target_objs="${c_target_objs} microblaze-c.o"
37980 + cxx_target_objs="${cxx_target_objs} microblaze-c.o"
37981 + tmake_file="${tmake_file} microblaze/t-microblaze"
37982 + ;;
37983 +mips*-*-netbsd*) # NetBSD/mips, either endian.
37984 + target_cpu_default="MASK_ABICALLS"
37985 + tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
37986 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
37987 + ;;
37988 +mips*-img-linux*)
37989 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
37990 + extra_options="${extra_options} linux-android.opt"
37991 + tmake_file="${tmake_file} mips/t-img-linux"
37992 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
37993 + gnu_ld=yes
37994 + gas=yes
37995 + ;;
37996 +mips*-mti-linux*)
37997 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
37998 + extra_options="${extra_options} linux-android.opt"
37999 + tmake_file="${tmake_file} mips/t-mti-linux"
38000 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
38001 + gnu_ld=yes
38002 + gas=yes
38003 + ;;
38004 +mips*-*-linux*) # Linux MIPS, either endian.
38005 + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h"
38006 + extra_options="${extra_options} linux-android.opt"
38007 + case ${target} in
38008 + mipsisa32r6*)
38009 + default_mips_arch=mips32r6
38010 + ;;
38011 + mipsisa32r2*)
38012 + default_mips_arch=mips32r2
38013 + ;;
38014 + mipsisa32*)
38015 + default_mips_arch=mips32
38016 + ;;
38017 + mips64el-st-linux-gnu)
38018 + default_mips_abi=n32
38019 + tm_file="${tm_file} mips/st.h"
38020 + tmake_file="${tmake_file} mips/t-st"
38021 + enable_mips_multilibs="yes"
38022 + ;;
38023 + mips64octeon*-*-linux*)
38024 + default_mips_abi=n32
38025 + tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
38026 + target_cpu_default=MASK_SOFT_FLOAT_ABI
38027 + enable_mips_multilibs="yes"
38028 + ;;
38029 + mipsisa64r6*-*-linux*)
38030 + default_mips_abi=n32
38031 + default_mips_arch=mips64r6
38032 + enable_mips_multilibs="yes"
38033 + ;;
38034 + mipsisa64r2*-*-linux*)
38035 + default_mips_abi=n32
38036 + default_mips_arch=mips64r2
38037 + enable_mips_multilibs="yes"
38038 + ;;
38039 + mips64*-*-linux* | mipsisa64*-*-linux*)
38040 + default_mips_abi=n32
38041 + enable_mips_multilibs="yes"
38042 + ;;
38043 + esac
38044 + if test x$enable_targets = xall; then
38045 + enable_mips_multilibs="yes"
38046 + fi
38047 + if test x$enable_mips_multilibs = xyes; then
38048 + tmake_file="${tmake_file} mips/t-linux64"
38049 + fi
38050 + ;;
38051 +mips*-mti-elf*)
38052 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
38053 + tmake_file="mips/t-mti-elf"
38054 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
38055 + ;;
38056 +mips*-img-elf*)
38057 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
38058 + tmake_file="mips/t-img-elf"
38059 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
38060 + ;;
38061 +mips*-sde-elf*)
38062 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
38063 + tmake_file="mips/t-sde"
38064 + extra_options="${extra_options} mips/sde.opt"
38065 + case "${with_newlib}" in
38066 + yes)
38067 + # newlib / libgloss.
38068 + ;;
38069 + *)
38070 + # MIPS toolkit libraries.
38071 + tm_file="$tm_file mips/sdemtk.h"
38072 + tmake_file="$tmake_file mips/t-sdemtk"
38073 + case ${enable_threads} in
38074 + "" | yes | mipssde)
38075 + thread_file='mipssde'
38076 + ;;
38077 + esac
38078 + ;;
38079 + esac
38080 + case ${target} in
38081 + mipsisa32r6*)
38082 + tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
38083 + ;;
38084 + mipsisa32r2*)
38085 + tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
38086 + ;;
38087 + mipsisa32*)
38088 + tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
38089 + ;;
38090 + mipsisa64r6*)
38091 + tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
38092 + ;;
38093 + mipsisa64r2*)
38094 + tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
38095 + ;;
38096 + mipsisa64*)
38097 + tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
38098 + ;;
38099 + esac
38100 + ;;
38101 +mipsisa32-*-elf* | mipsisa32el-*-elf* | \
38102 +mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
38103 +mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
38104 +mipsisa64-*-elf* | mipsisa64el-*-elf* | \
38105 +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
38106 +mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
38107 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
38108 + tmake_file="mips/t-isa3264"
38109 + case ${target} in
38110 + mipsisa32r6*)
38111 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
38112 + ;;
38113 + mipsisa32r2*)
38114 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
38115 + ;;
38116 + mipsisa32*)
38117 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
38118 + ;;
38119 + mipsisa64r6*)
38120 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
38121 + ;;
38122 + mipsisa64r2*)
38123 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
38124 + ;;
38125 + mipsisa64*)
38126 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
38127 + ;;
38128 + esac
38129 + case ${target} in
38130 + mipsisa32*-*-elfoabi*)
38131 + tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
38132 + tm_file="${tm_file} mips/elfoabi.h"
38133 + ;;
38134 + mipsisa64*-*-elfoabi*)
38135 + tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
38136 + tm_file="${tm_file} mips/elfoabi.h"
38137 + ;;
38138 + *-*-elf*)
38139 + tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
38140 + ;;
38141 + esac
38142 + ;;
38143 +mipsisa64sr71k-*-elf*)
38144 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
38145 + tmake_file=mips/t-sr71k
38146 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
38147 + ;;
38148 +mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
38149 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
38150 + tmake_file="mips/t-elf mips/t-sb1"
38151 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
38152 + ;;
38153 +mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
38154 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
38155 + tmake_file="mips/t-elf"
38156 + ;;
38157 +mips64r5900-*-elf* | mips64r5900el-*-elf*)
38158 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
38159 + tmake_file="mips/t-elf"
38160 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
38161 + ;;
38162 +mips64-*-elf* | mips64el-*-elf*)
38163 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
38164 + tmake_file="mips/t-elf"
38165 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
38166 + ;;
38167 +mips64vr-*-elf* | mips64vrel-*-elf*)
38168 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
38169 + tmake_file=mips/t-vr
38170 + tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
38171 + ;;
38172 +mips64orion-*-elf* | mips64orionel-*-elf*)
38173 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
38174 + tmake_file="mips/t-elf"
38175 + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
38176 + ;;
38177 +mips*-*-rtems*)
38178 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
38179 + tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
38180 + ;;
38181 +mips-wrs-vxworks)
38182 + tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
38183 + tmake_file="${tmake_file} mips/t-vxworks"
38184 + ;;
38185 +mipstx39-*-elf* | mipstx39el-*-elf*)
38186 + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
38187 + tmake_file="mips/t-r3900"
38188 + ;;
38189 +mmix-knuth-mmixware)
38190 + tm_file="${tm_file} newlib-stdint.h"
38191 + use_gcc_stdint=wrap
38192 + ;;
38193 +mn10300-*-*)
38194 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38195 + if test x$stabs = xyes
38196 + then
38197 + tm_file="${tm_file} dbx.h"
38198 + fi
38199 + use_collect2=no
38200 + use_gcc_stdint=wrap
38201 + ;;
38202 +msp430*-*-*)
38203 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38204 + c_target_objs="msp430-c.o"
38205 + cxx_target_objs="msp430-c.o"
38206 + tmake_file="${tmake_file} msp430/t-msp430"
38207 + ;;
38208 +nds32le-*-*)
38209 + target_cpu_default="0"
38210 + tm_defines="${tm_defines}"
38211 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38212 + tmake_file="nds32/t-nds32 nds32/t-mlibs"
38213 + ;;
38214 +nds32be-*-*)
38215 + target_cpu_default="0|MASK_BIG_ENDIAN"
38216 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
38217 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38218 + tmake_file="nds32/t-nds32 nds32/t-mlibs"
38219 + ;;
38220 +nios2-*-*)
38221 + tm_file="elfos.h ${tm_file}"
38222 + tmake_file="${tmake_file} nios2/t-nios2"
38223 + case ${target} in
38224 + nios2-*-linux*)
38225 + tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
38226 + ;;
38227 + nios2-*-elf*)
38228 + tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
38229 + extra_options="${extra_options} nios2/elf.opt"
38230 + ;;
38231 + nios2-*-rtems*)
38232 + tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
38233 + tmake_file="${tmake_file} t-rtems nios2/t-rtems"
38234 + ;;
38235 + esac
38236 + ;;
38237 +nvptx-*)
38238 + tm_file="${tm_file} newlib-stdint.h"
38239 + tmake_file="nvptx/t-nvptx"
38240 + if test x$enable_as_accelerator = xyes; then
38241 + extra_programs="${extra_programs} mkoffload\$(exeext)"
38242 + tm_file="${tm_file} nvptx/offload.h"
38243 + fi
38244 + ;;
38245 +pdp11-*-*)
38246 + tm_file="${tm_file} newlib-stdint.h"
38247 + use_gcc_stdint=wrap
38248 + ;;
38249 +# port not yet contributed
38250 +#powerpc-*-openbsd*)
38251 +# tmake_file="${tmake_file} rs6000/t-fprules"
38252 +# extra_headers=
38253 +# ;;
38254 +powerpc-*-darwin*)
38255 + extra_options="${extra_options} rs6000/darwin.opt"
38256 + case ${target} in
38257 + *-darwin1[0-9]* | *-darwin[8-9]*)
38258 + tmake_file="${tmake_file} rs6000/t-darwin8"
38259 + tm_file="${tm_file} rs6000/darwin8.h"
38260 + ;;
38261 + *-darwin7*)
38262 + tm_file="${tm_file} rs6000/darwin7.h"
38263 + ;;
38264 + *-darwin[0-6]*)
38265 + ;;
38266 + esac
38267 + tmake_file="${tmake_file} t-slibgcc"
38268 + extra_headers=altivec.h
38269 + ;;
38270 +powerpc64-*-darwin*)
38271 + extra_options="${extra_options} ${cpu_type}/darwin.opt"
38272 + tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
38273 + tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
38274 + extra_headers=altivec.h
38275 + ;;
38276 +powerpc*-*-freebsd*)
38277 + tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
38278 + extra_options="${extra_options} rs6000/sysv4.opt"
38279 + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
38280 + case ${target} in
38281 + powerpc64*)
38282 + tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
38283 + tmake_file="${tmake_file} rs6000/t-freebsd64"
38284 + extra_options="${extra_options} rs6000/linux64.opt"
38285 + ;;
38286 + *)
38287 + tm_file="${tm_file} rs6000/freebsd.h"
38288 + ;;
38289 + esac
38290 + ;;
38291 +powerpc-*-netbsd*)
38292 + tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
38293 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
38294 + tmake_file="${tmake_file} rs6000/t-netbsd"
38295 + extra_options="${extra_options} rs6000/sysv4.opt"
38296 + ;;
38297 +powerpc-*-eabispe*)
38298 + tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
38299 + extra_options="${extra_options} rs6000/sysv4.opt"
38300 + tmake_file="rs6000/t-spe rs6000/t-ppccomm"
38301 + use_gcc_stdint=wrap
38302 + ;;
38303 +powerpc-*-eabisimaltivec*)
38304 + tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
38305 + extra_options="${extra_options} rs6000/sysv4.opt"
38306 + tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
38307 + use_gcc_stdint=wrap
38308 + ;;
38309 +powerpc-*-eabisim*)
38310 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
38311 + extra_options="${extra_options} rs6000/sysv4.opt"
38312 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
38313 + use_gcc_stdint=wrap
38314 + ;;
38315 +powerpc-*-elf*)
38316 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
38317 + extra_options="${extra_options} rs6000/sysv4.opt"
38318 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
38319 + ;;
38320 +powerpc-*-eabialtivec*)
38321 + tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
38322 + extra_options="${extra_options} rs6000/sysv4.opt"
38323 + tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
38324 + use_gcc_stdint=wrap
38325 + ;;
38326 +powerpc-xilinx-eabi*)
38327 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
38328 + extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
38329 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
38330 + use_gcc_stdint=wrap
38331 + ;;
38332 +powerpc-*-eabi*)
38333 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
38334 + extra_options="${extra_options} rs6000/sysv4.opt"
38335 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
38336 + use_gcc_stdint=wrap
38337 + ;;
38338 +powerpc-*-rtems*)
38339 + tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
38340 + extra_options="${extra_options} rs6000/sysv4.opt"
38341 + tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
38342 + ;;
38343 +powerpc*-*-linux*)
38344 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
38345 + extra_options="${extra_options} rs6000/sysv4.opt"
38346 + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
38347 + extra_objs="$extra_objs rs6000-linux.o"
38348 + case ${target} in
38349 + powerpc*le-*-*)
38350 + tm_file="${tm_file} rs6000/sysv4le.h" ;;
38351 + esac
38352 + maybe_biarch=yes
38353 + case ${target} in
38354 + powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
38355 + echo "*** Configuration ${target} not supported" 1>&2
38356 + exit 1
38357 + ;;
38358 + powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
38359 + maybe_biarch=
38360 + ;;
38361 + powerpc64*-*-linux*)
38362 + test x$with_cpu != x || cpu_is_64bit=yes
38363 + maybe_biarch=always
38364 + ;;
38365 + esac
38366 + case ${maybe_biarch}:${enable_targets}:${cpu_is_64bit} in
38367 + always:* | yes:*powerpc64* | yes:all:* | yes:*:yes)
38368 + if test x$cpu_is_64bit = xyes; then
38369 + tm_file="${tm_file} rs6000/default64.h"
38370 + fi
38371 + tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
38372 + tmake_file="$tmake_file rs6000/t-linux64"
38373 + case ${target} in
38374 + powerpc*le-*-*)
38375 + tmake_file="$tmake_file rs6000/t-linux64le"
38376 + case ${enable_targets} in
38377 + all | *powerpc64-* | *powerpc-*)
38378 + tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
38379 + esac ;;
38380 + *)
38381 + case ${enable_targets} in
38382 + all | *powerpc64le-* | *powerpcle-*)
38383 + tmake_file="$tmake_file rs6000/t-linux64bele" ;;
38384 + esac ;;
38385 + esac
38386 + extra_options="${extra_options} rs6000/linux64.opt"
38387 + ;;
38388 + *)
38389 + tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
38390 + tmake_file="$tmake_file rs6000/t-linux"
38391 + ;;
38392 + esac
38393 + case ${target} in
38394 + powerpc*-*-linux*ppc476*)
38395 + tm_file="${tm_file} rs6000/476.h"
38396 + extra_options="${extra_options} rs6000/476.opt" ;;
38397 + powerpc*-*-linux*altivec*)
38398 + tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
38399 + powerpc*-*-linux*spe*)
38400 + tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
38401 + powerpc*-*-linux*paired*)
38402 + tm_file="${tm_file} rs6000/750cl.h" ;;
38403 + esac
38404 + if test x${enable_secureplt} = xyes; then
38405 + tm_file="rs6000/secureplt.h ${tm_file}"
38406 + fi
38407 + ;;
38408 +powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
38409 + tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
38410 + tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
38411 + extra_options="${extra_options} rs6000/sysv4.opt"
38412 + extra_headers=ppc-asm.h
38413 + case ${target} in
38414 + *-vxworksmils*)
38415 + tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
38416 + tmake_file="${tmake_file} rs6000/t-vxworksmils"
38417 + ;;
38418 + *-vxworksae*)
38419 + tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
38420 + tmake_file="${tmake_file} rs6000/t-vxworksae"
38421 + ;;
38422 + *-vxworks*)
38423 + tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
38424 + ;;
38425 + esac
38426 + ;;
38427 +powerpc-*-lynxos*)
38428 + xm_defines=POSIX
38429 + tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
38430 + tmake_file="t-lynx rs6000/t-lynx"
38431 + extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
38432 + thread_file=lynx
38433 + gnu_ld=yes
38434 + gas=yes
38435 + ;;
38436 +powerpcle-*-elf*)
38437 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
38438 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
38439 + extra_options="${extra_options} rs6000/sysv4.opt"
38440 + ;;
38441 +powerpcle-*-eabisim*)
38442 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
38443 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
38444 + extra_options="${extra_options} rs6000/sysv4.opt"
38445 + use_gcc_stdint=wrap
38446 + ;;
38447 +powerpcle-*-eabi*)
38448 + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
38449 + tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
38450 + extra_options="${extra_options} rs6000/sysv4.opt"
38451 + use_gcc_stdint=wrap
38452 + ;;
38453 +rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
38454 + tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
38455 + tmake_file="rs6000/t-aix43 t-slibgcc"
38456 + extra_options="${extra_options} rs6000/aix64.opt"
38457 + use_collect2=yes
38458 + thread_file='aix'
38459 + use_gcc_stdint=provide
38460 + extra_headers=
38461 + ;;
38462 +rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
38463 + tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
38464 + extra_options="${extra_options} rs6000/aix64.opt"
38465 + tmake_file="rs6000/t-aix43 t-slibgcc"
38466 + use_collect2=yes
38467 + thread_file='aix'
38468 + use_gcc_stdint=wrap
38469 + extra_headers=
38470 + ;;
38471 +rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
38472 + tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
38473 + tmake_file="rs6000/t-aix52 t-slibgcc"
38474 + extra_options="${extra_options} rs6000/aix64.opt"
38475 + use_collect2=yes
38476 + thread_file='aix'
38477 + use_gcc_stdint=wrap
38478 + extra_headers=
38479 + ;;
38480 +rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
38481 + tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
38482 + tmake_file="rs6000/t-aix52 t-slibgcc"
38483 + extra_options="${extra_options} rs6000/aix64.opt"
38484 + use_collect2=yes
38485 + thread_file='aix'
38486 + use_gcc_stdint=wrap
38487 + extra_headers=altivec.h
38488 + ;;
38489 +rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
38490 + tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
38491 + tmake_file="rs6000/t-aix52 t-slibgcc"
38492 + extra_options="${extra_options} rs6000/aix64.opt"
38493 + use_collect2=yes
38494 + thread_file='aix'
38495 + use_gcc_stdint=wrap
38496 + extra_headers=altivec.h
38497 + ;;
38498 +rl78-*-elf*)
38499 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38500 + target_has_targetm_common=no
38501 + c_target_objs="rl78-c.o"
38502 + cxx_target_objs="rl78-c.o"
38503 + tmake_file="${tmake_file} rl78/t-rl78"
38504 + ;;
38505 +rx-*-elf*)
38506 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38507 + tmake_file="${tmake_file} rx/t-rx"
38508 + ;;
38509 +s390-*-linux*)
38510 + default_gnu_indirect_function=yes
38511 + tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
38512 + if test x$enable_targets = xall; then
38513 + tmake_file="${tmake_file} s390/t-linux64"
38514 + fi
38515 + ;;
38516 +s390x-*-linux*)
38517 + default_gnu_indirect_function=yes
38518 + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
38519 + tm_p_file="linux-protos.h s390/s390-protos.h"
38520 + md_file=s390/s390.md
38521 + extra_modes=s390/s390-modes.def
38522 + out_file=s390/s390.c
38523 + tmake_file="${tmake_file} s390/t-linux64"
38524 + ;;
38525 +s390x-ibm-tpf*)
38526 + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
38527 + tm_p_file=s390/s390-protos.h
38528 + md_file=s390/s390.md
38529 + extra_modes=s390/s390-modes.def
38530 + out_file=s390/s390.c
38531 + thread_file='tpf'
38532 + extra_options="${extra_options} s390/tpf.opt"
38533 + ;;
38534 +sh-*-elf* | sh[12346l]*-*-elf* | \
38535 + sh-*-linux* | sh[2346lbe]*-*-linux* | \
38536 + sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
38537 + sh64-*-netbsd* | sh64l*-*-netbsd*)
38538 + tmake_file="${tmake_file} sh/t-sh sh/t-elf"
38539 + if test x${with_endian} = x; then
38540 + case ${target} in
38541 + sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
38542 + shbe-*-* | sheb-*-*) with_endian=big,little ;;
38543 + sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
38544 + shl* | sh64l* | sh*-*-linux* | \
38545 + sh5l* | sh-superh-elf) with_endian=little,big ;;
38546 + sh[1234]*-*-*) with_endian=big ;;
38547 + *) with_endian=big,little ;;
38548 + esac
38549 + fi
38550 + # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
38551 + # First word : the default endian.
38552 + # Second word: the secondary endian (optional).
38553 + case ${with_endian} in
38554 + big) TM_ENDIAN_CONFIG=mb ;;
38555 + little) TM_ENDIAN_CONFIG=ml ;;
38556 + big,little) TM_ENDIAN_CONFIG="mb ml" ;;
38557 + little,big) TM_ENDIAN_CONFIG="ml mb" ;;
38558 + *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
38559 + esac
38560 + case ${with_endian} in
38561 + little*) tm_file="sh/little.h ${tm_file}" ;;
38562 + esac
38563 + tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
38564 + case ${target} in
38565 + sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
38566 + tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
38567 + sh*-*-netbsd*)
38568 + tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
38569 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
38571 + ;;
38572 + sh*-superh-elf) if test x$with_libgloss != xno; then
38573 + with_libgloss=yes
38574 + tm_file="${tm_file} sh/newlib.h"
38575 + fi
38576 + tm_file="${tm_file} sh/embed-elf.h"
38577 + tm_file="${tm_file} sh/superh.h"
38578 + extra_options="${extra_options} sh/superh.opt" ;;
38579 + *) if test x$with_newlib = xyes \
38580 + && test x$with_libgloss = xyes; then
38581 + tm_file="${tm_file} sh/newlib.h"
38582 + fi
38583 + tm_file="${tm_file} sh/embed-elf.h" ;;
38584 + esac
38585 + case ${target} in
38586 + sh5*-*-netbsd*)
38587 + # SHmedia, 32-bit ABI
38588 + tmake_file="${tmake_file} sh/t-sh64"
38589 + ;;
38590 + sh64*-netbsd*)
38591 + # SHmedia, 64-bit ABI
38592 + tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
38593 + ;;
38594 + *-*-netbsd)
38595 + ;;
38596 + sh64*-*-linux*)
38597 + tmake_file="${tmake_file} sh/t-sh64"
38598 + tm_file="${tm_file} sh/sh64.h"
38599 + extra_headers="shmedia.h ushmedia.h sshmedia.h"
38600 + ;;
38601 + sh64*)
38602 + tmake_file="${tmake_file} sh/t-sh64"
38603 + tm_file="${tm_file} sh/sh64.h"
38604 + if test x$with_newlib = xyes; then
38605 + tm_file="${tm_file} newlib-stdint.h"
38606 + fi
38607 + extra_headers="shmedia.h ushmedia.h sshmedia.h"
38608 + ;;
38609 + *-*-elf*)
38610 + tm_file="${tm_file} newlib-stdint.h"
38611 + ;;
38612 + esac
38613 + # sed el/eb endian suffixes away to avoid confusion with sh[23]e
38614 + case `echo ${target} | sed 's/e[lb]-/-/'` in
38615 + sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;;
38616 + sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
38617 + sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
38618 + sh4a_single*) sh_cpu_target=sh4a-single ;;
38619 + sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
38620 + sh4al) sh_cpu_target=sh4al ;;
38621 + sh4a*) sh_cpu_target=sh4a ;;
38622 + sh4_single_only*) sh_cpu_target=sh4-single-only ;;
38623 + sh4_single*) sh_cpu_target=sh4-single ;;
38624 + sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
38625 + sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
38626 + sh3e*) sh_cpu_target=sh3e ;;
38627 + sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
38628 + sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
38629 + sh2a_single*) sh_cpu_target=sh2a-single ;;
38630 + sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
38631 + sh2a*) sh_cpu_target=sh2a ;;
38632 + sh2e*) sh_cpu_target=sh2e ;;
38633 + sh2*) sh_cpu_target=sh2 ;;
38634 + *) sh_cpu_target=sh1 ;;
38635 + esac
38636 + # did the user say --without-fp ?
38637 + if test x$with_fp = xno; then
38638 + case ${sh_cpu_target} in
38639 + sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
38640 + sh4al | sh1) ;;
38641 + sh4a* ) sh_cpu_target=sh4a-nofpu ;;
38642 + sh4*) sh_cpu_target=sh4-nofpu ;;
38643 + sh3*) sh_cpu_target=sh3 ;;
38644 + sh2a*) sh_cpu_target=sh2a-nofpu ;;
38645 + sh2*) sh_cpu_target=sh2 ;;
38646 + *) echo --without-fp not available for $target: ignored
38647 + esac
38648 + tm_defines="$tm_defines STRICT_NOFPU=1"
38649 + fi
38650 + sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
38651 + case $sh_cpu_default in
38652 + sh5-64media-nofpu | sh5-64media | \
38653 + sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
38654 + sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
38655 + sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
38656 + sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
38657 + sh3e | sh3 | sh2e | sh2 | sh1) ;;
38658 + "") sh_cpu_default=${sh_cpu_target} ;;
38659 + *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
38660 + esac
38661 + sh_multilibs=${with_multilib_list}
38662 + if test "$sh_multilibs" = "default" ; then
38663 + case ${target} in
38664 + sh64-superh-linux* | \
38665 + sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
38666 + sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
38667 + sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
38668 + sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
38669 + sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
38670 + *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
38671 + esac
38672 + if test x$with_fp = xno; then
38673 + sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
38674 + fi
38675 + fi
38676 + target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
38677 + tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
38678 + tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
38679 + sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
38680 + for sh_multilib in ${sh_multilibs}; do
38681 + case ${sh_multilib} in
38682 + m1 | m2 | m2e | m3 | m3e | \
38683 + m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
38684 + m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
38685 + m2a | m2a-single | m2a-single-only | m2a-nofpu | \
38686 + m5-64media | m5-64media-nofpu | \
38687 + m5-32media | m5-32media-nofpu | \
38688 + m5-compact | m5-compact-nofpu)
38689 + # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
38690 + # It is passed to MULTIILIB_OPTIONS verbatim.
38691 + TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
38692 + tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
38693 + ;;
38694 + \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
38695 + # It is passed the MULTILIB_EXCEPTIONS verbatim.
38696 + TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
38697 + *)
38698 + echo "with_multilib_list=${sh_multilib} not supported."
38699 + exit 1
38700 + ;;
38701 + esac
38702 + done
38703 + TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
38704 + if test x${enable_incomplete_targets} = xyes ; then
38705 + tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
38706 + fi
38707 + tm_file="$tm_file ./sysroot-suffix.h"
38708 + tmake_file="$tmake_file t-sysroot-suffix"
38709 + ;;
38710 +sh-*-rtems*)
38711 + tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
38712 + tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
38713 + ;;
38714 +sh-wrs-vxworks)
38715 + tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
38716 + tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
38717 + ;;
38718 +sparc-*-elf*)
38719 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
38720 + case ${target} in
38721 + *-leon-*)
38722 + tmake_file="sparc/t-sparc sparc/t-leon"
38723 + ;;
38724 + *-leon[3-9]*)
38725 + tmake_file="sparc/t-sparc sparc/t-leon3"
38726 + ;;
38727 + *)
38728 + tmake_file="sparc/t-sparc sparc/t-elf"
38729 + ;;
38730 + esac
38731 + ;;
38732 +sparc-*-rtems*)
38733 + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
38734 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
38735 + ;;
38736 +sparc-*-linux*)
38737 + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
38738 + extra_options="${extra_options} sparc/long-double-switch.opt"
38739 + case ${target} in
38740 + *-leon-*)
38741 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
38742 + ;;
38743 + *-leon[3-9]*)
38744 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
38745 + ;;
38746 + *)
38747 + tmake_file="${tmake_file} sparc/t-sparc"
38748 + ;;
38749 + esac
38750 + if test x$enable_targets = xall; then
38751 + tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
38752 + tmake_file="${tmake_file} sparc/t-linux64"
38753 + else
38754 + tm_file="${tm_file} sparc/linux.h"
38755 + tmake_file="${tmake_file} sparc/t-linux"
38756 + fi
38757 + ;;
38758 +sparc-*-netbsdelf*)
38759 + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
38760 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
38761 + extra_options="${extra_options} sparc/long-double-switch.opt"
38762 + tmake_file="${tmake_file} sparc/t-sparc"
38763 + ;;
38764 +sparc*-*-solaris2*)
38765 + tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
38766 + case ${target} in
38767 + sparc64-*-* | sparcv9-*-*)
38768 + tm_file="sparc/default-64.h ${tm_file}"
38769 + ;;
38770 + *)
38771 + test x$with_cpu != x || with_cpu=v9
38772 + ;;
38773 + esac
38774 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
38775 + ;;
38776 +sparc-wrs-vxworks)
38777 + tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
38778 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
38779 + ;;
38780 +sparc64-*-elf*)
38781 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
38782 + extra_options="${extra_options}"
38783 + tmake_file="${tmake_file} sparc/t-sparc"
38784 + ;;
38785 +sparc64-*-rtems*)
38786 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
38787 + extra_options="${extra_options}"
38788 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
38789 + ;;
38790 +sparc64-*-linux*)
38791 + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
38792 + extra_options="${extra_options} sparc/long-double-switch.opt"
38793 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
38794 + ;;
38795 +sparc64-*-freebsd*|ultrasparc-*-freebsd*)
38796 + tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
38797 + extra_options="${extra_options} sparc/long-double-switch.opt"
38798 + case "x$with_cpu" in
38799 + xultrasparc) ;;
38800 + x) with_cpu=ultrasparc ;;
38801 + *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
38802 + esac
38803 + tmake_file="${tmake_file} sparc/t-sparc"
38804 + ;;
38805 +sparc64-*-netbsd*)
38806 + tm_file="sparc/biarch64.h ${tm_file}"
38807 + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
38808 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
38809 + extra_options="${extra_options} sparc/long-double-switch.opt"
38810 + tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
38811 + ;;
38812 +sparc64-*-openbsd*)
38813 + tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
38814 + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
38815 + extra_options="${extra_options} openbsd.opt"
38816 + extra_options="${extra_options}"
38817 + gas=yes gnu_ld=yes
38818 + with_cpu=ultrasparc
38819 + tmake_file="${tmake_file} sparc/t-sparc"
38820 + ;;
38821 +spu-*-elf*)
38822 + tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
38823 + tmake_file="spu/t-spu-elf"
38824 + native_system_header_dir=/include
38825 + extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
38826 + extra_modes=spu/spu-modes.def
38827 + c_target_objs="${c_target_objs} spu-c.o"
38828 + cxx_target_objs="${cxx_target_objs} spu-c.o"
38829 + ;;
38830 +tic6x-*-elf)
38831 + tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
38832 + tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
38833 + tmake_file="c6x/t-c6x c6x/t-c6x-elf"
38834 + use_collect2=no
38835 + ;;
38836 +tic6x-*-uclinux)
38837 + tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
38838 + tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
38839 + tm_file="${tm_file} ./sysroot-suffix.h"
38840 + tmake_file="t-sysroot-suffix t-slibgcc"
38841 + tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
38842 + use_collect2=no
38843 + ;;
38844 +tilegx*-*-linux*)
38845 + tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
38846 + tmake_file="${tmake_file} tilegx/t-tilegx"
38847 + extra_objs="${extra_objs} mul-tables.o"
38848 + c_target_objs="${c_target_objs} tilegx-c.o"
38849 + cxx_target_objs="${cxx_target_objs} tilegx-c.o"
38850 + extra_headers="feedback.h"
38851 + case $target in
38852 + tilegxbe-*)
38853 + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
38854 + ;;
38855 + esac
38856 + ;;
38857 +tilepro*-*-linux*)
38858 + tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
38859 + tmake_file="${tmake_file} tilepro/t-tilepro"
38860 + extra_objs="${extra_objs} mul-tables.o"
38861 + c_target_objs="${c_target_objs} tilepro-c.o"
38862 + cxx_target_objs="${cxx_target_objs} tilepro-c.o"
38863 + extra_headers="feedback.h"
38864 + ;;
38865 +v850-*-rtems*)
38866 + target_cpu_default="TARGET_CPU_generic"
38867 + tm_file="dbxelf.h elfos.h v850/v850.h"
38868 + tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
38869 + tmake_file="${tmake_file} v850/t-v850"
38870 + tmake_file="${tmake_file} v850/t-rtems"
38871 + use_collect2=no
38872 + c_target_objs="v850-c.o"
38873 + cxx_target_objs="v850-c.o"
38874 + ;;
38875 +v850*-*-*)
38876 + case ${target} in
38877 + v850e3v5-*-*)
38878 + target_cpu_default="TARGET_CPU_v850e3v5"
38879 + ;;
38880 + v850e2v3-*-*)
38881 + target_cpu_default="TARGET_CPU_v850e2v3"
38882 + ;;
38883 + v850e2-*-*)
38884 + target_cpu_default="TARGET_CPU_v850e2"
38885 + ;;
38886 + v850e1-*-* | v850es-*-*)
38887 + target_cpu_default="TARGET_CPU_v850e1"
38888 + ;;
38889 + v850e-*-*)
38890 + target_cpu_default="TARGET_CPU_v850e"
38891 + ;;
38892 + v850-*-*)
38893 + target_cpu_default="TARGET_CPU_generic"
38894 + ;;
38895 + esac
38896 + tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
38897 + if test x$stabs = xyes
38898 + then
38899 + tm_file="${tm_file} dbx.h"
38900 + fi
38901 + use_collect2=no
38902 + c_target_objs="v850-c.o"
38903 + cxx_target_objs="v850-c.o"
38904 + use_gcc_stdint=wrap
38905 + ;;
38906 +vax-*-linux*)
38907 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
38908 + extra_options="${extra_options} vax/elf.opt"
38909 + ;;
38910 +vax-*-netbsdelf*)
38911 + tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
38912 + extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
38913 + ;;
38914 +vax-*-openbsd*)
38915 + tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-pthread.h vax/openbsd.h"
38916 + extra_options="${extra_options} openbsd.opt"
38917 + use_collect2=yes
38918 + ;;
38919 +visium-*-elf*)
38920 + tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
38921 + tmake_file="visium/t-visium visium/t-crtstuff"
38922 + ;;
38923 +xstormy16-*-elf)
38924 + # For historical reasons, the target files omit the 'x'.
38925 + tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
38926 + tm_p_file=stormy16/stormy16-protos.h
38927 + md_file=stormy16/stormy16.md
38928 + out_file=stormy16/stormy16.c
38929 + extra_options=stormy16/stormy16.opt
38930 + tmake_file="stormy16/t-stormy16"
38931 + ;;
38932 +xtensa*-*-elf*)
38933 + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
38934 + extra_options="${extra_options} xtensa/elf.opt"
38935 + ;;
38936 +xtensa*-*-linux*)
38937 + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
38938 + tmake_file="${tmake_file} xtensa/t-xtensa"
38939 + ;;
38940 +am33_2.0-*-linux*)
38941 + tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
38942 + gas=yes gnu_ld=yes
38943 + use_collect2=no
38944 + ;;
38945 +m32c-*-rtems*)
38946 + tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
38947 + c_target_objs="m32c-pragma.o"
38948 + cxx_target_objs="m32c-pragma.o"
38949 + ;;
38950 +m32c-*-elf*)
38951 + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38952 + c_target_objs="m32c-pragma.o"
38953 + cxx_target_objs="m32c-pragma.o"
38954 + ;;
38956 + echo "*** Configuration ${target} not supported" 1>&2
38957 + exit 1
38958 + ;;
38959 +esac
38961 +case ${target} in
38962 +i[34567]86-*-linux* | x86_64-*-linux*)
38963 + tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
38964 + ;;
38965 +i[34567]86-*-* | x86_64-*-*)
38966 + tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
38967 + ;;
38968 +powerpc*-*-* | rs6000-*-*)
38969 + tm_file="${tm_file} rs6000/option-defaults.h"
38970 +esac
38972 +# Build mkoffload tool
38973 +case ${target} in
38974 +*-intelmic-* | *-intelmicemul-*)
38975 + tmake_file="${tmake_file} i386/t-intelmic"
38976 + tm_file="${tm_file} i386/intelmic-offload.h"
38977 + ;;
38978 +esac
38980 +if [ "$target_has_targetcm" = "no" ]; then
38981 + c_target_objs="$c_target_objs default-c.o"
38982 + cxx_target_objs="$cxx_target_objs default-c.o"
38985 +if [ "$common_out_file" = "" ]; then
38986 + if [ "$target_has_targetm_common" = "yes" ]; then
38987 + common_out_file="$cpu_type/$cpu_type-common.c"
38988 + else
38989 + common_out_file="default-common.c"
38990 + fi
38993 +# Support for --with-cpu and related options (and a few unrelated options,
38994 +# too).
38995 +case ${with_cpu} in
38996 + yes | no)
38997 + echo "--with-cpu must be passed a value" 1>&2
38998 + exit 1
38999 + ;;
39000 +esac
39002 +# Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
39003 +# to generic if there is no processor scheduler model for the target.
39004 +arch=
39005 +cpu=
39006 +arch_without_sse2=no
39007 +arch_without_64bit=no
39008 +case ${target} in
39009 + i386-*-freebsd*)
39010 + if test $fbsd_major -ge 6; then
39011 + arch=i486
39012 + else
39013 + arch=i386
39014 + fi
39015 + cpu=generic
39016 + arch_without_sse2=yes
39017 + arch_without_64bit=yes
39018 + ;;
39019 + i386-*-*)
39020 + arch=i386
39021 + cpu=i386
39022 + arch_without_sse2=yes
39023 + arch_without_64bit=yes
39024 + ;;
39025 + i486-*-*)
39026 + arch=i486
39027 + cpu=i486
39028 + arch_without_sse2=yes
39029 + arch_without_64bit=yes
39030 + ;;
39031 + i586-*-*)
39032 + arch_without_sse2=yes
39033 + arch_without_64bit=yes
39034 + case ${target_noncanonical} in
39035 + k6_2-*)
39036 + arch=k6-2
39037 + cpu=k6-2
39038 + ;;
39039 + k6_3-*)
39040 + arch=k6-3
39041 + cpu=k6-3
39042 + ;;
39043 + k6-*)
39044 + arch=k6
39045 + cpu=k6
39046 + ;;
39047 + pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
39048 + arch=pentium-mmx
39049 + cpu=pentium-mmx
39050 + ;;
39051 + *)
39052 + arch=pentium
39053 + cpu=pentium
39054 + ;;
39055 + esac
39056 + ;;
39057 + i686-*-* | i786-*-*)
39058 + case ${target_noncanonical} in
39059 + bdver4-*)
39060 + arch=bdver4
39061 + cpu=bdver4
39062 + ;;
39063 + bdver3-*)
39064 + arch=bdver3
39065 + cpu=bdver3
39066 + ;;
39067 + bdver2-*)
39068 + arch=bdver2
39069 + cpu=bdver2
39070 + ;;
39071 + bdver1-*)
39072 + arch=bdver1
39073 + cpu=bdver1
39074 + ;;
39075 + btver1-*)
39076 + arch=btver1
39077 + cpu=btver1
39078 + ;;
39079 + btver2-*)
39080 + arch=btver2
39081 + cpu=btver2
39082 + ;;
39083 + amdfam10-*|barcelona-*)
39084 + arch=amdfam10
39085 + cpu=amdfam10
39086 + ;;
39087 + k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
39088 + arch=k8-sse3
39089 + cpu=k8-sse3
39090 + ;;
39091 + k8-*|opteron-*|athlon64-*|athlon_fx-*)
39092 + arch=k8
39093 + cpu=k8
39094 + ;;
39095 + athlon_xp-*|athlon_mp-*|athlon_4-*)
39096 + arch=athlon-4
39097 + cpu=athlon-4
39098 + arch_without_sse2=yes
39099 + arch_without_64bit=yes
39100 + ;;
39101 + athlon_tbird-*|athlon-*)
39102 + arch=athlon
39103 + cpu=athlon
39104 + arch_without_sse2=yes
39105 + ;;
39106 + geode-*)
39107 + arch=geode
39108 + cpu=geode
39109 + arch_without_sse2=yes
39110 + ;;
39111 + pentium2-*)
39112 + arch=pentium2
39113 + cpu=pentium2
39114 + arch_without_sse2=yes
39115 + ;;
39116 + pentium3-*|pentium3m-*)
39117 + arch=pentium3
39118 + cpu=pentium3
39119 + arch_without_sse2=yes
39120 + ;;
39121 + pentium4-*|pentium4m-*)
39122 + arch=pentium4
39123 + cpu=pentium4
39124 + ;;
39125 + prescott-*)
39126 + arch=prescott
39127 + cpu=prescott
39128 + ;;
39129 + nocona-*)
39130 + arch=nocona
39131 + cpu=nocona
39132 + ;;
39133 + atom-*)
39134 + arch=atom
39135 + cpu=atom
39136 + ;;
39137 + slm-*)
39138 + arch=slm
39139 + cpu=slm
39140 + ;;
39141 + core2-*)
39142 + arch=core2
39143 + cpu=core2
39144 + ;;
39145 + corei7-*)
39146 + arch=corei7
39147 + cpu=corei7
39148 + ;;
39149 + corei7_avx-*)
39150 + arch=corei7-avx
39151 + cpu=corei7-avx
39152 + ;;
39153 + pentium_m-*)
39154 + arch=pentium-m
39155 + cpu=pentium-m
39156 + ;;
39157 + pentiumpro-*)
39158 + arch=pentiumpro
39159 + cpu=pentiumpro
39160 + arch_without_sse2=yes
39161 + ;;
39162 + *)
39163 + arch=pentiumpro
39164 + cpu=generic
39165 + arch_without_sse2=yes
39166 + arch_without_64bit=yes
39167 + ;;
39168 + esac
39169 + ;;
39170 + x86_64-*-*)
39171 + case ${target_noncanonical} in
39172 + bdver4-*)
39173 + arch=bdver4
39174 + cpu=bdver4
39175 + ;;
39176 + bdver3-*)
39177 + arch=bdver3
39178 + cpu=bdver3
39179 + ;;
39180 + bdver2-*)
39181 + arch=bdver2
39182 + cpu=bdver2
39183 + ;;
39184 + bdver1-*)
39185 + arch=bdver1
39186 + cpu=bdver1
39187 + ;;
39188 + btver1-*)
39189 + arch=btver1
39190 + cpu=btver1
39191 + ;;
39192 + btver2-*)
39193 + arch=btver2
39194 + cpu=btver2
39195 + ;;
39196 + amdfam10-*|barcelona-*)
39197 + arch=amdfam10
39198 + cpu=amdfam10
39199 + ;;
39200 + k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
39201 + arch=k8-sse3
39202 + cpu=k8-sse3
39203 + ;;
39204 + k8-*|opteron-*|athlon_64-*)
39205 + arch=k8
39206 + cpu=k8
39207 + ;;
39208 + nocona-*)
39209 + arch=nocona
39210 + cpu=nocona
39211 + ;;
39212 + atom-*)
39213 + arch=atom
39214 + cpu=atom
39215 + ;;
39216 + slm-*)
39217 + arch=slm
39218 + cpu=slm
39219 + ;;
39220 + core2-*)
39221 + arch=core2
39222 + cpu=core2
39223 + ;;
39224 + corei7-*)
39225 + arch=corei7
39226 + cpu=corei7
39227 + ;;
39228 + *)
39229 + arch=x86-64
39230 + cpu=generic
39231 + ;;
39232 + esac
39233 + ;;
39234 +esac
39236 +# If there is no $with_cpu option, try to infer one from ${target}.
39237 +# This block sets nothing except for with_cpu.
39238 +if test x$with_cpu = x ; then
39239 + case ${target} in
39240 + i[34567]86-*-*|x86_64-*-*)
39241 + with_cpu=$cpu
39242 + ;;
39243 + alphaev6[78]*-*-*)
39244 + with_cpu=ev67
39245 + ;;
39246 + alphaev6*-*-*)
39247 + with_cpu=ev6
39248 + ;;
39249 + alphapca56*-*-*)
39250 + with_cpu=pca56
39251 + ;;
39252 + alphaev56*-*-*)
39253 + with_cpu=ev56
39254 + ;;
39255 + alphaev5*-*-*)
39256 + with_cpu=ev5
39257 + ;;
39258 + frv-*-*linux* | frv400-*-*linux*)
39259 + with_cpu=fr400
39260 + ;;
39261 + frv550-*-*linux*)
39262 + with_cpu=fr550
39263 + ;;
39264 + m68k*-*-*)
39265 + case "$with_arch" in
39266 + "cf")
39267 + with_cpu=${default_cf_cpu}
39268 + ;;
39269 + "" | "m68k")
39270 + with_cpu=m${default_m68k_cpu}
39271 + ;;
39272 + esac
39273 + ;;
39274 + powerpc*-*-*spe*)
39275 + if test x$enable_e500_double = xyes; then
39276 + with_cpu=8548
39277 + else
39278 + with_cpu=8540
39279 + fi
39280 + ;;
39281 + sparc*-*-*)
39282 + case ${target} in
39283 + *-leon-*)
39284 + with_cpu=leon
39285 + ;;
39286 + *-leon[3-9]*)
39287 + with_cpu=leon3
39288 + ;;
39289 + *-leon[3-9]v7*)
39290 + with_cpu=leon3v7
39291 + ;;
39292 + *)
39293 + with_cpu="`echo ${target} | sed 's/-.*$//'`"
39294 + ;;
39295 + esac
39296 + ;;
39297 + esac
39299 + # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
39300 + case ${target} in
39301 + i[34567]86-*-*|x86_64-*-*)
39302 + if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
39303 + if test x$with_cpu_32 = x; then
39304 + with_cpu_32=$with_cpu
39305 + fi
39306 + if test x$with_cpu_64 = x; then
39307 + with_cpu_64=$with_cpu
39308 + fi
39309 + with_cpu=
39310 + fi
39311 + ;;
39312 + esac
39315 +# Support for --with-arch and related options (and a few unrelated options,
39316 +# too).
39317 +case ${with_arch} in
39318 + yes | no)
39319 + echo "--with-arch must be passed a value" 1>&2
39320 + exit 1
39321 + ;;
39322 +esac
39324 +# If there is no $with_arch option, try to infer one from ${target}.
39325 +# This block sets nothing except for with_arch.
39326 +if test x$with_arch = x ; then
39327 + case ${target} in
39328 + i[34567]86-*-darwin*|x86_64-*-darwin*)
39329 + # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
39330 + # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
39331 + ;;
39332 + i[34567]86-*-*)
39333 + # --with-fpmath sets the default ISA to SSE2, which is the same
39334 + # ISA supported by Pentium 4.
39335 + if test x$with_fpmath = x || test $arch_without_sse2 = no; then
39336 + with_arch=$arch
39337 + else
39338 + with_arch=pentium4
39339 + fi
39340 + ;;
39341 + x86_64-*-*)
39342 + with_arch=$arch
39343 + ;;
39344 + mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
39345 + with_arch=r5900
39346 + ;;
39347 + mips*-*-vxworks)
39348 + with_arch=mips2
39349 + ;;
39350 + esac
39352 + # Avoid overriding --with-arch-32 and --with-arch-64 values.
39353 + case ${target} in
39354 + i[34567]86-*-darwin*|x86_64-*-darwin*)
39355 + # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
39356 + # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
39357 + ;;
39358 + i[34567]86-*-*|x86_64-*-*)
39359 + if test x$with_arch_32 != x || test x$with_arch_64 != x; then
39360 + if test x$with_arch_32 = x; then
39361 + with_arch_32=$with_arch
39362 + fi
39363 + if test x$with_arch_64 = x; then
39364 + if test $arch_without_64bit = yes; then
39365 + # Set the default 64bit arch to x86-64 if the default arch
39366 + # doesn't support 64bit.
39367 + with_arch_64=x86-64
39368 + else
39369 + with_arch_64=$with_arch
39370 + fi
39371 + fi
39372 + with_arch=
39373 + elif test $arch_without_64bit$need_64bit_isa = yesyes; then
39374 + # Set the default 64bit arch to x86-64 if the default arch
39375 + # doesn't support 64bit and we need 64bit ISA.
39376 + with_arch_32=$with_arch
39377 + with_arch_64=x86-64
39378 + with_arch=
39379 + fi
39380 + ;;
39381 + esac
39384 +# Infer a default setting for --with-float.
39385 +if test x$with_float = x; then
39386 + case ${target} in
39387 + mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
39388 + # The R5900 doesn't support 64-bit float. 32-bit float doesn't
39389 + # comply with IEEE 754.
39390 + with_float=soft
39391 + ;;
39392 + esac
39395 +# Infer a default setting for --with-fpu.
39396 +if test x$with_fpu = x; then
39397 + case ${target} in
39398 + mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
39399 + # The R5900 FPU only supports single precision.
39400 + with_fpu=single
39401 + ;;
39402 + esac
39405 +# Support --with-fpmath.
39406 +if test x$with_fpmath != x; then
39407 + case ${target} in
39408 + i[34567]86-*-* | x86_64-*-*)
39409 + case ${with_fpmath} in
39410 + avx)
39411 + tm_file="${tm_file} i386/avxmath.h"
39412 + ;;
39413 + sse)
39414 + tm_file="${tm_file} i386/ssemath.h"
39415 + ;;
39416 + *)
39417 + echo "Invalid --with-fpmath=$with_fpmath" 1>&2
39418 + exit 1
39419 + ;;
39420 + esac
39421 + ;;
39422 + *)
39423 + echo "--with-fpmath isn't supported for $target." 1>&2
39424 + exit 1
39425 + ;;
39426 + esac
39429 +# Similarly for --with-schedule.
39430 +if test x$with_schedule = x; then
39431 + case ${target} in
39432 + hppa1*)
39433 + # Override default PA8000 scheduling model.
39434 + with_schedule=7100LC
39435 + ;;
39436 + esac
39439 +# Infer a default setting for --with-llsc.
39440 +if test x$with_llsc = x; then
39441 + case ${target} in
39442 + mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
39443 + # The R5900 doesn't support LL(D) and SC(D).
39444 + with_llsc=no
39445 + ;;
39446 + mips*-*-linux*)
39447 + # The kernel emulates LL and SC where necessary.
39448 + with_llsc=yes
39449 + ;;
39450 + esac
39453 +# Validate and mark as valid any --with options supported
39454 +# by this target. In order to use a particular --with option
39455 +# you must list it in supported_defaults; validating the value
39456 +# is optional. This case statement should set nothing besides
39457 +# supported_defaults.
39459 +supported_defaults=
39460 +case "${target}" in
39461 + aarch64*-*-*)
39462 + supported_defaults="abi cpu arch"
39463 + for which in cpu arch; do
39465 + eval "val=\$with_$which"
39466 + base_val=`echo $val | sed -e 's/\+.*//'`
39467 + ext_val=`echo $val | sed -e 's/[a-z0-9\-]\+//'`
39469 + if [ $which = arch ]; then
39470 + def=aarch64-arches.def
39471 + pattern=AARCH64_ARCH
39472 + else
39473 + def=aarch64-cores.def
39474 + pattern=AARCH64_CORE
39475 + fi
39477 + ext_mask=AARCH64_CPU_DEFAULT_FLAGS
39479 + # Find the base CPU or ARCH id in aarch64-cores.def or
39480 + # aarch64-arches.def
39481 + if [ x"$base_val" = x ] \
39482 + || grep "^$pattern(\"$base_val\"," \
39483 + ${srcdir}/config/aarch64/$def \
39484 + > /dev/null; then
39486 + if [ $which = arch ]; then
39487 + base_id=`grep "^$pattern(\"$base_val\"," \
39488 + ${srcdir}/config/aarch64/$def | \
39489 + sed -e 's/^[^,]*,[ ]*//' | \
39490 + sed -e 's/,.*$//'`
39491 + # Extract the architecture flags from aarch64-arches.def
39492 + ext_mask=`grep "^$pattern(\"$base_val\"," \
39493 + ${srcdir}/config/aarch64/$def | \
39494 + sed -e 's/)$//' | \
39495 + sed -e 's/^.*,//'`
39496 + else
39497 + base_id=`grep "^$pattern(\"$base_val\"," \
39498 + ${srcdir}/config/aarch64/$def | \
39499 + sed -e 's/^[^,]*,[ ]*//' | \
39500 + sed -e 's/,.*$//'`
39501 + fi
39503 + while [ x"$ext_val" != x ]
39504 + do
39505 + ext_val=`echo $ext_val | sed -e 's/\+//'`
39506 + ext=`echo $ext_val | sed -e 's/\+.*//'`
39507 + base_ext=`echo $ext | sed -e 's/^no//'`
39509 + if [ x"$base_ext" = x ] \
39510 + || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
39511 + ${srcdir}/config/aarch64/aarch64-option-extensions.def \
39512 + > /dev/null; then
39514 + ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
39515 + ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
39516 + sed -e 's/^[^,]*,[ ]*//' | \
39517 + sed -e 's/,.*$//'`
39518 + ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
39519 + ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
39520 + sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
39521 + sed -e 's/,.*$//' | \
39522 + sed -e 's/).*$//'`
39524 + if [ $ext = $base_ext ]; then
39525 + # Adding extension
39526 + ext_mask="("$ext_mask") | ("$ext_on")"
39527 + else
39528 + # Removing extension
39529 + ext_mask="("$ext_mask") & ~("$ext_off")"
39530 + fi
39532 + true
39533 + else
39534 + echo "Unknown extension used in --with-$which=$val" 1>&2
39535 + exit 1
39536 + fi
39537 + ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
39538 + done
39540 + ext_mask="(("$ext_mask") << 6)"
39541 + if [ x"$base_id" != x ]; then
39542 + target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
39543 + fi
39544 + true
39545 + else
39546 + echo "Unknown $which used in --with-$which=$val" 1>&2
39547 + exit 1
39548 + fi
39549 + done
39550 + ;;
39552 + alpha*-*-*)
39553 + supported_defaults="cpu tune"
39554 + for which in cpu tune; do
39555 + eval "val=\$with_$which"
39556 + case "$val" in
39557 + "" \
39558 + | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
39559 + | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
39560 + | 21264a)
39561 + ;;
39562 + *)
39563 + echo "Unknown CPU used in --with-$which=$val" 1>&2
39564 + exit 1
39565 + ;;
39566 + esac
39567 + done
39568 + ;;
39570 + arc*-*-*) # was: arc*-*-linux-uclibc)
39571 + supported_defaults="cpu"
39572 + case $with_cpu in
39573 + arc600|arc601|arc700)
39574 + ;;
39575 + *) echo "Unknown cpu type"
39576 + exit 1
39577 + ;;
39578 + esac
39579 + ;;
39581 + arm*-*-*)
39582 + supported_defaults="arch cpu float tune fpu abi mode tls"
39583 + for which in cpu tune; do
39584 + # See if it matches any of the entries in arm-cores.def
39585 + eval "val=\$with_$which"
39586 + if [ x"$val" = x ] \
39587 + || grep "^ARM_CORE(\"$val\"," \
39588 + ${srcdir}/config/arm/arm-cores.def \
39589 + > /dev/null; then
39590 + # Ok
39591 + new_val=`grep "^ARM_CORE(\"$val\"," \
39592 + ${srcdir}/config/arm/arm-cores.def | \
39593 + sed -e 's/^[^,]*,[ ]*//' | \
39594 + sed -e 's/,.*$//'`
39595 + eval "target_${which}_cname=$new_val"
39596 + echo "For $val real value is $new_val"
39597 + true
39598 + else
39599 + echo "Unknown CPU used in --with-$which=$val" 1>&2
39600 + exit 1
39601 + fi
39602 + done
39604 + # See if it matches any of the entries in arm-arches.def
39605 + if [ x"$with_arch" = x ] \
39606 + || grep "^ARM_ARCH(\"$with_arch\"," \
39607 + ${srcdir}/config/arm/arm-arches.def \
39608 + > /dev/null; then
39609 + # OK
39610 + true
39611 + else
39612 + echo "Unknown arch used in --with-arch=$with_arch" 1>&2
39613 + exit 1
39614 + fi
39616 + case "$with_float" in
39617 + "" \
39618 + | soft | hard | softfp)
39619 + # OK
39620 + ;;
39621 + *)
39622 + echo "Unknown floating point type used in --with-float=$with_float" 1>&2
39623 + exit 1
39624 + ;;
39625 + esac
39627 + # see if it matches any of the entries in arm-fpus.def
39628 + if [ x"$with_fpu" = x ] \
39629 + || grep "^ARM_FPU(\"$with_fpu\"," \
39630 + ${srcdir}/config/arm/arm-fpus.def \
39631 + > /dev/null; then
39632 + # OK
39633 + true
39634 + else
39635 + echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
39636 + exit 1
39637 + fi
39639 + case "$with_abi" in
39640 + "" \
39641 + | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
39642 + #OK
39643 + ;;
39644 + *)
39645 + echo "Unknown ABI used in --with-abi=$with_abi"
39646 + exit 1
39647 + ;;
39648 + esac
39650 + case "$with_mode" in
39651 + "" \
39652 + | arm | thumb )
39653 + #OK
39654 + ;;
39655 + *)
39656 + echo "Unknown mode used in --with-mode=$with_mode"
39657 + exit 1
39658 + ;;
39659 + esac
39661 + case "$with_tls" in
39662 + "" \
39663 + | gnu | gnu2)
39664 + # OK
39665 + ;;
39666 + *)
39667 + echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
39668 + exit 1
39669 + ;;
39670 + esac
39672 + if test "x$with_arch" != x && test "x$with_cpu" != x; then
39673 + echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
39674 + exit 1
39675 + fi
39677 + if test "x$with_cpu" != x && test "x$with_tune" != x; then
39678 + echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
39679 + exit 1
39680 + fi
39682 + # Add extra multilibs
39683 + if test "x$with_multilib_list" != x; then
39684 + arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
39685 + for arm_multilib in ${arm_multilibs}; do
39686 + case ${arm_multilib} in
39687 + aprofile)
39688 + # Note that arm/t-aprofile is a
39689 + # stand-alone make file fragment to be
39690 + # used only with itself. We do not
39691 + # specifically use the
39692 + # TM_MULTILIB_OPTION framework because
39693 + # this shorthand is more
39694 + # pragmatic. Additionally it is only
39695 + # designed to work without any
39696 + # with-cpu, with-arch with-mode
39697 + # with-fpu or with-float options.
39698 + if test "x$with_arch" != x \
39699 + || test "x$with_cpu" != x \
39700 + || test "x$with_float" != x \
39701 + || test "x$with_fpu" != x \
39702 + || test "x$with_mode" != x ; then
39703 + echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
39704 + exit 1
39705 + fi
39706 + tmake_file="${tmake_file} arm/t-aprofile"
39707 + break
39708 + ;;
39709 + default)
39710 + ;;
39711 + *)
39712 + echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
39713 + exit 1
39714 + ;;
39715 + esac
39716 + done
39717 + fi
39718 + ;;
39720 + fr*-*-*linux*)
39721 + supported_defaults=cpu
39722 + case "$with_cpu" in
39723 + fr400) ;;
39724 + fr550) ;;
39725 + *)
39726 + echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
39727 + exit 1
39728 + ;;
39729 + esac
39730 + ;;
39732 + fido-*-* | m68k*-*-*)
39733 + supported_defaults="arch cpu"
39734 + case "$with_arch" in
39735 + "" | "m68k"| "cf")
39736 + m68k_arch_family="$with_arch"
39737 + ;;
39738 + *)
39739 + echo "Invalid --with-arch=$with_arch" 1>&2
39740 + exit 1
39741 + ;;
39742 + esac
39744 + # We always have a $with_cpu setting here.
39745 + case "$with_cpu" in
39746 + "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
39747 + m68k_cpu_ident=$with_cpu
39748 + ;;
39749 + "m68020-40")
39750 + m68k_cpu_ident=m68020
39751 + tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
39752 + ;;
39753 + "m68020-60")
39754 + m68k_cpu_ident=m68020
39755 + tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
39756 + ;;
39757 + *)
39758 + # We need the C identifier rather than the string.
39759 + m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
39760 + 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
39761 + $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
39762 + ${srcdir}/config/m68k/m68k-devices.def`
39763 + if [ x"$m68k_cpu_ident" = x ] ; then
39764 + echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
39765 + exit 1
39766 + fi
39767 + with_cpu="mcpu=$with_cpu"
39768 + ;;
39769 + esac
39770 + ;;
39772 + hppa*-*-*)
39773 + supported_defaults="arch schedule"
39775 + case "$with_arch" in
39776 + "" | 1.0 | 1.1 | 2.0)
39777 + # OK
39778 + ;;
39779 + *)
39780 + echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
39781 + exit 1
39782 + ;;
39783 + esac
39785 + case "$with_schedule" in
39786 + "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
39787 + # OK
39788 + ;;
39789 + *)
39790 + echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
39791 + exit 1
39792 + ;;
39793 + esac
39794 + ;;
39796 + i[34567]86-*-* | x86_64-*-*)
39797 + supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
39798 + for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
39799 + eval "val=\$with_$which"
39800 + case " $x86_archs " in
39801 + *" ${val} "*)
39802 + case "${target}" in
39803 + x86_64-*-*)
39804 + case "x$which" in
39805 + *_32)
39806 + ;;
39807 + *)
39808 + echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
39809 + exit 1
39810 + ;;
39811 + esac
39812 + ;;
39813 + esac
39814 + # OK
39815 + ;;
39816 + *)
39817 + if test x${val} != x; then
39818 + case " $x86_64_archs " in
39819 + *" ${val} "*)
39820 + # OK
39821 + ;;
39822 + *)
39823 + # Allow $x86_cpus --with-cpu=/--with-tune=
39824 + case "x$which" in
39825 + xcpu*|xtune*)
39826 + case " $x86_cpus " in
39827 + *" ${val} "*)
39828 + # OK
39829 + ;;
39830 + *)
39831 + echo "Unknown CPU given in --with-$which=$val." 1>&2
39832 + exit 1
39833 + ;;
39834 + esac
39835 + ;;
39836 + *)
39837 + echo "Unknown CPU given in --with-$which=$val." 1>&2
39838 + exit 1
39839 + ;;
39840 + esac
39841 + ;;
39842 + esac
39843 + fi
39844 + ;;
39845 + esac
39846 + done
39847 + ;;
39849 + mips*-*-*)
39850 + supported_defaults="abi arch arch_32 arch_64 float fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt synci"
39852 + case ${with_float} in
39853 + "" | soft | hard)
39854 + # OK
39855 + ;;
39856 + *)
39857 + echo "Unknown floating point type used in --with-float=$with_float" 1>&2
39858 + exit 1
39859 + ;;
39860 + esac
39862 + case ${with_fpu} in
39863 + "" | single | double)
39864 + # OK
39865 + ;;
39866 + *)
39867 + echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
39868 + exit 1
39869 + ;;
39870 + esac
39872 + case ${with_nan} in
39873 + "" | 2008 | legacy)
39874 + # OK
39875 + ;;
39876 + *)
39877 + echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
39878 + exit 1
39879 + ;;
39880 + esac
39882 + case ${with_fp_32} in
39883 + "" | 32 | xx | 64)
39884 + # OK
39885 + ;;
39886 + *)
39887 + echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
39888 + exit 1
39889 + ;;
39890 + esac
39892 + case ${with_odd_spreg_32} in
39893 + yes)
39894 + with_odd_spreg_32="odd-spreg"
39895 + ;;
39896 + no)
39897 + with_odd_spreg_32="no-odd-spreg"
39898 + ;;
39899 + "")
39900 + # OK
39901 + ;;
39902 + *)
39903 + echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
39904 + exit 1
39905 + ;;
39906 + esac
39908 + case ${with_abi} in
39909 + "" | 32 | o64 | n32 | 64 | eabi)
39910 + # OK
39911 + ;;
39912 + *)
39913 + echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
39914 + exit 1
39915 + ;;
39916 + esac
39918 + case ${with_divide} in
39919 + "" | breaks | traps)
39920 + # OK
39921 + ;;
39922 + *)
39923 + echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
39924 + exit 1
39925 + ;;
39926 + esac
39928 + case ${with_llsc} in
39929 + yes)
39930 + with_llsc=llsc
39931 + ;;
39932 + no)
39933 + with_llsc="no-llsc"
39934 + ;;
39935 + "")
39936 + # OK
39937 + ;;
39938 + *)
39939 + echo "Unknown llsc type used in --with-llsc" 1>&2
39940 + exit 1
39941 + ;;
39942 + esac
39944 + case ${with_mips_plt} in
39945 + yes)
39946 + with_mips_plt=plt
39947 + ;;
39948 + no)
39949 + with_mips_plt=no-plt
39950 + ;;
39951 + "")
39952 + ;;
39953 + *)
39954 + echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
39955 + exit 1
39956 + ;;
39957 + esac
39959 + case ${with_synci} in
39960 + yes)
39961 + with_synci=synci
39962 + ;;
39963 + no)
39964 + with_synci=no-synci
39965 + ;;
39966 + "")
39967 + ;;
39968 + *)
39969 + echo "Unknown synci type used in --with-synci" 1>&2
39970 + exit 1
39971 + ;;
39972 + esac
39973 + ;;
39975 + nds32*-*-*)
39976 + supported_defaults="arch nds32_lib"
39978 + # process --with-arch
39979 + case "${with_arch}" in
39980 + "" | v2 | v3 | v3m)
39981 + # OK
39982 + ;;
39983 + *)
39984 + echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
39985 + exit 1
39986 + ;;
39987 + esac
39989 + # process --with-nds32-lib
39990 + case "${with_nds32_lib}" in
39991 + "")
39992 + # the default library is newlib
39993 + with_nds32_lib=newlib
39994 + ;;
39995 + newlib)
39996 + # OK
39997 + ;;
39998 + mculib)
39999 + # OK
40000 + ;;
40001 + *)
40002 + echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
40003 + exit 1
40004 + ;;
40005 + esac
40006 + ;;
40008 + powerpc*-*-* | rs6000-*-*)
40009 + supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64"
40011 + for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
40012 + eval "val=\$with_$which"
40013 + case ${val} in
40014 + default32 | default64)
40015 + case $which in
40016 + cpu | tune)
40017 + ;;
40018 + *)
40019 + echo "$val only valid for --with-cpu and --with-tune." 1>&2
40020 + exit 1
40021 + ;;
40022 + esac
40023 + with_which="with_$which"
40024 + eval $with_which=
40025 + ;;
40026 + 405cr)
40027 + tm_defines="${tm_defines} CONFIG_PPC405CR"
40028 + eval "with_$which=405"
40029 + ;;
40030 + "" | common | native \
40031 + | power | power[2345678] | power6x | powerpc | powerpc64 \
40032 + | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
40033 + | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
40034 + | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
40035 + | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
40036 + | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
40037 + | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
40038 + # OK
40039 + ;;
40040 + *)
40041 + echo "Unknown cpu used in --with-$which=$val." 1>&2
40042 + exit 1
40043 + ;;
40044 + esac
40045 + done
40047 + case "$with_abi" in
40048 + "" | elfv1 | elfv2 )
40049 + #OK
40050 + ;;
40051 + *)
40052 + echo "Unknown ABI used in --with-abi=$with_abi"
40053 + exit 1
40054 + ;;
40055 + esac
40056 + ;;
40058 + s390*-*-*)
40059 + supported_defaults="arch mode tune"
40061 + for which in arch tune; do
40062 + eval "val=\$with_$which"
40063 + case ${val} in
40064 + "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12)
40065 + # OK
40066 + ;;
40067 + *)
40068 + echo "Unknown cpu used in --with-$which=$val." 1>&2
40069 + exit 1
40070 + ;;
40071 + esac
40072 + done
40074 + case ${with_mode} in
40075 + "" | esa | zarch)
40076 + # OK
40077 + ;;
40078 + *)
40079 + echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
40080 + exit 1
40081 + ;;
40082 + esac
40083 + ;;
40085 + sh[123456ble]-*-* | sh-*-*)
40086 + supported_defaults="cpu"
40087 + case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
40088 + "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
40089 + # OK
40090 + ;;
40091 + m2a | m2a-single | m2a-single-only | m2a-nofpu)
40092 + ;;
40093 + m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
40094 + ;;
40095 + *)
40096 + echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
40097 + echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
40098 + echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
40099 + echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
40100 + exit 1
40101 + ;;
40102 + esac
40103 + ;;
40104 + sparc*-*-*)
40105 + supported_defaults="cpu float tune"
40107 + for which in cpu tune; do
40108 + eval "val=\$with_$which"
40109 + case ${val} in
40110 + "" | sparc | sparcv9 | sparc64 \
40111 + | v7 | cypress \
40112 + | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
40113 + | sparclite | f930 | f934 | sparclite86x \
40114 + | sparclet | tsc701 \
40115 + | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
40116 + | niagara3 | niagara4)
40117 + # OK
40118 + ;;
40119 + *)
40120 + echo "Unknown cpu used in --with-$which=$val" 1>&2
40121 + exit 1
40122 + ;;
40123 + esac
40124 + done
40126 + case ${with_float} in
40127 + "" | soft | hard)
40128 + # OK
40129 + ;;
40130 + *)
40131 + echo "Unknown floating point type used in --with-float=$with_float" 1>&2
40132 + exit 1
40133 + ;;
40134 + esac
40135 + ;;
40137 + spu-*-*)
40138 + supported_defaults="arch tune"
40140 + for which in arch tune; do
40141 + eval "val=\$with_$which"
40142 + case ${val} in
40143 + "" | cell | celledp)
40144 + # OK
40145 + ;;
40146 + *)
40147 + echo "Unknown cpu used in --with-$which=$val." 1>&2
40148 + exit 1
40149 + ;;
40150 + esac
40151 + done
40152 + ;;
40154 + tic6x-*-*)
40155 + supported_defaults="arch"
40157 + case ${with_arch} in
40158 + "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
40159 + # OK
40160 + ;;
40161 + *)
40162 + echo "Unknown arch used in --with-arch=$with_arch." 1>&2
40163 + exit 1
40164 + ;;
40165 + esac
40166 + ;;
40168 + v850*-*-*)
40169 + supported_defaults=cpu
40170 + case ${with_cpu} in
40171 + "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
40172 + # OK
40173 + ;;
40174 + *)
40175 + echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
40176 + exit 1
40177 + ;;
40178 + esac
40179 + ;;
40180 +esac
40182 +# Set some miscellaneous flags for particular targets.
40183 +target_cpu_default2=
40184 +case ${target} in
40185 + aarch64*-*-*)
40186 + if test x"$target_cpu_cname" != x
40187 + then
40188 + target_cpu_default2=$target_cpu_cname
40189 + fi
40190 + ;;
40192 + arm*-*-*)
40193 + if test x$target_cpu_cname = x
40194 + then
40195 + target_cpu_default2=TARGET_CPU_generic
40196 + else
40197 + target_cpu_default2=TARGET_CPU_$target_cpu_cname
40198 + fi
40199 + ;;
40201 + hppa*-*-*)
40202 + if test x$gas = xyes
40203 + then
40204 + target_cpu_default2="MASK_GAS"
40205 + fi
40206 + ;;
40208 + fido*-*-* | m68k*-*-*)
40209 + target_cpu_default2=$m68k_cpu_ident
40210 + tmake_file="m68k/t-opts $tmake_file"
40211 + if [ x"$m68k_arch_family" != x ]; then
40212 + tmake_file="m68k/t-$m68k_arch_family $tmake_file"
40213 + fi
40214 + ;;
40216 + i[34567]86-*-darwin* | x86_64-*-darwin*)
40217 + ;;
40218 + i[34567]86-*-linux* | x86_64-*-linux*)
40219 + tmake_file="$tmake_file i386/t-linux"
40220 + ;;
40221 + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
40222 + tmake_file="$tmake_file i386/t-kfreebsd"
40223 + ;;
40224 + i[34567]86-*-gnu*)
40225 + tmake_file="$tmake_file i386/t-gnu"
40226 + ;;
40227 + i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
40228 + ;;
40229 + i[34567]86-*-cygwin* | x86_64-*-cygwin*)
40230 + ;;
40231 + i[34567]86-*-mingw* | x86_64-*-mingw*)
40232 + ;;
40233 + i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
40234 + ;;
40235 + i[34567]86-*-freebsd* | x86_64-*-freebsd*)
40236 + ;;
40237 + ia64*-*-linux*)
40238 + ;;
40240 + mips*-*-*)
40241 + if test x$gnu_ld = xyes
40242 + then
40243 + target_cpu_default2="MASK_SPLIT_ADDRESSES"
40244 + fi
40245 + case ${target} in
40246 + mips*el-*-*)
40247 + tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
40248 + ;;
40249 + esac
40250 + if test x$with_arch != x; then
40251 + default_mips_arch=$with_arch
40252 + fi
40253 + if test x$with_abi != x; then
40254 + default_mips_abi=$with_abi
40255 + fi
40256 + case ${default_mips_arch} in
40257 + mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
40258 + mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
40259 + mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
40260 + mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
40261 + mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
40262 + mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
40263 + mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
40264 + mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
40265 + mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
40266 + mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
40267 + esac
40268 + case ${default_mips_abi} in
40269 + 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
40270 + o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
40271 + n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
40272 + 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
40273 + eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
40274 + esac
40275 + tmake_file="mips/t-mips $tmake_file"
40276 + ;;
40278 + powerpc*-*-* | rs6000-*-*)
40279 + # FIXME: The PowerPC port uses the value set at compile time,
40280 + # although it's only cosmetic.
40281 + if test "x$with_cpu" != x
40282 + then
40283 + target_cpu_default2="\\\"$with_cpu\\\""
40284 + fi
40285 + out_file=rs6000/rs6000.c
40286 + c_target_objs="${c_target_objs} rs6000-c.o"
40287 + cxx_target_objs="${cxx_target_objs} rs6000-c.o"
40288 + tmake_file="rs6000/t-rs6000 ${tmake_file}"
40289 + ;;
40291 + sh[123456ble]*-*-* | sh-*-*)
40292 + c_target_objs="${c_target_objs} sh-c.o"
40293 + cxx_target_objs="${cxx_target_objs} sh-c.o"
40294 + ;;
40296 + sparc*-*-*)
40297 + # Some standard aliases.
40298 + case x$with_cpu in
40299 + xsparc)
40300 + with_cpu=v7
40301 + ;;
40302 + xsparcv9 | xsparc64)
40303 + with_cpu=v9
40304 + ;;
40305 + esac
40307 + if test x$with_tune = x ; then
40308 + case ${target} in
40309 + *-leon-*)
40310 + with_tune=leon
40311 + ;;
40312 + *-leon[3-9]*)
40313 + with_tune=leon3
40314 + ;;
40315 + esac
40316 + fi
40318 + # The SPARC port checks this value at compile-time.
40319 + target_cpu_default2="TARGET_CPU_$with_cpu"
40320 + ;;
40322 + v850*-*-*)
40323 + case "x$with_cpu" in
40324 + x)
40325 + ;;
40326 + xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
40327 + target_cpu_default2="TARGET_CPU_$with_cpu"
40328 + ;;
40329 + xv850es)
40330 + target_cpu_default2="TARGET_CPU_v850e1"
40331 + ;;
40332 + esac
40333 + ;;
40334 +esac
40337 +all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32 divide llsc mips-plt synci tls"
40338 +for option in $all_defaults
40340 + eval "val=\$with_"`echo $option | sed s/-/_/g`
40341 + if test -n "$val"; then
40342 + case " $supported_defaults " in
40343 + *" $option "*)
40344 + ;;
40345 + *)
40346 + echo "This target does not support --with-$option." 2>&1
40347 + echo "Valid --with options are: $supported_defaults" 2>&1
40348 + exit 1
40349 + ;;
40350 + esac
40352 + if test "x$t" = x
40353 + then
40354 + t="{ \"$option\", \"$val\" }"
40355 + else
40356 + t="${t}, { \"$option\", \"$val\" }"
40357 + fi
40358 + fi
40359 +done
40361 +if test "x$t" = x
40362 +then
40363 + configure_default_options="{ { NULL, NULL} }"
40364 +else
40365 + configure_default_options="{ ${t} }"
40368 +if test "$target_cpu_default2" != ""
40369 +then
40370 + if test "$target_cpu_default" != ""
40371 + then
40372 + target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
40373 + else
40374 + target_cpu_default=$target_cpu_default2
40375 + fi
40378 +case ${target} in
40379 +i[34567]86-*-* | x86_64-*-*)
40380 + if test x$enable_as_accelerator = xyes; then
40381 + extra_programs="mkoffload\$(exeext)"
40382 + fi
40383 + ;;
40384 +esac
40385 diff -ruN gcc-5-20150222/gcc/config.host gcc-5-20150222.aros/gcc/config.host
40386 --- gcc-5-20150222/gcc/config.host 2015-01-09 14:06:02.000000000 +0000
40387 +++ gcc-5-20150222.aros/gcc/config.host 2015-02-23 08:11:04.769837296 +0000
40388 @@ -276,6 +276,10 @@
40389 out_host_hook_obj=host-hpux.o
40390 host_xmake_file="${host_xmake_file} x-hpux"
40392 + *-*-aros*)
40393 + host_can_use_collect2=no
40394 + host_xm_file=xm-aros.h
40395 + ;;
40396 *-*-*vms*)
40397 host_xm_file="vms/xm-vms.h"
40398 host_xmake_file=vms/x-vms
40399 diff -ruN gcc-5-20150222/gcc/ginclude/aros/types/null.h gcc-5-20150222.aros/gcc/ginclude/aros/types/null.h
40400 --- gcc-5-20150222/gcc/ginclude/aros/types/null.h 1970-01-01 01:00:00.000000000 +0100
40401 +++ gcc-5-20150222.aros/gcc/ginclude/aros/types/null.h 2015-02-23 08:11:04.769837296 +0000
40402 @@ -0,0 +1,3 @@
40403 +/* Replace AROS' NULL definition with gcc's one */
40404 +#define __need_NULL
40405 +#include <stddef.h>
40406 diff -ruN gcc-5-20150222/gcc/ginclude/aros/types/ptrdiff_t.h gcc-5-20150222.aros/gcc/ginclude/aros/types/ptrdiff_t.h
40407 --- gcc-5-20150222/gcc/ginclude/aros/types/ptrdiff_t.h 1970-01-01 01:00:00.000000000 +0100
40408 +++ gcc-5-20150222.aros/gcc/ginclude/aros/types/ptrdiff_t.h 2015-02-23 08:11:04.769837296 +0000
40409 @@ -0,0 +1,3 @@
40410 +/* Replace AROS' ptrdiff_t definition with gcc's one */
40411 +#define __need_ptrdiff_t
40412 +#include <stddef.h>
40413 diff -ruN gcc-5-20150222/gcc/ginclude/aros/types/size_t.h gcc-5-20150222.aros/gcc/ginclude/aros/types/size_t.h
40414 --- gcc-5-20150222/gcc/ginclude/aros/types/size_t.h 1970-01-01 01:00:00.000000000 +0100
40415 +++ gcc-5-20150222.aros/gcc/ginclude/aros/types/size_t.h 2015-02-23 08:11:04.769837296 +0000
40416 @@ -0,0 +1,3 @@
40417 +/* Replace AROS' size_t definition with gcc's one */
40418 +#define __need_size_t
40419 +#include <stddef.h>
40420 diff -ruN gcc-5-20150222/gcc/ginclude/aros/types/wchar_t.h gcc-5-20150222.aros/gcc/ginclude/aros/types/wchar_t.h
40421 --- gcc-5-20150222/gcc/ginclude/aros/types/wchar_t.h 1970-01-01 01:00:00.000000000 +0100
40422 +++ gcc-5-20150222.aros/gcc/ginclude/aros/types/wchar_t.h 2015-02-23 08:11:04.769837296 +0000
40423 @@ -0,0 +1,3 @@
40424 +/* Replace AROS' wchar_t definition with gcc's one */
40425 +#define __need_wchar_t
40426 +#include <stddef.h>
40427 diff -ruN gcc-5-20150222/gcc/ginclude/aros/types/wint_t.h gcc-5-20150222.aros/gcc/ginclude/aros/types/wint_t.h
40428 --- gcc-5-20150222/gcc/ginclude/aros/types/wint_t.h 1970-01-01 01:00:00.000000000 +0100
40429 +++ gcc-5-20150222.aros/gcc/ginclude/aros/types/wint_t.h 2015-02-23 08:11:04.769837296 +0000
40430 @@ -0,0 +1,3 @@
40431 +/* Replace AROS' wint_t definition with gcc's one */
40432 +#define __need_wint_t
40433 +#include <stddef.h>
40434 diff -ruN gcc-5-20150222/gcc/ginclude/stddef.h gcc-5-20150222.aros/gcc/ginclude/stddef.h
40435 --- gcc-5-20150222/gcc/ginclude/stddef.h 2015-01-05 12:33:28.000000000 +0000
40436 +++ gcc-5-20150222.aros/gcc/ginclude/stddef.h 2015-02-23 08:11:04.769837296 +0000
40437 @@ -131,6 +131,7 @@
40438 #ifndef __PTRDIFF_T
40439 #ifndef _PTRDIFF_T_
40440 #ifndef _BSD_PTRDIFF_T_
40441 +#ifndef _AROS_TYPES_PTRDIFF_T_H
40442 #ifndef ___int_ptrdiff_t_h
40443 #ifndef _GCC_PTRDIFF_T
40444 #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
40445 @@ -140,6 +141,7 @@
40446 #define __PTRDIFF_T
40447 #define _PTRDIFF_T_
40448 #define _BSD_PTRDIFF_T_
40449 +#define _AROS_TYPES_PTRDIFF_T_H
40450 #define ___int_ptrdiff_t_h
40451 #define _GCC_PTRDIFF_T
40452 #define _PTRDIFF_T_DECLARED
40453 @@ -150,6 +152,7 @@
40454 #endif /* _PTRDIFF_T_DECLARED */
40455 #endif /* _GCC_PTRDIFF_T */
40456 #endif /* ___int_ptrdiff_t_h */
40457 +#endif /* _AROS_TYPES_PTRDIFF_T_H */
40458 #endif /* _BSD_PTRDIFF_T_ */
40459 #endif /* _PTRDIFF_T_ */
40460 #endif /* __PTRDIFF_T */
40461 @@ -176,6 +179,7 @@
40462 #ifndef __SIZE_T
40463 #ifndef _SIZE_T_
40464 #ifndef _BSD_SIZE_T_
40465 +#ifndef _AROS_TYPES_SIZE_T_H
40466 #ifndef _SIZE_T_DEFINED_
40467 #ifndef _SIZE_T_DEFINED
40468 #ifndef _BSD_SIZE_T_DEFINED_ /* Darwin */
40469 @@ -193,6 +197,7 @@
40470 #define __SIZE_T
40471 #define _SIZE_T_
40472 #define _BSD_SIZE_T_
40473 +#define _AROS_TYPES_SIZE_T_H
40474 #define _SIZE_T_DEFINED_
40475 #define _SIZE_T_DEFINED
40476 #define _BSD_SIZE_T_DEFINED_ /* Darwin */
40477 @@ -226,6 +231,7 @@
40478 #endif /* _BSD_SIZE_T_DEFINED_ */
40479 #endif /* _SIZE_T_DEFINED */
40480 #endif /* _SIZE_T_DEFINED_ */
40481 +#endif /* _AROS_TYPES_SIZE_T_H */
40482 #endif /* _BSD_SIZE_T_ */
40483 #endif /* _SIZE_T_ */
40484 #endif /* __SIZE_T */
40485 diff -ruN gcc-5-20150222/include/filenames.h gcc-5-20150222.aros/include/filenames.h
40486 --- gcc-5-20150222/include/filenames.h 2014-11-11 23:33:25.000000000 +0000
40487 +++ gcc-5-20150222.aros/include/filenames.h 2015-02-23 08:11:04.769837296 +0000
40488 @@ -42,6 +42,10 @@
40489 # define HAS_DRIVE_SPEC(f) HAS_DOS_DRIVE_SPEC (f)
40490 # define IS_DIR_SEPARATOR(c) IS_DOS_DIR_SEPARATOR (c)
40491 # define IS_ABSOLUTE_PATH(f) IS_DOS_ABSOLUTE_PATH (f)
40492 +#elif defined __AROS__
40493 +# define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == ':')
40494 +# define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || (strchr((f), ':')))
40495 +# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM
40496 #else /* not DOSish */
40497 # if defined(__APPLE__)
40498 # ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM
40499 diff -ruN gcc-5-20150222/libgcc/config.host gcc-5-20150222.aros/libgcc/config.host
40500 --- gcc-5-20150222/libgcc/config.host 2015-01-29 08:03:56.000000000 +0000
40501 +++ gcc-5-20150222.aros/libgcc/config.host 2015-02-23 08:11:04.769837296 +0000
40502 @@ -779,7 +779,7 @@
40503 m32rle-*-linux*)
40504 tmake_file="$tmake_file m32r/t-linux t-fdpbit"
40506 -m68k-*-elf* | fido-*-elf)
40507 +m68k-*-elf* | fido-*-elf | m68k-*-aros*)
40508 tmake_file="$tmake_file m68k/t-floatlib"
40510 m68k*-*-netbsdelf*)
40511 @@ -1290,6 +1290,9 @@
40512 tmake_file="$tmake_file nvptx/t-nvptx"
40513 extra_parts="crt0.o"
40515 +*-*-aros*)
40516 + tmake_file=
40517 + ;;
40519 echo "*** Configuration ${host} not supported" 1>&2
40520 exit 1
40521 diff -ruN gcc-5-20150222/libgcc/config.host.orig gcc-5-20150222.aros/libgcc/config.host.orig
40522 --- gcc-5-20150222/libgcc/config.host.orig 1970-01-01 01:00:00.000000000 +0100
40523 +++ gcc-5-20150222.aros/libgcc/config.host.orig 2015-02-23 08:11:04.769837296 +0000
40524 @@ -0,0 +1,1344 @@
40525 +# libgcc host-specific configuration file.
40526 +# Copyright (C) 1997-2015 Free Software Foundation, Inc.
40528 +#This file is part of GCC.
40530 +#GCC is free software; you can redistribute it and/or modify it under
40531 +#the terms of the GNU General Public License as published by the Free
40532 +#Software Foundation; either version 3, or (at your option) any later
40533 +#version.
40535 +#GCC is distributed in the hope that it will be useful, but WITHOUT
40536 +#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
40537 +#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
40538 +#for more details.
40540 +#You should have received a copy of the GNU General Public License
40541 +#along with GCC; see the file COPYING3. If not see
40542 +#<http://www.gnu.org/licenses/>.
40544 +# This is the libgcc host-specific configuration file
40545 +# where a configuration type is mapped to different system-specific
40546 +# definitions and files. This is invoked by the autoconf-generated
40547 +# configure script. Putting it in a separate shell file lets us skip
40548 +# running autoconf when modifying host-specific information.
40550 +# This file bears an obvious resemblance to gcc/config.gcc. The cases
40551 +# should be kept similar, to ease moving library-specific settings
40552 +# from config.gcc to this file. That is also why tmake_file is
40553 +# left as tmake_file, rather than hmake_file, even though this library
40554 +# switches on ${host}.
40556 +# This file switches on the shell variable ${host}, and also uses the
40557 +# following shell variables:
40559 +# with_* Various variables as set by configure.
40561 +# This file sets the following shell variables for use by the
40562 +# autoconf-generated configure script:
40564 +# asm_hidden_op The assembler pseudo-op to use for hide
40565 +# lists for object files implemented in
40566 +# assembly (with -fvisibility=hidden for C).
40567 +# The default is ".hidden".
40568 +# cpu_type The name of the cpu, if different from the first
40569 +# chunk of the canonical host name.
40570 +# enable_execute_stack The name of a source file implementing
40571 +# __enable_execute_stack.
40572 +# extra_parts List of extra object files that should be compiled
40573 +# for this target machine. This may be overridden
40574 +# by setting EXTRA_PARTS in a tmake_file fragment.
40575 +# If either is set, EXTRA_PARTS and
40576 +# EXTRA_MULTILIB_PARTS inherited from the GCC
40577 +# subdirectory will be ignored.
40578 +# md_unwind_header The name of a header file defining
40579 +# MD_FALLBACK_FRAME_STATE_FOR.
40580 +# sfp_machine_header The name of a sfp-machine.h header file for soft-fp.
40581 +# Defaults to "$cpu_type/sfp-machine.h" if it exists,
40582 +# no-sfp-machine.h otherwise.
40583 +# tmake_file A list of machine-description-specific
40584 +# makefile fragments.
40585 +# tm_defines List of target macros to define for all compilations.
40586 +# tm_file A list of target macro files used only for code
40587 +# built for the target, not the host. These files
40588 +# are relative to $srcdir/config and must not have
40589 +# the same names as files in $srcdir/../gcc/config.
40590 +# unwind_header The name of the header file declaring the unwind
40591 +# runtime interface routines.
40593 +asm_hidden_op=.hidden
40594 +enable_execute_stack=
40595 +extra_parts=
40596 +tmake_file=
40597 +tm_file=
40598 +tm_define=
40599 +md_unwind_header=no-unwind.h
40600 +unwind_header=unwind-generic.h
40602 +# Set default cpu_type so it can be updated in each machine entry.
40603 +cpu_type=`echo ${host} | sed 's/-.*$//'`
40604 +case ${host} in
40605 +m32c*-*-*)
40606 + cpu_type=m32c
40607 + tmake_file=t-fdpbit
40608 + ;;
40609 +aarch64*-*-*)
40610 + cpu_type=aarch64
40611 + ;;
40612 +alpha*-*-*)
40613 + cpu_type=alpha
40614 + ;;
40615 +am33_2.0-*-linux*)
40616 + cpu_type=mn10300
40617 + ;;
40618 +arc*-*-*)
40619 + cpu_type=arc
40620 + ;;
40621 +arm*-*-*)
40622 + cpu_type=arm
40623 + ;;
40624 +avr-*-*)
40625 + cpu_type=avr
40626 + ;;
40627 +bfin*-*)
40628 + cpu_type=bfin
40629 + ;;
40630 +cr16-*-*)
40631 + ;;
40632 +crisv32-*-*)
40633 + cpu_type=cris
40634 + ;;
40635 +fido-*-*)
40636 + cpu_type=m68k
40637 + ;;
40638 +frv*) cpu_type=frv
40639 + ;;
40640 +moxie*) cpu_type=moxie
40641 + ;;
40642 +i[34567]86-*-*)
40643 + cpu_type=i386
40644 + ;;
40645 +x86_64-*-*)
40646 + cpu_type=i386
40647 + ;;
40648 +ia64-*-*)
40649 + ;;
40650 +hppa*-*-*)
40651 + cpu_type=pa
40652 + ;;
40653 +lm32*-*-*)
40654 + cpu_type=lm32
40655 + ;;
40656 +m32r*-*-*)
40657 + cpu_type=m32r
40658 + ;;
40659 +m68k-*-*)
40660 + ;;
40661 +mep*-*-*)
40662 + ;;
40663 +microblaze*-*-*)
40664 + cpu_type=microblaze
40665 + ;;
40666 +mips*-*-*)
40667 + # All MIPS targets provide a full set of FP routines.
40668 + cpu_type=mips
40669 + tmake_file="mips/t-mips"
40670 + if test "${libgcc_cv_mips_hard_float}" = yes; then
40671 + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
40672 + else
40673 + tmake_file="${tmake_file} t-softfp-sfdf"
40674 + fi
40675 + if test "${ac_cv_sizeof_long_double}" = 16; then
40676 + tmake_file="${tmake_file} mips/t-softfp-tf"
40677 + fi
40678 + if test "${host_address}" = 64; then
40679 + tmake_file="${tmake_file} mips/t-mips64"
40680 + fi
40681 + tmake_file="${tmake_file} t-softfp"
40682 + ;;
40683 +nds32*-*)
40684 + cpu_type=nds32
40685 + ;;
40686 +nios2*-*-*)
40687 + cpu_type=nios2
40688 + ;;
40689 +powerpc*-*-*)
40690 + cpu_type=rs6000
40691 + ;;
40692 +rs6000*-*-*)
40693 + ;;
40694 +sparc64*-*-*)
40695 + cpu_type=sparc
40696 + ;;
40697 +sparc*-*-*)
40698 + cpu_type=sparc
40699 + ;;
40700 +spu*-*-*)
40701 + cpu_type=spu
40702 + ;;
40703 +s390*-*-*)
40704 + cpu_type=s390
40705 + ;;
40706 +# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
40707 +sh[123456789lbe]*-*-*)
40708 + cpu_type=sh
40709 + ;;
40710 +tilegx*-*-*)
40711 + cpu_type=tilegx
40712 + ;;
40713 +tilepro*-*-*)
40714 + cpu_type=tilepro
40715 + ;;
40716 +v850*-*-*)
40717 + cpu_type=v850
40718 + ;;
40719 +tic6x-*-*)
40720 + cpu_type=c6x
40721 + ;;
40722 +esac
40724 +# Common parts for widely ported systems.
40725 +case ${host} in
40726 +*-*-darwin*)
40727 + asm_hidden_op=.private_extern
40728 + tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
40729 + extra_parts="crt3.o crttms.o crttme.o"
40730 + ;;
40731 +*-*-dragonfly*)
40732 + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
40733 + tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
40734 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
40735 + ;;
40736 +*-*-freebsd*)
40737 + # This is the generic ELF configuration of FreeBSD. Later
40738 + # machine-specific sections may refine and add to this
40739 + # configuration.
40740 + tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
40741 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
40742 + case ${target_thread_file} in
40743 + posix)
40744 + tmake_file="${tmake_file} t-freebsd-thread"
40745 + # Before 5.0, FreeBSD can't bind shared libraries to -lc
40746 + # when "optionally" threaded via weak pthread_* checks.
40747 + case ${host} in
40748 + *-*-freebsd[34] | *-*-freebsd[34].*)
40749 + tmake_file="${tmake_file} t-slibgcc-nolc-override"
40750 + ;;
40751 + esac
40752 + ;;
40753 + esac
40754 + ;;
40755 +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
40756 + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
40757 + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
40758 + if test x$enable_vtable_verify = xyes; then
40759 + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
40760 + fi
40761 + ;;
40762 +*-*-lynxos*)
40763 + tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
40764 + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
40765 + ;;
40766 +*-*-netbsd*)
40767 + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
40768 + # NetBSD 1.7 and later are set up to use GCC's crtstuff for
40769 + # ELF configurations. We will clear extra_parts in the
40770 + # a.out configurations.
40771 + case ${host} in
40772 + *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
40773 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
40774 + ;;
40775 + esac
40776 + ;;
40777 +*-*-openbsd*)
40778 + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
40779 + case ${target_thread_file} in
40780 + posix)
40781 + tmake_file="$tmake_file t-openbsd-thread"
40782 + ;;
40783 + esac
40784 + ;;
40785 +*-*-rtems*)
40786 + tmake_file="$tmake_file t-rtems"
40787 + extra_parts="crtbegin.o crtend.o"
40788 + ;;
40789 +*-*-solaris2*)
40790 + # Unless linker support and dl_iterate_phdr are present,
40791 + # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
40792 + tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
40793 + if test $with_gnu_ld = yes; then
40794 + tmake_file="$tmake_file t-slibgcc-gld"
40795 + else
40796 + tmake_file="$tmake_file t-slibgcc-sld"
40797 + fi
40798 + # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
40799 + tmake_file="$tmake_file $cpu_type/t-sol2"
40800 + extra_parts="gmon.o crtbegin.o crtend.o"
40801 + case ${host} in
40802 + i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
40803 + # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
40804 + # part of the base system.
40805 + ;;
40806 + sparc*-*-solaris2.1[0-9]*)
40807 + # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
40808 + extra_parts="$extra_parts crt1.o gcrt1.o"
40809 + ;;
40810 + *)
40811 + extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o"
40812 + ;;
40813 + esac
40814 + ;;
40815 +*-*-uclinux*)
40816 + extra_parts="crtbegin.o crtend.o"
40817 + ;;
40818 +*-*-*vms*)
40819 + tmake_file="vms/t-vms"
40820 + extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
40821 + ;;
40822 +*-*-vxworks*)
40823 + tmake_file=t-vxworks
40824 + ;;
40825 +*-*-elf)
40826 + extra_parts="crtbegin.o crtend.o"
40827 + ;;
40828 +esac
40830 +case ${host} in
40831 +*-*-darwin* | *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | \
40832 + *-*-solaris2*)
40833 + enable_execute_stack=enable-execute-stack-mprotect.c
40834 + ;;
40835 +i[34567]86-*-mingw* | x86_64-*-mingw*)
40836 + enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
40837 + ;;
40839 + enable_execute_stack=enable-execute-stack-empty.c;
40840 + ;;
40841 +esac
40843 +case ${host} in
40844 +aarch64*-*-elf)
40845 + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
40846 + extra_parts="$extra_parts crtfastmath.o"
40847 + tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
40848 + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
40849 + ;;
40850 +aarch64*-*-linux*)
40851 + extra_parts="$extra_parts crtfastmath.o"
40852 + md_unwind_header=aarch64/linux-unwind.h
40853 + tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
40854 + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
40855 + ;;
40856 +alpha*-*-linux*)
40857 + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
40858 + extra_parts="$extra_parts crtfastmath.o"
40859 + md_unwind_header=alpha/linux-unwind.h
40860 + ;;
40861 +alpha*-*-freebsd*)
40862 + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
40863 + extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
40864 + ;;
40865 +alpha*-*-netbsd*)
40866 + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
40867 + ;;
40868 +alpha*-*-openbsd*)
40869 + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
40870 + ;;
40871 +alpha64-dec-*vms*)
40872 + tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
40873 + extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
40874 + md_unwind_header=alpha/vms-unwind.h
40875 + ;;
40876 +alpha*-dec-*vms*)
40877 + tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
40878 + extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
40879 + md_unwind_header=alpha/vms-unwind.h
40880 + ;;
40881 +arc*-*-elf*)
40882 + tmake_file="arc/t-arc-newlib arc/t-arc"
40883 + extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o"
40884 + ;;
40885 +arc*-*-linux-uclibc*)
40886 + tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc700-uClibc arc/t-arc"
40887 + extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o"
40888 + ;;
40889 +arm-wrs-vxworks)
40890 + tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
40891 + extra_parts="$extra_parts crti.o crtn.o"
40892 + ;;
40893 +arm*-*-freebsd*) # ARM FreeBSD EABI
40894 + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
40895 + tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd t-slibgcc-libgcc"
40896 + tm_file="${tm_file} arm/bpabi-lib.h"
40897 + unwind_header=config/arm/unwind-arm.h
40898 + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
40899 + ;;
40900 +arm*-*-netbsdelf*)
40901 + tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
40902 + ;;
40903 +arm*-*-linux*) # ARM GNU/Linux with ELF
40904 + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
40905 + tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
40906 + tm_file="$tm_file arm/bpabi-lib.h"
40907 + unwind_header=config/arm/unwind-arm.h
40908 + tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
40909 + ;;
40910 +arm*-*-uclinux*) # ARM ucLinux
40911 + tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
40912 + tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
40913 + tmake_file="${tmake_file} arm/t-bpabi"
40914 + tm_file="$tm_file arm/bpabi-lib.h"
40915 + unwind_header=config/arm/unwind-arm.h
40916 + extra_parts="$extra_parts crti.o crtn.o"
40917 + ;;
40918 +arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
40919 + tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
40920 + tm_file="$tm_file arm/bpabi-lib.h"
40921 + case ${host} in
40922 + arm*-*-eabi* | arm*-*-rtems*)
40923 + tmake_file="${tmake_file} arm/t-bpabi"
40924 + extra_parts="crtbegin.o crtend.o crti.o crtn.o"
40925 + ;;
40926 + arm*-*-symbianelf*)
40927 + tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
40928 + tm_file="$tm_file arm/symbian-lib.h"
40929 + # Symbian OS provides its own startup code.
40930 + ;;
40931 + esac
40932 + tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
40933 + unwind_header=config/arm/unwind-arm.h
40934 + ;;
40935 +avr-*-rtems*)
40936 + tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit"
40937 + tm_file="$tm_file avr/avr-lib.h"
40938 + # Don't use default.
40939 + extra_parts=
40940 + ;;
40941 +avr-*-*)
40942 + # Make HImode functions for AVR
40943 + tmake_file="${cpu_type}/t-avr t-fpbit"
40944 + if test x${with_avrlibc} != xno; then
40945 + tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
40946 + fi
40947 + tm_file="$tm_file avr/avr-lib.h"
40948 + ;;
40949 +bfin*-elf*)
40950 + tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
40951 + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
40952 + ;;
40953 +bfin*-uclinux*)
40954 + tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
40955 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
40956 + md_unwind_header=bfin/linux-unwind.h
40957 + ;;
40958 +bfin*-linux-uclibc*)
40959 + tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
40960 + # No need to build crtbeginT.o on uClibc systems. Should probably
40961 + # be moved to the OS specific section above.
40962 + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
40963 + md_unwind_header=bfin/linux-unwind.h
40964 + ;;
40965 +bfin*-rtems*)
40966 + tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
40967 + extra_parts="$extra_parts crti.o crtn.o"
40968 + ;;
40969 +bfin*-*)
40970 + tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
40971 + extra_parts="crtbegin.o crtend.o crti.o crtn.o"
40972 + ;;
40973 +cr16-*-elf)
40974 + tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit"
40975 + extra_parts="$extra_parts crti.o crtn.o crtlibid.o"
40976 + ;;
40977 +crisv32-*-elf)
40978 + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp"
40979 + ;;
40980 +cris-*-elf)
40981 + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti"
40982 + ;;
40983 +cris-*-linux* | crisv32-*-linux*)
40984 + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux"
40985 + ;;
40986 +epiphany-*-elf*)
40987 + tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf"
40988 + extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o"
40989 + ;;
40990 +fr30-*-elf)
40991 + tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
40992 + extra_parts="$extra_parts crti.o crtn.o"
40993 + ;;
40994 +frv-*-elf)
40995 + tmake_file="$tmake_file frv/t-frv t-fdpbit"
40996 + tm_file="$tm_file frv/frv-abi.h"
40997 + # Don't use crtbegin.o, crtend.o.
40998 + extra_parts="frvbegin.o frvend.o"
40999 + ;;
41000 +frv-*-*linux*)
41001 + tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
41002 + tm_file="$tm_file frv/frv-abi.h"
41003 + ;;
41004 +h8300-*-rtems*)
41005 + tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
41006 + tm_file="$tm_file h8300/h8300-lib.h"
41007 + extra_parts="$extra_parts crti.o crtn.o"
41008 + ;;
41009 +h8300-*-elf*)
41010 + tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
41011 + tm_file="$tm_file h8300/h8300-lib.h"
41012 + extra_parts="$extra_parts crti.o crtn.o"
41013 + ;;
41014 +hppa*64*-*-linux*)
41015 + tmake_file="$tmake_file pa/t-linux pa/t-linux64"
41016 + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
41017 + ;;
41018 +hppa*-*-linux*)
41019 + tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
41020 + # Set the libgcc version number
41021 + if test x$enable_sjlj_exceptions = xyes; then
41022 + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
41023 + else
41024 + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
41025 + fi
41026 + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
41027 + md_unwind_header=pa/linux-unwind.h
41028 + ;;
41029 +hppa[12]*-*-hpux10*)
41030 + tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
41031 + # Set the libgcc version number
41032 + if test x$enable_sjlj_exceptions = xyes; then
41033 + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
41034 + else
41035 + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
41036 + fi
41037 + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
41038 + md_unwind_header=pa/hpux-unwind.h
41039 + ;;
41040 +hppa*64*-*-hpux11*)
41041 + tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc"
41042 + # Set the libgcc version number
41043 + if test x$enable_sjlj_exceptions = xyes; then
41044 + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
41045 + else
41046 + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
41047 + fi
41048 + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
41049 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
41050 + libgcc_stub.a"
41051 + md_unwind_header=pa/hpux-unwind.h
41052 + ;;
41053 +hppa[12]*-*-hpux11*)
41054 + tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
41055 + # Set the libgcc version number
41056 + if test x$enable_sjlj_exceptions = xyes; then
41057 + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
41058 + else
41059 + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
41060 + fi
41061 + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
41062 + extra_parts="libgcc_stub.a"
41063 + md_unwind_header=pa/hpux-unwind.h
41064 + ;;
41065 +hppa*-*-openbsd*)
41066 + tmake_file="$tmake_file pa/t-openbsd"
41067 + ;;
41068 +i[34567]86-*-darwin*)
41069 + tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
41070 + tm_file="$tm_file i386/darwin-lib.h"
41071 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41072 + ;;
41073 +x86_64-*-darwin*)
41074 + tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
41075 + tm_file="$tm_file i386/darwin-lib.h"
41076 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41077 + ;;
41078 +i[34567]86-*-elf*)
41079 + tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
41080 + ;;
41081 +x86_64-*-elf*)
41082 + tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
41083 + ;;
41084 +i[34567]86-*-dragonfly*)
41085 + tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
41086 + md_unwind_header=i386/dragonfly-unwind.h
41087 + ;;
41088 +x86_64-*-dragonfly*)
41089 + tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
41090 + md_unwind_header=i386/dragonfly-unwind.h
41091 + ;;
41092 +i[34567]86-*-freebsd*)
41093 + tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
41094 + ;;
41095 +x86_64-*-freebsd*)
41096 + tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
41097 + ;;
41098 +i[34567]86-*-netbsdelf*)
41099 + ;;
41100 +x86_64-*-netbsd*)
41101 + tmake_file="${tmake_file} i386/t-crtstuff"
41102 + ;;
41103 +i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
41104 + ;;
41105 +i[34567]86-*-openbsd*)
41106 + ;;
41107 +x86_64-*-openbsd*)
41108 + ;;
41109 +i[34567]86-*-linux*)
41110 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41111 + tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
41112 + tm_file="${tm_file} i386/elf-lib.h"
41113 + md_unwind_header=i386/linux-unwind.h
41114 + ;;
41115 +i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
41116 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41117 + tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
41118 + tm_file="${tm_file} i386/elf-lib.h"
41119 + ;;
41120 +x86_64-*-linux*)
41121 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41122 + tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
41123 + tm_file="${tm_file} i386/elf-lib.h"
41124 + md_unwind_header=i386/linux-unwind.h
41125 + ;;
41126 +x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
41127 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41128 + tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
41129 + tm_file="${tm_file} i386/elf-lib.h"
41130 + ;;
41131 +i[34567]86-pc-msdosdjgpp*)
41132 + ;;
41133 +i[34567]86-*-lynxos*)
41134 + ;;
41135 +i[34567]86-*-nto-qnx*)
41136 + tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
41137 + extra_parts=crtbegin.o
41138 + ;;
41139 +i[34567]86-*-rtems*)
41140 + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp"
41141 + extra_parts="$extra_parts crti.o crtn.o"
41142 + ;;
41143 +i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
41144 + tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
41145 + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
41146 + tm_file="${tm_file} i386/elf-lib.h"
41147 + md_unwind_header=i386/sol2-unwind.h
41148 + ;;
41149 +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
41150 + ;;
41151 +i[34567]86-*-cygwin*)
41152 + extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
41153 + if test x$enable_vtable_verify = xyes; then
41154 + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
41155 + fi
41156 + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
41157 + if test x$enable_sjlj_exceptions = xyes; then
41158 + tmake_eh_file="i386/t-sjlj-eh"
41159 + else
41160 + tmake_eh_file="i386/t-dw2-eh"
41161 + fi
41162 + # Shared libgcc DLL install dir depends on cross/native build.
41163 + if test x${build} = x${host} ; then
41164 + tmake_dlldir_file="i386/t-dlldir"
41165 + else
41166 + tmake_dlldir_file="i386/t-dlldir-x"
41167 + fi
41168 + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm i386/t-chkstk t-dfprules"
41169 + ;;
41170 +x86_64-*-cygwin*)
41171 + extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
41172 + if test x$enable_vtable_verify = xyes; then
41173 + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
41174 + fi
41175 + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
41176 + if test x$enable_sjlj_exceptions = xyes; then
41177 + tmake_eh_file="i386/t-sjlj-eh"
41178 + else
41179 + tmake_eh_file="i386/t-seh-eh"
41180 + fi
41181 + # Shared libgcc DLL install dir depends on cross/native build.
41182 + if test x${build} = x${host} ; then
41183 + tmake_dlldir_file="i386/t-dlldir"
41184 + else
41185 + tmake_dlldir_file="i386/t-dlldir-x"
41186 + fi
41187 + # FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that
41188 + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm t-dfprules i386/t-chkstk"
41189 + ;;
41190 +i[34567]86-*-mingw*)
41191 + extra_parts="crtbegin.o crtend.o crtfastmath.o"
41192 + if test x$enable_vtable_verify = xyes; then
41193 + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
41194 + fi
41195 + case ${target_thread_file} in
41196 + win32)
41197 + tmake_file="$tmake_file i386/t-gthr-win32"
41198 + ;;
41199 + posix)
41200 + tmake_file="i386/t-mingw-pthread $tmake_file"
41201 + ;;
41202 + esac
41203 + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
41204 + if test x$enable_sjlj_exceptions = xyes; then
41205 + tmake_eh_file="i386/t-sjlj-eh"
41206 + else
41207 + tmake_eh_file="i386/t-dw2-eh"
41208 + md_unwind_header=i386/w32-unwind.h
41209 + fi
41210 + # Shared libgcc DLL install dir depends on cross/native build.
41211 + if test x${build} = x${host} ; then
41212 + tmake_dlldir_file="i386/t-dlldir"
41213 + else
41214 + tmake_dlldir_file="i386/t-dlldir-x"
41215 + fi
41216 + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 i386/t-crtfm i386/t-chkstk t-dfprules"
41217 + ;;
41218 +x86_64-*-mingw*)
41219 + case ${target_thread_file} in
41220 + win32)
41221 + tmake_file="$tmake_file i386/t-gthr-win32"
41222 + ;;
41223 + posix)
41224 + tmake_file="i386/t-mingw-pthread $tmake_file"
41225 + ;;
41226 + esac
41227 + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
41228 + if test x$enable_sjlj_exceptions = xyes; then
41229 + tmake_eh_file="i386/t-sjlj-eh"
41230 + else
41231 + tmake_eh_file="i386/t-seh-eh"
41232 + fi
41233 + # Shared libgcc DLL install dir depends on cross/native build.
41234 + if test x${build} = x${host} ; then
41235 + tmake_dlldir_file="i386/t-dlldir"
41236 + else
41237 + tmake_dlldir_file="i386/t-dlldir-x"
41238 + fi
41239 + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk"
41240 + extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.o"
41241 + if test x$enable_vtable_verify = xyes; then
41242 + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
41243 + fi
41244 + ;;
41245 +i[34567]86-*-interix[3-9]*)
41246 + tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
41247 + ;;
41248 +ia64*-*-elf*)
41249 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
41250 + tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
41251 + ;;
41252 +ia64*-*-freebsd*)
41253 + extra_parts="$extra_parts crtfastmath.o"
41254 + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
41255 + ;;
41256 +ia64*-*-linux*)
41257 + # Don't use crtbeginT.o from *-*-linux* default.
41258 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
41259 + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat ia64/t-eh-ia64 t-libunwind ia64/t-linux"
41260 + if test x$with_system_libunwind != xyes ; then
41261 + tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
41262 + fi
41263 + md_unwind_header=ia64/linux-unwind.h
41264 + ;;
41265 +ia64*-*-hpux*)
41266 + tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
41267 + ;;
41268 +ia64-hp-*vms*)
41269 + tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
41270 + extra_parts="$extra_parts crtinitS.o"
41271 + md_unwind_header=ia64/vms-unwind.h
41272 + ;;
41273 +iq2000*-*-elf*)
41274 + tmake_file="iq2000/t-iq2000 t-fdpbit"
41275 + # Don't use default.
41276 + extra_parts=
41277 + ;;
41278 +lm32-*-elf*)
41279 + extra_parts="$extra_parts crti.o crtn.o"
41280 + tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
41281 + ;;
41282 +lm32-*-rtems*)
41283 + tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
41284 + extra_parts="$extra_parts crti.o crtn.o"
41285 + ;;
41286 +lm32-*-uclinux*)
41287 + extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
41288 + tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
41289 + ;;
41290 +m32r-*-elf*)
41291 + tmake_file=t-fdpbit
41292 + ;;
41293 +m32r-*-rtems*)
41294 + tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
41295 + extra_parts="$extra_parts crtinit.o crtfini.o"
41296 + ;;
41297 +m32rle-*-elf*)
41298 + tmake_file=t-fdpbit
41299 + ;;
41300 +m32r-*-linux*)
41301 + tmake_file="$tmake_file m32r/t-linux t-fdpbit"
41302 + ;;
41303 +m32rle-*-linux*)
41304 + tmake_file="$tmake_file m32r/t-linux t-fdpbit"
41305 + ;;
41306 +m68k-*-elf* | fido-*-elf)
41307 + tmake_file="$tmake_file m68k/t-floatlib"
41308 + ;;
41309 +m68k*-*-netbsdelf*)
41310 + ;;
41311 +m68k*-*-openbsd*)
41312 + ;;
41313 +m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
41314 + tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
41315 + md_unwind_header=m68k/linux-unwind.h
41316 + ;;
41317 +m68k-*-linux*) # Motorola m68k's running GNU/Linux
41318 + # with ELF format using glibc 2
41319 + # aka the GNU/Linux C library 6.
41320 + tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
41321 + # If not configured with --enable-sjlj-exceptions, bump the
41322 + # libgcc version number.
41323 + if test x$enable_sjlj_exceptions != xyes; then
41324 + tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
41325 + fi
41326 + md_unwind_header=m68k/linux-unwind.h
41327 + ;;
41328 +m68k-*-rtems*)
41329 + tmake_file="$tmake_file m68k/t-floatlib"
41330 + extra_parts="$extra_parts crti.o crtn.o"
41331 + ;;
41332 +mcore-*-elf)
41333 + tmake_file="mcore/t-mcore t-fdpbit"
41334 + extra_parts="$extra_parts crti.o crtn.o"
41335 + ;;
41336 +microblaze*-linux*)
41337 + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc"
41338 + ;;
41339 +microblaze*-*-elf)
41340 + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
41341 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
41342 + ;;
41343 +microblaze*-*-rtems*)
41344 + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
41345 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
41346 + ;;
41347 +mips*-*-netbsd*) # NetBSD/mips, either endian.
41348 + ;;
41349 +mips*-*-linux*) # Linux MIPS, either endian.
41350 + extra_parts="$extra_parts crtfastmath.o"
41351 + tmake_file="${tmake_file} t-crtfm"
41352 + case ${host} in
41353 + mips64r5900* | mipsr5900*)
41354 + # The MIPS16 support code uses floating point
41355 + # instructions that are not supported on r5900.
41356 + ;;
41357 + *)
41358 + tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc"
41359 + ;;
41360 + esac
41361 + md_unwind_header=mips/linux-unwind.h
41362 + ;;
41363 +mips*-sde-elf*)
41364 + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
41365 + case "${with_newlib}" in
41366 + yes)
41367 + # newlib / libgloss.
41368 + ;;
41369 + *)
41370 + # MIPS toolkit libraries.
41371 + tmake_file="$tmake_file mips/t-sdemtk"
41372 + ;;
41373 + esac
41374 + extra_parts="$extra_parts crti.o crtn.o"
41375 + ;;
41376 +mipsisa32-*-elf* | mipsisa32el-*-elf* | \
41377 +mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
41378 +mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
41379 +mipsisa64-*-elf* | mipsisa64el-*-elf* | \
41380 +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
41381 +mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
41382 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
41383 + extra_parts="$extra_parts crti.o crtn.o"
41384 + ;;
41385 +mipsisa64sr71k-*-elf*)
41386 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit"
41387 + extra_parts="$extra_parts crti.o crtn.o"
41388 + ;;
41389 +mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
41390 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
41391 + extra_parts="$extra_parts crti.o crtn.o"
41392 + ;;
41393 +mips-*-elf* | mipsel-*-elf*)
41394 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
41395 + extra_parts="$extra_parts crti.o crtn.o"
41396 + ;;
41397 +mipsr5900-*-elf* | mipsr5900el-*-elf*)
41398 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
41399 + extra_parts="$extra_parts crti.o crtn.o"
41400 + ;;
41401 +mips64-*-elf* | mips64el-*-elf*)
41402 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
41403 + extra_parts="$extra_parts crti.o crtn.o"
41404 + ;;
41405 +mips64r5900-*-elf* | mips64r5900el-*-elf*)
41406 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
41407 + extra_parts="$extra_parts crti.o crtn.o"
41408 + ;;
41409 +mips64vr-*-elf* | mips64vrel-*-elf*)
41410 + tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
41411 + extra_parts="$extra_parts crti.o crtn.o"
41412 + ;;
41413 +mips64orion-*-elf* | mips64orionel-*-elf*)
41414 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
41415 + extra_parts="$extra_parts crti.o crtn.o"
41416 + ;;
41417 +mips*-*-rtems*)
41418 + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
41419 + extra_parts="$extra_parts crti.o crtn.o"
41420 + ;;
41421 +mips-wrs-vxworks)
41422 + ;;
41423 +mipstx39-*-elf* | mipstx39el-*-elf*)
41424 + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
41425 + ;;
41426 +mmix-knuth-mmixware)
41427 + extra_parts="crti.o crtn.o crtbegin.o crtend.o"
41428 + tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
41429 + ;;
41430 +mn10300-*-*)
41431 + tmake_file=t-fdpbit
41432 + ;;
41433 +moxie-*-elf | moxie-*-moxiebox* | moxie-*-uclinux*)
41434 + tmake_file="moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
41435 + extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o"
41436 + ;;
41437 +moxie-*-rtems*)
41438 + tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
41439 + # Don't use default.
41440 + extra_parts=
41441 + ;;
41442 +msp430*-*-elf)
41443 + tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430"
41444 + ;;
41445 +nds32*-elf*)
41446 + # Basic makefile fragment and extra_parts for crt stuff.
41447 + # We also append c-isr library implementation.
41448 + tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr"
41449 + extra_parts="crtbegin1.o crtend1.o libnds32_isr.a"
41450 + # Append library definition makefile fragment according to --with-nds32-lib=X setting.
41451 + case "${with_nds32_lib}" in
41452 + "" | newlib)
41453 + # Append library definition makefile fragment t-nds32-newlib.
41454 + # Append 'soft-fp' software floating point make rule fragment provided by gcc.
41455 + tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp"
41456 + ;;
41457 + mculib)
41458 + # Append library definition makefile fragment t-nds32-mculib.
41459 + # The software floating point library is included in mculib.
41460 + tmake_file="${tmake_file} nds32/t-nds32-mculib"
41461 + ;;
41462 + *)
41463 + echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
41464 + exit 1
41465 + ;;
41466 + esac
41467 + ;;
41468 +nios2-*-linux*)
41469 + tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
41470 + extra_parts="$extra_parts crti.o crtn.o"
41471 + md_unwind_header=nios2/linux-unwind.h
41472 + ;;
41473 +nios2-*-*)
41474 + tmake_file="$tmake_file nios2/t-nios2 t-softfp-sfdf t-softfp-excl t-softfp"
41475 + extra_parts="$extra_parts crti.o crtn.o"
41476 + ;;
41477 +pdp11-*-*)
41478 + tmake_file="pdp11/t-pdp11 t-fdpbit"
41479 + ;;
41480 +powerpc-*-darwin*)
41481 + case ${host} in
41482 + *-*-darwin9* | *-*-darwin[12][0-9]*)
41483 + # libSystem contains unwind information for signal frames since
41484 + # Darwin 9.
41485 + ;;
41486 + *)
41487 + md_unwind_header=rs6000/darwin-unwind.h
41488 + ;;
41489 + esac
41490 + tmake_file="$tmake_file rs6000/t-ibm-ldouble"
41491 + extra_parts="$extra_parts crt2.o"
41492 + ;;
41493 +powerpc64-*-darwin*)
41494 + tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
41495 + extra_parts="$extra_parts crt2.o"
41496 + ;;
41497 +powerpc*-*-freebsd*)
41498 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp"
41499 + extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41500 + case ${host} in
41501 + powerpc64*)
41502 + tmake_file="${tmake_file} rs6000/t-freebsd64"
41503 + md_unwind_header=rs6000/freebsd-unwind.h
41504 + ;;
41505 + esac
41506 + ;;
41507 +powerpc-*-netbsd*)
41508 + tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
41509 + ;;
41510 +powerpc-*-eabispe*)
41511 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41512 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41513 + ;;
41514 +powerpc-*-eabisimaltivec*)
41515 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41516 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41517 + ;;
41518 +powerpc-*-eabisim*)
41519 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41520 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41521 + ;;
41522 +powerpc-*-elf*)
41523 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41524 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41525 + ;;
41526 +powerpc-*-eabialtivec*)
41527 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41528 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41529 + ;;
41530 +powerpc-xilinx-eabi*)
41531 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41532 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41533 + ;;
41534 +powerpc-*-eabi*)
41535 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41536 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41537 + ;;
41538 +powerpc-*-rtems*)
41539 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41540 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41541 + ;;
41542 +powerpc*-*-linux*)
41543 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc"
41544 + case $ppc_fp_type in
41545 + 64)
41546 + ;;
41547 + hard)
41548 + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
41549 + ;;
41550 + soft)
41551 + tmake_file="${tmake_file} t-softfp-sfdf ${ppc_fp_compat} t-softfp"
41552 + ;;
41553 + e500v1)
41554 + tmake_file="${tmake_file} rs6000/t-e500v1-fp ${ppc_fp_compat} t-softfp t-hardfp"
41555 + ;;
41556 + e500v2)
41557 + tmake_file="${tmake_file} t-hardfp-sfdf rs6000/t-e500v2-fp ${ppc_fp_compat} t-softfp t-hardfp"
41558 + ;;
41559 + *)
41560 + echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
41561 + exit 1
41562 + ;;
41563 + esac
41564 + extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
41565 + md_unwind_header=rs6000/linux-unwind.h
41566 + ;;
41567 +powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
41568 + tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
41569 + ;;
41570 +powerpc-*-lynxos*)
41571 + tmake_file="$tmake_file rs6000/t-lynx t-fdpbit"
41572 + ;;
41573 +powerpcle-*-elf*)
41574 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41575 + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41576 + ;;
41577 +powerpcle-*-eabisim*)
41578 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41579 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41580 + ;;
41581 +powerpcle-*-eabi*)
41582 + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
41583 + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
41584 + ;;
41585 +rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
41586 + md_unwind_header=rs6000/aix-unwind.h
41587 + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
41588 + ;;
41589 +rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
41590 + md_unwind_header=rs6000/aix-unwind.h
41591 + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
41592 + ;;
41593 +rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
41594 + md_unwind_header=rs6000/aix-unwind.h
41595 + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa"
41596 + extra_parts="crtcxa.o crtcxa_s.o"
41597 + ;;
41598 +rl78-*-elf)
41599 + tmake_file="$tm_file t-fdpbit rl78/t-rl78"
41600 + ;;
41601 +rx-*-elf)
41602 + tmake_file="rx/t-rx t-fdpbit"
41603 + tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h"
41604 + ;;
41605 +s390-*-linux*)
41606 + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
41607 + md_unwind_header=s390/linux-unwind.h
41608 + ;;
41609 +s390x-*-linux*)
41610 + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
41611 + if test "${host_address}" = 32; then
41612 + tmake_file="${tmake_file} s390/32/t-floattodi"
41613 + fi
41614 + md_unwind_header=s390/linux-unwind.h
41615 + ;;
41616 +s390x-ibm-tpf*)
41617 + tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
41618 + extra_parts="crtbeginS.o crtendS.o"
41619 + md_unwind_header=s390/tpf-unwind.h
41620 + ;;
41621 +sh-*-elf* | sh[12346l]*-*-elf*)
41622 + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
41623 + extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
41624 + libic_invalidate_array_4-100.a \
41625 + libic_invalidate_array_4-200.a \
41626 + libic_invalidate_array_4a.a \
41627 + libgcc-Os-4-200.a libgcc-4-300.a"
41628 + case ${host} in sh64*-*-*)
41629 + tmake_file="$tmake_file sh/t-sh64"
41630 + ;;
41631 + esac
41632 + case ${host} in
41633 + sh*-superh-elf)
41634 + tmake_file="$tmake_file sh/t-superh"
41635 + extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o"
41636 + ;;
41637 + esac
41638 + ;;
41639 +sh-*-linux* | sh[2346lbe]*-*-linux*)
41640 + tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
41641 + case ${host} in sh64*-*-linux*)
41642 + tmake_file="$tmake_file sh/t-sh64"
41643 + ;;
41644 + esac
41645 + md_unwind_header=sh/linux-unwind.h
41646 + ;;
41647 +sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
41648 + sh64-*-netbsd* | sh64l*-*-netbsd*)
41649 + tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
41650 + case ${host} in
41651 + sh5*-*-netbsd* | sh64*-netbsd*)
41652 + tmake_file="$tmake_file sh/t-sh64"
41653 + ;;
41654 + esac
41655 + # NetBSD's C library includes a fast software FP library that
41656 + # has support for setting/setting the rounding mode, exception
41657 + # mask, etc. Therefore, we don't want to include software FP
41658 + # in libgcc.
41659 + ;;
41660 +sh-*-rtems*)
41661 + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
41662 + extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
41663 + libic_invalidate_array_4-100.a \
41664 + libic_invalidate_array_4-200.a \
41665 + libic_invalidate_array_4a.a \
41666 + libgcc-Os-4-200.a libgcc-4-300.a"
41667 + ;;
41668 +sh-wrs-vxworks)
41669 + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
41670 + ;;
41671 +sparc-*-netbsdelf*)
41672 + ;;
41673 +sparc64-*-openbsd*)
41674 + ;;
41675 +sparc-*-elf*)
41676 + case ${host} in
41677 + *-leon[3-9]*)
41678 + ;;
41679 + *)
41680 + tmake_file="sparc/t-softmul"
41681 + ;;
41682 + esac
41683 + tmake_file="${tmake_file} t-fdpbit t-crtfm"
41684 + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
41685 + ;;
41686 +sparc-*-linux*) # SPARC's running GNU/Linux, libc6
41687 + tmake_file="${tmake_file} t-crtfm"
41688 + if test "${host_address}" = 64; then
41689 + tmake_file="$tmake_file sparc/t-linux64"
41690 + fi
41691 + case ${host} in
41692 + *-leon*)
41693 + tmake_file="${tmake_file} t-fdpbit"
41694 + ;;
41695 + *)
41696 + tmake_file="${tmake_file} sparc/t-linux"
41697 + ;;
41698 + esac
41699 + case ${host} in
41700 + *-leon[3-9]*)
41701 + ;;
41702 + *)
41703 + if test "${host_address}" = 32; then
41704 + tmake_file="$tmake_file sparc/t-softmul"
41705 + fi
41706 + ;;
41707 + esac
41708 + extra_parts="$extra_parts crtfastmath.o"
41709 + md_unwind_header=sparc/linux-unwind.h
41710 + ;;
41711 +sparc-*-rtems*)
41712 + tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit"
41713 + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
41714 + ;;
41715 +sparc*-*-solaris2*)
41716 + tmake_file="$tmake_file t-crtfm"
41717 + extra_parts="$extra_parts crtfastmath.o"
41718 + md_unwind_header=sparc/sol2-unwind.h
41719 + ;;
41720 +sparc64-*-elf*)
41721 + tmake_file="${tmake_file} t-crtfm"
41722 + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
41723 + ;;
41724 +sparc64-*-rtems*)
41725 + tmake_file="$tmake_file t-crtfm"
41726 + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
41727 + ;;
41728 +sparc-wrs-vxworks)
41729 + ;;
41730 +sparc64-*-freebsd*|ultrasparc-*-freebsd*)
41731 + tmake_file="$tmake_file t-crtfm"
41732 + extra_parts="$extra_parts crtfastmath.o"
41733 + ;;
41734 +sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
41735 + extra_parts="$extra_parts crtfastmath.o"
41736 + tmake_file="${tmake_file} t-crtfm sparc/t-linux"
41737 + if test "${host_address}" = 64; then
41738 + tmake_file="${tmake_file} sparc/t-linux64"
41739 + fi
41740 + if test "${host_address}" = 32; then
41741 + tmake_file="${tmake_file} sparc/t-softmul"
41742 + fi
41743 + md_unwind_header=sparc/linux-unwind.h
41744 + ;;
41745 +sparc64-*-netbsd*)
41746 + ;;
41747 +spu-*-elf*)
41748 + tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
41749 + extra_parts="$extra_parts \
41750 + libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
41751 + libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
41752 + libgcc_cache64k.a libgcc_cache128k.a"
41753 + ;;
41754 +tic6x-*-uclinux)
41755 + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \
41756 + c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \
41757 + t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
41758 + tm_file="$tm_file c6x/c6x-abi.h"
41759 + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
41760 + unwind_header=config/c6x/unwind-c6x.h
41761 + ;;
41762 +tic6x-*-elf)
41763 + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf"
41764 + tm_file="$tm_file c6x/c6x-abi.h"
41765 + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
41766 + unwind_header=config/c6x/unwind-c6x.h
41767 + ;;
41768 +tilegx*-*-linux*)
41769 + tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf tilegx/t-softfp t-softfp tilegx/t-tilegx"
41770 + md_unwind_header=tilepro/linux-unwind.h
41771 + ;;
41772 +tilepro*-*-linux*)
41773 + tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro"
41774 + md_unwind_header=tilepro/linux-unwind.h
41775 + ;;
41776 +v850*-*-*)
41777 + tmake_file="${tmake_file} v850/t-v850 t-fdpbit"
41778 + ;;
41779 +vax-*-linux*)
41780 + tmake_file="$tmake_file vax/t-linux"
41781 + ;;
41782 +vax-*-netbsdelf*)
41783 + ;;
41784 +vax-*-openbsd*)
41785 + ;;
41786 +visium-*-elf*)
41787 + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
41788 + tmake_file="visium/t-visium t-fdpbit"
41789 + ;;
41790 +xstormy16-*-elf)
41791 + tmake_file="stormy16/t-stormy16 t-fdpbit"
41792 + ;;
41793 +xtensa*-*-elf*)
41794 + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
41795 + extra_parts="$extra_parts crti.o crtn.o"
41796 + ;;
41797 +xtensa*-*-linux*)
41798 + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
41799 + md_unwind_header=xtensa/linux-unwind.h
41800 + ;;
41801 +am33_2.0-*-linux*)
41802 + # Don't need crtbeginT.o from *-*-linux* default.
41803 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
41804 + tmake_file="$tmake_file t-fdpbit"
41805 + ;;
41806 +m32c-*-elf*|m32c-*-rtems*)
41807 + tmake_file="$tmake_file m32c/t-m32c"
41808 + ;;
41809 +mep*-*-*)
41810 + tmake_file="mep/t-mep t-fdpbit"
41811 + extra_parts="crtbegin.o crtend.o"
41812 + ;;
41813 +nvptx-*)
41814 + tmake_file="$tmake_file nvptx/t-nvptx"
41815 + extra_parts="crt0.o"
41816 + ;;
41818 + echo "*** Configuration ${host} not supported" 1>&2
41819 + exit 1
41820 + ;;
41821 +esac
41823 +case ${host} in
41824 +i[34567]86-*-* | x86_64-*-*)
41825 + tmake_file="${tmake_file} i386/t-cpuinfo"
41826 + ;;
41827 +esac
41829 +case ${host} in
41830 +i[34567]86-*-linux* | x86_64-*-linux* | \
41831 + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
41832 + i[34567]86-*-knetbsd*-gnu | \
41833 + i[34567]86-*-gnu*)
41834 + tmake_file="${tmake_file} t-tls i386/t-linux"
41835 + if test "$libgcc_cv_cfi" = "yes"; then
41836 + tmake_file="${tmake_file} t-stack i386/t-stack-i386"
41837 + fi
41838 + ;;
41839 +esac
41841 +case ${host} in
41842 +i[34567]86-*-darwin* | x86_64-*-darwin* | \
41843 + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
41844 + i[34567]86-*-linux* | x86_64-*-linux* | \
41845 + i[34567]86-*-gnu* | \
41846 + i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
41847 + i[34567]86-*-cygwin* | x86_64-*-cygwin* | \
41848 + i[34567]86-*-mingw* | x86_64-*-mingw* | \
41849 + i[34567]86-*-dragonfly* | x86_64-*-dragonfly* | \
41850 + i[34567]86-*-freebsd* | x86_64-*-freebsd* | \
41851 + i[34567]86-*-openbsd* | x86_64-*-openbsd*)
41852 + tmake_file="${tmake_file} t-softfp-tf"
41853 + if test "${host_address}" = 32; then
41854 + tmake_file="${tmake_file} i386/${host_address}/t-softfp"
41855 + fi
41856 + tmake_file="${tmake_file} i386/t-softfp t-softfp"
41857 + ;;
41858 +esac
41860 +case ${host} in
41861 +i[34567]86-*-linux* | x86_64-*-linux*)
41862 + # Provide backward binary compatibility for 64bit Linux/x86.
41863 + if test "${host_address}" = 64; then
41864 + tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
41865 + fi
41866 + tm_file="${tm_file} i386/value-unwind.h"
41867 + ;;
41868 +esac
41869 diff -ruN gcc-5-20150222/libgcc/gthr.h gcc-5-20150222.aros/libgcc/gthr.h
41870 --- gcc-5-20150222/libgcc/gthr.h 2015-01-05 12:33:28.000000000 +0000
41871 +++ gcc-5-20150222.aros/libgcc/gthr.h 2015-02-23 08:11:04.769837296 +0000
41872 @@ -141,6 +141,11 @@
41873 #define GTHREAD_USE_WEAK 0
41874 #endif
41876 +#ifdef __AROS__
41877 +#undef GTHREAD_USE_WEAK
41878 +#define GTHREAD_USE_WEAK 0
41879 +#endif
41881 #ifndef GTHREAD_USE_WEAK
41882 #define GTHREAD_USE_WEAK 1
41883 #endif
41884 diff -ruN gcc-5-20150222/libgcc/unwind-dw2-fde.c gcc-5-20150222.aros/libgcc/unwind-dw2-fde.c
41885 --- gcc-5-20150222/libgcc/unwind-dw2-fde.c 2015-01-05 12:33:28.000000000 +0000
41886 +++ gcc-5-20150222.aros/libgcc/unwind-dw2-fde.c 2015-02-23 08:11:04.769837296 +0000
41887 @@ -92,12 +92,16 @@
41888 #endif
41890 init_object_mutex_once ();
41891 +#ifndef __AROS__ /* This is called when SysBase is not yet set up */
41892 __gthread_mutex_lock (&object_mutex);
41893 +#endif
41895 ob->next = unseen_objects;
41896 unseen_objects = ob;
41898 +#ifndef __AROS__
41899 __gthread_mutex_unlock (&object_mutex);
41900 +#endif
41903 void
41904 diff -ruN gcc-5-20150222/libiberty/filename_cmp.c gcc-5-20150222.aros/libiberty/filename_cmp.c
41905 --- gcc-5-20150222/libiberty/filename_cmp.c 2014-11-11 23:33:25.000000000 +0000
41906 +++ gcc-5-20150222.aros/libiberty/filename_cmp.c 2015-02-23 08:11:04.769837296 +0000
41907 @@ -55,9 +55,12 @@
41909 filename_cmp (const char *s1, const char *s2)
41911 -#if !defined(HAVE_DOS_BASED_FILE_SYSTEM) \
41912 - && !defined(HAVE_CASE_INSENSITIVE_FILE_SYSTEM)
41913 +#if !defined(HAVE_DOS_BASED_FILE_SYSTEM)
41914 +#if defined(HAVE_CASE_INSENSITIVE_FILE_SYSTEM)
41915 + return strcasecmp(s1, s2);
41916 +#else
41917 return strcmp(s1, s2);
41918 +#endif
41919 #else
41920 for (;;)
41922 diff -ruN gcc-5-20150222/libobjc/configure gcc-5-20150222.aros/libobjc/configure
41923 --- gcc-5-20150222/libobjc/configure 2015-02-22 22:32:58.000000000 +0000
41924 +++ gcc-5-20150222.aros/libobjc/configure 2015-02-23 08:11:04.769837296 +0000
41925 @@ -11256,214 +11256,7 @@
41926 # -----------
41928 # Check if we have thread-local storage
41931 - # Check whether --enable-tls was given.
41932 -if test "${enable_tls+set}" = set; then :
41933 - enableval=$enable_tls;
41934 - case "$enableval" in
41935 - yes|no) ;;
41936 - *) as_fn_error "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
41937 - esac
41939 -else
41940 - enable_tls=yes
41944 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
41945 -$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
41946 -if test "${gcc_cv_have_tls+set}" = set; then :
41947 - $as_echo_n "(cached) " >&6
41948 -else
41950 - if test "$cross_compiling" = yes; then :
41951 - if test x$gcc_no_link = xyes; then
41952 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
41954 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
41955 -/* end confdefs.h. */
41956 -__thread int a; int b; int main() { return a = b; }
41957 -_ACEOF
41958 -if ac_fn_c_try_link "$LINENO"; then :
41959 - chktls_save_LDFLAGS="$LDFLAGS"
41960 - case $host in
41961 - *-*-linux*)
41962 - LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
41963 - ;;
41964 - esac
41965 - chktls_save_CFLAGS="$CFLAGS"
41966 - CFLAGS="-fPIC $CFLAGS"
41967 - if test x$gcc_no_link = xyes; then
41968 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
41970 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
41971 -/* end confdefs.h. */
41972 -int f() { return 0; }
41973 -_ACEOF
41974 -if ac_fn_c_try_link "$LINENO"; then :
41975 - if test x$gcc_no_link = xyes; then
41976 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
41978 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
41979 -/* end confdefs.h. */
41980 -__thread int a; int b; int f() { return a = b; }
41981 -_ACEOF
41982 -if ac_fn_c_try_link "$LINENO"; then :
41983 - gcc_cv_have_tls=yes
41984 -else
41985 - gcc_cv_have_tls=no
41987 -rm -f core conftest.err conftest.$ac_objext \
41988 - conftest$ac_exeext conftest.$ac_ext
41989 -else
41990 - gcc_cv_have_tls=yes
41992 -rm -f core conftest.err conftest.$ac_objext \
41993 - conftest$ac_exeext conftest.$ac_ext
41994 - CFLAGS="$chktls_save_CFLAGS"
41995 - LDFLAGS="$chktls_save_LDFLAGS"
41996 -else
41997 - gcc_cv_have_tls=no
41999 -rm -f core conftest.err conftest.$ac_objext \
42000 - conftest$ac_exeext conftest.$ac_ext
42003 -else
42004 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
42005 -/* end confdefs.h. */
42006 -__thread int a; int b; int main() { return a = b; }
42007 -_ACEOF
42008 -if ac_fn_c_try_run "$LINENO"; then :
42009 - chktls_save_LDFLAGS="$LDFLAGS"
42010 - LDFLAGS="-static $LDFLAGS"
42011 - if test x$gcc_no_link = xyes; then
42012 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
42014 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
42015 -/* end confdefs.h. */
42016 -int main() { return 0; }
42017 -_ACEOF
42018 -if ac_fn_c_try_link "$LINENO"; then :
42019 - if test "$cross_compiling" = yes; then :
42020 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
42021 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
42022 -as_fn_error "cannot run test program while cross compiling
42023 -See \`config.log' for more details." "$LINENO" 5; }
42024 -else
42025 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
42026 -/* end confdefs.h. */
42027 -__thread int a; int b; int main() { return a = b; }
42028 -_ACEOF
42029 -if ac_fn_c_try_run "$LINENO"; then :
42030 - gcc_cv_have_tls=yes
42031 -else
42032 - gcc_cv_have_tls=no
42034 -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
42035 - conftest.$ac_objext conftest.beam conftest.$ac_ext
42038 -else
42039 - gcc_cv_have_tls=yes
42041 -rm -f core conftest.err conftest.$ac_objext \
42042 - conftest$ac_exeext conftest.$ac_ext
42043 - LDFLAGS="$chktls_save_LDFLAGS"
42044 - if test $gcc_cv_have_tls = yes; then
42045 - chktls_save_CFLAGS="$CFLAGS"
42046 - thread_CFLAGS=failed
42047 - for flag in '' '-pthread' '-lpthread'; do
42048 - CFLAGS="$flag $chktls_save_CFLAGS"
42049 - if test x$gcc_no_link = xyes; then
42050 - as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
42052 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
42053 -/* end confdefs.h. */
42054 -#include <pthread.h>
42055 - void *g(void *d) { return NULL; }
42056 -int
42057 -main ()
42059 -pthread_t t; pthread_create(&t,NULL,g,NULL);
42061 - return 0;
42063 -_ACEOF
42064 -if ac_fn_c_try_link "$LINENO"; then :
42065 - thread_CFLAGS="$flag"
42067 -rm -f core conftest.err conftest.$ac_objext \
42068 - conftest$ac_exeext conftest.$ac_ext
42069 - if test "X$thread_CFLAGS" != Xfailed; then
42070 - break
42071 - fi
42072 - done
42073 - CFLAGS="$chktls_save_CFLAGS"
42074 - if test "X$thread_CFLAGS" != Xfailed; then
42075 - CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
42076 - if test "$cross_compiling" = yes; then :
42077 - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
42078 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
42079 -as_fn_error "cannot run test program while cross compiling
42080 -See \`config.log' for more details." "$LINENO" 5; }
42081 -else
42082 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
42083 -/* end confdefs.h. */
42084 -#include <pthread.h>
42085 - __thread int a;
42086 - static int *volatile a_in_other_thread;
42087 - static void *
42088 - thread_func (void *arg)
42090 - a_in_other_thread = &a;
42091 - return (void *)0;
42093 -int
42094 -main ()
42096 -pthread_t thread;
42097 - void *thread_retval;
42098 - int *volatile a_in_main_thread;
42099 - a_in_main_thread = &a;
42100 - if (pthread_create (&thread, (pthread_attr_t *)0,
42101 - thread_func, (void *)0))
42102 - return 0;
42103 - if (pthread_join (thread, &thread_retval))
42104 - return 0;
42105 - return (a_in_other_thread == a_in_main_thread);
42107 - return 0;
42109 -_ACEOF
42110 -if ac_fn_c_try_run "$LINENO"; then :
42111 - gcc_cv_have_tls=yes
42112 -else
42113 - gcc_cv_have_tls=no
42115 -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
42116 - conftest.$ac_objext conftest.beam conftest.$ac_ext
42119 - CFLAGS="$chktls_save_CFLAGS"
42120 - fi
42121 - fi
42122 -else
42123 - gcc_cv_have_tls=no
42125 -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
42126 - conftest.$ac_objext conftest.beam conftest.$ac_ext
42130 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
42131 -$as_echo "$gcc_cv_have_tls" >&6; }
42132 - if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
42134 -$as_echo "#define HAVE_TLS 1" >>confdefs.h
42136 - fi
42137 +#dnl GCC_ENABLE_TLS
42139 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exception model to use" >&5
42140 $as_echo_n "checking for exception model to use... " >&6; }
42141 diff -ruN gcc-5-20150222/libobjc/configure.ac gcc-5-20150222.aros/libobjc/configure.ac
42142 --- gcc-5-20150222/libobjc/configure.ac 2015-01-05 12:33:28.000000000 +0000
42143 +++ gcc-5-20150222.aros/libobjc/configure.ac 2015-02-23 08:11:04.769837296 +0000
42144 @@ -210,7 +210,7 @@
42145 # -----------
42147 # Check if we have thread-local storage
42148 -GCC_CHECK_TLS
42149 +dnl GCC_CHECK_TLS
42151 AC_MSG_CHECKING([for exception model to use])
42152 AC_LANG_PUSH(C)
42153 diff -ruN gcc-5-20150222/libobjc/thr.c gcc-5-20150222.aros/libobjc/thr.c
42154 --- gcc-5-20150222/libobjc/thr.c 2015-02-05 09:41:44.000000000 +0000
42155 +++ gcc-5-20150222.aros/libobjc/thr.c 2015-02-23 08:11:04.769837296 +0000
42156 @@ -35,6 +35,7 @@
42157 #include "objc/runtime.h"
42158 #include "objc-private/module-abi-8.h"
42159 #include "objc-private/runtime.h"
42160 +#define __typedef_BOOL /* Remove definition of BOOL */
42161 #include <gthr.h>
42163 #include <stdlib.h>
42164 diff -ruN gcc-5-20150222/libobjc/thr.c.orig gcc-5-20150222.aros/libobjc/thr.c.orig
42165 --- gcc-5-20150222/libobjc/thr.c.orig 1970-01-01 01:00:00.000000000 +0100
42166 +++ gcc-5-20150222.aros/libobjc/thr.c.orig 2015-02-23 08:11:04.769837296 +0000
42167 @@ -0,0 +1,543 @@
42168 +/* GNU Objective C Runtime Thread Interface
42169 + Copyright (C) 1996-2015 Free Software Foundation, Inc.
42170 + Contributed by Galen C. Hunt (gchunt@cs.rochester.edu)
42172 +This file is part of GCC.
42174 +GCC is free software; you can redistribute it and/or modify it under the
42175 +terms of the GNU General Public License as published by the Free Software
42176 +Foundation; either version 3, or (at your option) any later version.
42178 +GCC is distributed in the hope that it will be useful, but WITHOUT ANY
42179 +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
42180 +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
42181 +details.
42183 +Under Section 7 of GPL version 3, you are granted additional
42184 +permissions described in the GCC Runtime Library Exception, version
42185 +3.1, as published by the Free Software Foundation.
42187 +You should have received a copy of the GNU General Public License and
42188 +a copy of the GCC Runtime Library Exception along with this program;
42189 +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
42190 +<http://www.gnu.org/licenses/>. */
42192 +#include "objc-private/common.h"
42193 +#include "objc-private/error.h"
42194 +#define _LIBOBJC
42195 +#include "config.h"
42196 +#include "tconfig.h"
42197 +#include "coretypes.h"
42198 +#include "tm.h"
42199 +#include "defaults.h"
42200 +#include "objc/thr.h"
42201 +#include "objc/message.h" /* For objc_msg_lookup(). */
42202 +#include "objc/runtime.h"
42203 +#include "objc-private/module-abi-8.h"
42204 +#include "objc-private/runtime.h"
42205 +#include <gthr.h>
42207 +#include <stdlib.h>
42209 +/* Global exit status. */
42210 +int __objc_thread_exit_status = 0;
42212 +/* Flag which lets us know if we ever became multi threaded. */
42213 +int __objc_is_multi_threaded = 0;
42215 +/* The hook function called when the runtime becomes multi
42216 + threaded. */
42217 +objc_thread_callback _objc_became_multi_threaded = NULL;
42219 +/* Use this to set the hook function that will be called when the
42220 + runtime initially becomes multi threaded. The hook function is
42221 + only called once, meaning only when the 2nd thread is spawned, not
42222 + for each and every thread.
42224 + It returns the previous hook function or NULL if there is none.
42226 + A program outside of the runtime could set this to some function so
42227 + it can be informed; for example, the GNUstep Base Library sets it
42228 + so it can implement the NSBecomingMultiThreaded notification. */
42229 +objc_thread_callback objc_set_thread_callback (objc_thread_callback func)
42231 + objc_thread_callback temp = _objc_became_multi_threaded;
42232 + _objc_became_multi_threaded = func;
42233 + return temp;
42236 +/* Private functions.
42238 + These functions are utilized by the runtime, but they are not
42239 + considered part of the public interface. */
42241 +/* Initialize the threads subsystem. */
42242 +int
42243 +__objc_init_thread_system(void)
42245 + return __gthread_objc_init_thread_system ();
42248 +/* First function called in a thread, starts everything else.
42250 + This function is passed to the backend by objc_thread_detach as the
42251 + starting function for a new thread. */
42252 +struct __objc_thread_start_state
42254 + SEL selector;
42255 + id object;
42256 + id argument;
42259 +static void __attribute__((noreturn))
42260 +__objc_thread_detach_function (struct __objc_thread_start_state *istate)
42262 + /* Valid state? */
42263 + if (istate)
42265 + id (*imp) (id, SEL, id);
42266 + SEL selector = istate->selector;
42267 + id object = istate->object;
42268 + id argument = istate->argument;
42270 + /* Don't need anymore so free it. */
42271 + objc_free (istate);
42273 + /* Clear out the thread local storage. */
42274 + objc_thread_set_data (NULL);
42276 + /* Check to see if we just became multi threaded. */
42277 + if (! __objc_is_multi_threaded)
42279 + __objc_is_multi_threaded = 1;
42281 + /* Call the hook function. */
42282 + if (_objc_became_multi_threaded != NULL)
42283 + (*_objc_became_multi_threaded) ();
42286 + /* Call the method. */
42287 + if ((imp = (id (*) (id, SEL, id))objc_msg_lookup (object, selector)))
42288 + (*imp) (object, selector, argument);
42289 + else
42291 + /* FIXME: Should we abort here ? */
42292 + _objc_abort ("objc_thread_detach called with bad selector.\n");
42295 + else
42297 + /* FIXME: Should we abort here ? */
42298 + _objc_abort ("objc_thread_detach called with NULL state.\n");
42301 + /* Exit the thread. */
42302 + objc_thread_exit ();
42304 + /* Make sure compiler detects no return. */
42305 + __builtin_trap ();
42308 +/* Public functions.
42310 + These functions constitute the public interface to the Objective-C
42311 + thread and mutex functionality. */
42313 +/* Detach a new thread of execution and return its id. Returns NULL
42314 + if fails. Thread is started by sending message with selector to
42315 + object. Message takes a single argument. */
42316 +objc_thread_t
42317 +objc_thread_detach (SEL selector, id object, id argument)
42319 + struct __objc_thread_start_state *istate;
42320 + objc_thread_t thread_id = NULL;
42322 + /* Allocate the state structure. */
42323 + if (!(istate = (struct __objc_thread_start_state *)objc_malloc
42324 + (sizeof (*istate))))
42325 + return NULL;
42327 + /* Initialize the state structure. */
42328 + istate->selector = selector;
42329 + istate->object = object;
42330 + istate->argument = argument;
42332 + /* Lock access. */
42333 + objc_mutex_lock (__objc_runtime_mutex);
42335 + /* Call the backend to spawn the thread. */
42336 + if ((thread_id = __gthread_objc_thread_detach ((void *)__objc_thread_detach_function,
42337 + istate)) == NULL)
42339 + /* Failed! */
42340 + objc_mutex_unlock (__objc_runtime_mutex);
42341 + objc_free (istate);
42342 + return NULL;
42345 + /* Increment our thread counter. */
42346 + __objc_runtime_threads_alive++;
42347 + objc_mutex_unlock (__objc_runtime_mutex);
42349 + return thread_id;
42352 +/* Set the current thread's priority. */
42353 +int
42354 +objc_thread_set_priority (int priority)
42356 + return __gthread_objc_thread_set_priority (priority);
42359 +/* Return the current thread's priority. */
42360 +int
42361 +objc_thread_get_priority (void)
42363 + return __gthread_objc_thread_get_priority ();
42366 +/* Yield our process time to another thread. Any BUSY waiting that is
42367 + done by a thread should use this function to make sure that other
42368 + threads can make progress even on a lazy uniprocessor system. */
42369 +void
42370 +objc_thread_yield (void)
42372 + __gthread_objc_thread_yield ();
42375 +/* Terminate the current tread. Doesn't return. Actually, if it
42376 + failed returns -1. */
42377 +int
42378 +objc_thread_exit (void)
42380 + /* Decrement our counter of the number of threads alive. */
42381 + objc_mutex_lock (__objc_runtime_mutex);
42382 + __objc_runtime_threads_alive--;
42383 + objc_mutex_unlock (__objc_runtime_mutex);
42385 + /* Call the backend to terminate the thread. */
42386 + return __gthread_objc_thread_exit ();
42389 +/* Returns an integer value which uniquely describes a thread. Must
42390 + not be NULL which is reserved as a marker for "no thread". */
42391 +objc_thread_t
42392 +objc_thread_id (void)
42394 + return __gthread_objc_thread_id ();
42397 +/* Sets the thread's local storage pointer. Returns 0 if successful
42398 + or -1 if failed. */
42399 +int
42400 +objc_thread_set_data (void *value)
42402 + return __gthread_objc_thread_set_data (value);
42405 +/* Returns the thread's local storage pointer. Returns NULL on
42406 + failure. */
42407 +void *
42408 +objc_thread_get_data (void)
42410 + return __gthread_objc_thread_get_data ();
42413 +/* Public mutex functions */
42415 +/* Allocate a mutex. Return the mutex pointer if successful or NULL
42416 + if the allocation failed for any reason. */
42417 +objc_mutex_t
42418 +objc_mutex_allocate (void)
42420 + objc_mutex_t mutex;
42422 + /* Allocate the mutex structure. */
42423 + if (! (mutex = (objc_mutex_t)objc_malloc (sizeof (struct objc_mutex))))
42424 + return NULL;
42426 + /* Call backend to create the mutex. */
42427 + if (__gthread_objc_mutex_allocate (mutex))
42429 + /* Failed! */
42430 + objc_free (mutex);
42431 + return NULL;
42434 + /* Initialize mutex. */
42435 + mutex->owner = NULL;
42436 + mutex->depth = 0;
42437 + return mutex;
42440 +/* Deallocate a mutex. Note that this includes an implicit mutex_lock
42441 + to insure that no one else is using the lock. It is legal to
42442 + deallocate a lock if we have a lock on it, but illegal to
42443 + deallocate a lock held by anyone else. Returns the number of locks
42444 + on the thread. (1 for deallocate). */
42445 +int
42446 +objc_mutex_deallocate (objc_mutex_t mutex)
42448 + int depth;
42450 + /* Valid mutex? */
42451 + if (! mutex)
42452 + return -1;
42454 + /* Acquire lock on mutex. */
42455 + depth = objc_mutex_lock (mutex);
42457 + /* Call backend to destroy mutex. */
42458 + if (__gthread_objc_mutex_deallocate (mutex))
42459 + return -1;
42461 + /* Free the mutex structure. */
42462 + objc_free (mutex);
42464 + /* Return last depth. */
42465 + return depth;
42468 +/* Grab a lock on a mutex. If this thread already has a lock on this
42469 + mutex then we increment the lock count. If another thread has a
42470 + lock on the mutex we block and wait for the thread to release the
42471 + lock. Returns the lock count on the mutex held by this thread. */
42472 +int
42473 +objc_mutex_lock (objc_mutex_t mutex)
42475 + objc_thread_t thread_id;
42476 + int status;
42478 + /* Valid mutex? */
42479 + if (! mutex)
42480 + return -1;
42482 + /* If we already own the lock then increment depth. */
42483 + thread_id = __gthread_objc_thread_id ();
42484 + if (mutex->owner == thread_id)
42485 + return ++mutex->depth;
42487 + /* Call the backend to lock the mutex. */
42488 + status = __gthread_objc_mutex_lock (mutex);
42490 + /* Failed? */
42491 + if (status)
42492 + return status;
42494 + /* Successfully locked the thread. */
42495 + mutex->owner = thread_id;
42496 + return mutex->depth = 1;
42499 +/* Try to grab a lock on a mutex. If this thread already has a lock
42500 + on this mutex then we increment the lock count and return it. If
42501 + another thread has a lock on the mutex returns -1. */
42502 +int
42503 +objc_mutex_trylock (objc_mutex_t mutex)
42505 + objc_thread_t thread_id;
42506 + int status;
42508 + /* Valid mutex? */
42509 + if (! mutex)
42510 + return -1;
42512 + /* If we already own the lock then increment depth. */
42513 + thread_id = __gthread_objc_thread_id ();
42514 + if (mutex->owner == thread_id)
42515 + return ++mutex->depth;
42517 + /* Call the backend to try to lock the mutex. */
42518 + status = __gthread_objc_mutex_trylock (mutex);
42520 + /* Failed? */
42521 + if (status)
42522 + return status;
42524 + /* Successfully locked the thread. */
42525 + mutex->owner = thread_id;
42526 + return mutex->depth = 1;
42529 +/* Unlocks the mutex by one level. Decrements the lock count on this
42530 + mutex by one. If the lock count reaches zero, release the lock on
42531 + the mutex. Returns the lock count on the mutex. It is an error to
42532 + attempt to unlock a mutex which this thread doesn't hold in which
42533 + case return -1 and the mutex is unaffected. */
42534 +int
42535 +objc_mutex_unlock (objc_mutex_t mutex)
42537 + objc_thread_t thread_id;
42538 + int status;
42540 + /* Valid mutex? */
42541 + if (! mutex)
42542 + return -1;
42544 + /* If another thread owns the lock then abort. */
42545 + thread_id = __gthread_objc_thread_id ();
42546 + if (mutex->owner != thread_id)
42547 + return -1;
42549 + /* Decrement depth and return. */
42550 + if (mutex->depth > 1)
42551 + return --mutex->depth;
42553 + /* Depth down to zero so we are no longer the owner. */
42554 + mutex->depth = 0;
42555 + mutex->owner = NULL;
42557 + /* Have the backend unlock the mutex. */
42558 + status = __gthread_objc_mutex_unlock (mutex);
42560 + /* Failed? */
42561 + if (status)
42562 + return status;
42564 + return 0;
42567 +/* Public condition mutex functions */
42569 +/* Allocate a condition. Return the condition pointer if successful
42570 + or NULL if the allocation failed for any reason. */
42571 +objc_condition_t
42572 +objc_condition_allocate (void)
42574 + objc_condition_t condition;
42576 + /* Allocate the condition mutex structure. */
42577 + if (! (condition =
42578 + (objc_condition_t) objc_malloc (sizeof (struct objc_condition))))
42579 + return NULL;
42581 + /* Call the backend to create the condition mutex. */
42582 + if (__gthread_objc_condition_allocate (condition))
42584 + /* Failed! */
42585 + objc_free (condition);
42586 + return NULL;
42589 + /* Success! */
42590 + return condition;
42593 +/* Deallocate a condition. Note that this includes an implicit
42594 + condition_broadcast to insure that waiting threads have the
42595 + opportunity to wake. It is legal to dealloc a condition only if no
42596 + other thread is/will be using it. Here we do NOT check for other
42597 + threads waiting but just wake them up. */
42598 +int
42599 +objc_condition_deallocate (objc_condition_t condition)
42601 + /* Broadcast the condition. */
42602 + if (objc_condition_broadcast (condition))
42603 + return -1;
42605 + /* Call the backend to destroy. */
42606 + if (__gthread_objc_condition_deallocate (condition))
42607 + return -1;
42609 + /* Free the condition mutex structure. */
42610 + objc_free (condition);
42612 + return 0;
42615 +/* Wait on the condition unlocking the mutex until
42616 + objc_condition_signal () or objc_condition_broadcast () are called
42617 + for the same condition. The given mutex *must* have the depth set
42618 + to 1 so that it can be unlocked here, so that someone else can lock
42619 + it and signal/broadcast the condition. The mutex is used to lock
42620 + access to the shared data that make up the "condition"
42621 + predicate. */
42622 +int
42623 +objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex)
42625 + objc_thread_t thread_id;
42627 + /* Valid arguments? */
42628 + if (! mutex || ! condition)
42629 + return -1;
42631 + /* Make sure we are owner of mutex. */
42632 + thread_id = __gthread_objc_thread_id ();
42633 + if (mutex->owner != thread_id)
42634 + return -1;
42636 + /* Cannot be locked more than once. */
42637 + if (mutex->depth > 1)
42638 + return -1;
42640 + /* Virtually unlock the mutex. */
42641 + mutex->depth = 0;
42642 + mutex->owner = (objc_thread_t)NULL;
42644 + /* Call the backend to wait. */
42645 + __gthread_objc_condition_wait (condition, mutex);
42647 + /* Make ourselves owner of the mutex. */
42648 + mutex->owner = thread_id;
42649 + mutex->depth = 1;
42651 + return 0;
42654 +/* Wake up all threads waiting on this condition. It is recommended
42655 + that the called would lock the same mutex as the threads in
42656 + objc_condition_wait before changing the "condition predicate" and
42657 + make this call and unlock it right away after this call. */
42658 +int
42659 +objc_condition_broadcast (objc_condition_t condition)
42661 + /* Valid condition mutex? */
42662 + if (! condition)
42663 + return -1;
42665 + return __gthread_objc_condition_broadcast (condition);
42668 +/* Wake up one thread waiting on this condition. It is recommended
42669 + that the called would lock the same mutex as the threads in
42670 + objc_condition_wait before changing the "condition predicate" and
42671 + make this call and unlock it right away after this call. */
42672 +int
42673 +objc_condition_signal (objc_condition_t condition)
42675 + /* Valid condition mutex? */
42676 + if (! condition)
42677 + return -1;
42679 + return __gthread_objc_condition_signal (condition);
42682 +/* Make the objc thread system aware that a thread which is managed
42683 + (started, stopped) by external code could access objc facilities
42684 + from now on. This is used when you are interfacing with some
42685 + external non-objc-based environment/system - you must call
42686 + objc_thread_add () before an alien thread makes any calls to
42687 + Objective-C. Do not cause the _objc_became_multi_threaded hook to
42688 + be executed. */
42689 +void
42690 +objc_thread_add (void)
42692 + objc_mutex_lock (__objc_runtime_mutex);
42693 + __objc_is_multi_threaded = 1;
42694 + __objc_runtime_threads_alive++;
42695 + objc_mutex_unlock (__objc_runtime_mutex);
42698 +/* Make the objc thread system aware that a thread managed (started,
42699 + stopped) by some external code will no longer access objc and thus
42700 + can be forgotten by the objc thread system. Call
42701 + objc_thread_remove () when your alien thread is done with making
42702 + calls to Objective-C. */
42703 +void
42704 +objc_thread_remove (void)
42706 + objc_mutex_lock (__objc_runtime_mutex);
42707 + __objc_runtime_threads_alive--;
42708 + objc_mutex_unlock (__objc_runtime_mutex);
42711 diff -ruN gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_base.h gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_base.h
42712 --- gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_base.h 1970-01-01 01:00:00.000000000 +0100
42713 +++ gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_base.h 2015-02-23 08:11:04.769837296 +0000
42714 @@ -0,0 +1,30 @@
42715 +namespace std _GLIBCXX_VISIBILITY(default)
42717 +_GLIBCXX_BEGIN_NAMESPACE_VERSION
42719 +struct ctype_base {
42720 + /* Non-standard typedefs */
42721 + typedef int * __to_type;
42723 + /* NB: Offsets into ctype<char>::_M_table force a particular size
42724 + on the mask type. Because of this, we don't use an enum. */
42725 + typedef unsigned short int mask;
42727 + static const mask upper = _ISupper;
42728 + static const mask lower = _ISlower;
42729 + static const mask alpha = _ISalpha;
42730 + static const mask digit = _ISdigit;
42731 + static const mask xdigit = _ISxdigit;
42732 + static const mask space = _ISspace;
42733 + static const mask print = _ISprint;
42734 + static const mask graph = _ISgraph;
42735 + static const mask cntrl = _IScntrl;
42736 + static const mask punct = _ISpunct;
42737 + static const mask alnum = _ISalnum;
42738 +#if __cplusplus >= 201103L
42739 + static const mask blank = _ISblank;
42740 +#endif
42743 +_GLIBCXX_END_NAMESPACE_VERSION
42744 +} // namespace
42745 diff -ruN gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_configure_char.cc gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_configure_char.cc
42746 --- gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_configure_char.cc 1970-01-01 01:00:00.000000000 +0100
42747 +++ gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_configure_char.cc 2015-02-23 08:11:04.769837296 +0000
42748 @@ -0,0 +1,99 @@
42749 +// Locale support -*- C++ -*-
42751 +// Copyright (C) 2011-2013 Free Software Foundation, Inc.
42753 +// This file is part of the GNU ISO C++ Library. This library is free
42754 +// software; you can redistribute it and/or modify it under the
42755 +// terms of the GNU General Public License as published by the
42756 +// Free Software Foundation; either version 3, or (at your option)
42757 +// any later version.
42759 +// This library is distributed in the hope that it will be useful,
42760 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
42761 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42762 +// GNU General Public License for more details.
42764 +// Under Section 7 of GPL version 3, you are granted additional
42765 +// permissions described in the GCC Runtime Library Exception, version
42766 +// 3.1, as published by the Free Software Foundation.
42768 +// You should have received a copy of the GNU General Public License and
42769 +// a copy of the GCC Runtime Library Exception along with this program;
42770 +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
42771 +// <http://www.gnu.org/licenses/>.
42773 +/** @file ctype_configure_char.cc */
42776 +// ISO C++ 14882: 22.1 Locales
42779 +#include <locale>
42780 +#include <cstdlib>
42781 +#include <cstring>
42783 +namespace std _GLIBCXX_VISIBILITY(default)
42785 +_GLIBCXX_BEGIN_NAMESPACE_VERSION
42787 +// Information as gleaned from /usr/include/ctype.h
42789 + const ctype_base::mask*
42790 + ctype<char>::classic_table() throw()
42791 + { return 0; }
42793 + ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
42794 + size_t __refs)
42795 + : facet(__refs), _M_del(__table != 0 && __del),
42796 + _M_toupper(NULL), _M_tolower(NULL),
42797 + _M_table(__table ? __table : classic_table())
42798 + {
42799 + memset(_M_widen, 0, sizeof(_M_widen));
42800 + _M_widen_ok = 0;
42801 + memset(_M_narrow, 0, sizeof(_M_narrow));
42802 + _M_narrow_ok = 0;
42805 + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
42806 + : facet(__refs), _M_del(__table != 0 && __del),
42807 + _M_toupper(NULL), _M_tolower(NULL),
42808 + _M_table(__table ? __table : classic_table())
42809 + {
42810 + memset(_M_widen, 0, sizeof(_M_widen));
42811 + _M_widen_ok = 0;
42812 + memset(_M_narrow, 0, sizeof(_M_narrow));
42813 + _M_narrow_ok = 0;
42816 + char
42817 + ctype<char>::do_toupper(char __c) const
42818 + { return ::toupper((int) __c); }
42820 + const char*
42821 + ctype<char>::do_toupper(char* __low, const char* __high) const
42823 + while (__low < __high)
42825 + *__low = ::toupper((int) *__low);
42826 + ++__low;
42828 + return __high;
42831 + char
42832 + ctype<char>::do_tolower(char __c) const
42833 + { return ::tolower((int) __c); }
42835 + const char*
42836 + ctype<char>::do_tolower(char* __low, const char* __high) const
42838 + while (__low < __high)
42840 + *__low = ::tolower((int) *__low);
42841 + ++__low;
42843 + return __high;
42846 +_GLIBCXX_END_NAMESPACE_VERSION
42847 +} // namespace
42848 diff -ruN gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_inline.h gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_inline.h
42849 --- gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_inline.h 1970-01-01 01:00:00.000000000 +0100
42850 +++ gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_inline.h 2015-02-23 08:11:04.769837296 +0000
42851 @@ -0,0 +1,173 @@
42852 +// Locale support -*- C++ -*-
42854 +// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
42856 +// This file is part of the GNU ISO C++ Library. This library is free
42857 +// software; you can redistribute it and/or modify it under the
42858 +// terms of the GNU General Public License as published by the
42859 +// Free Software Foundation; either version 2, or (at your option)
42860 +// any later version.
42862 +// This library is distributed in the hope that it will be useful,
42863 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
42864 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42865 +// GNU General Public License for more details.
42867 +// You should have received a copy of the GNU General Public License along
42868 +// with this library; see the file COPYING. If not, write to the Free
42869 +// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
42870 +// USA.
42872 +// As a special exception, you may use this file as part of a free software
42873 +// library without restriction. Specifically, if other files instantiate
42874 +// templates or use macros or inline functions from this file, or you compile
42875 +// this file and link it with other files to produce an executable, this
42876 +// file does not by itself cause the resulting executable to be covered by
42877 +// the GNU General Public License. This exception does not however
42878 +// invalidate any other reasons why the executable file might be covered by
42879 +// the GNU General Public License.
42881 +/** @file ctype_inline.h
42882 + * This is an internal header file, included by other library headers.
42883 + * You should not attempt to use it directly.
42884 + */
42887 +// ISO C++ 14882: 22.1 Locales
42890 +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
42891 +// functions go in ctype.cc
42893 +// The following definitions are portable, but insanely slow. If one
42894 +// cares at all about performance, then specialized ctype
42895 +// functionality should be added for the native os in question: see
42896 +// the config/os/bits/ctype_*.h files.
42898 +// Constructing a synthetic "C" table should be seriously considered...
42900 +namespace std _GLIBCXX_VISIBILITY(default)
42902 +_GLIBCXX_BEGIN_NAMESPACE_VERSION
42904 + bool
42905 + ctype<char>::
42906 + is(mask __m, char __c) const
42907 + {
42908 + if (_M_table)
42909 + return _M_table[static_cast<unsigned char>(__c)] & __m;
42910 + else
42912 + bool __ret = false;
42913 + const size_t __bitmasksize = 15;
42914 + size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
42915 + for (; __bitcur <= __bitmasksize; ++__bitcur)
42917 + const mask __bit = static_cast<mask>(1 << __bitcur);
42918 + if (__m & __bit)
42920 + bool __testis;
42921 + switch (__bit)
42923 + case space:
42924 + __testis = isspace(__c);
42925 + break;
42926 + case print:
42927 + __testis = isprint(__c);
42928 + break;
42929 + case cntrl:
42930 + __testis = iscntrl(__c);
42931 + break;
42932 + case upper:
42933 + __testis = isupper(__c);
42934 + break;
42935 + case lower:
42936 + __testis = islower(__c);
42937 + break;
42938 + case alpha:
42939 + __testis = isalpha(__c);
42940 + break;
42941 + case digit:
42942 + __testis = isdigit(__c);
42943 + break;
42944 + case punct:
42945 + __testis = ispunct(__c);
42946 + break;
42947 + case xdigit:
42948 + __testis = isxdigit(__c);
42949 + break;
42950 + case alnum:
42951 + __testis = isalnum(__c);
42952 + break;
42953 + case graph:
42954 + __testis = isgraph(__c);
42955 + break;
42956 + default:
42957 + __testis = false;
42958 + break;
42960 + __ret |= __testis;
42963 + return __ret;
42967 + const char*
42968 + ctype<char>::
42969 + is(const char* __low, const char* __high, mask* __vec) const
42971 + if (_M_table)
42972 + while (__low < __high)
42973 + *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
42974 + else
42976 + // Highest bitmask in ctype_base == 10.
42977 + const size_t __bitmasksize = 15;
42978 + for (;__low < __high; ++__vec, ++__low)
42980 + mask __m = 0;
42981 + // Lowest bitmask in ctype_base == 0
42982 + size_t __i = 0;
42983 + for (;__i <= __bitmasksize; ++__i)
42985 + const mask __bit = static_cast<mask>(1 << __i);
42986 + if (this->is(__bit, *__low))
42987 + __m |= __bit;
42989 + *__vec = __m;
42992 + return __high;
42995 + const char*
42996 + ctype<char>::
42997 + scan_is(mask __m, const char* __low, const char* __high) const
42999 + if (_M_table)
43000 + while (__low < __high
43001 + && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
43002 + ++__low;
43003 + else
43004 + while (__low < __high && !this->is(__m, *__low))
43005 + ++__low;
43006 + return __low;
43009 + const char*
43010 + ctype<char>::
43011 + scan_not(mask __m, const char* __low, const char* __high) const
43013 + if (_M_table)
43014 + while (__low < __high
43015 + && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
43016 + ++__low;
43017 + else
43018 + while (__low < __high && this->is(__m, *__low) != 0)
43019 + ++__low;
43020 + return __low;
43023 +_GLIBCXX_END_NAMESPACE_VERSION
43024 +} // namespace
43025 diff -ruN gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_noninline.h gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_noninline.h
43026 --- gcc-5-20150222/libstdc++-v3/config/os/aros/ctype_noninline.h 1970-01-01 01:00:00.000000000 +0100
43027 +++ gcc-5-20150222.aros/libstdc++-v3/config/os/aros/ctype_noninline.h 2015-02-23 08:11:04.769837296 +0000
43028 @@ -0,0 +1,56 @@
43029 + const ctype_base::mask*
43030 + ctype<char>::classic_table() throw()
43031 + { return *__ctype_b_ptr; }
43033 + ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
43034 + size_t __refs)
43035 + : facet(__refs), _M_del(__table != 0 && __del),
43036 + _M_toupper(NULL), _M_tolower(NULL),
43037 + _M_table(__table ? __table : classic_table())
43038 + {
43039 + memset(_M_widen, 0, sizeof(_M_widen));
43040 + _M_widen_ok = 0;
43041 + memset(_M_narrow, 0, sizeof(_M_narrow));
43042 + _M_narrow_ok = 0;
43045 + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
43046 + : facet(__refs), _M_del(__table != 0 && __del),
43047 + _M_toupper(NULL), _M_tolower(NULL),
43048 + _M_table(__table ? __table : classic_table())
43049 + {
43050 + memset(_M_widen, 0, sizeof(_M_widen));
43051 + _M_widen_ok = 0;
43052 + memset(_M_narrow, 0, sizeof(_M_narrow));
43053 + _M_narrow_ok = 0;
43056 + char
43057 + ctype<char>::do_toupper(char __c) const
43058 + { return ::toupper((int) __c); }
43060 + const char*
43061 + ctype<char>::do_toupper(char* __low, const char* __high) const
43063 + while (__low < __high)
43065 + *__low = ::toupper((int) *__low);
43066 + ++__low;
43068 + return __high;
43071 + char
43072 + ctype<char>::do_tolower(char __c) const
43073 + { return ::tolower((int) __c); }
43075 + const char*
43076 + ctype<char>::do_tolower(char* __low, const char* __high) const
43078 + while (__low < __high)
43080 + *__low = ::tolower((int) *__low);
43081 + ++__low;
43083 + return __high;
43085 diff -ruN gcc-5-20150222/libstdc++-v3/config/os/aros/os_defines.h gcc-5-20150222.aros/libstdc++-v3/config/os/aros/os_defines.h
43086 --- gcc-5-20150222/libstdc++-v3/config/os/aros/os_defines.h 1970-01-01 01:00:00.000000000 +0100
43087 +++ gcc-5-20150222.aros/libstdc++-v3/config/os/aros/os_defines.h 2015-02-23 08:11:04.769837296 +0000
43088 @@ -0,0 +1,6 @@
43089 +#ifndef _GLIBCXX_OS_DEFINES
43090 +#define _GLIBCXX_OS_DEFINES
43092 +#define __off64_t off_t
43094 +#endif
43095 diff -ruN gcc-5-20150222/libstdc++-v3/configure gcc-5-20150222.aros/libstdc++-v3/configure
43096 --- gcc-5-20150222/libstdc++-v3/configure 2015-01-29 18:36:03.000000000 +0000
43097 +++ gcc-5-20150222.aros/libstdc++-v3/configure 2015-02-23 08:11:04.769837296 +0000
43098 @@ -5308,12 +5308,12 @@
43101 # Libtool setup.
43102 -if test "x${with_newlib}" != "xyes"; then
43103 - enable_dlopen=yes
43108 +#if test "x${with_newlib}" != "xyes"; then
43109 +# AC_LIBTOOL_DLOPEN
43113 +#fi
43114 case `pwd` in
43115 *\ * | *\ *)
43116 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
43117 @@ -8044,6 +8044,8 @@
43121 + enable_dlopen=no
43124 enable_win32_dll=no
43126 @@ -18679,6 +18681,7 @@
43128 struct iovec iov[2];
43129 writev(0, iov, 0);
43130 +#error be sure to fail
43132 return 0;
43134 @@ -18701,6 +18704,7 @@
43136 struct iovec iov[2];
43137 writev(0, iov, 0);
43138 +#error be sure to fail
43140 return 0;
43142 @@ -27877,6 +27881,58 @@
43144 # Base decisions on target environment.
43145 case "${host}" in
43146 + *-aros*)
43147 + for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
43148 + machine/param.h sys/machine.h sys/types.h fp.h locale.h float.h inttypes.h
43149 +do :
43150 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
43151 +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
43152 +eval as_val=\$$as_ac_Header
43153 + if test "x$as_val" = x""yes; then :
43154 + cat >>confdefs.h <<_ACEOF
43155 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
43156 +_ACEOF
43160 +done
43163 + GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
43164 + GLIBCXX_CHECK_WCHAR_T_SUPPORT
43166 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
43168 + $as_echo "#define HAVE_FINITEF 1" >>confdefs.h
43170 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
43172 + $as_echo "#define HAVE_HYPOTF 1" >>confdefs.h
43174 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
43176 + $as_echo "#define HAVE_ISINFF 1" >>confdefs.h
43178 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
43180 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
43182 + $as_echo "#define HAVE_SINCOS 1" >>confdefs.h
43184 + $as_echo "#define HAVE_SINCOSF 1" >>confdefs.h
43186 + if test x"long_double_math_on_this_cpu" = x"yes"; then
43187 + $as_echo "#define HAVE_FINITEL 1" >>confdefs.h
43189 + $as_echo "#define HAVE_HYPOTL 1" >>confdefs.h
43191 + $as_echo "#define HAVE_ISINFL 1" >>confdefs.h
43193 + $as_echo "#define HAVE_ISNANL 1" >>confdefs.h
43195 + fi
43196 + ;;
43198 arm*-*-symbianelf*)
43199 # This is a freestanding configuration; there is nothing to do here.
43201 diff -ruN gcc-5-20150222/libstdc++-v3/configure.ac gcc-5-20150222.aros/libstdc++-v3/configure.ac
43202 --- gcc-5-20150222/libstdc++-v3/configure.ac 2014-12-19 18:16:39.000000000 +0000
43203 +++ gcc-5-20150222.aros/libstdc++-v3/configure.ac 2015-02-23 08:11:04.769837296 +0000
43204 @@ -89,9 +89,9 @@
43205 GLIBCXX_CONFIGURE
43207 # Libtool setup.
43208 -if test "x${with_newlib}" != "xyes"; then
43209 - AC_LIBTOOL_DLOPEN
43211 +#if test "x${with_newlib}" != "xyes"; then
43212 +# AC_LIBTOOL_DLOPEN
43213 +#fi
43214 AM_PROG_LIBTOOL
43215 ACX_LT_HOST_FLAGS
43216 AC_SUBST(enable_shared)
43217 diff -ruN gcc-5-20150222/libstdc++-v3/configure.host gcc-5-20150222.aros/libstdc++-v3/configure.host
43218 --- gcc-5-20150222/libstdc++-v3/configure.host 2015-01-09 14:06:02.000000000 +0000
43219 +++ gcc-5-20150222.aros/libstdc++-v3/configure.host 2015-02-23 08:11:04.769837296 +0000
43220 @@ -235,6 +235,9 @@
43221 os_include_dir="os/generic"
43222 atomicity_dir="cpu/generic"
43224 + aros*)
43225 + os_include_dir="os/aros"
43226 + ;;
43227 bsd*)
43228 # Plain BSD attempts to share FreeBSD files.
43229 os_include_dir="os/bsd/freebsd"
43230 diff -ruN gcc-5-20150222/libstdc++-v3/configure.orig gcc-5-20150222.aros/libstdc++-v3/configure.orig
43231 --- gcc-5-20150222/libstdc++-v3/configure.orig 1970-01-01 01:00:00.000000000 +0100
43232 +++ gcc-5-20150222.aros/libstdc++-v3/configure.orig 2015-02-23 08:11:04.769837296 +0000
43233 @@ -0,0 +1,82786 @@
43234 +#! /bin/sh
43235 +# Guess values for system-dependent variables and create Makefiles.
43236 +# Generated by GNU Autoconf 2.64 for package-unused version-unused.
43238 +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
43239 +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
43240 +# Foundation, Inc.
43242 +# This configure script is free software; the Free Software Foundation
43243 +# gives unlimited permission to copy, distribute and modify it.
43244 +## -------------------- ##
43245 +## M4sh Initialization. ##
43246 +## -------------------- ##
43248 +# Be more Bourne compatible
43249 +DUALCASE=1; export DUALCASE # for MKS sh
43250 +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
43251 + emulate sh
43252 + NULLCMD=:
43253 + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
43254 + # is contrary to our usage. Disable this feature.
43255 + alias -g '${1+"$@"}'='"$@"'
43256 + setopt NO_GLOB_SUBST
43257 +else
43258 + case `(set -o) 2>/dev/null` in #(
43259 + *posix*) :
43260 + set -o posix ;; #(
43261 + *) :
43262 + ;;
43263 +esac
43267 +as_nl='
43269 +export as_nl
43270 +# Printing a long string crashes Solaris 7 /usr/bin/printf.
43271 +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
43272 +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
43273 +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
43274 +# Prefer a ksh shell builtin over an external printf program on Solaris,
43275 +# but without wasting forks for bash or zsh.
43276 +if test -z "$BASH_VERSION$ZSH_VERSION" \
43277 + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
43278 + as_echo='print -r --'
43279 + as_echo_n='print -rn --'
43280 +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
43281 + as_echo='printf %s\n'
43282 + as_echo_n='printf %s'
43283 +else
43284 + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
43285 + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
43286 + as_echo_n='/usr/ucb/echo -n'
43287 + else
43288 + as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
43289 + as_echo_n_body='eval
43290 + arg=$1;
43291 + case $arg in #(
43292 + *"$as_nl"*)
43293 + expr "X$arg" : "X\\(.*\\)$as_nl";
43294 + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
43295 + esac;
43296 + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
43298 + export as_echo_n_body
43299 + as_echo_n='sh -c $as_echo_n_body as_echo'
43300 + fi
43301 + export as_echo_body
43302 + as_echo='sh -c $as_echo_body as_echo'
43305 +# The user is always right.
43306 +if test "${PATH_SEPARATOR+set}" != set; then
43307 + PATH_SEPARATOR=:
43308 + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
43309 + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
43310 + PATH_SEPARATOR=';'
43315 +# IFS
43316 +# We need space, tab and new line, in precisely that order. Quoting is
43317 +# there to prevent editors from complaining about space-tab.
43318 +# (If _AS_PATH_WALK were called with IFS unset, it would disable word
43319 +# splitting by setting IFS to empty value.)
43320 +IFS=" "" $as_nl"
43322 +# Find who we are. Look in the path if we contain no directory separator.
43323 +case $0 in #((
43324 + *[\\/]* ) as_myself=$0 ;;
43325 + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
43326 +for as_dir in $PATH
43328 + IFS=$as_save_IFS
43329 + test -z "$as_dir" && as_dir=.
43330 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
43331 + done
43332 +IFS=$as_save_IFS
43334 + ;;
43335 +esac
43336 +# We did not find ourselves, most probably we were run as `sh COMMAND'
43337 +# in which case we are not to be found in the path.
43338 +if test "x$as_myself" = x; then
43339 + as_myself=$0
43341 +if test ! -f "$as_myself"; then
43342 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
43343 + exit 1
43346 +# Unset variables that we do not need and which cause bugs (e.g. in
43347 +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
43348 +# suppresses any "Segmentation fault" message there. '((' could
43349 +# trigger a bug in pdksh 5.2.14.
43350 +for as_var in BASH_ENV ENV MAIL MAILPATH
43351 +do eval test x\${$as_var+set} = xset \
43352 + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
43353 +done
43354 +PS1='$ '
43355 +PS2='> '
43356 +PS4='+ '
43358 +# NLS nuisances.
43359 +LC_ALL=C
43360 +export LC_ALL
43361 +LANGUAGE=C
43362 +export LANGUAGE
43364 +# CDPATH.
43365 +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
43367 +if test "x$CONFIG_SHELL" = x; then
43368 + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
43369 + emulate sh
43370 + NULLCMD=:
43371 + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
43372 + # is contrary to our usage. Disable this feature.
43373 + alias -g '\${1+\"\$@\"}'='\"\$@\"'
43374 + setopt NO_GLOB_SUBST
43375 +else
43376 + case \`(set -o) 2>/dev/null\` in #(
43377 + *posix*) :
43378 + set -o posix ;; #(
43379 + *) :
43380 + ;;
43381 +esac
43384 + as_required="as_fn_return () { (exit \$1); }
43385 +as_fn_success () { as_fn_return 0; }
43386 +as_fn_failure () { as_fn_return 1; }
43387 +as_fn_ret_success () { return 0; }
43388 +as_fn_ret_failure () { return 1; }
43390 +exitcode=0
43391 +as_fn_success || { exitcode=1; echo as_fn_success failed.; }
43392 +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
43393 +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
43394 +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
43395 +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
43397 +else
43398 + exitcode=1; echo positional parameters were not saved.
43400 +test x\$exitcode = x0 || exit 1"
43401 + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
43402 + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
43403 + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
43404 + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
43405 +test \$(( 1 + 1 )) = 2 || exit 1
43407 + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
43408 + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
43409 + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
43410 + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
43411 + PATH=/empty FPATH=/empty; export PATH FPATH
43412 + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
43413 + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
43414 + if (eval "$as_required") 2>/dev/null; then :
43415 + as_have_required=yes
43416 +else
43417 + as_have_required=no
43419 + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
43421 +else
43422 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
43423 +as_found=false
43424 +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
43426 + IFS=$as_save_IFS
43427 + test -z "$as_dir" && as_dir=.
43428 + as_found=:
43429 + case $as_dir in #(
43430 + /*)
43431 + for as_base in sh bash ksh sh5; do
43432 + # Try only shells that exist, to save several forks.
43433 + as_shell=$as_dir/$as_base
43434 + if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
43435 + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
43436 + CONFIG_SHELL=$as_shell as_have_required=yes
43437 + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
43438 + break 2
43441 + done;;
43442 + esac
43443 + as_found=false
43444 +done
43445 +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
43446 + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
43447 + CONFIG_SHELL=$SHELL as_have_required=yes
43448 +fi; }
43449 +IFS=$as_save_IFS
43452 + if test "x$CONFIG_SHELL" != x; then :
43453 + # We cannot yet assume a decent shell, so we have to provide a
43454 + # neutralization value for shells without unset; and this also
43455 + # works around shells that cannot unset nonexistent variables.
43456 + BASH_ENV=/dev/null
43457 + ENV=/dev/null
43458 + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
43459 + export CONFIG_SHELL
43460 + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
43463 + if test x$as_have_required = xno; then :
43464 + $as_echo "$0: This script requires a shell more modern than all"
43465 + $as_echo "$0: the shells that I found on your system."
43466 + if test x${ZSH_VERSION+set} = xset ; then
43467 + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
43468 + $as_echo "$0: be upgraded to zsh 4.3.4 or later."
43469 + else
43470 + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
43471 +$0: including any error possibly output before this
43472 +$0: message. Then install a modern shell, or manually run
43473 +$0: the script under such a shell if you do have one."
43474 + fi
43475 + exit 1
43479 +SHELL=${CONFIG_SHELL-/bin/sh}
43480 +export SHELL
43481 +# Unset more variables known to interfere with behavior of common tools.
43482 +CLICOLOR_FORCE= GREP_OPTIONS=
43483 +unset CLICOLOR_FORCE GREP_OPTIONS
43485 +## --------------------- ##
43486 +## M4sh Shell Functions. ##
43487 +## --------------------- ##
43488 +# as_fn_unset VAR
43489 +# ---------------
43490 +# Portably unset VAR.
43491 +as_fn_unset ()
43493 + { eval $1=; unset $1;}
43495 +as_unset=as_fn_unset
43497 +# as_fn_set_status STATUS
43498 +# -----------------------
43499 +# Set $? to STATUS, without forking.
43500 +as_fn_set_status ()
43502 + return $1
43503 +} # as_fn_set_status
43505 +# as_fn_exit STATUS
43506 +# -----------------
43507 +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
43508 +as_fn_exit ()
43510 + set +e
43511 + as_fn_set_status $1
43512 + exit $1
43513 +} # as_fn_exit
43515 +# as_fn_mkdir_p
43516 +# -------------
43517 +# Create "$as_dir" as a directory, including parents if necessary.
43518 +as_fn_mkdir_p ()
43521 + case $as_dir in #(
43522 + -*) as_dir=./$as_dir;;
43523 + esac
43524 + test -d "$as_dir" || eval $as_mkdir_p || {
43525 + as_dirs=
43526 + while :; do
43527 + case $as_dir in #(
43528 + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
43529 + *) as_qdir=$as_dir;;
43530 + esac
43531 + as_dirs="'$as_qdir' $as_dirs"
43532 + as_dir=`$as_dirname -- "$as_dir" ||
43533 +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
43534 + X"$as_dir" : 'X\(//\)[^/]' \| \
43535 + X"$as_dir" : 'X\(//\)$' \| \
43536 + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
43537 +$as_echo X"$as_dir" |
43538 + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
43539 + s//\1/
43542 + /^X\(\/\/\)[^/].*/{
43543 + s//\1/
43546 + /^X\(\/\/\)$/{
43547 + s//\1/
43550 + /^X\(\/\).*/{
43551 + s//\1/
43554 + s/.*/./; q'`
43555 + test -d "$as_dir" && break
43556 + done
43557 + test -z "$as_dirs" || eval "mkdir $as_dirs"
43558 + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
43561 +} # as_fn_mkdir_p
43562 +# as_fn_append VAR VALUE
43563 +# ----------------------
43564 +# Append the text in VALUE to the end of the definition contained in VAR. Take
43565 +# advantage of any shell optimizations that allow amortized linear growth over
43566 +# repeated appends, instead of the typical quadratic growth present in naive
43567 +# implementations.
43568 +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
43569 + eval 'as_fn_append ()
43571 + eval $1+=\$2
43572 + }'
43573 +else
43574 + as_fn_append ()
43576 + eval $1=\$$1\$2
43578 +fi # as_fn_append
43580 +# as_fn_arith ARG...
43581 +# ------------------
43582 +# Perform arithmetic evaluation on the ARGs, and store the result in the
43583 +# global $as_val. Take advantage of shells that can avoid forks. The arguments
43584 +# must be portable across $(()) and expr.
43585 +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
43586 + eval 'as_fn_arith ()
43588 + as_val=$(( $* ))
43589 + }'
43590 +else
43591 + as_fn_arith ()
43593 + as_val=`expr "$@" || test $? -eq 1`
43595 +fi # as_fn_arith
43598 +# as_fn_error ERROR [LINENO LOG_FD]
43599 +# ---------------------------------
43600 +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
43601 +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
43602 +# script with status $?, using 1 if that was 0.
43603 +as_fn_error ()
43605 + as_status=$?; test $as_status -eq 0 && as_status=1
43606 + if test "$3"; then
43607 + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
43608 + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
43609 + fi
43610 + $as_echo "$as_me: error: $1" >&2
43611 + as_fn_exit $as_status
43612 +} # as_fn_error
43614 +if expr a : '\(a\)' >/dev/null 2>&1 &&
43615 + test "X`expr 00001 : '.*\(...\)'`" = X001; then
43616 + as_expr=expr
43617 +else
43618 + as_expr=false
43621 +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
43622 + as_basename=basename
43623 +else
43624 + as_basename=false
43627 +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
43628 + as_dirname=dirname
43629 +else
43630 + as_dirname=false
43633 +as_me=`$as_basename -- "$0" ||
43634 +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
43635 + X"$0" : 'X\(//\)$' \| \
43636 + X"$0" : 'X\(/\)' \| . 2>/dev/null ||
43637 +$as_echo X/"$0" |
43638 + sed '/^.*\/\([^/][^/]*\)\/*$/{
43639 + s//\1/
43642 + /^X\/\(\/\/\)$/{
43643 + s//\1/
43646 + /^X\/\(\/\).*/{
43647 + s//\1/
43650 + s/.*/./; q'`
43652 +# Avoid depending upon Character Ranges.
43653 +as_cr_letters='abcdefghijklmnopqrstuvwxyz'
43654 +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
43655 +as_cr_Letters=$as_cr_letters$as_cr_LETTERS
43656 +as_cr_digits='0123456789'
43657 +as_cr_alnum=$as_cr_Letters$as_cr_digits
43660 + as_lineno_1=$LINENO as_lineno_1a=$LINENO
43661 + as_lineno_2=$LINENO as_lineno_2a=$LINENO
43662 + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
43663 + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
43664 + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
43665 + sed -n '
43667 + /[$]LINENO/=
43668 + ' <$as_myself |
43669 + sed '
43670 + s/[$]LINENO.*/&-/
43671 + t lineno
43673 + :lineno
43675 + :loop
43676 + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
43677 + t loop
43678 + s/-\n.*//
43679 + ' >$as_me.lineno &&
43680 + chmod +x "$as_me.lineno" ||
43681 + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
43683 + # Don't try to exec as it changes $[0], causing all sort of problems
43684 + # (the dirname of $[0] is not the place where we might find the
43685 + # original and so on. Autoconf is especially sensitive to this).
43686 + . "./$as_me.lineno"
43687 + # Exit status is that of the last command.
43688 + exit
43691 +ECHO_C= ECHO_N= ECHO_T=
43692 +case `echo -n x` in #(((((
43693 +-n*)
43694 + case `echo 'xy\c'` in
43695 + *c*) ECHO_T=' ';; # ECHO_T is single tab character.
43696 + xy) ECHO_C='\c';;
43697 + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
43698 + ECHO_T=' ';;
43699 + esac;;
43701 + ECHO_N='-n';;
43702 +esac
43704 +rm -f conf$$ conf$$.exe conf$$.file
43705 +if test -d conf$$.dir; then
43706 + rm -f conf$$.dir/conf$$.file
43707 +else
43708 + rm -f conf$$.dir
43709 + mkdir conf$$.dir 2>/dev/null
43711 +if (echo >conf$$.file) 2>/dev/null; then
43712 + if ln -s conf$$.file conf$$ 2>/dev/null; then
43713 + as_ln_s='ln -s'
43714 + # ... but there are two gotchas:
43715 + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
43716 + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
43717 + # In both cases, we have to default to `cp -p'.
43718 + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
43719 + as_ln_s='cp -p'
43720 + elif ln conf$$.file conf$$ 2>/dev/null; then
43721 + as_ln_s=ln
43722 + else
43723 + as_ln_s='cp -p'
43724 + fi
43725 +else
43726 + as_ln_s='cp -p'
43728 +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
43729 +rmdir conf$$.dir 2>/dev/null
43731 +if mkdir -p . 2>/dev/null; then
43732 + as_mkdir_p='mkdir -p "$as_dir"'
43733 +else
43734 + test -d ./-p && rmdir ./-p
43735 + as_mkdir_p=false
43738 +if test -x / >/dev/null 2>&1; then
43739 + as_test_x='test -x'
43740 +else
43741 + if ls -dL / >/dev/null 2>&1; then
43742 + as_ls_L_option=L
43743 + else
43744 + as_ls_L_option=
43745 + fi
43746 + as_test_x='
43747 + eval sh -c '\''
43748 + if test -d "$1"; then
43749 + test -d "$1/.";
43750 + else
43751 + case $1 in #(
43752 + -*)set "./$1";;
43753 + esac;
43754 + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
43755 + ???[sx]*):;;*)false;;esac;fi
43756 + '\'' sh
43759 +as_executable_p=$as_test_x
43761 +# Sed expression to map a string onto a valid CPP name.
43762 +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
43764 +# Sed expression to map a string onto a valid variable name.
43765 +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
43767 +SHELL=${CONFIG_SHELL-/bin/sh}
43770 +exec 7<&0 </dev/null 6>&1
43772 +# Name of the host.
43773 +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
43774 +# so uname gets run too.
43775 +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
43778 +# Initializations.
43780 +ac_default_prefix=/usr/local
43781 +ac_clean_files=
43782 +ac_config_libobj_dir=.
43783 +LIBOBJS=
43784 +cross_compiling=no
43785 +subdirs=
43786 +MFLAGS=
43787 +MAKEFLAGS=
43789 +# Identity of this package.
43790 +PACKAGE_NAME='package-unused'
43791 +PACKAGE_TARNAME='libstdc++'
43792 +PACKAGE_VERSION='version-unused'
43793 +PACKAGE_STRING='package-unused version-unused'
43794 +PACKAGE_BUGREPORT=''
43795 +PACKAGE_URL=''
43797 +ac_unique_file="src/shared/hashtable-aux.cc"
43798 +# Factoring default headers for most tests.
43799 +ac_includes_default="\
43800 +#include <stdio.h>
43801 +#ifdef HAVE_SYS_TYPES_H
43802 +# include <sys/types.h>
43803 +#endif
43804 +#ifdef HAVE_SYS_STAT_H
43805 +# include <sys/stat.h>
43806 +#endif
43807 +#ifdef STDC_HEADERS
43808 +# include <stdlib.h>
43809 +# include <stddef.h>
43810 +#else
43811 +# ifdef HAVE_STDLIB_H
43812 +# include <stdlib.h>
43813 +# endif
43814 +#endif
43815 +#ifdef HAVE_STRING_H
43816 +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
43817 +# include <memory.h>
43818 +# endif
43819 +# include <string.h>
43820 +#endif
43821 +#ifdef HAVE_STRINGS_H
43822 +# include <strings.h>
43823 +#endif
43824 +#ifdef HAVE_INTTYPES_H
43825 +# include <inttypes.h>
43826 +#endif
43827 +#ifdef HAVE_STDINT_H
43828 +# include <stdint.h>
43829 +#endif
43830 +#ifdef HAVE_UNISTD_H
43831 +# include <unistd.h>
43832 +#endif"
43834 +ac_subst_vars='am__EXEEXT_FALSE
43835 +am__EXEEXT_TRUE
43836 +LTLIBOBJS
43837 +LIBOBJS
43838 +WARN_FLAGS
43839 +OPTIMIZE_CXXFLAGS
43840 +TOPLEVEL_INCLUDES
43841 +GLIBCXX_INCLUDES
43842 +glibcxx_toolexeclibdir
43843 +glibcxx_toolexecdir
43844 +gxx_include_dir
43845 +glibcxx_prefixdir
43846 +CPU_OPT_BITS_RANDOM
43847 +CPU_OPT_EXT_RANDOM
43848 +ERROR_CONSTANTS_SRCDIR
43849 +OS_INC_SRCDIR
43850 +ABI_TWEAKS_SRCDIR
43851 +CPU_DEFINES_SRCDIR
43852 +ATOMIC_FLAGS
43853 +ATOMIC_WORD_SRCDIR
43854 +ATOMICITY_SRCDIR
43855 +BUILD_PDF_FALSE
43856 +BUILD_PDF_TRUE
43857 +PDFLATEX
43858 +DBLATEX
43859 +BUILD_MAN_FALSE
43860 +BUILD_MAN_TRUE
43861 +BUILD_HTML_FALSE
43862 +BUILD_HTML_TRUE
43863 +BUILD_XML_FALSE
43864 +BUILD_XML_TRUE
43865 +BUILD_EPUB_FALSE
43866 +BUILD_EPUB_TRUE
43867 +XSL_STYLE_DIR
43868 +XMLLINT
43869 +XSLTPROC
43870 +DOT
43871 +DOXYGEN
43872 +BUILD_INFO_FALSE
43873 +BUILD_INFO_TRUE
43874 +baseline_subdir_switch
43875 +baseline_dir
43876 +HWCAP_FLAGS
43877 +GLIBCXX_LDBL_COMPAT_FALSE
43878 +GLIBCXX_LDBL_COMPAT_TRUE
43879 +ENABLE_CXX11_ABI_FALSE
43880 +ENABLE_CXX11_ABI_TRUE
43881 +glibcxx_cxx98_abi
43882 +ENABLE_DUAL_ABI_FALSE
43883 +ENABLE_DUAL_ABI_TRUE
43884 +ENABLE_VISIBILITY_FALSE
43885 +ENABLE_VISIBILITY_TRUE
43886 +libtool_VERSION
43887 +ENABLE_SYMVERS_SUN_FALSE
43888 +ENABLE_SYMVERS_SUN_TRUE
43889 +ENABLE_SYMVERS_DARWIN_FALSE
43890 +ENABLE_SYMVERS_DARWIN_TRUE
43891 +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE
43892 +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE
43893 +ENABLE_SYMVERS_GNU_FALSE
43894 +ENABLE_SYMVERS_GNU_TRUE
43895 +ENABLE_SYMVERS_FALSE
43896 +ENABLE_SYMVERS_TRUE
43897 +port_specific_symbol_files
43898 +SYMVER_FILE
43899 +CXXFILT
43900 +LTLIBICONV
43901 +LIBICONV
43902 +OPT_LDFLAGS
43903 +SECTION_LDFLAGS
43904 +GLIBCXX_LIBS
43905 +ENABLE_VTABLE_VERIFY_FALSE
43906 +ENABLE_VTABLE_VERIFY_TRUE
43907 +VTV_CYGMIN_FALSE
43908 +VTV_CYGMIN_TRUE
43909 +VTV_CXXLINKFLAGS
43910 +VTV_PCH_CXXFLAGS
43911 +VTV_CXXFLAGS
43912 +ENABLE_WERROR_FALSE
43913 +ENABLE_WERROR_TRUE
43914 +ENABLE_PYTHONDIR_FALSE
43915 +ENABLE_PYTHONDIR_TRUE
43916 +python_mod_dir
43917 +ENABLE_EXTERN_TEMPLATE_FALSE
43918 +ENABLE_EXTERN_TEMPLATE_TRUE
43919 +EXTRA_CXX_FLAGS
43920 +GLIBCXX_BUILD_DEBUG_FALSE
43921 +GLIBCXX_BUILD_DEBUG_TRUE
43922 +DEBUG_FLAGS
43923 +GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE
43924 +GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE
43925 +GLIBCXX_C_HEADERS_C_GLOBAL_FALSE
43926 +GLIBCXX_C_HEADERS_C_GLOBAL_TRUE
43927 +GLIBCXX_C_HEADERS_C_STD_FALSE
43928 +GLIBCXX_C_HEADERS_C_STD_TRUE
43929 +GLIBCXX_C_HEADERS_C_FALSE
43930 +GLIBCXX_C_HEADERS_C_TRUE
43931 +C_INCLUDE_DIR
43932 +ALLOCATOR_NAME
43933 +ALLOCATOR_H
43934 +CLOCALE_INTERNAL_H
43935 +CLOCALE_CC
43936 +CTIME_CC
43937 +CTIME_H
43938 +CNUMERIC_CC
43939 +CMONEY_CC
43940 +CMESSAGES_CC
43941 +CCTYPE_CC
43942 +CCOLLATE_CC
43943 +CCODECVT_CC
43944 +CMESSAGES_H
43945 +CLOCALE_H
43946 +USE_NLS
43947 +glibcxx_localedir
43948 +glibcxx_POFILES
43949 +glibcxx_MOFILES
43950 +check_msgfmt
43951 +BASIC_FILE_CC
43952 +BASIC_FILE_H
43953 +CSTDIO_H
43954 +SECTION_FLAGS
43955 +WERROR
43956 +thread_header
43957 +glibcxx_PCHFLAGS
43958 +GLIBCXX_BUILD_PCH_FALSE
43959 +GLIBCXX_BUILD_PCH_TRUE
43960 +GLIBCXX_HOSTED_FALSE
43961 +GLIBCXX_HOSTED_TRUE
43962 +glibcxx_compiler_shared_flag
43963 +glibcxx_compiler_pic_flag
43964 +glibcxx_lt_pic_flag
43965 +enable_static
43966 +enable_shared
43967 +lt_host_flags
43968 +CXXCPP
43969 +OTOOL64
43970 +OTOOL
43971 +LIPO
43972 +NMEDIT
43973 +DSYMUTIL
43974 +OBJDUMP
43976 +ac_ct_DUMPBIN
43977 +DUMPBIN
43979 +FGREP
43980 +SED
43981 +LIBTOOL
43982 +EGREP
43983 +GREP
43984 +CPP
43985 +MAINT
43986 +MAINTAINER_MODE_FALSE
43987 +MAINTAINER_MODE_TRUE
43988 +RANLIB
43991 +LN_S
43992 +toplevel_srcdir
43993 +toplevel_builddir
43994 +glibcxx_srcdir
43995 +glibcxx_builddir
43996 +ac_ct_CXX
43997 +CXXFLAGS
43998 +CXX
43999 +OBJEXT
44000 +EXEEXT
44001 +ac_ct_CC
44002 +CPPFLAGS
44003 +LDFLAGS
44004 +CFLAGS
44006 +am__untar
44007 +am__tar
44008 +AMTAR
44009 +am__leading_dot
44010 +SET_MAKE
44011 +AWK
44012 +mkdir_p
44013 +MKDIR_P
44014 +INSTALL_STRIP_PROGRAM
44015 +STRIP
44016 +install_sh
44017 +MAKEINFO
44018 +AUTOHEADER
44019 +AUTOMAKE
44020 +AUTOCONF
44021 +ACLOCAL
44022 +VERSION
44023 +PACKAGE
44024 +CYGPATH_W
44025 +am__isrc
44026 +INSTALL_DATA
44027 +INSTALL_SCRIPT
44028 +INSTALL_PROGRAM
44029 +target_os
44030 +target_vendor
44031 +target_cpu
44032 +target
44033 +host_os
44034 +host_vendor
44035 +host_cpu
44036 +host
44037 +build_os
44038 +build_vendor
44039 +build_cpu
44040 +build
44041 +multi_basedir
44042 +target_alias
44043 +host_alias
44044 +build_alias
44045 +LIBS
44046 +ECHO_T
44047 +ECHO_N
44048 +ECHO_C
44049 +DEFS
44050 +mandir
44051 +localedir
44052 +libdir
44053 +psdir
44054 +pdfdir
44055 +dvidir
44056 +htmldir
44057 +infodir
44058 +docdir
44059 +oldincludedir
44060 +includedir
44061 +localstatedir
44062 +sharedstatedir
44063 +sysconfdir
44064 +datadir
44065 +datarootdir
44066 +libexecdir
44067 +sbindir
44068 +bindir
44069 +program_transform_name
44070 +prefix
44071 +exec_prefix
44072 +PACKAGE_URL
44073 +PACKAGE_BUGREPORT
44074 +PACKAGE_STRING
44075 +PACKAGE_VERSION
44076 +PACKAGE_TARNAME
44077 +PACKAGE_NAME
44078 +PATH_SEPARATOR
44079 +SHELL'
44080 +ac_subst_files=''
44081 +ac_user_opts='
44082 +enable_option_checking
44083 +enable_multilib
44084 +with_target_subdir
44085 +with_cross_host
44086 +with_newlib
44087 +enable_maintainer_mode
44088 +enable_shared
44089 +enable_static
44090 +with_pic
44091 +enable_fast_install
44092 +with_gnu_ld
44093 +enable_libtool_lock
44094 +enable_hosted_libstdcxx
44095 +enable_libstdcxx_verbose
44096 +enable_sjlj_exceptions
44097 +enable_libstdcxx_pch
44098 +enable_cstdio
44099 +enable_clocale
44100 +enable_nls
44101 +enable_libstdcxx_allocator
44102 +enable_cheaders
44103 +enable_long_long
44104 +enable_wchar_t
44105 +enable_c99
44106 +enable_concept_checks
44107 +enable_libstdcxx_debug_flags
44108 +enable_libstdcxx_debug
44109 +enable_cxx_flags
44110 +enable_fully_dynamic_string
44111 +enable_extern_template
44112 +with_python_dir
44113 +enable_werror
44114 +enable_vtable_verify
44115 +enable_libstdcxx_time
44116 +enable_tls
44117 +enable_rpath
44118 +with_libiconv_prefix
44119 +with_system_libunwind
44120 +enable_linux_futex
44121 +enable_symvers
44122 +enable_libstdcxx_visibility
44123 +enable_libstdcxx_dual_abi
44124 +with_default_libstdcxx_abi
44125 +enable_libstdcxx_threads
44126 +with_gxx_include_dir
44127 +enable_version_specific_runtime_libs
44129 + ac_precious_vars='build_alias
44130 +host_alias
44131 +target_alias
44133 +CFLAGS
44134 +LDFLAGS
44135 +LIBS
44136 +CPPFLAGS
44137 +CXX
44138 +CXXFLAGS
44139 +CCC
44140 +CPP
44141 +CXXCPP
44142 +CXXFILT'
44145 +# Initialize some variables set by options.
44146 +ac_init_help=
44147 +ac_init_version=false
44148 +ac_unrecognized_opts=
44149 +ac_unrecognized_sep=
44150 +# The variables have the same names as the options, with
44151 +# dashes changed to underlines.
44152 +cache_file=/dev/null
44153 +exec_prefix=NONE
44154 +no_create=
44155 +no_recursion=
44156 +prefix=NONE
44157 +program_prefix=NONE
44158 +program_suffix=NONE
44159 +program_transform_name=s,x,x,
44160 +silent=
44161 +site=
44162 +srcdir=
44163 +verbose=
44164 +x_includes=NONE
44165 +x_libraries=NONE
44167 +# Installation directory options.
44168 +# These are left unexpanded so users can "make install exec_prefix=/foo"
44169 +# and all the variables that are supposed to be based on exec_prefix
44170 +# by default will actually change.
44171 +# Use braces instead of parens because sh, perl, etc. also accept them.
44172 +# (The list follows the same order as the GNU Coding Standards.)
44173 +bindir='${exec_prefix}/bin'
44174 +sbindir='${exec_prefix}/sbin'
44175 +libexecdir='${exec_prefix}/libexec'
44176 +datarootdir='${prefix}/share'
44177 +datadir='${datarootdir}'
44178 +sysconfdir='${prefix}/etc'
44179 +sharedstatedir='${prefix}/com'
44180 +localstatedir='${prefix}/var'
44181 +includedir='${prefix}/include'
44182 +oldincludedir='/usr/include'
44183 +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
44184 +infodir='${datarootdir}/info'
44185 +htmldir='${docdir}'
44186 +dvidir='${docdir}'
44187 +pdfdir='${docdir}'
44188 +psdir='${docdir}'
44189 +libdir='${exec_prefix}/lib'
44190 +localedir='${datarootdir}/locale'
44191 +mandir='${datarootdir}/man'
44193 +ac_prev=
44194 +ac_dashdash=
44195 +for ac_option
44197 + # If the previous option needs an argument, assign it.
44198 + if test -n "$ac_prev"; then
44199 + eval $ac_prev=\$ac_option
44200 + ac_prev=
44201 + continue
44202 + fi
44204 + case $ac_option in
44205 + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
44206 + *) ac_optarg=yes ;;
44207 + esac
44209 + # Accept the important Cygnus configure options, so we can diagnose typos.
44211 + case $ac_dashdash$ac_option in
44212 + --)
44213 + ac_dashdash=yes ;;
44215 + -bindir | --bindir | --bindi | --bind | --bin | --bi)
44216 + ac_prev=bindir ;;
44217 + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
44218 + bindir=$ac_optarg ;;
44220 + -build | --build | --buil | --bui | --bu)
44221 + ac_prev=build_alias ;;
44222 + -build=* | --build=* | --buil=* | --bui=* | --bu=*)
44223 + build_alias=$ac_optarg ;;
44225 + -cache-file | --cache-file | --cache-fil | --cache-fi \
44226 + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
44227 + ac_prev=cache_file ;;
44228 + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
44229 + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
44230 + cache_file=$ac_optarg ;;
44232 + --config-cache | -C)
44233 + cache_file=config.cache ;;
44235 + -datadir | --datadir | --datadi | --datad)
44236 + ac_prev=datadir ;;
44237 + -datadir=* | --datadir=* | --datadi=* | --datad=*)
44238 + datadir=$ac_optarg ;;
44240 + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
44241 + | --dataroo | --dataro | --datar)
44242 + ac_prev=datarootdir ;;
44243 + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
44244 + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
44245 + datarootdir=$ac_optarg ;;
44247 + -disable-* | --disable-*)
44248 + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
44249 + # Reject names that are not valid shell variable names.
44250 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
44251 + as_fn_error "invalid feature name: $ac_useropt"
44252 + ac_useropt_orig=$ac_useropt
44253 + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
44254 + case $ac_user_opts in
44255 + *"
44256 +"enable_$ac_useropt"
44257 +"*) ;;
44258 + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
44259 + ac_unrecognized_sep=', ';;
44260 + esac
44261 + eval enable_$ac_useropt=no ;;
44263 + -docdir | --docdir | --docdi | --doc | --do)
44264 + ac_prev=docdir ;;
44265 + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
44266 + docdir=$ac_optarg ;;
44268 + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
44269 + ac_prev=dvidir ;;
44270 + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
44271 + dvidir=$ac_optarg ;;
44273 + -enable-* | --enable-*)
44274 + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
44275 + # Reject names that are not valid shell variable names.
44276 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
44277 + as_fn_error "invalid feature name: $ac_useropt"
44278 + ac_useropt_orig=$ac_useropt
44279 + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
44280 + case $ac_user_opts in
44281 + *"
44282 +"enable_$ac_useropt"
44283 +"*) ;;
44284 + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
44285 + ac_unrecognized_sep=', ';;
44286 + esac
44287 + eval enable_$ac_useropt=\$ac_optarg ;;
44289 + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
44290 + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
44291 + | --exec | --exe | --ex)
44292 + ac_prev=exec_prefix ;;
44293 + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
44294 + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
44295 + | --exec=* | --exe=* | --ex=*)
44296 + exec_prefix=$ac_optarg ;;
44298 + -gas | --gas | --ga | --g)
44299 + # Obsolete; use --with-gas.
44300 + with_gas=yes ;;
44302 + -help | --help | --hel | --he | -h)
44303 + ac_init_help=long ;;
44304 + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
44305 + ac_init_help=recursive ;;
44306 + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
44307 + ac_init_help=short ;;
44309 + -host | --host | --hos | --ho)
44310 + ac_prev=host_alias ;;
44311 + -host=* | --host=* | --hos=* | --ho=*)
44312 + host_alias=$ac_optarg ;;
44314 + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
44315 + ac_prev=htmldir ;;
44316 + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
44317 + | --ht=*)
44318 + htmldir=$ac_optarg ;;
44320 + -includedir | --includedir | --includedi | --included | --include \
44321 + | --includ | --inclu | --incl | --inc)
44322 + ac_prev=includedir ;;
44323 + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
44324 + | --includ=* | --inclu=* | --incl=* | --inc=*)
44325 + includedir=$ac_optarg ;;
44327 + -infodir | --infodir | --infodi | --infod | --info | --inf)
44328 + ac_prev=infodir ;;
44329 + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
44330 + infodir=$ac_optarg ;;
44332 + -libdir | --libdir | --libdi | --libd)
44333 + ac_prev=libdir ;;
44334 + -libdir=* | --libdir=* | --libdi=* | --libd=*)
44335 + libdir=$ac_optarg ;;
44337 + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
44338 + | --libexe | --libex | --libe)
44339 + ac_prev=libexecdir ;;
44340 + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
44341 + | --libexe=* | --libex=* | --libe=*)
44342 + libexecdir=$ac_optarg ;;
44344 + -localedir | --localedir | --localedi | --localed | --locale)
44345 + ac_prev=localedir ;;
44346 + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
44347 + localedir=$ac_optarg ;;
44349 + -localstatedir | --localstatedir | --localstatedi | --localstated \
44350 + | --localstate | --localstat | --localsta | --localst | --locals)
44351 + ac_prev=localstatedir ;;
44352 + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
44353 + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
44354 + localstatedir=$ac_optarg ;;
44356 + -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
44357 + ac_prev=mandir ;;
44358 + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
44359 + mandir=$ac_optarg ;;
44361 + -nfp | --nfp | --nf)
44362 + # Obsolete; use --without-fp.
44363 + with_fp=no ;;
44365 + -no-create | --no-create | --no-creat | --no-crea | --no-cre \
44366 + | --no-cr | --no-c | -n)
44367 + no_create=yes ;;
44369 + -no-recursion | --no-recursion | --no-recursio | --no-recursi \
44370 + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
44371 + no_recursion=yes ;;
44373 + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
44374 + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
44375 + | --oldin | --oldi | --old | --ol | --o)
44376 + ac_prev=oldincludedir ;;
44377 + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
44378 + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
44379 + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
44380 + oldincludedir=$ac_optarg ;;
44382 + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
44383 + ac_prev=prefix ;;
44384 + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
44385 + prefix=$ac_optarg ;;
44387 + -program-prefix | --program-prefix | --program-prefi | --program-pref \
44388 + | --program-pre | --program-pr | --program-p)
44389 + ac_prev=program_prefix ;;
44390 + -program-prefix=* | --program-prefix=* | --program-prefi=* \
44391 + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
44392 + program_prefix=$ac_optarg ;;
44394 + -program-suffix | --program-suffix | --program-suffi | --program-suff \
44395 + | --program-suf | --program-su | --program-s)
44396 + ac_prev=program_suffix ;;
44397 + -program-suffix=* | --program-suffix=* | --program-suffi=* \
44398 + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
44399 + program_suffix=$ac_optarg ;;
44401 + -program-transform-name | --program-transform-name \
44402 + | --program-transform-nam | --program-transform-na \
44403 + | --program-transform-n | --program-transform- \
44404 + | --program-transform | --program-transfor \
44405 + | --program-transfo | --program-transf \
44406 + | --program-trans | --program-tran \
44407 + | --progr-tra | --program-tr | --program-t)
44408 + ac_prev=program_transform_name ;;
44409 + -program-transform-name=* | --program-transform-name=* \
44410 + | --program-transform-nam=* | --program-transform-na=* \
44411 + | --program-transform-n=* | --program-transform-=* \
44412 + | --program-transform=* | --program-transfor=* \
44413 + | --program-transfo=* | --program-transf=* \
44414 + | --program-trans=* | --program-tran=* \
44415 + | --progr-tra=* | --program-tr=* | --program-t=*)
44416 + program_transform_name=$ac_optarg ;;
44418 + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
44419 + ac_prev=pdfdir ;;
44420 + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
44421 + pdfdir=$ac_optarg ;;
44423 + -psdir | --psdir | --psdi | --psd | --ps)
44424 + ac_prev=psdir ;;
44425 + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
44426 + psdir=$ac_optarg ;;
44428 + -q | -quiet | --quiet | --quie | --qui | --qu | --q \
44429 + | -silent | --silent | --silen | --sile | --sil)
44430 + silent=yes ;;
44432 + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
44433 + ac_prev=sbindir ;;
44434 + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
44435 + | --sbi=* | --sb=*)
44436 + sbindir=$ac_optarg ;;
44438 + -sharedstatedir | --sharedstatedir | --sharedstatedi \
44439 + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
44440 + | --sharedst | --shareds | --shared | --share | --shar \
44441 + | --sha | --sh)
44442 + ac_prev=sharedstatedir ;;
44443 + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
44444 + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
44445 + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
44446 + | --sha=* | --sh=*)
44447 + sharedstatedir=$ac_optarg ;;
44449 + -site | --site | --sit)
44450 + ac_prev=site ;;
44451 + -site=* | --site=* | --sit=*)
44452 + site=$ac_optarg ;;
44454 + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
44455 + ac_prev=srcdir ;;
44456 + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
44457 + srcdir=$ac_optarg ;;
44459 + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
44460 + | --syscon | --sysco | --sysc | --sys | --sy)
44461 + ac_prev=sysconfdir ;;
44462 + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
44463 + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
44464 + sysconfdir=$ac_optarg ;;
44466 + -target | --target | --targe | --targ | --tar | --ta | --t)
44467 + ac_prev=target_alias ;;
44468 + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
44469 + target_alias=$ac_optarg ;;
44471 + -v | -verbose | --verbose | --verbos | --verbo | --verb)
44472 + verbose=yes ;;
44474 + -version | --version | --versio | --versi | --vers | -V)
44475 + ac_init_version=: ;;
44477 + -with-* | --with-*)
44478 + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
44479 + # Reject names that are not valid shell variable names.
44480 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
44481 + as_fn_error "invalid package name: $ac_useropt"
44482 + ac_useropt_orig=$ac_useropt
44483 + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
44484 + case $ac_user_opts in
44485 + *"
44486 +"with_$ac_useropt"
44487 +"*) ;;
44488 + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
44489 + ac_unrecognized_sep=', ';;
44490 + esac
44491 + eval with_$ac_useropt=\$ac_optarg ;;
44493 + -without-* | --without-*)
44494 + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
44495 + # Reject names that are not valid shell variable names.
44496 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
44497 + as_fn_error "invalid package name: $ac_useropt"
44498 + ac_useropt_orig=$ac_useropt
44499 + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
44500 + case $ac_user_opts in
44501 + *"
44502 +"with_$ac_useropt"
44503 +"*) ;;
44504 + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
44505 + ac_unrecognized_sep=', ';;
44506 + esac
44507 + eval with_$ac_useropt=no ;;
44509 + --x)
44510 + # Obsolete; use --with-x.
44511 + with_x=yes ;;
44513 + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
44514 + | --x-incl | --x-inc | --x-in | --x-i)
44515 + ac_prev=x_includes ;;
44516 + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
44517 + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
44518 + x_includes=$ac_optarg ;;
44520 + -x-libraries | --x-libraries | --x-librarie | --x-librari \
44521 + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
44522 + ac_prev=x_libraries ;;
44523 + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
44524 + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
44525 + x_libraries=$ac_optarg ;;
44527 + -*) as_fn_error "unrecognized option: \`$ac_option'
44528 +Try \`$0 --help' for more information."
44529 + ;;
44531 + *=*)
44532 + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
44533 + # Reject names that are not valid shell variable names.
44534 + case $ac_envvar in #(
44535 + '' | [0-9]* | *[!_$as_cr_alnum]* )
44536 + as_fn_error "invalid variable name: \`$ac_envvar'" ;;
44537 + esac
44538 + eval $ac_envvar=\$ac_optarg
44539 + export $ac_envvar ;;
44541 + *)
44542 + # FIXME: should be removed in autoconf 3.0.
44543 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
44544 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
44545 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
44546 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
44547 + ;;
44549 + esac
44550 +done
44552 +if test -n "$ac_prev"; then
44553 + ac_option=--`echo $ac_prev | sed 's/_/-/g'`
44554 + as_fn_error "missing argument to $ac_option"
44557 +if test -n "$ac_unrecognized_opts"; then
44558 + case $enable_option_checking in
44559 + no) ;;
44560 + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
44561 + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
44562 + esac
44565 +# Check all directory arguments for consistency.
44566 +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
44567 + datadir sysconfdir sharedstatedir localstatedir includedir \
44568 + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
44569 + libdir localedir mandir
44571 + eval ac_val=\$$ac_var
44572 + # Remove trailing slashes.
44573 + case $ac_val in
44574 + */ )
44575 + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
44576 + eval $ac_var=\$ac_val;;
44577 + esac
44578 + # Be sure to have absolute directory names.
44579 + case $ac_val in
44580 + [\\/$]* | ?:[\\/]* ) continue;;
44581 + NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
44582 + esac
44583 + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
44584 +done
44586 +# There might be people who depend on the old broken behavior: `$host'
44587 +# used to hold the argument of --host etc.
44588 +# FIXME: To remove some day.
44589 +build=$build_alias
44590 +host=$host_alias
44591 +target=$target_alias
44593 +# FIXME: To remove some day.
44594 +if test "x$host_alias" != x; then
44595 + if test "x$build_alias" = x; then
44596 + cross_compiling=maybe
44597 + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
44598 + If a cross compiler is detected then cross compile mode will be used." >&2
44599 + elif test "x$build_alias" != "x$host_alias"; then
44600 + cross_compiling=yes
44601 + fi
44604 +ac_tool_prefix=
44605 +test -n "$host_alias" && ac_tool_prefix=$host_alias-
44607 +test "$silent" = yes && exec 6>/dev/null
44610 +ac_pwd=`pwd` && test -n "$ac_pwd" &&
44611 +ac_ls_di=`ls -di .` &&
44612 +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
44613 + as_fn_error "working directory cannot be determined"
44614 +test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
44615 + as_fn_error "pwd does not report name of working directory"
44618 +# Find the source files, if location was not specified.
44619 +if test -z "$srcdir"; then
44620 + ac_srcdir_defaulted=yes
44621 + # Try the directory containing this script, then the parent directory.
44622 + ac_confdir=`$as_dirname -- "$as_myself" ||
44623 +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
44624 + X"$as_myself" : 'X\(//\)[^/]' \| \
44625 + X"$as_myself" : 'X\(//\)$' \| \
44626 + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
44627 +$as_echo X"$as_myself" |
44628 + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
44629 + s//\1/
44632 + /^X\(\/\/\)[^/].*/{
44633 + s//\1/
44636 + /^X\(\/\/\)$/{
44637 + s//\1/
44640 + /^X\(\/\).*/{
44641 + s//\1/
44644 + s/.*/./; q'`
44645 + srcdir=$ac_confdir
44646 + if test ! -r "$srcdir/$ac_unique_file"; then
44647 + srcdir=..
44648 + fi
44649 +else
44650 + ac_srcdir_defaulted=no
44652 +if test ! -r "$srcdir/$ac_unique_file"; then
44653 + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
44654 + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
44656 +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
44657 +ac_abs_confdir=`(
44658 + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
44659 + pwd)`
44660 +# When building in place, set srcdir=.
44661 +if test "$ac_abs_confdir" = "$ac_pwd"; then
44662 + srcdir=.
44664 +# Remove unnecessary trailing slashes from srcdir.
44665 +# Double slashes in file names in object file debugging info
44666 +# mess up M-x gdb in Emacs.
44667 +case $srcdir in
44668 +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
44669 +esac
44670 +for ac_var in $ac_precious_vars; do
44671 + eval ac_env_${ac_var}_set=\${${ac_var}+set}
44672 + eval ac_env_${ac_var}_value=\$${ac_var}
44673 + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
44674 + eval ac_cv_env_${ac_var}_value=\$${ac_var}
44675 +done
44678 +# Report the --help message.
44680 +if test "$ac_init_help" = "long"; then
44681 + # Omit some internal or obsolete options to make the list less imposing.
44682 + # This message is too long to be a string in the A/UX 3.1 sh.
44683 + cat <<_ACEOF
44684 +\`configure' configures package-unused version-unused to adapt to many kinds of systems.
44686 +Usage: $0 [OPTION]... [VAR=VALUE]...
44688 +To assign environment variables (e.g., CC, CFLAGS...), specify them as
44689 +VAR=VALUE. See below for descriptions of some of the useful variables.
44691 +Defaults for the options are specified in brackets.
44693 +Configuration:
44694 + -h, --help display this help and exit
44695 + --help=short display options specific to this package
44696 + --help=recursive display the short help of all the included packages
44697 + -V, --version display version information and exit
44698 + -q, --quiet, --silent do not print \`checking...' messages
44699 + --cache-file=FILE cache test results in FILE [disabled]
44700 + -C, --config-cache alias for \`--cache-file=config.cache'
44701 + -n, --no-create do not create output files
44702 + --srcdir=DIR find the sources in DIR [configure dir or \`..']
44704 +Installation directories:
44705 + --prefix=PREFIX install architecture-independent files in PREFIX
44706 + [$ac_default_prefix]
44707 + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
44708 + [PREFIX]
44710 +By default, \`make install' will install all the files in
44711 +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
44712 +an installation prefix other than \`$ac_default_prefix' using \`--prefix',
44713 +for instance \`--prefix=\$HOME'.
44715 +For better control, use the options below.
44717 +Fine tuning of the installation directories:
44718 + --bindir=DIR user executables [EPREFIX/bin]
44719 + --sbindir=DIR system admin executables [EPREFIX/sbin]
44720 + --libexecdir=DIR program executables [EPREFIX/libexec]
44721 + --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
44722 + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
44723 + --localstatedir=DIR modifiable single-machine data [PREFIX/var]
44724 + --libdir=DIR object code libraries [EPREFIX/lib]
44725 + --includedir=DIR C header files [PREFIX/include]
44726 + --oldincludedir=DIR C header files for non-gcc [/usr/include]
44727 + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
44728 + --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
44729 + --infodir=DIR info documentation [DATAROOTDIR/info]
44730 + --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
44731 + --mandir=DIR man documentation [DATAROOTDIR/man]
44732 + --docdir=DIR documentation root [DATAROOTDIR/doc/libstdc++]
44733 + --htmldir=DIR html documentation [DOCDIR]
44734 + --dvidir=DIR dvi documentation [DOCDIR]
44735 + --pdfdir=DIR pdf documentation [DOCDIR]
44736 + --psdir=DIR ps documentation [DOCDIR]
44737 +_ACEOF
44739 + cat <<\_ACEOF
44741 +Program names:
44742 + --program-prefix=PREFIX prepend PREFIX to installed program names
44743 + --program-suffix=SUFFIX append SUFFIX to installed program names
44744 + --program-transform-name=PROGRAM run sed PROGRAM on installed program names
44746 +System types:
44747 + --build=BUILD configure for building on BUILD [guessed]
44748 + --host=HOST cross-compile to build programs to run on HOST [BUILD]
44749 + --target=TARGET configure for building compilers for TARGET [HOST]
44750 +_ACEOF
44753 +if test -n "$ac_init_help"; then
44754 + case $ac_init_help in
44755 + short | recursive ) echo "Configuration of package-unused version-unused:";;
44756 + esac
44757 + cat <<\_ACEOF
44759 +Optional Features:
44760 + --disable-option-checking ignore unrecognized --enable/--with options
44761 + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
44762 + --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
44763 + --enable-multilib build many library versions (default)
44764 + --enable-maintainer-mode enable make rules and dependencies not useful
44765 + (and sometimes confusing) to the casual installer
44766 + --enable-shared[=PKGS] build shared libraries [default=yes]
44767 + --enable-static[=PKGS] build static libraries [default=yes]
44768 + --enable-fast-install[=PKGS]
44769 + optimize for fast installation [default=yes]
44770 + --disable-libtool-lock avoid locking (might break parallel builds)
44771 + --disable-hosted-libstdcxx
44772 + only build freestanding C++ runtime support
44773 + --disable-libstdcxx-verbose
44774 + disable termination messages to standard error
44775 + --enable-sjlj-exceptions
44776 + force use of builtin_setjmp for exceptions
44777 + [default=auto]
44778 + --enable-libstdcxx-pch build pre-compiled libstdc++ headers
44779 + [default=$is_hosted]
44780 + --enable-cstdio[=PACKAGE]
44781 + use target-specific I/O package [default=stdio]
44782 + --enable-clocale[=MODEL]
44783 + use MODEL for target locale package [default=auto]
44784 + --enable-nls use Native Language Support (default)
44785 + --enable-libstdcxx-allocator[=KIND]
44786 + use KIND for target std::allocator base
44787 + [default=auto]
44788 + --enable-cheaders[=KIND]
44789 + construct "C" headers for g++ [default=$c_model]
44790 + --enable-long-long enable template specializations for 'long long'
44791 + [default=yes]
44792 + --enable-wchar_t enable template specializations for 'wchar_t'
44793 + [default=yes]
44794 + --enable-c99 turns on ISO/IEC 9899:1999 support [default=yes]
44795 + --enable-concept-checks use Boost-derived template checks [default=no]
44796 + --enable-libstdcxx-debug-flags=FLAGS
44797 + pass compiler FLAGS when building debug library
44798 + [default="-gdwarf-4 -g3 -O0"]
44799 + --enable-libstdcxx-debug
44800 + build extra debug library [default=no]
44801 + --enable-cxx-flags=FLAGS
44802 + pass compiler FLAGS when building library [default=]
44803 + --enable-fully-dynamic-string
44804 + do not put empty strings in per-process static
44805 + memory [default=no]
44806 + --enable-extern-template
44807 + enable extern template [default=yes]
44808 + --enable-werror turns on -Werror [default=yes]
44809 + --enable-vtable-verify enable vtable verify [default=no]
44810 + --enable-libstdcxx-time[=KIND]
44811 + use KIND for check type [default=auto]
44812 + --enable-tls Use thread-local storage [default=yes]
44813 + --disable-rpath do not hardcode runtime library paths
44814 + --enable-linux-futex use the Linux futex system call [default=default]
44815 + --enable-symvers[=STYLE]
44816 + enables symbol versioning of the shared library
44817 + [default=yes]
44818 + --enable-libstdcxx-visibility
44819 + enables visibility safe usage [default=yes]
44820 + --enable-libstdcxx-dual-abi
44821 + support two versions of std::string [default=yes]
44822 + --enable-libstdcxx-threads
44823 + enable C++11 threads support [default=auto]
44824 + --enable-version-specific-runtime-libs
44825 + Specify that runtime libraries should be installed
44826 + in a compiler-specific directory
44828 +Optional Packages:
44829 + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
44830 + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
44831 + --with-target-subdir=SUBDIR
44832 + configuring in a subdirectory
44833 + --with-cross-host=HOST configuring with a cross compiler
44834 + --with-newlib assume newlib as a system C library
44835 + --with-pic try to use only PIC/non-PIC objects [default=use
44836 + both]
44837 + --with-gnu-ld assume the C compiler uses GNU ld [default=no]
44838 + --with-python-dir the location to install Python modules. This path is
44839 + relative starting from the prefix.
44840 + --with-gnu-ld assume the C compiler uses GNU ld default=no
44841 + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
44842 + --without-libiconv-prefix don't search for libiconv in includedir and libdir
44843 + --with-system-libunwind use installed libunwind
44844 + --with-default-libstdcxx-abi
44845 + set the std::string ABI to use by default
44846 + --with-gxx-include-dir=DIR
44847 + installation directory for include files
44849 +Some influential environment variables:
44850 + CC C compiler command
44851 + CFLAGS C compiler flags
44852 + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
44853 + nonstandard directory <lib dir>
44854 + LIBS libraries to pass to the linker, e.g. -l<library>
44855 + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
44856 + you have headers in a nonstandard directory <include dir>
44857 + CXX C++ compiler command
44858 + CXXFLAGS C++ compiler flags
44859 + CPP C preprocessor
44860 + CXXCPP C++ preprocessor
44861 + CXXFILT Location of GNU c++filt. Defaults to the first GNU version of
44862 + `c++filt', `gc++filt' on PATH.
44864 +Use these variables to override the choices made by `configure' or to help
44865 +it to find libraries and programs with nonstandard names/locations.
44867 +Report bugs to the package provider.
44868 +_ACEOF
44869 +ac_status=$?
44872 +if test "$ac_init_help" = "recursive"; then
44873 + # If there are subdirs, report their specific --help.
44874 + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
44875 + test -d "$ac_dir" ||
44876 + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
44877 + continue
44878 + ac_builddir=.
44880 +case "$ac_dir" in
44881 +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
44883 + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
44884 + # A ".." for each directory in $ac_dir_suffix.
44885 + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
44886 + case $ac_top_builddir_sub in
44887 + "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
44888 + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
44889 + esac ;;
44890 +esac
44891 +ac_abs_top_builddir=$ac_pwd
44892 +ac_abs_builddir=$ac_pwd$ac_dir_suffix
44893 +# for backward compatibility:
44894 +ac_top_builddir=$ac_top_build_prefix
44896 +case $srcdir in
44897 + .) # We are building in place.
44898 + ac_srcdir=.
44899 + ac_top_srcdir=$ac_top_builddir_sub
44900 + ac_abs_top_srcdir=$ac_pwd ;;
44901 + [\\/]* | ?:[\\/]* ) # Absolute name.
44902 + ac_srcdir=$srcdir$ac_dir_suffix;
44903 + ac_top_srcdir=$srcdir
44904 + ac_abs_top_srcdir=$srcdir ;;
44905 + *) # Relative name.
44906 + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
44907 + ac_top_srcdir=$ac_top_build_prefix$srcdir
44908 + ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
44909 +esac
44910 +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
44912 + cd "$ac_dir" || { ac_status=$?; continue; }
44913 + # Check for guested configure.
44914 + if test -f "$ac_srcdir/configure.gnu"; then
44915 + echo &&
44916 + $SHELL "$ac_srcdir/configure.gnu" --help=recursive
44917 + elif test -f "$ac_srcdir/configure"; then
44918 + echo &&
44919 + $SHELL "$ac_srcdir/configure" --help=recursive
44920 + else
44921 + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
44922 + fi || ac_status=$?
44923 + cd "$ac_pwd" || { ac_status=$?; break; }
44924 + done
44927 +test -n "$ac_init_help" && exit $ac_status
44928 +if $ac_init_version; then
44929 + cat <<\_ACEOF
44930 +package-unused configure version-unused
44931 +generated by GNU Autoconf 2.64
44933 +Copyright (C) 2009 Free Software Foundation, Inc.
44934 +This configure script is free software; the Free Software Foundation
44935 +gives unlimited permission to copy, distribute and modify it.
44936 +_ACEOF
44937 + exit
44940 +## ------------------------ ##
44941 +## Autoconf initialization. ##
44942 +## ------------------------ ##
44944 +# ac_fn_c_try_compile LINENO
44945 +# --------------------------
44946 +# Try to compile conftest.$ac_ext, and return whether this succeeded.
44947 +ac_fn_c_try_compile ()
44949 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
44950 + rm -f conftest.$ac_objext
44951 + if { { ac_try="$ac_compile"
44952 +case "(($ac_try" in
44953 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
44954 + *) ac_try_echo=$ac_try;;
44955 +esac
44956 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
44957 +$as_echo "$ac_try_echo"; } >&5
44958 + (eval "$ac_compile") 2>conftest.err
44959 + ac_status=$?
44960 + if test -s conftest.err; then
44961 + grep -v '^ *+' conftest.err >conftest.er1
44962 + cat conftest.er1 >&5
44963 + mv -f conftest.er1 conftest.err
44964 + fi
44965 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
44966 + test $ac_status = 0; } && {
44967 + test -z "$ac_c_werror_flag" ||
44968 + test ! -s conftest.err
44969 + } && test -s conftest.$ac_objext; then :
44970 + ac_retval=0
44971 +else
44972 + $as_echo "$as_me: failed program was:" >&5
44973 +sed 's/^/| /' conftest.$ac_ext >&5
44975 + ac_retval=1
44977 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
44978 + return $ac_retval
44980 +} # ac_fn_c_try_compile
44982 +# ac_fn_cxx_try_compile LINENO
44983 +# ----------------------------
44984 +# Try to compile conftest.$ac_ext, and return whether this succeeded.
44985 +ac_fn_cxx_try_compile ()
44987 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
44988 + rm -f conftest.$ac_objext
44989 + if { { ac_try="$ac_compile"
44990 +case "(($ac_try" in
44991 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
44992 + *) ac_try_echo=$ac_try;;
44993 +esac
44994 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
44995 +$as_echo "$ac_try_echo"; } >&5
44996 + (eval "$ac_compile") 2>conftest.err
44997 + ac_status=$?
44998 + if test -s conftest.err; then
44999 + grep -v '^ *+' conftest.err >conftest.er1
45000 + cat conftest.er1 >&5
45001 + mv -f conftest.er1 conftest.err
45002 + fi
45003 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45004 + test $ac_status = 0; } && {
45005 + test -z "$ac_cxx_werror_flag" ||
45006 + test ! -s conftest.err
45007 + } && test -s conftest.$ac_objext; then :
45008 + ac_retval=0
45009 +else
45010 + $as_echo "$as_me: failed program was:" >&5
45011 +sed 's/^/| /' conftest.$ac_ext >&5
45013 + ac_retval=1
45015 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45016 + return $ac_retval
45018 +} # ac_fn_cxx_try_compile
45020 +# ac_fn_c_try_cpp LINENO
45021 +# ----------------------
45022 +# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
45023 +ac_fn_c_try_cpp ()
45025 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45026 + if { { ac_try="$ac_cpp conftest.$ac_ext"
45027 +case "(($ac_try" in
45028 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
45029 + *) ac_try_echo=$ac_try;;
45030 +esac
45031 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
45032 +$as_echo "$ac_try_echo"; } >&5
45033 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
45034 + ac_status=$?
45035 + if test -s conftest.err; then
45036 + grep -v '^ *+' conftest.err >conftest.er1
45037 + cat conftest.er1 >&5
45038 + mv -f conftest.er1 conftest.err
45039 + fi
45040 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45041 + test $ac_status = 0; } >/dev/null && {
45042 + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
45043 + test ! -s conftest.err
45044 + }; then :
45045 + ac_retval=0
45046 +else
45047 + $as_echo "$as_me: failed program was:" >&5
45048 +sed 's/^/| /' conftest.$ac_ext >&5
45050 + ac_retval=1
45052 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45053 + return $ac_retval
45055 +} # ac_fn_c_try_cpp
45057 +# ac_fn_c_try_link LINENO
45058 +# -----------------------
45059 +# Try to link conftest.$ac_ext, and return whether this succeeded.
45060 +ac_fn_c_try_link ()
45062 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45063 + rm -f conftest.$ac_objext conftest$ac_exeext
45064 + if { { ac_try="$ac_link"
45065 +case "(($ac_try" in
45066 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
45067 + *) ac_try_echo=$ac_try;;
45068 +esac
45069 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
45070 +$as_echo "$ac_try_echo"; } >&5
45071 + (eval "$ac_link") 2>conftest.err
45072 + ac_status=$?
45073 + if test -s conftest.err; then
45074 + grep -v '^ *+' conftest.err >conftest.er1
45075 + cat conftest.er1 >&5
45076 + mv -f conftest.er1 conftest.err
45077 + fi
45078 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45079 + test $ac_status = 0; } && {
45080 + test -z "$ac_c_werror_flag" ||
45081 + test ! -s conftest.err
45082 + } && test -s conftest$ac_exeext && {
45083 + test "$cross_compiling" = yes ||
45084 + $as_test_x conftest$ac_exeext
45085 + }; then :
45086 + ac_retval=0
45087 +else
45088 + $as_echo "$as_me: failed program was:" >&5
45089 +sed 's/^/| /' conftest.$ac_ext >&5
45091 + ac_retval=1
45093 + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
45094 + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
45095 + # interfere with the next link command; also delete a directory that is
45096 + # left behind by Apple's compiler. We do this before executing the actions.
45097 + rm -rf conftest.dSYM conftest_ipa8_conftest.oo
45098 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45099 + return $ac_retval
45101 +} # ac_fn_c_try_link
45103 +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
45104 +# -------------------------------------------------------
45105 +# Tests whether HEADER exists and can be compiled using the include files in
45106 +# INCLUDES, setting the cache variable VAR accordingly.
45107 +ac_fn_c_check_header_compile ()
45109 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45110 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45111 +$as_echo_n "checking for $2... " >&6; }
45112 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45113 + $as_echo_n "(cached) " >&6
45114 +else
45115 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45116 +/* end confdefs.h. */
45118 +#include <$2>
45119 +_ACEOF
45120 +if ac_fn_c_try_compile "$LINENO"; then :
45121 + eval "$3=yes"
45122 +else
45123 + eval "$3=no"
45125 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45127 +eval ac_res=\$$3
45128 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45129 +$as_echo "$ac_res" >&6; }
45130 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45132 +} # ac_fn_c_check_header_compile
45134 +# ac_fn_c_try_run LINENO
45135 +# ----------------------
45136 +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
45137 +# that executables *can* be run.
45138 +ac_fn_c_try_run ()
45140 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45141 + if { { ac_try="$ac_link"
45142 +case "(($ac_try" in
45143 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
45144 + *) ac_try_echo=$ac_try;;
45145 +esac
45146 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
45147 +$as_echo "$ac_try_echo"; } >&5
45148 + (eval "$ac_link") 2>&5
45149 + ac_status=$?
45150 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45151 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
45152 + { { case "(($ac_try" in
45153 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
45154 + *) ac_try_echo=$ac_try;;
45155 +esac
45156 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
45157 +$as_echo "$ac_try_echo"; } >&5
45158 + (eval "$ac_try") 2>&5
45159 + ac_status=$?
45160 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45161 + test $ac_status = 0; }; }; then :
45162 + ac_retval=0
45163 +else
45164 + $as_echo "$as_me: program exited with status $ac_status" >&5
45165 + $as_echo "$as_me: failed program was:" >&5
45166 +sed 's/^/| /' conftest.$ac_ext >&5
45168 + ac_retval=$ac_status
45170 + rm -rf conftest.dSYM conftest_ipa8_conftest.oo
45171 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45172 + return $ac_retval
45174 +} # ac_fn_c_try_run
45176 +# ac_fn_c_check_func LINENO FUNC VAR
45177 +# ----------------------------------
45178 +# Tests whether FUNC exists, setting the cache variable VAR accordingly
45179 +ac_fn_c_check_func ()
45181 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45182 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45183 +$as_echo_n "checking for $2... " >&6; }
45184 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45185 + $as_echo_n "(cached) " >&6
45186 +else
45187 + if test x$gcc_no_link = xyes; then
45188 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
45190 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45191 +/* end confdefs.h. */
45192 +/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
45193 + For example, HP-UX 11i <limits.h> declares gettimeofday. */
45194 +#define $2 innocuous_$2
45196 +/* System header to define __stub macros and hopefully few prototypes,
45197 + which can conflict with char $2 (); below.
45198 + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
45199 + <limits.h> exists even on freestanding compilers. */
45201 +#ifdef __STDC__
45202 +# include <limits.h>
45203 +#else
45204 +# include <assert.h>
45205 +#endif
45207 +#undef $2
45209 +/* Override any GCC internal prototype to avoid an error.
45210 + Use char because int might match the return type of a GCC
45211 + builtin and then its argument prototype would still apply. */
45212 +#ifdef __cplusplus
45213 +extern "C"
45214 +#endif
45215 +char $2 ();
45216 +/* The GNU C library defines this for functions which it implements
45217 + to always fail with ENOSYS. Some functions are actually named
45218 + something starting with __ and the normal name is an alias. */
45219 +#if defined __stub_$2 || defined __stub___$2
45220 +choke me
45221 +#endif
45223 +int
45224 +main ()
45226 +return $2 ();
45228 + return 0;
45230 +_ACEOF
45231 +if ac_fn_c_try_link "$LINENO"; then :
45232 + eval "$3=yes"
45233 +else
45234 + eval "$3=no"
45236 +rm -f core conftest.err conftest.$ac_objext \
45237 + conftest$ac_exeext conftest.$ac_ext
45239 +eval ac_res=\$$3
45240 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45241 +$as_echo "$ac_res" >&6; }
45242 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45244 +} # ac_fn_c_check_func
45246 +# ac_fn_cxx_try_cpp LINENO
45247 +# ------------------------
45248 +# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
45249 +ac_fn_cxx_try_cpp ()
45251 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45252 + if { { ac_try="$ac_cpp conftest.$ac_ext"
45253 +case "(($ac_try" in
45254 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
45255 + *) ac_try_echo=$ac_try;;
45256 +esac
45257 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
45258 +$as_echo "$ac_try_echo"; } >&5
45259 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
45260 + ac_status=$?
45261 + if test -s conftest.err; then
45262 + grep -v '^ *+' conftest.err >conftest.er1
45263 + cat conftest.er1 >&5
45264 + mv -f conftest.er1 conftest.err
45265 + fi
45266 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45267 + test $ac_status = 0; } >/dev/null && {
45268 + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
45269 + test ! -s conftest.err
45270 + }; then :
45271 + ac_retval=0
45272 +else
45273 + $as_echo "$as_me: failed program was:" >&5
45274 +sed 's/^/| /' conftest.$ac_ext >&5
45276 + ac_retval=1
45278 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45279 + return $ac_retval
45281 +} # ac_fn_cxx_try_cpp
45283 +# ac_fn_cxx_try_link LINENO
45284 +# -------------------------
45285 +# Try to link conftest.$ac_ext, and return whether this succeeded.
45286 +ac_fn_cxx_try_link ()
45288 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45289 + rm -f conftest.$ac_objext conftest$ac_exeext
45290 + if { { ac_try="$ac_link"
45291 +case "(($ac_try" in
45292 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
45293 + *) ac_try_echo=$ac_try;;
45294 +esac
45295 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
45296 +$as_echo "$ac_try_echo"; } >&5
45297 + (eval "$ac_link") 2>conftest.err
45298 + ac_status=$?
45299 + if test -s conftest.err; then
45300 + grep -v '^ *+' conftest.err >conftest.er1
45301 + cat conftest.er1 >&5
45302 + mv -f conftest.er1 conftest.err
45303 + fi
45304 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
45305 + test $ac_status = 0; } && {
45306 + test -z "$ac_cxx_werror_flag" ||
45307 + test ! -s conftest.err
45308 + } && test -s conftest$ac_exeext && {
45309 + test "$cross_compiling" = yes ||
45310 + $as_test_x conftest$ac_exeext
45311 + }; then :
45312 + ac_retval=0
45313 +else
45314 + $as_echo "$as_me: failed program was:" >&5
45315 +sed 's/^/| /' conftest.$ac_ext >&5
45317 + ac_retval=1
45319 + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
45320 + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
45321 + # interfere with the next link command; also delete a directory that is
45322 + # left behind by Apple's compiler. We do this before executing the actions.
45323 + rm -rf conftest.dSYM conftest_ipa8_conftest.oo
45324 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45325 + return $ac_retval
45327 +} # ac_fn_cxx_try_link
45329 +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
45330 +# -------------------------------------------------------
45331 +# Tests whether HEADER exists, giving a warning if it cannot be compiled using
45332 +# the include files in INCLUDES and setting the cache variable VAR
45333 +# accordingly.
45334 +ac_fn_c_check_header_mongrel ()
45336 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45337 + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45338 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45339 +$as_echo_n "checking for $2... " >&6; }
45340 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45341 + $as_echo_n "(cached) " >&6
45343 +eval ac_res=\$$3
45344 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45345 +$as_echo "$ac_res" >&6; }
45346 +else
45347 + # Is the header compilable?
45348 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
45349 +$as_echo_n "checking $2 usability... " >&6; }
45350 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45351 +/* end confdefs.h. */
45353 +#include <$2>
45354 +_ACEOF
45355 +if ac_fn_c_try_compile "$LINENO"; then :
45356 + ac_header_compiler=yes
45357 +else
45358 + ac_header_compiler=no
45360 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45361 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
45362 +$as_echo "$ac_header_compiler" >&6; }
45364 +# Is the header present?
45365 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
45366 +$as_echo_n "checking $2 presence... " >&6; }
45367 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45368 +/* end confdefs.h. */
45369 +#include <$2>
45370 +_ACEOF
45371 +if ac_fn_c_try_cpp "$LINENO"; then :
45372 + ac_header_preproc=yes
45373 +else
45374 + ac_header_preproc=no
45376 +rm -f conftest.err conftest.$ac_ext
45377 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
45378 +$as_echo "$ac_header_preproc" >&6; }
45380 +# So? What about this header?
45381 +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
45382 + yes:no: )
45383 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
45384 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
45385 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
45386 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
45387 + ;;
45388 + no:yes:* )
45389 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
45390 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
45391 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
45392 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
45393 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
45394 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
45395 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
45396 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
45397 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
45398 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
45399 + ;;
45400 +esac
45401 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45402 +$as_echo_n "checking for $2... " >&6; }
45403 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45404 + $as_echo_n "(cached) " >&6
45405 +else
45406 + eval "$3=\$ac_header_compiler"
45408 +eval ac_res=\$$3
45409 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45410 +$as_echo "$ac_res" >&6; }
45412 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45414 +} # ac_fn_c_check_header_mongrel
45416 +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
45417 +# ---------------------------------------------------------
45418 +# Tests whether HEADER exists, giving a warning if it cannot be compiled using
45419 +# the include files in INCLUDES and setting the cache variable VAR
45420 +# accordingly.
45421 +ac_fn_cxx_check_header_mongrel ()
45423 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45424 + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45425 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45426 +$as_echo_n "checking for $2... " >&6; }
45427 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45428 + $as_echo_n "(cached) " >&6
45430 +eval ac_res=\$$3
45431 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45432 +$as_echo "$ac_res" >&6; }
45433 +else
45434 + # Is the header compilable?
45435 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
45436 +$as_echo_n "checking $2 usability... " >&6; }
45437 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45438 +/* end confdefs.h. */
45440 +#include <$2>
45441 +_ACEOF
45442 +if ac_fn_cxx_try_compile "$LINENO"; then :
45443 + ac_header_compiler=yes
45444 +else
45445 + ac_header_compiler=no
45447 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45448 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
45449 +$as_echo "$ac_header_compiler" >&6; }
45451 +# Is the header present?
45452 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
45453 +$as_echo_n "checking $2 presence... " >&6; }
45454 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45455 +/* end confdefs.h. */
45456 +#include <$2>
45457 +_ACEOF
45458 +if ac_fn_cxx_try_cpp "$LINENO"; then :
45459 + ac_header_preproc=yes
45460 +else
45461 + ac_header_preproc=no
45463 +rm -f conftest.err conftest.$ac_ext
45464 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
45465 +$as_echo "$ac_header_preproc" >&6; }
45467 +# So? What about this header?
45468 +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
45469 + yes:no: )
45470 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
45471 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
45472 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
45473 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
45474 + ;;
45475 + no:yes:* )
45476 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
45477 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
45478 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
45479 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
45480 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
45481 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
45482 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
45483 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
45484 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
45485 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
45486 + ;;
45487 +esac
45488 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45489 +$as_echo_n "checking for $2... " >&6; }
45490 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45491 + $as_echo_n "(cached) " >&6
45492 +else
45493 + eval "$3=\$ac_header_compiler"
45495 +eval ac_res=\$$3
45496 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45497 +$as_echo "$ac_res" >&6; }
45499 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45501 +} # ac_fn_cxx_check_header_mongrel
45503 +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
45504 +# --------------------------------------------
45505 +# Tries to find the compile-time value of EXPR in a program that includes
45506 +# INCLUDES, setting VAR accordingly. Returns whether the value could be
45507 +# computed
45508 +ac_fn_c_compute_int ()
45510 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45511 + if test "$cross_compiling" = yes; then
45512 + # Depending upon the size, compute the lo and hi bounds.
45513 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45514 +/* end confdefs.h. */
45516 +int
45517 +main ()
45519 +static int test_array [1 - 2 * !(($2) >= 0)];
45520 +test_array [0] = 0
45523 + return 0;
45525 +_ACEOF
45526 +if ac_fn_c_try_compile "$LINENO"; then :
45527 + ac_lo=0 ac_mid=0
45528 + while :; do
45529 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45530 +/* end confdefs.h. */
45532 +int
45533 +main ()
45535 +static int test_array [1 - 2 * !(($2) <= $ac_mid)];
45536 +test_array [0] = 0
45539 + return 0;
45541 +_ACEOF
45542 +if ac_fn_c_try_compile "$LINENO"; then :
45543 + ac_hi=$ac_mid; break
45544 +else
45545 + as_fn_arith $ac_mid + 1 && ac_lo=$as_val
45546 + if test $ac_lo -le $ac_mid; then
45547 + ac_lo= ac_hi=
45548 + break
45549 + fi
45550 + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
45552 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45553 + done
45554 +else
45555 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45556 +/* end confdefs.h. */
45558 +int
45559 +main ()
45561 +static int test_array [1 - 2 * !(($2) < 0)];
45562 +test_array [0] = 0
45565 + return 0;
45567 +_ACEOF
45568 +if ac_fn_c_try_compile "$LINENO"; then :
45569 + ac_hi=-1 ac_mid=-1
45570 + while :; do
45571 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45572 +/* end confdefs.h. */
45574 +int
45575 +main ()
45577 +static int test_array [1 - 2 * !(($2) >= $ac_mid)];
45578 +test_array [0] = 0
45581 + return 0;
45583 +_ACEOF
45584 +if ac_fn_c_try_compile "$LINENO"; then :
45585 + ac_lo=$ac_mid; break
45586 +else
45587 + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
45588 + if test $ac_mid -le $ac_hi; then
45589 + ac_lo= ac_hi=
45590 + break
45591 + fi
45592 + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
45594 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45595 + done
45596 +else
45597 + ac_lo= ac_hi=
45599 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45601 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45602 +# Binary search between lo and hi bounds.
45603 +while test "x$ac_lo" != "x$ac_hi"; do
45604 + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
45605 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45606 +/* end confdefs.h. */
45608 +int
45609 +main ()
45611 +static int test_array [1 - 2 * !(($2) <= $ac_mid)];
45612 +test_array [0] = 0
45615 + return 0;
45617 +_ACEOF
45618 +if ac_fn_c_try_compile "$LINENO"; then :
45619 + ac_hi=$ac_mid
45620 +else
45621 + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
45623 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45624 +done
45625 +case $ac_lo in #((
45626 +?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
45627 +'') ac_retval=1 ;;
45628 +esac
45629 + else
45630 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45631 +/* end confdefs.h. */
45633 +static long int longval () { return $2; }
45634 +static unsigned long int ulongval () { return $2; }
45635 +#include <stdio.h>
45636 +#include <stdlib.h>
45637 +int
45638 +main ()
45641 + FILE *f = fopen ("conftest.val", "w");
45642 + if (! f)
45643 + return 1;
45644 + if (($2) < 0)
45646 + long int i = longval ();
45647 + if (i != ($2))
45648 + return 1;
45649 + fprintf (f, "%ld", i);
45651 + else
45653 + unsigned long int i = ulongval ();
45654 + if (i != ($2))
45655 + return 1;
45656 + fprintf (f, "%lu", i);
45658 + /* Do not output a trailing newline, as this causes \r\n confusion
45659 + on some platforms. */
45660 + return ferror (f) || fclose (f) != 0;
45663 + return 0;
45665 +_ACEOF
45666 +if ac_fn_c_try_run "$LINENO"; then :
45667 + echo >>conftest.val; read $3 <conftest.val; ac_retval=0
45668 +else
45669 + ac_retval=1
45671 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
45672 + conftest.$ac_objext conftest.beam conftest.$ac_ext
45673 +rm -f conftest.val
45675 + fi
45676 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45677 + return $ac_retval
45679 +} # ac_fn_c_compute_int
45681 +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
45682 +# -------------------------------------------
45683 +# Tests whether TYPE exists after having included INCLUDES, setting cache
45684 +# variable VAR accordingly.
45685 +ac_fn_c_check_type ()
45687 + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
45688 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
45689 +$as_echo_n "checking for $2... " >&6; }
45690 +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
45691 + $as_echo_n "(cached) " >&6
45692 +else
45693 + eval "$3=no"
45694 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45695 +/* end confdefs.h. */
45697 +int
45698 +main ()
45700 +if (sizeof ($2))
45701 + return 0;
45703 + return 0;
45705 +_ACEOF
45706 +if ac_fn_c_try_compile "$LINENO"; then :
45707 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
45708 +/* end confdefs.h. */
45710 +int
45711 +main ()
45713 +if (sizeof (($2)))
45714 + return 0;
45716 + return 0;
45718 +_ACEOF
45719 +if ac_fn_c_try_compile "$LINENO"; then :
45721 +else
45722 + eval "$3=yes"
45724 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45726 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
45728 +eval ac_res=\$$3
45729 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
45730 +$as_echo "$ac_res" >&6; }
45731 + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
45733 +} # ac_fn_c_check_type
45734 +cat >config.log <<_ACEOF
45735 +This file contains any messages produced by compilers while
45736 +running configure, to aid debugging if configure makes a mistake.
45738 +It was created by package-unused $as_me version-unused, which was
45739 +generated by GNU Autoconf 2.64. Invocation command line was
45741 + $ $0 $@
45743 +_ACEOF
45744 +exec 5>>config.log
45746 +cat <<_ASUNAME
45747 +## --------- ##
45748 +## Platform. ##
45749 +## --------- ##
45751 +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
45752 +uname -m = `(uname -m) 2>/dev/null || echo unknown`
45753 +uname -r = `(uname -r) 2>/dev/null || echo unknown`
45754 +uname -s = `(uname -s) 2>/dev/null || echo unknown`
45755 +uname -v = `(uname -v) 2>/dev/null || echo unknown`
45757 +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
45758 +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
45760 +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
45761 +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
45762 +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
45763 +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
45764 +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
45765 +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
45766 +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
45768 +_ASUNAME
45770 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
45771 +for as_dir in $PATH
45773 + IFS=$as_save_IFS
45774 + test -z "$as_dir" && as_dir=.
45775 + $as_echo "PATH: $as_dir"
45776 + done
45777 +IFS=$as_save_IFS
45779 +} >&5
45781 +cat >&5 <<_ACEOF
45784 +## ----------- ##
45785 +## Core tests. ##
45786 +## ----------- ##
45788 +_ACEOF
45791 +# Keep a trace of the command line.
45792 +# Strip out --no-create and --no-recursion so they do not pile up.
45793 +# Strip out --silent because we don't want to record it for future runs.
45794 +# Also quote any args containing shell meta-characters.
45795 +# Make two passes to allow for proper duplicate-argument suppression.
45796 +ac_configure_args=
45797 +ac_configure_args0=
45798 +ac_configure_args1=
45799 +ac_must_keep_next=false
45800 +for ac_pass in 1 2
45802 + for ac_arg
45803 + do
45804 + case $ac_arg in
45805 + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
45806 + -q | -quiet | --quiet | --quie | --qui | --qu | --q \
45807 + | -silent | --silent | --silen | --sile | --sil)
45808 + continue ;;
45809 + *\'*)
45810 + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
45811 + esac
45812 + case $ac_pass in
45813 + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
45814 + 2)
45815 + as_fn_append ac_configure_args1 " '$ac_arg'"
45816 + if test $ac_must_keep_next = true; then
45817 + ac_must_keep_next=false # Got value, back to normal.
45818 + else
45819 + case $ac_arg in
45820 + *=* | --config-cache | -C | -disable-* | --disable-* \
45821 + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
45822 + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
45823 + | -with-* | --with-* | -without-* | --without-* | --x)
45824 + case "$ac_configure_args0 " in
45825 + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
45826 + esac
45827 + ;;
45828 + -* ) ac_must_keep_next=true ;;
45829 + esac
45830 + fi
45831 + as_fn_append ac_configure_args " '$ac_arg'"
45832 + ;;
45833 + esac
45834 + done
45835 +done
45836 +{ ac_configure_args0=; unset ac_configure_args0;}
45837 +{ ac_configure_args1=; unset ac_configure_args1;}
45839 +# When interrupted or exit'd, cleanup temporary files, and complete
45840 +# config.log. We remove comments because anyway the quotes in there
45841 +# would cause problems or look ugly.
45842 +# WARNING: Use '\'' to represent an apostrophe within the trap.
45843 +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
45844 +trap 'exit_status=$?
45845 + # Save into config.log some information that might help in debugging.
45847 + echo
45849 + cat <<\_ASBOX
45850 +## ---------------- ##
45851 +## Cache variables. ##
45852 +## ---------------- ##
45853 +_ASBOX
45854 + echo
45855 + # The following way of writing the cache mishandles newlines in values,
45857 + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
45858 + eval ac_val=\$$ac_var
45859 + case $ac_val in #(
45860 + *${as_nl}*)
45861 + case $ac_var in #(
45862 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
45863 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
45864 + esac
45865 + case $ac_var in #(
45866 + _ | IFS | as_nl) ;; #(
45867 + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
45868 + *) { eval $ac_var=; unset $ac_var;} ;;
45869 + esac ;;
45870 + esac
45871 + done
45872 + (set) 2>&1 |
45873 + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
45874 + *${as_nl}ac_space=\ *)
45875 + sed -n \
45876 + "s/'\''/'\''\\\\'\'''\''/g;
45877 + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
45878 + ;; #(
45879 + *)
45880 + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
45881 + ;;
45882 + esac |
45883 + sort
45885 + echo
45887 + cat <<\_ASBOX
45888 +## ----------------- ##
45889 +## Output variables. ##
45890 +## ----------------- ##
45891 +_ASBOX
45892 + echo
45893 + for ac_var in $ac_subst_vars
45894 + do
45895 + eval ac_val=\$$ac_var
45896 + case $ac_val in
45897 + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
45898 + esac
45899 + $as_echo "$ac_var='\''$ac_val'\''"
45900 + done | sort
45901 + echo
45903 + if test -n "$ac_subst_files"; then
45904 + cat <<\_ASBOX
45905 +## ------------------- ##
45906 +## File substitutions. ##
45907 +## ------------------- ##
45908 +_ASBOX
45909 + echo
45910 + for ac_var in $ac_subst_files
45911 + do
45912 + eval ac_val=\$$ac_var
45913 + case $ac_val in
45914 + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
45915 + esac
45916 + $as_echo "$ac_var='\''$ac_val'\''"
45917 + done | sort
45918 + echo
45919 + fi
45921 + if test -s confdefs.h; then
45922 + cat <<\_ASBOX
45923 +## ----------- ##
45924 +## confdefs.h. ##
45925 +## ----------- ##
45926 +_ASBOX
45927 + echo
45928 + cat confdefs.h
45929 + echo
45930 + fi
45931 + test "$ac_signal" != 0 &&
45932 + $as_echo "$as_me: caught signal $ac_signal"
45933 + $as_echo "$as_me: exit $exit_status"
45934 + } >&5
45935 + rm -f core *.core core.conftest.* &&
45936 + rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
45937 + exit $exit_status
45938 +' 0
45939 +for ac_signal in 1 2 13 15; do
45940 + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
45941 +done
45942 +ac_signal=0
45944 +# confdefs.h avoids OS command line length limits that DEFS can exceed.
45945 +rm -f -r conftest* confdefs.h
45947 +$as_echo "/* confdefs.h */" > confdefs.h
45949 +# Predefined preprocessor variables.
45951 +cat >>confdefs.h <<_ACEOF
45952 +#define PACKAGE_NAME "$PACKAGE_NAME"
45953 +_ACEOF
45955 +cat >>confdefs.h <<_ACEOF
45956 +#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
45957 +_ACEOF
45959 +cat >>confdefs.h <<_ACEOF
45960 +#define PACKAGE_VERSION "$PACKAGE_VERSION"
45961 +_ACEOF
45963 +cat >>confdefs.h <<_ACEOF
45964 +#define PACKAGE_STRING "$PACKAGE_STRING"
45965 +_ACEOF
45967 +cat >>confdefs.h <<_ACEOF
45968 +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
45969 +_ACEOF
45971 +cat >>confdefs.h <<_ACEOF
45972 +#define PACKAGE_URL "$PACKAGE_URL"
45973 +_ACEOF
45976 +# Let the site file select an alternate cache file if it wants to.
45977 +# Prefer an explicitly selected file to automatically selected ones.
45978 +ac_site_file1=NONE
45979 +ac_site_file2=NONE
45980 +if test -n "$CONFIG_SITE"; then
45981 + ac_site_file1=$CONFIG_SITE
45982 +elif test "x$prefix" != xNONE; then
45983 + ac_site_file1=$prefix/share/config.site
45984 + ac_site_file2=$prefix/etc/config.site
45985 +else
45986 + ac_site_file1=$ac_default_prefix/share/config.site
45987 + ac_site_file2=$ac_default_prefix/etc/config.site
45989 +for ac_site_file in "$ac_site_file1" "$ac_site_file2"
45991 + test "x$ac_site_file" = xNONE && continue
45992 + if test -r "$ac_site_file"; then
45993 + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
45994 +$as_echo "$as_me: loading site script $ac_site_file" >&6;}
45995 + sed 's/^/| /' "$ac_site_file" >&5
45996 + . "$ac_site_file"
45997 + fi
45998 +done
46000 +if test -r "$cache_file"; then
46001 + # Some versions of bash will fail to source /dev/null (special
46002 + # files actually), so we avoid doing that.
46003 + if test -f "$cache_file"; then
46004 + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
46005 +$as_echo "$as_me: loading cache $cache_file" >&6;}
46006 + case $cache_file in
46007 + [\\/]* | ?:[\\/]* ) . "$cache_file";;
46008 + *) . "./$cache_file";;
46009 + esac
46010 + fi
46011 +else
46012 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
46013 +$as_echo "$as_me: creating cache $cache_file" >&6;}
46014 + >$cache_file
46017 +# Check that the precious variables saved in the cache have kept the same
46018 +# value.
46019 +ac_cache_corrupted=false
46020 +for ac_var in $ac_precious_vars; do
46021 + eval ac_old_set=\$ac_cv_env_${ac_var}_set
46022 + eval ac_new_set=\$ac_env_${ac_var}_set
46023 + eval ac_old_val=\$ac_cv_env_${ac_var}_value
46024 + eval ac_new_val=\$ac_env_${ac_var}_value
46025 + case $ac_old_set,$ac_new_set in
46026 + set,)
46027 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
46028 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
46029 + ac_cache_corrupted=: ;;
46030 + ,set)
46031 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
46032 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
46033 + ac_cache_corrupted=: ;;
46034 + ,);;
46035 + *)
46036 + if test "x$ac_old_val" != "x$ac_new_val"; then
46037 + # differences in whitespace do not lead to failure.
46038 + ac_old_val_w=`echo x $ac_old_val`
46039 + ac_new_val_w=`echo x $ac_new_val`
46040 + if test "$ac_old_val_w" != "$ac_new_val_w"; then
46041 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
46042 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
46043 + ac_cache_corrupted=:
46044 + else
46045 + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
46046 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
46047 + eval $ac_var=\$ac_old_val
46048 + fi
46049 + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
46050 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
46051 + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
46052 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
46053 + fi;;
46054 + esac
46055 + # Pass precious variables to config.status.
46056 + if test "$ac_new_set" = set; then
46057 + case $ac_new_val in
46058 + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
46059 + *) ac_arg=$ac_var=$ac_new_val ;;
46060 + esac
46061 + case " $ac_configure_args " in
46062 + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
46063 + *) as_fn_append ac_configure_args " '$ac_arg'" ;;
46064 + esac
46065 + fi
46066 +done
46067 +if $ac_cache_corrupted; then
46068 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
46069 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
46070 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
46071 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
46072 + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
46074 +## -------------------- ##
46075 +## Main body of script. ##
46076 +## -------------------- ##
46078 +ac_ext=c
46079 +ac_cpp='$CPP $CPPFLAGS'
46080 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
46081 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
46082 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
46089 +ac_config_headers="$ac_config_headers config.h"
46092 +# This works around the fact that libtool configuration may change LD
46093 +# for this particular configuration, but some shells, instead of
46094 +# keeping the changes in LD private, export them just because LD is
46095 +# exported. Only used at the end of this file.
46096 +### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
46098 +# Find the rest of the source tree framework.
46099 +# Default to --enable-multilib
46100 +# Check whether --enable-multilib was given.
46101 +if test "${enable_multilib+set}" = set; then :
46102 + enableval=$enable_multilib; case "$enableval" in
46103 + yes) multilib=yes ;;
46104 + no) multilib=no ;;
46105 + *) as_fn_error "bad value $enableval for multilib option" "$LINENO" 5 ;;
46106 + esac
46107 +else
46108 + multilib=yes
46112 +# We may get other options which we leave undocumented:
46113 +# --with-target-subdir, --with-multisrctop, --with-multisubdir
46114 +# See config-ml.in if you want the gory details.
46116 +if test "$srcdir" = "."; then
46117 + if test "$with_target_subdir" != "."; then
46118 + multi_basedir="$srcdir/$with_multisrctop../.."
46119 + else
46120 + multi_basedir="$srcdir/$with_multisrctop.."
46121 + fi
46122 +else
46123 + multi_basedir="$srcdir/.."
46127 +# Even if the default multilib is not a cross compilation,
46128 +# it may be that some of the other multilibs are.
46129 +if test $cross_compiling = no && test $multilib = yes \
46130 + && test "x${with_multisubdir}" != x ; then
46131 + cross_compiling=maybe
46134 +ac_config_commands="$ac_config_commands default-1"
46137 +# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
46139 +# You will slowly go insane if you do not grok the following fact: when
46140 +# building v3 as part of the compiler, the top-level /target/ becomes the
46141 +# library's /host/. configure then causes --target to default to --host,
46142 +# exactly like any other package using autoconf. Therefore, 'target' and
46143 +# 'host' will always be the same. This makes sense both for native and
46144 +# cross compilers, just think about it for a little while. :-)
46146 +# Also, if v3 is being configured as part of a cross compiler, the top-level
46147 +# configure script will pass the "real" host as $with_cross_host.
46149 +# Do not delete or change the following two lines. For why, see
46150 +# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
46151 +ac_aux_dir=
46152 +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
46153 + for ac_t in install-sh install.sh shtool; do
46154 + if test -f "$ac_dir/$ac_t"; then
46155 + ac_aux_dir=$ac_dir
46156 + ac_install_sh="$ac_aux_dir/$ac_t -c"
46157 + break 2
46158 + fi
46159 + done
46160 +done
46161 +if test -z "$ac_aux_dir"; then
46162 + as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
46165 +# These three variables are undocumented and unsupported,
46166 +# and are intended to be withdrawn in a future Autoconf release.
46167 +# They can cause serious problems if a builder's source tree is in a directory
46168 +# whose full name contains unusual characters.
46169 +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
46170 +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
46171 +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
46174 +# Make sure we can run config.sub.
46175 +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
46176 + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
46178 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
46179 +$as_echo_n "checking build system type... " >&6; }
46180 +if test "${ac_cv_build+set}" = set; then :
46181 + $as_echo_n "(cached) " >&6
46182 +else
46183 + ac_build_alias=$build_alias
46184 +test "x$ac_build_alias" = x &&
46185 + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
46186 +test "x$ac_build_alias" = x &&
46187 + as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
46188 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
46189 + as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
46192 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
46193 +$as_echo "$ac_cv_build" >&6; }
46194 +case $ac_cv_build in
46195 +*-*-*) ;;
46196 +*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
46197 +esac
46198 +build=$ac_cv_build
46199 +ac_save_IFS=$IFS; IFS='-'
46200 +set x $ac_cv_build
46201 +shift
46202 +build_cpu=$1
46203 +build_vendor=$2
46204 +shift; shift
46205 +# Remember, the first character of IFS is used to create $*,
46206 +# except with old shells:
46207 +build_os=$*
46208 +IFS=$ac_save_IFS
46209 +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
46212 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
46213 +$as_echo_n "checking host system type... " >&6; }
46214 +if test "${ac_cv_host+set}" = set; then :
46215 + $as_echo_n "(cached) " >&6
46216 +else
46217 + if test "x$host_alias" = x; then
46218 + ac_cv_host=$ac_cv_build
46219 +else
46220 + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
46221 + as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
46225 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
46226 +$as_echo "$ac_cv_host" >&6; }
46227 +case $ac_cv_host in
46228 +*-*-*) ;;
46229 +*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
46230 +esac
46231 +host=$ac_cv_host
46232 +ac_save_IFS=$IFS; IFS='-'
46233 +set x $ac_cv_host
46234 +shift
46235 +host_cpu=$1
46236 +host_vendor=$2
46237 +shift; shift
46238 +# Remember, the first character of IFS is used to create $*,
46239 +# except with old shells:
46240 +host_os=$*
46241 +IFS=$ac_save_IFS
46242 +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
46245 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
46246 +$as_echo_n "checking target system type... " >&6; }
46247 +if test "${ac_cv_target+set}" = set; then :
46248 + $as_echo_n "(cached) " >&6
46249 +else
46250 + if test "x$target_alias" = x; then
46251 + ac_cv_target=$ac_cv_host
46252 +else
46253 + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
46254 + as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
46258 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
46259 +$as_echo "$ac_cv_target" >&6; }
46260 +case $ac_cv_target in
46261 +*-*-*) ;;
46262 +*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
46263 +esac
46264 +target=$ac_cv_target
46265 +ac_save_IFS=$IFS; IFS='-'
46266 +set x $ac_cv_target
46267 +shift
46268 +target_cpu=$1
46269 +target_vendor=$2
46270 +shift; shift
46271 +# Remember, the first character of IFS is used to create $*,
46272 +# except with old shells:
46273 +target_os=$*
46274 +IFS=$ac_save_IFS
46275 +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
46278 +# The aliases save the names the user supplied, while $host etc.
46279 +# will get canonicalized.
46280 +test -n "$target_alias" &&
46281 + test "$program_prefix$program_suffix$program_transform_name" = \
46282 + NONENONEs,x,x, &&
46283 + program_prefix=${target_alias}-
46285 +target_alias=${target_alias-$host_alias}
46287 +# Handy for debugging:
46288 +#AC_MSG_NOTICE($build / $host / $target / $host_alias / $target_alias); sleep 5
46290 +if test "$build" != "$host"; then
46291 + # We are being configured with some form of cross compiler.
46292 + GLIBCXX_IS_NATIVE=false
46293 + case "$host","$target" in
46294 + # Darwin crosses can use the host system's libraries and headers,
46295 + # because of the fat library support. Of course, it must be the
46296 + # same version of Darwin on both sides. Allow the user to
46297 + # just say --target=foo-darwin without a version number to mean
46298 + # "the version on this system".
46299 + *-*-darwin*,*-*-darwin*)
46300 + hostos=`echo $host | sed 's/.*-darwin/darwin/'`
46301 + targetos=`echo $target | sed 's/.*-darwin/darwin/'`
46302 + if test $hostos = $targetos -o $targetos = darwin ; then
46303 + GLIBCXX_IS_NATIVE=true
46304 + fi
46305 + ;;
46307 + *)
46309 + ;;
46310 + esac
46311 +else
46312 + GLIBCXX_IS_NATIVE=true
46315 +# Sets up automake. Must come after AC_CANONICAL_SYSTEM. Each of the
46316 +# following is magically included in AUTOMAKE_OPTIONS in each Makefile.am.
46317 +# 1.x: minimum required version
46318 +# no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
46319 +# of other PACKAGE_* variables will, however, and there's nothing
46320 +# we can do about that; they come from AC_INIT).
46321 +# foreign: we don't follow the normal rules for GNU packages (no COPYING
46322 +# file in the top srcdir, etc, etc), so stop complaining.
46323 +# no-dependencies: turns off auto dependency generation (just for now)
46324 +# no-dist: we don't want 'dist' and related rules.
46325 +# -Wall: turns on all automake warnings...
46326 +# -Wno-portability: ...except this one, since GNU make is now required.
46327 +am__api_version='1.11'
46329 +# Find a good install program. We prefer a C program (faster),
46330 +# so one script is as good as another. But avoid the broken or
46331 +# incompatible versions:
46332 +# SysV /etc/install, /usr/sbin/install
46333 +# SunOS /usr/etc/install
46334 +# IRIX /sbin/install
46335 +# AIX /bin/install
46336 +# AmigaOS /C/install, which installs bootblocks on floppy discs
46337 +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
46338 +# AFS /usr/afsws/bin/install, which mishandles nonexistent args
46339 +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
46340 +# OS/2's system install, which has a completely different semantic
46341 +# ./install, which can be erroneously created by make from ./install.sh.
46342 +# Reject install programs that cannot install multiple files.
46343 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
46344 +$as_echo_n "checking for a BSD-compatible install... " >&6; }
46345 +if test -z "$INSTALL"; then
46346 +if test "${ac_cv_path_install+set}" = set; then :
46347 + $as_echo_n "(cached) " >&6
46348 +else
46349 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46350 +for as_dir in $PATH
46352 + IFS=$as_save_IFS
46353 + test -z "$as_dir" && as_dir=.
46354 + # Account for people who put trailing slashes in PATH elements.
46355 +case $as_dir/ in #((
46356 + ./ | .// | /[cC]/* | \
46357 + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
46358 + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
46359 + /usr/ucb/* ) ;;
46360 + *)
46361 + # OSF1 and SCO ODT 3.0 have their own names for install.
46362 + # Don't use installbsd from OSF since it installs stuff as root
46363 + # by default.
46364 + for ac_prog in ginstall scoinst install; do
46365 + for ac_exec_ext in '' $ac_executable_extensions; do
46366 + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
46367 + if test $ac_prog = install &&
46368 + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
46369 + # AIX install. It has an incompatible calling convention.
46371 + elif test $ac_prog = install &&
46372 + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
46373 + # program-specific install script used by HP pwplus--don't use.
46375 + else
46376 + rm -rf conftest.one conftest.two conftest.dir
46377 + echo one > conftest.one
46378 + echo two > conftest.two
46379 + mkdir conftest.dir
46380 + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
46381 + test -s conftest.one && test -s conftest.two &&
46382 + test -s conftest.dir/conftest.one &&
46383 + test -s conftest.dir/conftest.two
46384 + then
46385 + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
46386 + break 3
46387 + fi
46388 + fi
46389 + fi
46390 + done
46391 + done
46392 + ;;
46393 +esac
46395 + done
46396 +IFS=$as_save_IFS
46398 +rm -rf conftest.one conftest.two conftest.dir
46401 + if test "${ac_cv_path_install+set}" = set; then
46402 + INSTALL=$ac_cv_path_install
46403 + else
46404 + # As a last resort, use the slow shell script. Don't cache a
46405 + # value for INSTALL within a source directory, because that will
46406 + # break other packages using the cache if that directory is
46407 + # removed, or if the value is a relative name.
46408 + INSTALL=$ac_install_sh
46409 + fi
46411 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
46412 +$as_echo "$INSTALL" >&6; }
46414 +# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
46415 +# It thinks the first close brace ends the variable substitution.
46416 +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
46418 +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
46420 +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
46422 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
46423 +$as_echo_n "checking whether build environment is sane... " >&6; }
46424 +# Just in case
46425 +sleep 1
46426 +echo timestamp > conftest.file
46427 +# Reject unsafe characters in $srcdir or the absolute working directory
46428 +# name. Accept space and tab only in the latter.
46429 +am_lf='
46431 +case `pwd` in
46432 + *[\\\"\#\$\&\'\`$am_lf]*)
46433 + as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
46434 +esac
46435 +case $srcdir in
46436 + *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
46437 + as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
46438 +esac
46440 +# Do `set' in a subshell so we don't clobber the current shell's
46441 +# arguments. Must try -L first in case configure is actually a
46442 +# symlink; some systems play weird games with the mod time of symlinks
46443 +# (eg FreeBSD returns the mod time of the symlink's containing
46444 +# directory).
46445 +if (
46446 + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
46447 + if test "$*" = "X"; then
46448 + # -L didn't work.
46449 + set X `ls -t "$srcdir/configure" conftest.file`
46450 + fi
46451 + rm -f conftest.file
46452 + if test "$*" != "X $srcdir/configure conftest.file" \
46453 + && test "$*" != "X conftest.file $srcdir/configure"; then
46455 + # If neither matched, then we have a broken ls. This can happen
46456 + # if, for instance, CONFIG_SHELL is bash and it inherits a
46457 + # broken ls alias from the environment. This has actually
46458 + # happened. Such a system could not be considered "sane".
46459 + as_fn_error "ls -t appears to fail. Make sure there is not a broken
46460 +alias in your environment" "$LINENO" 5
46461 + fi
46463 + test "$2" = conftest.file
46465 +then
46466 + # Ok.
46468 +else
46469 + as_fn_error "newly created file is older than distributed files!
46470 +Check your system clock" "$LINENO" 5
46472 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
46473 +$as_echo "yes" >&6; }
46474 +test "$program_prefix" != NONE &&
46475 + program_transform_name="s&^&$program_prefix&;$program_transform_name"
46476 +# Use a double $ so make ignores it.
46477 +test "$program_suffix" != NONE &&
46478 + program_transform_name="s&\$&$program_suffix&;$program_transform_name"
46479 +# Double any \ or $.
46480 +# By default was `s,x,x', remove it if useless.
46481 +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
46482 +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
46484 +# expand $ac_aux_dir to an absolute path
46485 +am_aux_dir=`cd $ac_aux_dir && pwd`
46487 +if test x"${MISSING+set}" != xset; then
46488 + case $am_aux_dir in
46489 + *\ * | *\ *)
46490 + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
46491 + *)
46492 + MISSING="\${SHELL} $am_aux_dir/missing" ;;
46493 + esac
46495 +# Use eval to expand $SHELL
46496 +if eval "$MISSING --run true"; then
46497 + am_missing_run="$MISSING --run "
46498 +else
46499 + am_missing_run=
46500 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
46501 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
46504 +if test x"${install_sh}" != xset; then
46505 + case $am_aux_dir in
46506 + *\ * | *\ *)
46507 + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
46508 + *)
46509 + install_sh="\${SHELL} $am_aux_dir/install-sh"
46510 + esac
46513 +# Installed binaries are usually stripped using `strip' when the user
46514 +# run `make install-strip'. However `strip' might not be the right
46515 +# tool to use in cross-compilation environments, therefore Automake
46516 +# will honor the `STRIP' environment variable to overrule this program.
46517 +if test "$cross_compiling" != no; then
46518 + if test -n "$ac_tool_prefix"; then
46519 + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
46520 +set dummy ${ac_tool_prefix}strip; ac_word=$2
46521 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46522 +$as_echo_n "checking for $ac_word... " >&6; }
46523 +if test "${ac_cv_prog_STRIP+set}" = set; then :
46524 + $as_echo_n "(cached) " >&6
46525 +else
46526 + if test -n "$STRIP"; then
46527 + ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
46528 +else
46529 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46530 +for as_dir in $PATH
46532 + IFS=$as_save_IFS
46533 + test -z "$as_dir" && as_dir=.
46534 + for ac_exec_ext in '' $ac_executable_extensions; do
46535 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46536 + ac_cv_prog_STRIP="${ac_tool_prefix}strip"
46537 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46538 + break 2
46539 + fi
46540 +done
46541 + done
46542 +IFS=$as_save_IFS
46546 +STRIP=$ac_cv_prog_STRIP
46547 +if test -n "$STRIP"; then
46548 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
46549 +$as_echo "$STRIP" >&6; }
46550 +else
46551 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46552 +$as_echo "no" >&6; }
46557 +if test -z "$ac_cv_prog_STRIP"; then
46558 + ac_ct_STRIP=$STRIP
46559 + # Extract the first word of "strip", so it can be a program name with args.
46560 +set dummy strip; ac_word=$2
46561 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46562 +$as_echo_n "checking for $ac_word... " >&6; }
46563 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
46564 + $as_echo_n "(cached) " >&6
46565 +else
46566 + if test -n "$ac_ct_STRIP"; then
46567 + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
46568 +else
46569 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46570 +for as_dir in $PATH
46572 + IFS=$as_save_IFS
46573 + test -z "$as_dir" && as_dir=.
46574 + for ac_exec_ext in '' $ac_executable_extensions; do
46575 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46576 + ac_cv_prog_ac_ct_STRIP="strip"
46577 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46578 + break 2
46579 + fi
46580 +done
46581 + done
46582 +IFS=$as_save_IFS
46586 +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
46587 +if test -n "$ac_ct_STRIP"; then
46588 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
46589 +$as_echo "$ac_ct_STRIP" >&6; }
46590 +else
46591 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46592 +$as_echo "no" >&6; }
46595 + if test "x$ac_ct_STRIP" = x; then
46596 + STRIP=":"
46597 + else
46598 + case $cross_compiling:$ac_tool_warned in
46599 +yes:)
46600 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
46601 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
46602 +ac_tool_warned=yes ;;
46603 +esac
46604 + STRIP=$ac_ct_STRIP
46605 + fi
46606 +else
46607 + STRIP="$ac_cv_prog_STRIP"
46611 +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
46613 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
46614 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
46615 +if test -z "$MKDIR_P"; then
46616 + if test "${ac_cv_path_mkdir+set}" = set; then :
46617 + $as_echo_n "(cached) " >&6
46618 +else
46619 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46620 +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
46622 + IFS=$as_save_IFS
46623 + test -z "$as_dir" && as_dir=.
46624 + for ac_prog in mkdir gmkdir; do
46625 + for ac_exec_ext in '' $ac_executable_extensions; do
46626 + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
46627 + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
46628 + 'mkdir (GNU coreutils) '* | \
46629 + 'mkdir (coreutils) '* | \
46630 + 'mkdir (fileutils) '4.1*)
46631 + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
46632 + break 3;;
46633 + esac
46634 + done
46635 + done
46636 + done
46637 +IFS=$as_save_IFS
46641 + if test "${ac_cv_path_mkdir+set}" = set; then
46642 + MKDIR_P="$ac_cv_path_mkdir -p"
46643 + else
46644 + # As a last resort, use the slow shell script. Don't cache a
46645 + # value for MKDIR_P within a source directory, because that will
46646 + # break other packages using the cache if that directory is
46647 + # removed, or if the value is a relative name.
46648 + test -d ./--version && rmdir ./--version
46649 + MKDIR_P="$ac_install_sh -d"
46650 + fi
46652 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
46653 +$as_echo "$MKDIR_P" >&6; }
46655 +mkdir_p="$MKDIR_P"
46656 +case $mkdir_p in
46657 + [\\/$]* | ?:[\\/]*) ;;
46658 + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
46659 +esac
46661 +for ac_prog in gawk mawk nawk awk
46663 + # Extract the first word of "$ac_prog", so it can be a program name with args.
46664 +set dummy $ac_prog; ac_word=$2
46665 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46666 +$as_echo_n "checking for $ac_word... " >&6; }
46667 +if test "${ac_cv_prog_AWK+set}" = set; then :
46668 + $as_echo_n "(cached) " >&6
46669 +else
46670 + if test -n "$AWK"; then
46671 + ac_cv_prog_AWK="$AWK" # Let the user override the test.
46672 +else
46673 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46674 +for as_dir in $PATH
46676 + IFS=$as_save_IFS
46677 + test -z "$as_dir" && as_dir=.
46678 + for ac_exec_ext in '' $ac_executable_extensions; do
46679 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46680 + ac_cv_prog_AWK="$ac_prog"
46681 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46682 + break 2
46683 + fi
46684 +done
46685 + done
46686 +IFS=$as_save_IFS
46690 +AWK=$ac_cv_prog_AWK
46691 +if test -n "$AWK"; then
46692 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
46693 +$as_echo "$AWK" >&6; }
46694 +else
46695 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46696 +$as_echo "no" >&6; }
46700 + test -n "$AWK" && break
46701 +done
46703 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
46704 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
46705 +set x ${MAKE-make}
46706 +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
46707 +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
46708 + $as_echo_n "(cached) " >&6
46709 +else
46710 + cat >conftest.make <<\_ACEOF
46711 +SHELL = /bin/sh
46712 +all:
46713 + @echo '@@@%%%=$(MAKE)=@@@%%%'
46714 +_ACEOF
46715 +# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
46716 +case `${MAKE-make} -f conftest.make 2>/dev/null` in
46717 + *@@@%%%=?*=@@@%%%*)
46718 + eval ac_cv_prog_make_${ac_make}_set=yes;;
46719 + *)
46720 + eval ac_cv_prog_make_${ac_make}_set=no;;
46721 +esac
46722 +rm -f conftest.make
46724 +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
46725 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
46726 +$as_echo "yes" >&6; }
46727 + SET_MAKE=
46728 +else
46729 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46730 +$as_echo "no" >&6; }
46731 + SET_MAKE="MAKE=${MAKE-make}"
46734 +rm -rf .tst 2>/dev/null
46735 +mkdir .tst 2>/dev/null
46736 +if test -d .tst; then
46737 + am__leading_dot=.
46738 +else
46739 + am__leading_dot=_
46741 +rmdir .tst 2>/dev/null
46743 +if test "`cd $srcdir && pwd`" != "`pwd`"; then
46744 + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
46745 + # is not polluted with repeated "-I."
46746 + am__isrc=' -I$(srcdir)'
46747 + # test to see if srcdir already configured
46748 + if test -f $srcdir/config.status; then
46749 + as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
46750 + fi
46753 +# test whether we have cygpath
46754 +if test -z "$CYGPATH_W"; then
46755 + if (cygpath --version) >/dev/null 2>/dev/null; then
46756 + CYGPATH_W='cygpath -w'
46757 + else
46758 + CYGPATH_W=echo
46759 + fi
46763 +# Define the identity of the package.
46764 + PACKAGE='libstdc++'
46765 + VERSION='version-unused'
46768 +# Some tools Automake needs.
46770 +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
46773 +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
46776 +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
46779 +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
46782 +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
46784 +# We need awk for the "check" target. The system "awk" is bad on
46785 +# some platforms.
46786 +# Always define AMTAR for backward compatibility.
46788 +AMTAR=${AMTAR-"${am_missing_run}tar"}
46790 +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
46799 +# -fno-builtin must be present here so that a non-conflicting form of
46800 +# std::exit can be guessed by AC_PROG_CXX, and used in later tests.
46802 +save_CXXFLAGS="$CXXFLAGS"
46803 +CXXFLAGS="$CXXFLAGS -fno-builtin"
46804 +ac_ext=c
46805 +ac_cpp='$CPP $CPPFLAGS'
46806 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
46807 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
46808 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
46809 +if test -n "$ac_tool_prefix"; then
46810 + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
46811 +set dummy ${ac_tool_prefix}gcc; ac_word=$2
46812 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46813 +$as_echo_n "checking for $ac_word... " >&6; }
46814 +if test "${ac_cv_prog_CC+set}" = set; then :
46815 + $as_echo_n "(cached) " >&6
46816 +else
46817 + if test -n "$CC"; then
46818 + ac_cv_prog_CC="$CC" # Let the user override the test.
46819 +else
46820 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46821 +for as_dir in $PATH
46823 + IFS=$as_save_IFS
46824 + test -z "$as_dir" && as_dir=.
46825 + for ac_exec_ext in '' $ac_executable_extensions; do
46826 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46827 + ac_cv_prog_CC="${ac_tool_prefix}gcc"
46828 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46829 + break 2
46830 + fi
46831 +done
46832 + done
46833 +IFS=$as_save_IFS
46837 +CC=$ac_cv_prog_CC
46838 +if test -n "$CC"; then
46839 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
46840 +$as_echo "$CC" >&6; }
46841 +else
46842 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46843 +$as_echo "no" >&6; }
46848 +if test -z "$ac_cv_prog_CC"; then
46849 + ac_ct_CC=$CC
46850 + # Extract the first word of "gcc", so it can be a program name with args.
46851 +set dummy gcc; ac_word=$2
46852 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46853 +$as_echo_n "checking for $ac_word... " >&6; }
46854 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
46855 + $as_echo_n "(cached) " >&6
46856 +else
46857 + if test -n "$ac_ct_CC"; then
46858 + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
46859 +else
46860 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46861 +for as_dir in $PATH
46863 + IFS=$as_save_IFS
46864 + test -z "$as_dir" && as_dir=.
46865 + for ac_exec_ext in '' $ac_executable_extensions; do
46866 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46867 + ac_cv_prog_ac_ct_CC="gcc"
46868 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46869 + break 2
46870 + fi
46871 +done
46872 + done
46873 +IFS=$as_save_IFS
46877 +ac_ct_CC=$ac_cv_prog_ac_ct_CC
46878 +if test -n "$ac_ct_CC"; then
46879 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
46880 +$as_echo "$ac_ct_CC" >&6; }
46881 +else
46882 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46883 +$as_echo "no" >&6; }
46886 + if test "x$ac_ct_CC" = x; then
46887 + CC=""
46888 + else
46889 + case $cross_compiling:$ac_tool_warned in
46890 +yes:)
46891 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
46892 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
46893 +ac_tool_warned=yes ;;
46894 +esac
46895 + CC=$ac_ct_CC
46896 + fi
46897 +else
46898 + CC="$ac_cv_prog_CC"
46901 +if test -z "$CC"; then
46902 + if test -n "$ac_tool_prefix"; then
46903 + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
46904 +set dummy ${ac_tool_prefix}cc; ac_word=$2
46905 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46906 +$as_echo_n "checking for $ac_word... " >&6; }
46907 +if test "${ac_cv_prog_CC+set}" = set; then :
46908 + $as_echo_n "(cached) " >&6
46909 +else
46910 + if test -n "$CC"; then
46911 + ac_cv_prog_CC="$CC" # Let the user override the test.
46912 +else
46913 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46914 +for as_dir in $PATH
46916 + IFS=$as_save_IFS
46917 + test -z "$as_dir" && as_dir=.
46918 + for ac_exec_ext in '' $ac_executable_extensions; do
46919 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46920 + ac_cv_prog_CC="${ac_tool_prefix}cc"
46921 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46922 + break 2
46923 + fi
46924 +done
46925 + done
46926 +IFS=$as_save_IFS
46930 +CC=$ac_cv_prog_CC
46931 +if test -n "$CC"; then
46932 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
46933 +$as_echo "$CC" >&6; }
46934 +else
46935 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46936 +$as_echo "no" >&6; }
46940 + fi
46942 +if test -z "$CC"; then
46943 + # Extract the first word of "cc", so it can be a program name with args.
46944 +set dummy cc; ac_word=$2
46945 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
46946 +$as_echo_n "checking for $ac_word... " >&6; }
46947 +if test "${ac_cv_prog_CC+set}" = set; then :
46948 + $as_echo_n "(cached) " >&6
46949 +else
46950 + if test -n "$CC"; then
46951 + ac_cv_prog_CC="$CC" # Let the user override the test.
46952 +else
46953 + ac_prog_rejected=no
46954 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46955 +for as_dir in $PATH
46957 + IFS=$as_save_IFS
46958 + test -z "$as_dir" && as_dir=.
46959 + for ac_exec_ext in '' $ac_executable_extensions; do
46960 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
46961 + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
46962 + ac_prog_rejected=yes
46963 + continue
46964 + fi
46965 + ac_cv_prog_CC="cc"
46966 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
46967 + break 2
46968 + fi
46969 +done
46970 + done
46971 +IFS=$as_save_IFS
46973 +if test $ac_prog_rejected = yes; then
46974 + # We found a bogon in the path, so make sure we never use it.
46975 + set dummy $ac_cv_prog_CC
46976 + shift
46977 + if test $# != 0; then
46978 + # We chose a different compiler from the bogus one.
46979 + # However, it has the same basename, so the bogon will be chosen
46980 + # first if we set CC to just the basename; use the full file name.
46981 + shift
46982 + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
46983 + fi
46987 +CC=$ac_cv_prog_CC
46988 +if test -n "$CC"; then
46989 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
46990 +$as_echo "$CC" >&6; }
46991 +else
46992 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
46993 +$as_echo "no" >&6; }
46998 +if test -z "$CC"; then
46999 + if test -n "$ac_tool_prefix"; then
47000 + for ac_prog in cl.exe
47001 + do
47002 + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
47003 +set dummy $ac_tool_prefix$ac_prog; ac_word=$2
47004 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
47005 +$as_echo_n "checking for $ac_word... " >&6; }
47006 +if test "${ac_cv_prog_CC+set}" = set; then :
47007 + $as_echo_n "(cached) " >&6
47008 +else
47009 + if test -n "$CC"; then
47010 + ac_cv_prog_CC="$CC" # Let the user override the test.
47011 +else
47012 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
47013 +for as_dir in $PATH
47015 + IFS=$as_save_IFS
47016 + test -z "$as_dir" && as_dir=.
47017 + for ac_exec_ext in '' $ac_executable_extensions; do
47018 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
47019 + ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
47020 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
47021 + break 2
47022 + fi
47023 +done
47024 + done
47025 +IFS=$as_save_IFS
47029 +CC=$ac_cv_prog_CC
47030 +if test -n "$CC"; then
47031 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
47032 +$as_echo "$CC" >&6; }
47033 +else
47034 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
47035 +$as_echo "no" >&6; }
47039 + test -n "$CC" && break
47040 + done
47042 +if test -z "$CC"; then
47043 + ac_ct_CC=$CC
47044 + for ac_prog in cl.exe
47046 + # Extract the first word of "$ac_prog", so it can be a program name with args.
47047 +set dummy $ac_prog; ac_word=$2
47048 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
47049 +$as_echo_n "checking for $ac_word... " >&6; }
47050 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
47051 + $as_echo_n "(cached) " >&6
47052 +else
47053 + if test -n "$ac_ct_CC"; then
47054 + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
47055 +else
47056 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
47057 +for as_dir in $PATH
47059 + IFS=$as_save_IFS
47060 + test -z "$as_dir" && as_dir=.
47061 + for ac_exec_ext in '' $ac_executable_extensions; do
47062 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
47063 + ac_cv_prog_ac_ct_CC="$ac_prog"
47064 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
47065 + break 2
47066 + fi
47067 +done
47068 + done
47069 +IFS=$as_save_IFS
47073 +ac_ct_CC=$ac_cv_prog_ac_ct_CC
47074 +if test -n "$ac_ct_CC"; then
47075 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
47076 +$as_echo "$ac_ct_CC" >&6; }
47077 +else
47078 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
47079 +$as_echo "no" >&6; }
47083 + test -n "$ac_ct_CC" && break
47084 +done
47086 + if test "x$ac_ct_CC" = x; then
47087 + CC=""
47088 + else
47089 + case $cross_compiling:$ac_tool_warned in
47090 +yes:)
47091 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
47092 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
47093 +ac_tool_warned=yes ;;
47094 +esac
47095 + CC=$ac_ct_CC
47096 + fi
47102 +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
47103 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
47104 +as_fn_error "no acceptable C compiler found in \$PATH
47105 +See \`config.log' for more details." "$LINENO" 5; }
47107 +# Provide some information about the compiler.
47108 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
47109 +set X $ac_compile
47110 +ac_compiler=$2
47111 +for ac_option in --version -v -V -qversion; do
47112 + { { ac_try="$ac_compiler $ac_option >&5"
47113 +case "(($ac_try" in
47114 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
47115 + *) ac_try_echo=$ac_try;;
47116 +esac
47117 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
47118 +$as_echo "$ac_try_echo"; } >&5
47119 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err
47120 + ac_status=$?
47121 + if test -s conftest.err; then
47122 + sed '10a\
47123 +... rest of stderr output deleted ...
47124 + 10q' conftest.err >conftest.er1
47125 + cat conftest.er1 >&5
47126 + rm -f conftest.er1 conftest.err
47127 + fi
47128 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47129 + test $ac_status = 0; }
47130 +done
47132 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47133 +/* end confdefs.h. */
47135 +int
47136 +main ()
47140 + return 0;
47142 +_ACEOF
47143 +# FIXME: Cleanup?
47144 +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
47145 + (eval $ac_link) 2>&5
47146 + ac_status=$?
47147 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47148 + test $ac_status = 0; }; then :
47149 + gcc_no_link=no
47150 +else
47151 + gcc_no_link=yes
47153 +if test x$gcc_no_link = xyes; then
47154 + # Setting cross_compile will disable run tests; it will
47155 + # also disable AC_CHECK_FILE but that's generally
47156 + # correct if we can't link.
47157 + cross_compiling=yes
47158 + EXEEXT=
47159 +else
47160 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47161 +/* end confdefs.h. */
47163 +int
47164 +main ()
47168 + return 0;
47170 +_ACEOF
47171 +ac_clean_files_save=$ac_clean_files
47172 +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
47173 +# Try to create an executable without -o first, disregard a.out.
47174 +# It will help us diagnose broken compilers, and finding out an intuition
47175 +# of exeext.
47176 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
47177 +$as_echo_n "checking for C compiler default output file name... " >&6; }
47178 +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
47180 +# The possible output files:
47181 +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
47183 +ac_rmfiles=
47184 +for ac_file in $ac_files
47186 + case $ac_file in
47187 + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
47188 + * ) ac_rmfiles="$ac_rmfiles $ac_file";;
47189 + esac
47190 +done
47191 +rm -f $ac_rmfiles
47193 +if { { ac_try="$ac_link_default"
47194 +case "(($ac_try" in
47195 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
47196 + *) ac_try_echo=$ac_try;;
47197 +esac
47198 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
47199 +$as_echo "$ac_try_echo"; } >&5
47200 + (eval "$ac_link_default") 2>&5
47201 + ac_status=$?
47202 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47203 + test $ac_status = 0; }; then :
47204 + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
47205 +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
47206 +# in a Makefile. We should not override ac_cv_exeext if it was cached,
47207 +# so that the user can short-circuit this test for compilers unknown to
47208 +# Autoconf.
47209 +for ac_file in $ac_files ''
47211 + test -f "$ac_file" || continue
47212 + case $ac_file in
47213 + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
47214 + ;;
47215 + [ab].out )
47216 + # We found the default executable, but exeext='' is most
47217 + # certainly right.
47218 + break;;
47219 + *.* )
47220 + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
47221 + then :; else
47222 + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
47223 + fi
47224 + # We set ac_cv_exeext here because the later test for it is not
47225 + # safe: cross compilers may not add the suffix if given an `-o'
47226 + # argument, so we may need to know it at that point already.
47227 + # Even if this section looks crufty: it has the advantage of
47228 + # actually working.
47229 + break;;
47230 + * )
47231 + break;;
47232 + esac
47233 +done
47234 +test "$ac_cv_exeext" = no && ac_cv_exeext=
47236 +else
47237 + ac_file=''
47239 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
47240 +$as_echo "$ac_file" >&6; }
47241 +if test -z "$ac_file"; then :
47242 + $as_echo "$as_me: failed program was:" >&5
47243 +sed 's/^/| /' conftest.$ac_ext >&5
47245 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
47246 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
47247 +{ as_fn_set_status 77
47248 +as_fn_error "C compiler cannot create executables
47249 +See \`config.log' for more details." "$LINENO" 5; }; }
47251 +ac_exeext=$ac_cv_exeext
47253 +# Check that the compiler produces executables we can run. If not, either
47254 +# the compiler is broken, or we cross compile.
47255 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
47256 +$as_echo_n "checking whether the C compiler works... " >&6; }
47257 +# If not cross compiling, check that we can run a simple program.
47258 +if test "$cross_compiling" != yes; then
47259 + if { ac_try='./$ac_file'
47260 + { { case "(($ac_try" in
47261 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
47262 + *) ac_try_echo=$ac_try;;
47263 +esac
47264 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
47265 +$as_echo "$ac_try_echo"; } >&5
47266 + (eval "$ac_try") 2>&5
47267 + ac_status=$?
47268 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47269 + test $ac_status = 0; }; }; then
47270 + cross_compiling=no
47271 + else
47272 + if test "$cross_compiling" = maybe; then
47273 + cross_compiling=yes
47274 + else
47275 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
47276 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
47277 +as_fn_error "cannot run C compiled programs.
47278 +If you meant to cross compile, use \`--host'.
47279 +See \`config.log' for more details." "$LINENO" 5; }
47280 + fi
47281 + fi
47283 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
47284 +$as_echo "yes" >&6; }
47286 +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
47287 +ac_clean_files=$ac_clean_files_save
47288 +# Check that the compiler produces executables we can run. If not, either
47289 +# the compiler is broken, or we cross compile.
47290 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
47291 +$as_echo_n "checking whether we are cross compiling... " >&6; }
47292 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
47293 +$as_echo "$cross_compiling" >&6; }
47295 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
47296 +$as_echo_n "checking for suffix of executables... " >&6; }
47297 +if { { ac_try="$ac_link"
47298 +case "(($ac_try" in
47299 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
47300 + *) ac_try_echo=$ac_try;;
47301 +esac
47302 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
47303 +$as_echo "$ac_try_echo"; } >&5
47304 + (eval "$ac_link") 2>&5
47305 + ac_status=$?
47306 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47307 + test $ac_status = 0; }; then :
47308 + # If both `conftest.exe' and `conftest' are `present' (well, observable)
47309 +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
47310 +# work properly (i.e., refer to `conftest.exe'), while it won't with
47311 +# `rm'.
47312 +for ac_file in conftest.exe conftest conftest.*; do
47313 + test -f "$ac_file" || continue
47314 + case $ac_file in
47315 + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
47316 + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
47317 + break;;
47318 + * ) break;;
47319 + esac
47320 +done
47321 +else
47322 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
47323 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
47324 +as_fn_error "cannot compute suffix of executables: cannot compile and link
47325 +See \`config.log' for more details." "$LINENO" 5; }
47327 +rm -f conftest$ac_cv_exeext
47328 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
47329 +$as_echo "$ac_cv_exeext" >&6; }
47331 +rm -f conftest.$ac_ext
47332 +EXEEXT=$ac_cv_exeext
47333 +ac_exeext=$EXEEXT
47335 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
47336 +$as_echo_n "checking for suffix of object files... " >&6; }
47337 +if test "${ac_cv_objext+set}" = set; then :
47338 + $as_echo_n "(cached) " >&6
47339 +else
47340 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47341 +/* end confdefs.h. */
47343 +int
47344 +main ()
47348 + return 0;
47350 +_ACEOF
47351 +rm -f conftest.o conftest.obj
47352 +if { { ac_try="$ac_compile"
47353 +case "(($ac_try" in
47354 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
47355 + *) ac_try_echo=$ac_try;;
47356 +esac
47357 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
47358 +$as_echo "$ac_try_echo"; } >&5
47359 + (eval "$ac_compile") 2>&5
47360 + ac_status=$?
47361 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47362 + test $ac_status = 0; }; then :
47363 + for ac_file in conftest.o conftest.obj conftest.*; do
47364 + test -f "$ac_file" || continue;
47365 + case $ac_file in
47366 + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
47367 + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
47368 + break;;
47369 + esac
47370 +done
47371 +else
47372 + $as_echo "$as_me: failed program was:" >&5
47373 +sed 's/^/| /' conftest.$ac_ext >&5
47375 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
47376 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
47377 +as_fn_error "cannot compute suffix of object files: cannot compile
47378 +See \`config.log' for more details." "$LINENO" 5; }
47380 +rm -f conftest.$ac_cv_objext conftest.$ac_ext
47382 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
47383 +$as_echo "$ac_cv_objext" >&6; }
47384 +OBJEXT=$ac_cv_objext
47385 +ac_objext=$OBJEXT
47386 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
47387 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
47388 +if test "${ac_cv_c_compiler_gnu+set}" = set; then :
47389 + $as_echo_n "(cached) " >&6
47390 +else
47391 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47392 +/* end confdefs.h. */
47394 +int
47395 +main ()
47397 +#ifndef __GNUC__
47398 + choke me
47399 +#endif
47402 + return 0;
47404 +_ACEOF
47405 +if ac_fn_c_try_compile "$LINENO"; then :
47406 + ac_compiler_gnu=yes
47407 +else
47408 + ac_compiler_gnu=no
47410 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47411 +ac_cv_c_compiler_gnu=$ac_compiler_gnu
47414 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
47415 +$as_echo "$ac_cv_c_compiler_gnu" >&6; }
47416 +if test $ac_compiler_gnu = yes; then
47417 + GCC=yes
47418 +else
47419 + GCC=
47421 +ac_test_CFLAGS=${CFLAGS+set}
47422 +ac_save_CFLAGS=$CFLAGS
47423 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
47424 +$as_echo_n "checking whether $CC accepts -g... " >&6; }
47425 +if test "${ac_cv_prog_cc_g+set}" = set; then :
47426 + $as_echo_n "(cached) " >&6
47427 +else
47428 + ac_save_c_werror_flag=$ac_c_werror_flag
47429 + ac_c_werror_flag=yes
47430 + ac_cv_prog_cc_g=no
47431 + CFLAGS="-g"
47432 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47433 +/* end confdefs.h. */
47435 +int
47436 +main ()
47440 + return 0;
47442 +_ACEOF
47443 +if ac_fn_c_try_compile "$LINENO"; then :
47444 + ac_cv_prog_cc_g=yes
47445 +else
47446 + CFLAGS=""
47447 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47448 +/* end confdefs.h. */
47450 +int
47451 +main ()
47455 + return 0;
47457 +_ACEOF
47458 +if ac_fn_c_try_compile "$LINENO"; then :
47460 +else
47461 + ac_c_werror_flag=$ac_save_c_werror_flag
47462 + CFLAGS="-g"
47463 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47464 +/* end confdefs.h. */
47466 +int
47467 +main ()
47471 + return 0;
47473 +_ACEOF
47474 +if ac_fn_c_try_compile "$LINENO"; then :
47475 + ac_cv_prog_cc_g=yes
47477 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47479 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47481 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47482 + ac_c_werror_flag=$ac_save_c_werror_flag
47484 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
47485 +$as_echo "$ac_cv_prog_cc_g" >&6; }
47486 +if test "$ac_test_CFLAGS" = set; then
47487 + CFLAGS=$ac_save_CFLAGS
47488 +elif test $ac_cv_prog_cc_g = yes; then
47489 + if test "$GCC" = yes; then
47490 + CFLAGS="-g -O2"
47491 + else
47492 + CFLAGS="-g"
47493 + fi
47494 +else
47495 + if test "$GCC" = yes; then
47496 + CFLAGS="-O2"
47497 + else
47498 + CFLAGS=
47499 + fi
47501 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
47502 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
47503 +if test "${ac_cv_prog_cc_c89+set}" = set; then :
47504 + $as_echo_n "(cached) " >&6
47505 +else
47506 + ac_cv_prog_cc_c89=no
47507 +ac_save_CC=$CC
47508 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47509 +/* end confdefs.h. */
47510 +#include <stdarg.h>
47511 +#include <stdio.h>
47512 +#include <sys/types.h>
47513 +#include <sys/stat.h>
47514 +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
47515 +struct buf { int x; };
47516 +FILE * (*rcsopen) (struct buf *, struct stat *, int);
47517 +static char *e (p, i)
47518 + char **p;
47519 + int i;
47521 + return p[i];
47523 +static char *f (char * (*g) (char **, int), char **p, ...)
47525 + char *s;
47526 + va_list v;
47527 + va_start (v,p);
47528 + s = g (p, va_arg (v,int));
47529 + va_end (v);
47530 + return s;
47533 +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
47534 + function prototypes and stuff, but not '\xHH' hex character constants.
47535 + These don't provoke an error unfortunately, instead are silently treated
47536 + as 'x'. The following induces an error, until -std is added to get
47537 + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
47538 + array size at least. It's necessary to write '\x00'==0 to get something
47539 + that's true only with -std. */
47540 +int osf4_cc_array ['\x00' == 0 ? 1 : -1];
47542 +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
47543 + inside strings and character constants. */
47544 +#define FOO(x) 'x'
47545 +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
47547 +int test (int i, double x);
47548 +struct s1 {int (*f) (int a);};
47549 +struct s2 {int (*f) (double a);};
47550 +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
47551 +int argc;
47552 +char **argv;
47553 +int
47554 +main ()
47556 +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
47558 + return 0;
47560 +_ACEOF
47561 +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
47562 + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
47564 + CC="$ac_save_CC $ac_arg"
47565 + if ac_fn_c_try_compile "$LINENO"; then :
47566 + ac_cv_prog_cc_c89=$ac_arg
47568 +rm -f core conftest.err conftest.$ac_objext
47569 + test "x$ac_cv_prog_cc_c89" != "xno" && break
47570 +done
47571 +rm -f conftest.$ac_ext
47572 +CC=$ac_save_CC
47575 +# AC_CACHE_VAL
47576 +case "x$ac_cv_prog_cc_c89" in
47577 + x)
47578 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
47579 +$as_echo "none needed" >&6; } ;;
47580 + xno)
47581 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
47582 +$as_echo "unsupported" >&6; } ;;
47583 + *)
47584 + CC="$CC $ac_cv_prog_cc_c89"
47585 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
47586 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
47587 +esac
47588 +if test "x$ac_cv_prog_cc_c89" != xno; then :
47592 +ac_ext=c
47593 +ac_cpp='$CPP $CPPFLAGS'
47594 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
47595 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
47596 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
47598 +ac_ext=cpp
47599 +ac_cpp='$CXXCPP $CPPFLAGS'
47600 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
47601 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
47602 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
47603 +if test -z "$CXX"; then
47604 + if test -n "$CCC"; then
47605 + CXX=$CCC
47606 + else
47607 + if test -n "$ac_tool_prefix"; then
47608 + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
47609 + do
47610 + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
47611 +set dummy $ac_tool_prefix$ac_prog; ac_word=$2
47612 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
47613 +$as_echo_n "checking for $ac_word... " >&6; }
47614 +if test "${ac_cv_prog_CXX+set}" = set; then :
47615 + $as_echo_n "(cached) " >&6
47616 +else
47617 + if test -n "$CXX"; then
47618 + ac_cv_prog_CXX="$CXX" # Let the user override the test.
47619 +else
47620 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
47621 +for as_dir in $PATH
47623 + IFS=$as_save_IFS
47624 + test -z "$as_dir" && as_dir=.
47625 + for ac_exec_ext in '' $ac_executable_extensions; do
47626 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
47627 + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
47628 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
47629 + break 2
47630 + fi
47631 +done
47632 + done
47633 +IFS=$as_save_IFS
47637 +CXX=$ac_cv_prog_CXX
47638 +if test -n "$CXX"; then
47639 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
47640 +$as_echo "$CXX" >&6; }
47641 +else
47642 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
47643 +$as_echo "no" >&6; }
47647 + test -n "$CXX" && break
47648 + done
47650 +if test -z "$CXX"; then
47651 + ac_ct_CXX=$CXX
47652 + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
47654 + # Extract the first word of "$ac_prog", so it can be a program name with args.
47655 +set dummy $ac_prog; ac_word=$2
47656 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
47657 +$as_echo_n "checking for $ac_word... " >&6; }
47658 +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
47659 + $as_echo_n "(cached) " >&6
47660 +else
47661 + if test -n "$ac_ct_CXX"; then
47662 + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
47663 +else
47664 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
47665 +for as_dir in $PATH
47667 + IFS=$as_save_IFS
47668 + test -z "$as_dir" && as_dir=.
47669 + for ac_exec_ext in '' $ac_executable_extensions; do
47670 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
47671 + ac_cv_prog_ac_ct_CXX="$ac_prog"
47672 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
47673 + break 2
47674 + fi
47675 +done
47676 + done
47677 +IFS=$as_save_IFS
47681 +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
47682 +if test -n "$ac_ct_CXX"; then
47683 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
47684 +$as_echo "$ac_ct_CXX" >&6; }
47685 +else
47686 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
47687 +$as_echo "no" >&6; }
47691 + test -n "$ac_ct_CXX" && break
47692 +done
47694 + if test "x$ac_ct_CXX" = x; then
47695 + CXX="g++"
47696 + else
47697 + case $cross_compiling:$ac_tool_warned in
47698 +yes:)
47699 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
47700 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
47701 +ac_tool_warned=yes ;;
47702 +esac
47703 + CXX=$ac_ct_CXX
47704 + fi
47707 + fi
47709 +# Provide some information about the compiler.
47710 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
47711 +set X $ac_compile
47712 +ac_compiler=$2
47713 +for ac_option in --version -v -V -qversion; do
47714 + { { ac_try="$ac_compiler $ac_option >&5"
47715 +case "(($ac_try" in
47716 + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
47717 + *) ac_try_echo=$ac_try;;
47718 +esac
47719 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
47720 +$as_echo "$ac_try_echo"; } >&5
47721 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err
47722 + ac_status=$?
47723 + if test -s conftest.err; then
47724 + sed '10a\
47725 +... rest of stderr output deleted ...
47726 + 10q' conftest.err >conftest.er1
47727 + cat conftest.er1 >&5
47728 + rm -f conftest.er1 conftest.err
47729 + fi
47730 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
47731 + test $ac_status = 0; }
47732 +done
47734 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
47735 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
47736 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
47737 + $as_echo_n "(cached) " >&6
47738 +else
47739 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47740 +/* end confdefs.h. */
47742 +int
47743 +main ()
47745 +#ifndef __GNUC__
47746 + choke me
47747 +#endif
47750 + return 0;
47752 +_ACEOF
47753 +if ac_fn_cxx_try_compile "$LINENO"; then :
47754 + ac_compiler_gnu=yes
47755 +else
47756 + ac_compiler_gnu=no
47758 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47759 +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
47762 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
47763 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
47764 +if test $ac_compiler_gnu = yes; then
47765 + GXX=yes
47766 +else
47767 + GXX=
47769 +ac_test_CXXFLAGS=${CXXFLAGS+set}
47770 +ac_save_CXXFLAGS=$CXXFLAGS
47771 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
47772 +$as_echo_n "checking whether $CXX accepts -g... " >&6; }
47773 +if test "${ac_cv_prog_cxx_g+set}" = set; then :
47774 + $as_echo_n "(cached) " >&6
47775 +else
47776 + ac_save_cxx_werror_flag=$ac_cxx_werror_flag
47777 + ac_cxx_werror_flag=yes
47778 + ac_cv_prog_cxx_g=no
47779 + CXXFLAGS="-g"
47780 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47781 +/* end confdefs.h. */
47783 +int
47784 +main ()
47788 + return 0;
47790 +_ACEOF
47791 +if ac_fn_cxx_try_compile "$LINENO"; then :
47792 + ac_cv_prog_cxx_g=yes
47793 +else
47794 + CXXFLAGS=""
47795 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47796 +/* end confdefs.h. */
47798 +int
47799 +main ()
47803 + return 0;
47805 +_ACEOF
47806 +if ac_fn_cxx_try_compile "$LINENO"; then :
47808 +else
47809 + ac_cxx_werror_flag=$ac_save_cxx_werror_flag
47810 + CXXFLAGS="-g"
47811 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47812 +/* end confdefs.h. */
47814 +int
47815 +main ()
47819 + return 0;
47821 +_ACEOF
47822 +if ac_fn_cxx_try_compile "$LINENO"; then :
47823 + ac_cv_prog_cxx_g=yes
47825 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47827 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47829 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
47830 + ac_cxx_werror_flag=$ac_save_cxx_werror_flag
47832 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
47833 +$as_echo "$ac_cv_prog_cxx_g" >&6; }
47834 +if test "$ac_test_CXXFLAGS" = set; then
47835 + CXXFLAGS=$ac_save_CXXFLAGS
47836 +elif test $ac_cv_prog_cxx_g = yes; then
47837 + if test "$GXX" = yes; then
47838 + CXXFLAGS="-g -O2"
47839 + else
47840 + CXXFLAGS="-g"
47841 + fi
47842 +else
47843 + if test "$GXX" = yes; then
47844 + CXXFLAGS="-O2"
47845 + else
47846 + CXXFLAGS=
47847 + fi
47849 +ac_ext=c
47850 +ac_cpp='$CPP $CPPFLAGS'
47851 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
47852 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
47853 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
47855 +CXXFLAGS="$save_CXXFLAGS"
47857 +# Runs configure.host, and assorted other critical bits. Sets
47858 +# up critical shell variables.
47860 +ac_ext=c
47861 +ac_cpp='$CPP $CPPFLAGS'
47862 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
47863 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
47864 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
47865 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
47866 +$as_echo_n "checking how to run the C preprocessor... " >&6; }
47867 +# On Suns, sometimes $CPP names a directory.
47868 +if test -n "$CPP" && test -d "$CPP"; then
47869 + CPP=
47871 +if test -z "$CPP"; then
47872 + if test "${ac_cv_prog_CPP+set}" = set; then :
47873 + $as_echo_n "(cached) " >&6
47874 +else
47875 + # Double quotes because CPP needs to be expanded
47876 + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
47877 + do
47878 + ac_preproc_ok=false
47879 +for ac_c_preproc_warn_flag in '' yes
47881 + # Use a header file that comes with gcc, so configuring glibc
47882 + # with a fresh cross-compiler works.
47883 + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
47884 + # <limits.h> exists even on freestanding compilers.
47885 + # On the NeXT, cc -E runs the code through the compiler's parser,
47886 + # not just through cpp. "Syntax error" is here to catch this case.
47887 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47888 +/* end confdefs.h. */
47889 +#ifdef __STDC__
47890 +# include <limits.h>
47891 +#else
47892 +# include <assert.h>
47893 +#endif
47894 + Syntax error
47895 +_ACEOF
47896 +if ac_fn_c_try_cpp "$LINENO"; then :
47898 +else
47899 + # Broken: fails on valid input.
47900 +continue
47902 +rm -f conftest.err conftest.$ac_ext
47904 + # OK, works on sane cases. Now check whether nonexistent headers
47905 + # can be detected and how.
47906 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47907 +/* end confdefs.h. */
47908 +#include <ac_nonexistent.h>
47909 +_ACEOF
47910 +if ac_fn_c_try_cpp "$LINENO"; then :
47911 + # Broken: success on invalid input.
47912 +continue
47913 +else
47914 + # Passes both tests.
47915 +ac_preproc_ok=:
47916 +break
47918 +rm -f conftest.err conftest.$ac_ext
47920 +done
47921 +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
47922 +rm -f conftest.err conftest.$ac_ext
47923 +if $ac_preproc_ok; then :
47924 + break
47927 + done
47928 + ac_cv_prog_CPP=$CPP
47931 + CPP=$ac_cv_prog_CPP
47932 +else
47933 + ac_cv_prog_CPP=$CPP
47935 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
47936 +$as_echo "$CPP" >&6; }
47937 +ac_preproc_ok=false
47938 +for ac_c_preproc_warn_flag in '' yes
47940 + # Use a header file that comes with gcc, so configuring glibc
47941 + # with a fresh cross-compiler works.
47942 + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
47943 + # <limits.h> exists even on freestanding compilers.
47944 + # On the NeXT, cc -E runs the code through the compiler's parser,
47945 + # not just through cpp. "Syntax error" is here to catch this case.
47946 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47947 +/* end confdefs.h. */
47948 +#ifdef __STDC__
47949 +# include <limits.h>
47950 +#else
47951 +# include <assert.h>
47952 +#endif
47953 + Syntax error
47954 +_ACEOF
47955 +if ac_fn_c_try_cpp "$LINENO"; then :
47957 +else
47958 + # Broken: fails on valid input.
47959 +continue
47961 +rm -f conftest.err conftest.$ac_ext
47963 + # OK, works on sane cases. Now check whether nonexistent headers
47964 + # can be detected and how.
47965 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
47966 +/* end confdefs.h. */
47967 +#include <ac_nonexistent.h>
47968 +_ACEOF
47969 +if ac_fn_c_try_cpp "$LINENO"; then :
47970 + # Broken: success on invalid input.
47971 +continue
47972 +else
47973 + # Passes both tests.
47974 +ac_preproc_ok=:
47975 +break
47977 +rm -f conftest.err conftest.$ac_ext
47979 +done
47980 +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
47981 +rm -f conftest.err conftest.$ac_ext
47982 +if $ac_preproc_ok; then :
47984 +else
47985 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
47986 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
47987 +as_fn_error "C preprocessor \"$CPP\" fails sanity check
47988 +See \`config.log' for more details." "$LINENO" 5; }
47991 +ac_ext=c
47992 +ac_cpp='$CPP $CPPFLAGS'
47993 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
47994 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
47995 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
47998 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
47999 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
48000 +if test "${ac_cv_path_GREP+set}" = set; then :
48001 + $as_echo_n "(cached) " >&6
48002 +else
48003 + if test -z "$GREP"; then
48004 + ac_path_GREP_found=false
48005 + # Loop through the user's path and test for each of PROGNAME-LIST
48006 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48007 +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
48009 + IFS=$as_save_IFS
48010 + test -z "$as_dir" && as_dir=.
48011 + for ac_prog in grep ggrep; do
48012 + for ac_exec_ext in '' $ac_executable_extensions; do
48013 + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
48014 + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
48015 +# Check for GNU ac_path_GREP and select it if it is found.
48016 + # Check for GNU $ac_path_GREP
48017 +case `"$ac_path_GREP" --version 2>&1` in
48018 +*GNU*)
48019 + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
48021 + ac_count=0
48022 + $as_echo_n 0123456789 >"conftest.in"
48023 + while :
48024 + do
48025 + cat "conftest.in" "conftest.in" >"conftest.tmp"
48026 + mv "conftest.tmp" "conftest.in"
48027 + cp "conftest.in" "conftest.nl"
48028 + $as_echo 'GREP' >> "conftest.nl"
48029 + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
48030 + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
48031 + as_fn_arith $ac_count + 1 && ac_count=$as_val
48032 + if test $ac_count -gt ${ac_path_GREP_max-0}; then
48033 + # Best one so far, save it but keep looking for a better one
48034 + ac_cv_path_GREP="$ac_path_GREP"
48035 + ac_path_GREP_max=$ac_count
48036 + fi
48037 + # 10*(2^10) chars as input seems more than enough
48038 + test $ac_count -gt 10 && break
48039 + done
48040 + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
48041 +esac
48043 + $ac_path_GREP_found && break 3
48044 + done
48045 + done
48046 + done
48047 +IFS=$as_save_IFS
48048 + if test -z "$ac_cv_path_GREP"; then
48049 + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
48050 + fi
48051 +else
48052 + ac_cv_path_GREP=$GREP
48056 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
48057 +$as_echo "$ac_cv_path_GREP" >&6; }
48058 + GREP="$ac_cv_path_GREP"
48061 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
48062 +$as_echo_n "checking for egrep... " >&6; }
48063 +if test "${ac_cv_path_EGREP+set}" = set; then :
48064 + $as_echo_n "(cached) " >&6
48065 +else
48066 + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
48067 + then ac_cv_path_EGREP="$GREP -E"
48068 + else
48069 + if test -z "$EGREP"; then
48070 + ac_path_EGREP_found=false
48071 + # Loop through the user's path and test for each of PROGNAME-LIST
48072 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48073 +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
48075 + IFS=$as_save_IFS
48076 + test -z "$as_dir" && as_dir=.
48077 + for ac_prog in egrep; do
48078 + for ac_exec_ext in '' $ac_executable_extensions; do
48079 + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
48080 + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
48081 +# Check for GNU ac_path_EGREP and select it if it is found.
48082 + # Check for GNU $ac_path_EGREP
48083 +case `"$ac_path_EGREP" --version 2>&1` in
48084 +*GNU*)
48085 + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
48087 + ac_count=0
48088 + $as_echo_n 0123456789 >"conftest.in"
48089 + while :
48090 + do
48091 + cat "conftest.in" "conftest.in" >"conftest.tmp"
48092 + mv "conftest.tmp" "conftest.in"
48093 + cp "conftest.in" "conftest.nl"
48094 + $as_echo 'EGREP' >> "conftest.nl"
48095 + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
48096 + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
48097 + as_fn_arith $ac_count + 1 && ac_count=$as_val
48098 + if test $ac_count -gt ${ac_path_EGREP_max-0}; then
48099 + # Best one so far, save it but keep looking for a better one
48100 + ac_cv_path_EGREP="$ac_path_EGREP"
48101 + ac_path_EGREP_max=$ac_count
48102 + fi
48103 + # 10*(2^10) chars as input seems more than enough
48104 + test $ac_count -gt 10 && break
48105 + done
48106 + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
48107 +esac
48109 + $ac_path_EGREP_found && break 3
48110 + done
48111 + done
48112 + done
48113 +IFS=$as_save_IFS
48114 + if test -z "$ac_cv_path_EGREP"; then
48115 + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
48116 + fi
48117 +else
48118 + ac_cv_path_EGREP=$EGREP
48121 + fi
48123 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
48124 +$as_echo "$ac_cv_path_EGREP" >&6; }
48125 + EGREP="$ac_cv_path_EGREP"
48129 + # Keep these sync'd with the list in Makefile.am. The first provides an
48130 + # expandable list at autoconf time; the second provides an expandable list
48131 + # (i.e., shell variable) at configure time.
48133 + SUBDIRS='include libsupc++ python src src/c++98 src/c++11 doc po testsuite'
48135 + # These need to be absolute paths, yet at the same time need to
48136 + # canonicalize only relative paths, because then amd will not unmount
48137 + # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
48138 + glibcxx_builddir=`${PWDCMD-pwd}`
48139 + case $srcdir in
48140 + \\/$* | ?:\\/*) glibcxx_srcdir=${srcdir} ;;
48141 + *) glibcxx_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
48142 + esac
48143 + toplevel_builddir=${glibcxx_builddir}/..
48144 + toplevel_srcdir=${glibcxx_srcdir}/..
48150 + # We use these options to decide which functions to include. They are
48151 + # set from the top level.
48153 +# Check whether --with-target-subdir was given.
48154 +if test "${with_target_subdir+set}" = set; then :
48155 + withval=$with_target_subdir;
48160 +# Check whether --with-cross-host was given.
48161 +if test "${with_cross_host+set}" = set; then :
48162 + withval=$with_cross_host;
48167 +# Check whether --with-newlib was given.
48168 +if test "${with_newlib+set}" = set; then :
48169 + withval=$with_newlib;
48173 + # Will set LN_S to either 'ln -s', 'ln', or 'cp -p' (if linking isn't
48174 + # available). Uncomment the next line to force a particular method.
48175 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
48176 +$as_echo_n "checking whether ln -s works... " >&6; }
48177 +LN_S=$as_ln_s
48178 +if test "$LN_S" = "ln -s"; then
48179 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
48180 +$as_echo "yes" >&6; }
48181 +else
48182 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
48183 +$as_echo "no, using $LN_S" >&6; }
48186 + #LN_S='cp -p'
48188 + if test -n "$ac_tool_prefix"; then
48189 + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
48190 +set dummy ${ac_tool_prefix}as; ac_word=$2
48191 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48192 +$as_echo_n "checking for $ac_word... " >&6; }
48193 +if test "${ac_cv_prog_AS+set}" = set; then :
48194 + $as_echo_n "(cached) " >&6
48195 +else
48196 + if test -n "$AS"; then
48197 + ac_cv_prog_AS="$AS" # Let the user override the test.
48198 +else
48199 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48200 +for as_dir in $PATH
48202 + IFS=$as_save_IFS
48203 + test -z "$as_dir" && as_dir=.
48204 + for ac_exec_ext in '' $ac_executable_extensions; do
48205 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
48206 + ac_cv_prog_AS="${ac_tool_prefix}as"
48207 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
48208 + break 2
48209 + fi
48210 +done
48211 + done
48212 +IFS=$as_save_IFS
48216 +AS=$ac_cv_prog_AS
48217 +if test -n "$AS"; then
48218 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
48219 +$as_echo "$AS" >&6; }
48220 +else
48221 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48222 +$as_echo "no" >&6; }
48227 +if test -z "$ac_cv_prog_AS"; then
48228 + ac_ct_AS=$AS
48229 + # Extract the first word of "as", so it can be a program name with args.
48230 +set dummy as; ac_word=$2
48231 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48232 +$as_echo_n "checking for $ac_word... " >&6; }
48233 +if test "${ac_cv_prog_ac_ct_AS+set}" = set; then :
48234 + $as_echo_n "(cached) " >&6
48235 +else
48236 + if test -n "$ac_ct_AS"; then
48237 + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
48238 +else
48239 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48240 +for as_dir in $PATH
48242 + IFS=$as_save_IFS
48243 + test -z "$as_dir" && as_dir=.
48244 + for ac_exec_ext in '' $ac_executable_extensions; do
48245 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
48246 + ac_cv_prog_ac_ct_AS="as"
48247 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
48248 + break 2
48249 + fi
48250 +done
48251 + done
48252 +IFS=$as_save_IFS
48256 +ac_ct_AS=$ac_cv_prog_ac_ct_AS
48257 +if test -n "$ac_ct_AS"; then
48258 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
48259 +$as_echo "$ac_ct_AS" >&6; }
48260 +else
48261 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48262 +$as_echo "no" >&6; }
48265 + if test "x$ac_ct_AS" = x; then
48266 + AS=""
48267 + else
48268 + case $cross_compiling:$ac_tool_warned in
48269 +yes:)
48270 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
48271 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
48272 +ac_tool_warned=yes ;;
48273 +esac
48274 + AS=$ac_ct_AS
48275 + fi
48276 +else
48277 + AS="$ac_cv_prog_AS"
48280 + if test -n "$ac_tool_prefix"; then
48281 + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
48282 +set dummy ${ac_tool_prefix}ar; ac_word=$2
48283 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48284 +$as_echo_n "checking for $ac_word... " >&6; }
48285 +if test "${ac_cv_prog_AR+set}" = set; then :
48286 + $as_echo_n "(cached) " >&6
48287 +else
48288 + if test -n "$AR"; then
48289 + ac_cv_prog_AR="$AR" # Let the user override the test.
48290 +else
48291 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48292 +for as_dir in $PATH
48294 + IFS=$as_save_IFS
48295 + test -z "$as_dir" && as_dir=.
48296 + for ac_exec_ext in '' $ac_executable_extensions; do
48297 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
48298 + ac_cv_prog_AR="${ac_tool_prefix}ar"
48299 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
48300 + break 2
48301 + fi
48302 +done
48303 + done
48304 +IFS=$as_save_IFS
48308 +AR=$ac_cv_prog_AR
48309 +if test -n "$AR"; then
48310 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
48311 +$as_echo "$AR" >&6; }
48312 +else
48313 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48314 +$as_echo "no" >&6; }
48319 +if test -z "$ac_cv_prog_AR"; then
48320 + ac_ct_AR=$AR
48321 + # Extract the first word of "ar", so it can be a program name with args.
48322 +set dummy ar; ac_word=$2
48323 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48324 +$as_echo_n "checking for $ac_word... " >&6; }
48325 +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
48326 + $as_echo_n "(cached) " >&6
48327 +else
48328 + if test -n "$ac_ct_AR"; then
48329 + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
48330 +else
48331 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48332 +for as_dir in $PATH
48334 + IFS=$as_save_IFS
48335 + test -z "$as_dir" && as_dir=.
48336 + for ac_exec_ext in '' $ac_executable_extensions; do
48337 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
48338 + ac_cv_prog_ac_ct_AR="ar"
48339 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
48340 + break 2
48341 + fi
48342 +done
48343 + done
48344 +IFS=$as_save_IFS
48348 +ac_ct_AR=$ac_cv_prog_ac_ct_AR
48349 +if test -n "$ac_ct_AR"; then
48350 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
48351 +$as_echo "$ac_ct_AR" >&6; }
48352 +else
48353 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48354 +$as_echo "no" >&6; }
48357 + if test "x$ac_ct_AR" = x; then
48358 + AR=""
48359 + else
48360 + case $cross_compiling:$ac_tool_warned in
48361 +yes:)
48362 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
48363 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
48364 +ac_tool_warned=yes ;;
48365 +esac
48366 + AR=$ac_ct_AR
48367 + fi
48368 +else
48369 + AR="$ac_cv_prog_AR"
48372 + if test -n "$ac_tool_prefix"; then
48373 + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
48374 +set dummy ${ac_tool_prefix}ranlib; ac_word=$2
48375 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48376 +$as_echo_n "checking for $ac_word... " >&6; }
48377 +if test "${ac_cv_prog_RANLIB+set}" = set; then :
48378 + $as_echo_n "(cached) " >&6
48379 +else
48380 + if test -n "$RANLIB"; then
48381 + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
48382 +else
48383 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48384 +for as_dir in $PATH
48386 + IFS=$as_save_IFS
48387 + test -z "$as_dir" && as_dir=.
48388 + for ac_exec_ext in '' $ac_executable_extensions; do
48389 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
48390 + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
48391 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
48392 + break 2
48393 + fi
48394 +done
48395 + done
48396 +IFS=$as_save_IFS
48400 +RANLIB=$ac_cv_prog_RANLIB
48401 +if test -n "$RANLIB"; then
48402 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
48403 +$as_echo "$RANLIB" >&6; }
48404 +else
48405 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48406 +$as_echo "no" >&6; }
48411 +if test -z "$ac_cv_prog_RANLIB"; then
48412 + ac_ct_RANLIB=$RANLIB
48413 + # Extract the first word of "ranlib", so it can be a program name with args.
48414 +set dummy ranlib; ac_word=$2
48415 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48416 +$as_echo_n "checking for $ac_word... " >&6; }
48417 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
48418 + $as_echo_n "(cached) " >&6
48419 +else
48420 + if test -n "$ac_ct_RANLIB"; then
48421 + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
48422 +else
48423 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48424 +for as_dir in $PATH
48426 + IFS=$as_save_IFS
48427 + test -z "$as_dir" && as_dir=.
48428 + for ac_exec_ext in '' $ac_executable_extensions; do
48429 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
48430 + ac_cv_prog_ac_ct_RANLIB="ranlib"
48431 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
48432 + break 2
48433 + fi
48434 +done
48435 + done
48436 +IFS=$as_save_IFS
48440 +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
48441 +if test -n "$ac_ct_RANLIB"; then
48442 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
48443 +$as_echo "$ac_ct_RANLIB" >&6; }
48444 +else
48445 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48446 +$as_echo "no" >&6; }
48449 + if test "x$ac_ct_RANLIB" = x; then
48450 + RANLIB="ranlib-not-found-in-path-error"
48451 + else
48452 + case $cross_compiling:$ac_tool_warned in
48453 +yes:)
48454 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
48455 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
48456 +ac_tool_warned=yes ;;
48457 +esac
48458 + RANLIB=$ac_ct_RANLIB
48459 + fi
48460 +else
48461 + RANLIB="$ac_cv_prog_RANLIB"
48466 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
48467 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
48468 + # Check whether --enable-maintainer-mode was given.
48469 +if test "${enable_maintainer_mode+set}" = set; then :
48470 + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
48471 +else
48472 + USE_MAINTAINER_MODE=no
48475 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
48476 +$as_echo "$USE_MAINTAINER_MODE" >&6; }
48477 + if test $USE_MAINTAINER_MODE = yes; then
48478 + MAINTAINER_MODE_TRUE=
48479 + MAINTAINER_MODE_FALSE='#'
48480 +else
48481 + MAINTAINER_MODE_TRUE='#'
48482 + MAINTAINER_MODE_FALSE=
48485 + MAINT=$MAINTAINER_MODE_TRUE
48489 + # Set up safe default values for all subsequent AM_CONDITIONAL tests
48490 + # which are themselves conditionally expanded.
48491 + ## (Right now, this only matters for enable_wchar_t, but nothing prevents
48492 + ## other macros from doing the same. This should be automated.) -pme
48494 + # Check for C library flavor since GNU/Linux platforms use different
48495 + # configuration directories depending on the C library in use.
48496 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
48497 +/* end confdefs.h. */
48499 + #include <stdio.h>
48500 + #if __UCLIBC__
48501 + _using_uclibc
48502 + #endif
48504 +_ACEOF
48505 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
48506 + $EGREP "_using_uclibc" >/dev/null 2>&1; then :
48507 + uclibc=yes
48508 +else
48509 + uclibc=no
48511 +rm -f conftest*
48514 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
48515 +/* end confdefs.h. */
48517 + #include <stdio.h>
48518 + #if __BIONIC__
48519 + _using_bionic
48520 + #endif
48522 +_ACEOF
48523 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
48524 + $EGREP "_using_bionic" >/dev/null 2>&1; then :
48525 + bionic=yes
48526 +else
48527 + bionic=no
48529 +rm -f conftest*
48532 + # Find platform-specific directories containing configuration info.
48533 + # Also possibly modify flags used elsewhere, as needed by the platform.
48535 + . $glibcxx_srcdir/configure.host
48536 + { $as_echo "$as_me:${as_lineno-$LINENO}: CPU config directory is $cpu_include_dir" >&5
48537 +$as_echo "$as_me: CPU config directory is $cpu_include_dir" >&6;}
48538 + { $as_echo "$as_me:${as_lineno-$LINENO}: OS config directory is $os_include_dir" >&5
48539 +$as_echo "$as_me: OS config directory is $os_include_dir" >&6;}
48543 +# Libtool setup.
48544 +if test "x${with_newlib}" != "xyes"; then
48545 + enable_dlopen=yes
48550 +case `pwd` in
48551 + *\ * | *\ *)
48552 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
48553 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
48554 +esac
48558 +macro_version='2.2.7a'
48559 +macro_revision='1.3134'
48573 +ltmain="$ac_aux_dir/ltmain.sh"
48575 +# Backslashify metacharacters that are still active within
48576 +# double-quoted strings.
48577 +sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
48579 +# Same as above, but do not quote variable references.
48580 +double_quote_subst='s/\(["`\\]\)/\\\1/g'
48582 +# Sed substitution to delay expansion of an escaped shell variable in a
48583 +# double_quote_subst'ed string.
48584 +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
48586 +# Sed substitution to delay expansion of an escaped single quote.
48587 +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
48589 +# Sed substitution to avoid accidental globbing in evaled expressions
48590 +no_glob_subst='s/\*/\\\*/g'
48592 +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
48593 +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
48594 +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
48596 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
48597 +$as_echo_n "checking how to print strings... " >&6; }
48598 +# Test print first, because it will be a builtin if present.
48599 +if test "X`print -r -- -n 2>/dev/null`" = X-n && \
48600 + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
48601 + ECHO='print -r --'
48602 +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
48603 + ECHO='printf %s\n'
48604 +else
48605 + # Use this function as a fallback that always works.
48606 + func_fallback_echo ()
48608 + eval 'cat <<_LTECHO_EOF
48610 +_LTECHO_EOF'
48612 + ECHO='func_fallback_echo'
48615 +# func_echo_all arg...
48616 +# Invoke $ECHO with all args, space-separated.
48617 +func_echo_all ()
48619 + $ECHO ""
48622 +case "$ECHO" in
48623 + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
48624 +$as_echo "printf" >&6; } ;;
48625 + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
48626 +$as_echo "print -r" >&6; } ;;
48627 + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
48628 +$as_echo "cat" >&6; } ;;
48629 +esac
48644 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
48645 +$as_echo_n "checking for a sed that does not truncate output... " >&6; }
48646 +if test "${ac_cv_path_SED+set}" = set; then :
48647 + $as_echo_n "(cached) " >&6
48648 +else
48649 + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
48650 + for ac_i in 1 2 3 4 5 6 7; do
48651 + ac_script="$ac_script$as_nl$ac_script"
48652 + done
48653 + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
48654 + { ac_script=; unset ac_script;}
48655 + if test -z "$SED"; then
48656 + ac_path_SED_found=false
48657 + # Loop through the user's path and test for each of PROGNAME-LIST
48658 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48659 +for as_dir in $PATH
48661 + IFS=$as_save_IFS
48662 + test -z "$as_dir" && as_dir=.
48663 + for ac_prog in sed gsed; do
48664 + for ac_exec_ext in '' $ac_executable_extensions; do
48665 + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
48666 + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
48667 +# Check for GNU ac_path_SED and select it if it is found.
48668 + # Check for GNU $ac_path_SED
48669 +case `"$ac_path_SED" --version 2>&1` in
48670 +*GNU*)
48671 + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
48673 + ac_count=0
48674 + $as_echo_n 0123456789 >"conftest.in"
48675 + while :
48676 + do
48677 + cat "conftest.in" "conftest.in" >"conftest.tmp"
48678 + mv "conftest.tmp" "conftest.in"
48679 + cp "conftest.in" "conftest.nl"
48680 + $as_echo '' >> "conftest.nl"
48681 + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
48682 + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
48683 + as_fn_arith $ac_count + 1 && ac_count=$as_val
48684 + if test $ac_count -gt ${ac_path_SED_max-0}; then
48685 + # Best one so far, save it but keep looking for a better one
48686 + ac_cv_path_SED="$ac_path_SED"
48687 + ac_path_SED_max=$ac_count
48688 + fi
48689 + # 10*(2^10) chars as input seems more than enough
48690 + test $ac_count -gt 10 && break
48691 + done
48692 + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
48693 +esac
48695 + $ac_path_SED_found && break 3
48696 + done
48697 + done
48698 + done
48699 +IFS=$as_save_IFS
48700 + if test -z "$ac_cv_path_SED"; then
48701 + as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
48702 + fi
48703 +else
48704 + ac_cv_path_SED=$SED
48708 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
48709 +$as_echo "$ac_cv_path_SED" >&6; }
48710 + SED="$ac_cv_path_SED"
48711 + rm -f conftest.sed
48713 +test -z "$SED" && SED=sed
48714 +Xsed="$SED -e 1s/^X//"
48726 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
48727 +$as_echo_n "checking for fgrep... " >&6; }
48728 +if test "${ac_cv_path_FGREP+set}" = set; then :
48729 + $as_echo_n "(cached) " >&6
48730 +else
48731 + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
48732 + then ac_cv_path_FGREP="$GREP -F"
48733 + else
48734 + if test -z "$FGREP"; then
48735 + ac_path_FGREP_found=false
48736 + # Loop through the user's path and test for each of PROGNAME-LIST
48737 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48738 +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
48740 + IFS=$as_save_IFS
48741 + test -z "$as_dir" && as_dir=.
48742 + for ac_prog in fgrep; do
48743 + for ac_exec_ext in '' $ac_executable_extensions; do
48744 + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
48745 + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
48746 +# Check for GNU ac_path_FGREP and select it if it is found.
48747 + # Check for GNU $ac_path_FGREP
48748 +case `"$ac_path_FGREP" --version 2>&1` in
48749 +*GNU*)
48750 + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
48752 + ac_count=0
48753 + $as_echo_n 0123456789 >"conftest.in"
48754 + while :
48755 + do
48756 + cat "conftest.in" "conftest.in" >"conftest.tmp"
48757 + mv "conftest.tmp" "conftest.in"
48758 + cp "conftest.in" "conftest.nl"
48759 + $as_echo 'FGREP' >> "conftest.nl"
48760 + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
48761 + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
48762 + as_fn_arith $ac_count + 1 && ac_count=$as_val
48763 + if test $ac_count -gt ${ac_path_FGREP_max-0}; then
48764 + # Best one so far, save it but keep looking for a better one
48765 + ac_cv_path_FGREP="$ac_path_FGREP"
48766 + ac_path_FGREP_max=$ac_count
48767 + fi
48768 + # 10*(2^10) chars as input seems more than enough
48769 + test $ac_count -gt 10 && break
48770 + done
48771 + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
48772 +esac
48774 + $ac_path_FGREP_found && break 3
48775 + done
48776 + done
48777 + done
48778 +IFS=$as_save_IFS
48779 + if test -z "$ac_cv_path_FGREP"; then
48780 + as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
48781 + fi
48782 +else
48783 + ac_cv_path_FGREP=$FGREP
48786 + fi
48788 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
48789 +$as_echo "$ac_cv_path_FGREP" >&6; }
48790 + FGREP="$ac_cv_path_FGREP"
48793 +test -z "$GREP" && GREP=grep
48813 +# Check whether --with-gnu-ld was given.
48814 +if test "${with_gnu_ld+set}" = set; then :
48815 + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
48816 +else
48817 + with_gnu_ld=no
48820 +ac_prog=ld
48821 +if test "$GCC" = yes; then
48822 + # Check if gcc -print-prog-name=ld gives a path.
48823 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
48824 +$as_echo_n "checking for ld used by $CC... " >&6; }
48825 + case $host in
48826 + *-*-mingw*)
48827 + # gcc leaves a trailing carriage return which upsets mingw
48828 + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
48829 + *)
48830 + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
48831 + esac
48832 + case $ac_prog in
48833 + # Accept absolute paths.
48834 + [\\/]* | ?:[\\/]*)
48835 + re_direlt='/[^/][^/]*/\.\./'
48836 + # Canonicalize the pathname of ld
48837 + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
48838 + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
48839 + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
48840 + done
48841 + test -z "$LD" && LD="$ac_prog"
48842 + ;;
48843 + "")
48844 + # If it fails, then pretend we aren't using GCC.
48845 + ac_prog=ld
48846 + ;;
48847 + *)
48848 + # If it is relative, then search for the first ld in PATH.
48849 + with_gnu_ld=unknown
48850 + ;;
48851 + esac
48852 +elif test "$with_gnu_ld" = yes; then
48853 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
48854 +$as_echo_n "checking for GNU ld... " >&6; }
48855 +else
48856 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
48857 +$as_echo_n "checking for non-GNU ld... " >&6; }
48859 +if test "${lt_cv_path_LD+set}" = set; then :
48860 + $as_echo_n "(cached) " >&6
48861 +else
48862 + if test -z "$LD"; then
48863 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
48864 + for ac_dir in $PATH; do
48865 + IFS="$lt_save_ifs"
48866 + test -z "$ac_dir" && ac_dir=.
48867 + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
48868 + lt_cv_path_LD="$ac_dir/$ac_prog"
48869 + # Check to see if the program is GNU ld. I'd rather use --version,
48870 + # but apparently some variants of GNU ld only accept -v.
48871 + # Break only if it was the GNU/non-GNU ld that we prefer.
48872 + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
48873 + *GNU* | *'with BFD'*)
48874 + test "$with_gnu_ld" != no && break
48875 + ;;
48876 + *)
48877 + test "$with_gnu_ld" != yes && break
48878 + ;;
48879 + esac
48880 + fi
48881 + done
48882 + IFS="$lt_save_ifs"
48883 +else
48884 + lt_cv_path_LD="$LD" # Let the user override the test with a path.
48888 +LD="$lt_cv_path_LD"
48889 +if test -n "$LD"; then
48890 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
48891 +$as_echo "$LD" >&6; }
48892 +else
48893 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
48894 +$as_echo "no" >&6; }
48896 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
48897 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
48898 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
48899 +if test "${lt_cv_prog_gnu_ld+set}" = set; then :
48900 + $as_echo_n "(cached) " >&6
48901 +else
48902 + # I'd rather use --version here, but apparently some GNU lds only accept -v.
48903 +case `$LD -v 2>&1 </dev/null` in
48904 +*GNU* | *'with BFD'*)
48905 + lt_cv_prog_gnu_ld=yes
48906 + ;;
48908 + lt_cv_prog_gnu_ld=no
48909 + ;;
48910 +esac
48912 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
48913 +$as_echo "$lt_cv_prog_gnu_ld" >&6; }
48914 +with_gnu_ld=$lt_cv_prog_gnu_ld
48924 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
48925 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
48926 +if test "${lt_cv_path_NM+set}" = set; then :
48927 + $as_echo_n "(cached) " >&6
48928 +else
48929 + if test -n "$NM"; then
48930 + # Let the user override the test.
48931 + lt_cv_path_NM="$NM"
48932 +else
48933 + lt_nm_to_check="${ac_tool_prefix}nm"
48934 + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
48935 + lt_nm_to_check="$lt_nm_to_check nm"
48936 + fi
48937 + for lt_tmp_nm in $lt_nm_to_check; do
48938 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
48939 + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
48940 + IFS="$lt_save_ifs"
48941 + test -z "$ac_dir" && ac_dir=.
48942 + tmp_nm="$ac_dir/$lt_tmp_nm"
48943 + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
48944 + # Check to see if the nm accepts a BSD-compat flag.
48945 + # Adding the `sed 1q' prevents false positives on HP-UX, which says:
48946 + # nm: unknown option "B" ignored
48947 + # Tru64's nm complains that /dev/null is an invalid object file
48948 + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
48949 + */dev/null* | *'Invalid file or object type'*)
48950 + lt_cv_path_NM="$tmp_nm -B"
48951 + break
48952 + ;;
48953 + *)
48954 + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
48955 + */dev/null*)
48956 + lt_cv_path_NM="$tmp_nm -p"
48957 + break
48958 + ;;
48959 + *)
48960 + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
48961 + continue # so that we can try to find one that supports BSD flags
48962 + ;;
48963 + esac
48964 + ;;
48965 + esac
48966 + fi
48967 + done
48968 + IFS="$lt_save_ifs"
48969 + done
48970 + : ${lt_cv_path_NM=no}
48973 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
48974 +$as_echo "$lt_cv_path_NM" >&6; }
48975 +if test "$lt_cv_path_NM" != "no"; then
48976 + NM="$lt_cv_path_NM"
48977 +else
48978 + # Didn't find any BSD compatible name lister, look for dumpbin.
48979 + if test -n "$DUMPBIN"; then :
48980 + # Let the user override the test.
48981 + else
48982 + if test -n "$ac_tool_prefix"; then
48983 + for ac_prog in dumpbin "link -dump"
48984 + do
48985 + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
48986 +set dummy $ac_tool_prefix$ac_prog; ac_word=$2
48987 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
48988 +$as_echo_n "checking for $ac_word... " >&6; }
48989 +if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
48990 + $as_echo_n "(cached) " >&6
48991 +else
48992 + if test -n "$DUMPBIN"; then
48993 + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
48994 +else
48995 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
48996 +for as_dir in $PATH
48998 + IFS=$as_save_IFS
48999 + test -z "$as_dir" && as_dir=.
49000 + for ac_exec_ext in '' $ac_executable_extensions; do
49001 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49002 + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
49003 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49004 + break 2
49005 + fi
49006 +done
49007 + done
49008 +IFS=$as_save_IFS
49012 +DUMPBIN=$ac_cv_prog_DUMPBIN
49013 +if test -n "$DUMPBIN"; then
49014 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
49015 +$as_echo "$DUMPBIN" >&6; }
49016 +else
49017 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49018 +$as_echo "no" >&6; }
49022 + test -n "$DUMPBIN" && break
49023 + done
49025 +if test -z "$DUMPBIN"; then
49026 + ac_ct_DUMPBIN=$DUMPBIN
49027 + for ac_prog in dumpbin "link -dump"
49029 + # Extract the first word of "$ac_prog", so it can be a program name with args.
49030 +set dummy $ac_prog; ac_word=$2
49031 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49032 +$as_echo_n "checking for $ac_word... " >&6; }
49033 +if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
49034 + $as_echo_n "(cached) " >&6
49035 +else
49036 + if test -n "$ac_ct_DUMPBIN"; then
49037 + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
49038 +else
49039 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49040 +for as_dir in $PATH
49042 + IFS=$as_save_IFS
49043 + test -z "$as_dir" && as_dir=.
49044 + for ac_exec_ext in '' $ac_executable_extensions; do
49045 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49046 + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
49047 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49048 + break 2
49049 + fi
49050 +done
49051 + done
49052 +IFS=$as_save_IFS
49056 +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
49057 +if test -n "$ac_ct_DUMPBIN"; then
49058 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
49059 +$as_echo "$ac_ct_DUMPBIN" >&6; }
49060 +else
49061 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49062 +$as_echo "no" >&6; }
49066 + test -n "$ac_ct_DUMPBIN" && break
49067 +done
49069 + if test "x$ac_ct_DUMPBIN" = x; then
49070 + DUMPBIN=":"
49071 + else
49072 + case $cross_compiling:$ac_tool_warned in
49073 +yes:)
49074 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
49075 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
49076 +ac_tool_warned=yes ;;
49077 +esac
49078 + DUMPBIN=$ac_ct_DUMPBIN
49079 + fi
49082 + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
49083 + *COFF*)
49084 + DUMPBIN="$DUMPBIN -symbols"
49085 + ;;
49086 + *)
49087 + DUMPBIN=:
49088 + ;;
49089 + esac
49090 + fi
49092 + if test "$DUMPBIN" != ":"; then
49093 + NM="$DUMPBIN"
49094 + fi
49096 +test -z "$NM" && NM=nm
49103 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
49104 +$as_echo_n "checking the name lister ($NM) interface... " >&6; }
49105 +if test "${lt_cv_nm_interface+set}" = set; then :
49106 + $as_echo_n "(cached) " >&6
49107 +else
49108 + lt_cv_nm_interface="BSD nm"
49109 + echo "int some_variable = 0;" > conftest.$ac_ext
49110 + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
49111 + (eval "$ac_compile" 2>conftest.err)
49112 + cat conftest.err >&5
49113 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
49114 + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
49115 + cat conftest.err >&5
49116 + (eval echo "\"\$as_me:$LINENO: output\"" >&5)
49117 + cat conftest.out >&5
49118 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then
49119 + lt_cv_nm_interface="MS dumpbin"
49120 + fi
49121 + rm -f conftest*
49123 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
49124 +$as_echo "$lt_cv_nm_interface" >&6; }
49126 +# find the maximum length of command line arguments
49127 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
49128 +$as_echo_n "checking the maximum length of command line arguments... " >&6; }
49129 +if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
49130 + $as_echo_n "(cached) " >&6
49131 +else
49132 + i=0
49133 + teststring="ABCD"
49135 + case $build_os in
49136 + msdosdjgpp*)
49137 + # On DJGPP, this test can blow up pretty badly due to problems in libc
49138 + # (any single argument exceeding 2000 bytes causes a buffer overrun
49139 + # during glob expansion). Even if it were fixed, the result of this
49140 + # check would be larger than it should be.
49141 + lt_cv_sys_max_cmd_len=12288; # 12K is about right
49142 + ;;
49144 + gnu*)
49145 + # Under GNU Hurd, this test is not required because there is
49146 + # no limit to the length of command line arguments.
49147 + # Libtool will interpret -1 as no limit whatsoever
49148 + lt_cv_sys_max_cmd_len=-1;
49149 + ;;
49151 + cygwin* | mingw* | cegcc*)
49152 + # On Win9x/ME, this test blows up -- it succeeds, but takes
49153 + # about 5 minutes as the teststring grows exponentially.
49154 + # Worse, since 9x/ME are not pre-emptively multitasking,
49155 + # you end up with a "frozen" computer, even though with patience
49156 + # the test eventually succeeds (with a max line length of 256k).
49157 + # Instead, let's just punt: use the minimum linelength reported by
49158 + # all of the supported platforms: 8192 (on NT/2K/XP).
49159 + lt_cv_sys_max_cmd_len=8192;
49160 + ;;
49162 + mint*)
49163 + # On MiNT this can take a long time and run out of memory.
49164 + lt_cv_sys_max_cmd_len=8192;
49165 + ;;
49167 + amigaos*)
49168 + # On AmigaOS with pdksh, this test takes hours, literally.
49169 + # So we just punt and use a minimum line length of 8192.
49170 + lt_cv_sys_max_cmd_len=8192;
49171 + ;;
49173 + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
49174 + # This has been around since 386BSD, at least. Likely further.
49175 + if test -x /sbin/sysctl; then
49176 + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
49177 + elif test -x /usr/sbin/sysctl; then
49178 + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
49179 + else
49180 + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
49181 + fi
49182 + # And add a safety zone
49183 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
49184 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
49185 + ;;
49187 + interix*)
49188 + # We know the value 262144 and hardcode it with a safety zone (like BSD)
49189 + lt_cv_sys_max_cmd_len=196608
49190 + ;;
49192 + osf*)
49193 + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
49194 + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
49195 + # nice to cause kernel panics so lets avoid the loop below.
49196 + # First set a reasonable default.
49197 + lt_cv_sys_max_cmd_len=16384
49199 + if test -x /sbin/sysconfig; then
49200 + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
49201 + *1*) lt_cv_sys_max_cmd_len=-1 ;;
49202 + esac
49203 + fi
49204 + ;;
49205 + sco3.2v5*)
49206 + lt_cv_sys_max_cmd_len=102400
49207 + ;;
49208 + sysv5* | sco5v6* | sysv4.2uw2*)
49209 + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
49210 + if test -n "$kargmax"; then
49211 + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
49212 + else
49213 + lt_cv_sys_max_cmd_len=32768
49214 + fi
49215 + ;;
49216 + *)
49217 + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
49218 + if test -n "$lt_cv_sys_max_cmd_len"; then
49219 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
49220 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
49221 + else
49222 + # Make teststring a little bigger before we do anything with it.
49223 + # a 1K string should be a reasonable start.
49224 + for i in 1 2 3 4 5 6 7 8 ; do
49225 + teststring=$teststring$teststring
49226 + done
49227 + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
49228 + # If test is not a shell built-in, we'll probably end up computing a
49229 + # maximum length that is only half of the actual maximum length, but
49230 + # we can't tell.
49231 + while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
49232 + = "X$teststring$teststring"; } >/dev/null 2>&1 &&
49233 + test $i != 17 # 1/2 MB should be enough
49234 + do
49235 + i=`expr $i + 1`
49236 + teststring=$teststring$teststring
49237 + done
49238 + # Only check the string length outside the loop.
49239 + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
49240 + teststring=
49241 + # Add a significant safety factor because C++ compilers can tack on
49242 + # massive amounts of additional arguments before passing them to the
49243 + # linker. It appears as though 1/2 is a usable value.
49244 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
49245 + fi
49246 + ;;
49247 + esac
49251 +if test -n $lt_cv_sys_max_cmd_len ; then
49252 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
49253 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
49254 +else
49255 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
49256 +$as_echo "none" >&6; }
49258 +max_cmd_len=$lt_cv_sys_max_cmd_len
49265 +: ${CP="cp -f"}
49266 +: ${MV="mv -f"}
49267 +: ${RM="rm -f"}
49269 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
49270 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
49271 +# Try some XSI features
49272 +xsi_shell=no
49273 +( _lt_dummy="a/b/c"
49274 + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
49275 + = c,a/b,, \
49276 + && eval 'test $(( 1 + 1 )) -eq 2 \
49277 + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
49278 + && xsi_shell=yes
49279 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
49280 +$as_echo "$xsi_shell" >&6; }
49283 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
49284 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
49285 +lt_shell_append=no
49286 +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
49287 + >/dev/null 2>&1 \
49288 + && lt_shell_append=yes
49289 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
49290 +$as_echo "$lt_shell_append" >&6; }
49293 +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
49294 + lt_unset=unset
49295 +else
49296 + lt_unset=false
49303 +# test EBCDIC or ASCII
49304 +case `echo X|tr X '\101'` in
49305 + A) # ASCII based system
49306 + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
49307 + lt_SP2NL='tr \040 \012'
49308 + lt_NL2SP='tr \015\012 \040\040'
49309 + ;;
49310 + *) # EBCDIC based system
49311 + lt_SP2NL='tr \100 \n'
49312 + lt_NL2SP='tr \r\n \100\100'
49313 + ;;
49314 +esac
49324 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
49325 +$as_echo_n "checking for $LD option to reload object files... " >&6; }
49326 +if test "${lt_cv_ld_reload_flag+set}" = set; then :
49327 + $as_echo_n "(cached) " >&6
49328 +else
49329 + lt_cv_ld_reload_flag='-r'
49331 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
49332 +$as_echo "$lt_cv_ld_reload_flag" >&6; }
49333 +reload_flag=$lt_cv_ld_reload_flag
49334 +case $reload_flag in
49335 +"" | " "*) ;;
49336 +*) reload_flag=" $reload_flag" ;;
49337 +esac
49338 +reload_cmds='$LD$reload_flag -o $output$reload_objs'
49339 +case $host_os in
49340 + darwin*)
49341 + if test "$GCC" = yes; then
49342 + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
49343 + else
49344 + reload_cmds='$LD$reload_flag -o $output$reload_objs'
49345 + fi
49346 + ;;
49347 +esac
49357 +if test -n "$ac_tool_prefix"; then
49358 + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
49359 +set dummy ${ac_tool_prefix}objdump; ac_word=$2
49360 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49361 +$as_echo_n "checking for $ac_word... " >&6; }
49362 +if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
49363 + $as_echo_n "(cached) " >&6
49364 +else
49365 + if test -n "$OBJDUMP"; then
49366 + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
49367 +else
49368 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49369 +for as_dir in $PATH
49371 + IFS=$as_save_IFS
49372 + test -z "$as_dir" && as_dir=.
49373 + for ac_exec_ext in '' $ac_executable_extensions; do
49374 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49375 + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
49376 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49377 + break 2
49378 + fi
49379 +done
49380 + done
49381 +IFS=$as_save_IFS
49385 +OBJDUMP=$ac_cv_prog_OBJDUMP
49386 +if test -n "$OBJDUMP"; then
49387 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
49388 +$as_echo "$OBJDUMP" >&6; }
49389 +else
49390 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49391 +$as_echo "no" >&6; }
49396 +if test -z "$ac_cv_prog_OBJDUMP"; then
49397 + ac_ct_OBJDUMP=$OBJDUMP
49398 + # Extract the first word of "objdump", so it can be a program name with args.
49399 +set dummy objdump; ac_word=$2
49400 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49401 +$as_echo_n "checking for $ac_word... " >&6; }
49402 +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
49403 + $as_echo_n "(cached) " >&6
49404 +else
49405 + if test -n "$ac_ct_OBJDUMP"; then
49406 + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
49407 +else
49408 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49409 +for as_dir in $PATH
49411 + IFS=$as_save_IFS
49412 + test -z "$as_dir" && as_dir=.
49413 + for ac_exec_ext in '' $ac_executable_extensions; do
49414 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49415 + ac_cv_prog_ac_ct_OBJDUMP="objdump"
49416 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49417 + break 2
49418 + fi
49419 +done
49420 + done
49421 +IFS=$as_save_IFS
49425 +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
49426 +if test -n "$ac_ct_OBJDUMP"; then
49427 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
49428 +$as_echo "$ac_ct_OBJDUMP" >&6; }
49429 +else
49430 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49431 +$as_echo "no" >&6; }
49434 + if test "x$ac_ct_OBJDUMP" = x; then
49435 + OBJDUMP="false"
49436 + else
49437 + case $cross_compiling:$ac_tool_warned in
49438 +yes:)
49439 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
49440 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
49441 +ac_tool_warned=yes ;;
49442 +esac
49443 + OBJDUMP=$ac_ct_OBJDUMP
49444 + fi
49445 +else
49446 + OBJDUMP="$ac_cv_prog_OBJDUMP"
49449 +test -z "$OBJDUMP" && OBJDUMP=objdump
49459 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
49460 +$as_echo_n "checking how to recognize dependent libraries... " >&6; }
49461 +if test "${lt_cv_deplibs_check_method+set}" = set; then :
49462 + $as_echo_n "(cached) " >&6
49463 +else
49464 + lt_cv_file_magic_cmd='$MAGIC_CMD'
49465 +lt_cv_file_magic_test_file=
49466 +lt_cv_deplibs_check_method='unknown'
49467 +# Need to set the preceding variable on all platforms that support
49468 +# interlibrary dependencies.
49469 +# 'none' -- dependencies not supported.
49470 +# `unknown' -- same as none, but documents that we really don't know.
49471 +# 'pass_all' -- all dependencies passed with no checks.
49472 +# 'test_compile' -- check by making test program.
49473 +# 'file_magic [[regex]]' -- check by looking for files in library path
49474 +# which responds to the $file_magic_cmd with a given extended regex.
49475 +# If you have `file' or equivalent on your system and you're not sure
49476 +# whether `pass_all' will *always* work, you probably want this one.
49478 +case $host_os in
49479 +aix[4-9]*)
49480 + lt_cv_deplibs_check_method=pass_all
49481 + ;;
49483 +beos*)
49484 + lt_cv_deplibs_check_method=pass_all
49485 + ;;
49487 +bsdi[45]*)
49488 + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
49489 + lt_cv_file_magic_cmd='/usr/bin/file -L'
49490 + lt_cv_file_magic_test_file=/shlib/libc.so
49491 + ;;
49493 +cygwin*)
49494 + # func_win32_libid is a shell function defined in ltmain.sh
49495 + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
49496 + lt_cv_file_magic_cmd='func_win32_libid'
49497 + ;;
49499 +mingw* | pw32*)
49500 + # Base MSYS/MinGW do not provide the 'file' command needed by
49501 + # func_win32_libid shell function, so use a weaker test based on 'objdump',
49502 + # unless we find 'file', for example because we are cross-compiling.
49503 + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
49504 + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
49505 + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
49506 + lt_cv_file_magic_cmd='func_win32_libid'
49507 + else
49508 + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
49509 + lt_cv_file_magic_cmd='$OBJDUMP -f'
49510 + fi
49511 + ;;
49513 +cegcc*)
49514 + # use the weaker test based on 'objdump'. See mingw*.
49515 + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
49516 + lt_cv_file_magic_cmd='$OBJDUMP -f'
49517 + ;;
49519 +darwin* | rhapsody*)
49520 + lt_cv_deplibs_check_method=pass_all
49521 + ;;
49523 +freebsd* | dragonfly*)
49524 + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
49525 + case $host_cpu in
49526 + i*86 )
49527 + # Not sure whether the presence of OpenBSD here was a mistake.
49528 + # Let's accept both of them until this is cleared up.
49529 + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
49530 + lt_cv_file_magic_cmd=/usr/bin/file
49531 + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
49532 + ;;
49533 + esac
49534 + else
49535 + lt_cv_deplibs_check_method=pass_all
49536 + fi
49537 + ;;
49539 +gnu*)
49540 + lt_cv_deplibs_check_method=pass_all
49541 + ;;
49543 +haiku*)
49544 + lt_cv_deplibs_check_method=pass_all
49545 + ;;
49547 +hpux10.20* | hpux11*)
49548 + lt_cv_file_magic_cmd=/usr/bin/file
49549 + case $host_cpu in
49550 + ia64*)
49551 + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
49552 + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
49553 + ;;
49554 + hppa*64*)
49555 + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
49556 + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
49557 + ;;
49558 + *)
49559 + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
49560 + lt_cv_file_magic_test_file=/usr/lib/libc.sl
49561 + ;;
49562 + esac
49563 + ;;
49565 +interix[3-9]*)
49566 + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
49567 + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
49568 + ;;
49570 +irix5* | irix6* | nonstopux*)
49571 + case $LD in
49572 + *-32|*"-32 ") libmagic=32-bit;;
49573 + *-n32|*"-n32 ") libmagic=N32;;
49574 + *-64|*"-64 ") libmagic=64-bit;;
49575 + *) libmagic=never-match;;
49576 + esac
49577 + lt_cv_deplibs_check_method=pass_all
49578 + ;;
49580 +# This must be Linux ELF.
49581 +linux* | k*bsd*-gnu | kopensolaris*-gnu)
49582 + lt_cv_deplibs_check_method=pass_all
49583 + ;;
49585 +netbsd*)
49586 + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
49587 + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
49588 + else
49589 + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
49590 + fi
49591 + ;;
49593 +newos6*)
49594 + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
49595 + lt_cv_file_magic_cmd=/usr/bin/file
49596 + lt_cv_file_magic_test_file=/usr/lib/libnls.so
49597 + ;;
49599 +*nto* | *qnx*)
49600 + lt_cv_deplibs_check_method=pass_all
49601 + ;;
49603 +openbsd*)
49604 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
49605 + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
49606 + else
49607 + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
49608 + fi
49609 + ;;
49611 +osf3* | osf4* | osf5*)
49612 + lt_cv_deplibs_check_method=pass_all
49613 + ;;
49615 +rdos*)
49616 + lt_cv_deplibs_check_method=pass_all
49617 + ;;
49619 +solaris*)
49620 + lt_cv_deplibs_check_method=pass_all
49621 + ;;
49623 +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
49624 + lt_cv_deplibs_check_method=pass_all
49625 + ;;
49627 +sysv4 | sysv4.3*)
49628 + case $host_vendor in
49629 + motorola)
49630 + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
49631 + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
49632 + ;;
49633 + ncr)
49634 + lt_cv_deplibs_check_method=pass_all
49635 + ;;
49636 + sequent)
49637 + lt_cv_file_magic_cmd='/bin/file'
49638 + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
49639 + ;;
49640 + sni)
49641 + lt_cv_file_magic_cmd='/bin/file'
49642 + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
49643 + lt_cv_file_magic_test_file=/lib/libc.so
49644 + ;;
49645 + siemens)
49646 + lt_cv_deplibs_check_method=pass_all
49647 + ;;
49648 + pc)
49649 + lt_cv_deplibs_check_method=pass_all
49650 + ;;
49651 + esac
49652 + ;;
49654 +tpf*)
49655 + lt_cv_deplibs_check_method=pass_all
49656 + ;;
49657 +esac
49660 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
49661 +$as_echo "$lt_cv_deplibs_check_method" >&6; }
49662 +file_magic_cmd=$lt_cv_file_magic_cmd
49663 +deplibs_check_method=$lt_cv_deplibs_check_method
49664 +test -z "$deplibs_check_method" && deplibs_check_method=unknown
49677 +if test -n "$ac_tool_prefix"; then
49678 + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
49679 +set dummy ${ac_tool_prefix}ar; ac_word=$2
49680 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49681 +$as_echo_n "checking for $ac_word... " >&6; }
49682 +if test "${ac_cv_prog_AR+set}" = set; then :
49683 + $as_echo_n "(cached) " >&6
49684 +else
49685 + if test -n "$AR"; then
49686 + ac_cv_prog_AR="$AR" # Let the user override the test.
49687 +else
49688 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49689 +for as_dir in $PATH
49691 + IFS=$as_save_IFS
49692 + test -z "$as_dir" && as_dir=.
49693 + for ac_exec_ext in '' $ac_executable_extensions; do
49694 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49695 + ac_cv_prog_AR="${ac_tool_prefix}ar"
49696 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49697 + break 2
49698 + fi
49699 +done
49700 + done
49701 +IFS=$as_save_IFS
49705 +AR=$ac_cv_prog_AR
49706 +if test -n "$AR"; then
49707 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
49708 +$as_echo "$AR" >&6; }
49709 +else
49710 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49711 +$as_echo "no" >&6; }
49716 +if test -z "$ac_cv_prog_AR"; then
49717 + ac_ct_AR=$AR
49718 + # Extract the first word of "ar", so it can be a program name with args.
49719 +set dummy ar; ac_word=$2
49720 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49721 +$as_echo_n "checking for $ac_word... " >&6; }
49722 +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
49723 + $as_echo_n "(cached) " >&6
49724 +else
49725 + if test -n "$ac_ct_AR"; then
49726 + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
49727 +else
49728 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49729 +for as_dir in $PATH
49731 + IFS=$as_save_IFS
49732 + test -z "$as_dir" && as_dir=.
49733 + for ac_exec_ext in '' $ac_executable_extensions; do
49734 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49735 + ac_cv_prog_ac_ct_AR="ar"
49736 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49737 + break 2
49738 + fi
49739 +done
49740 + done
49741 +IFS=$as_save_IFS
49745 +ac_ct_AR=$ac_cv_prog_ac_ct_AR
49746 +if test -n "$ac_ct_AR"; then
49747 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
49748 +$as_echo "$ac_ct_AR" >&6; }
49749 +else
49750 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49751 +$as_echo "no" >&6; }
49754 + if test "x$ac_ct_AR" = x; then
49755 + AR="false"
49756 + else
49757 + case $cross_compiling:$ac_tool_warned in
49758 +yes:)
49759 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
49760 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
49761 +ac_tool_warned=yes ;;
49762 +esac
49763 + AR=$ac_ct_AR
49764 + fi
49765 +else
49766 + AR="$ac_cv_prog_AR"
49769 +test -z "$AR" && AR=ar
49770 +test -z "$AR_FLAGS" && AR_FLAGS=cru
49782 +if test -n "$ac_tool_prefix"; then
49783 + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
49784 +set dummy ${ac_tool_prefix}strip; ac_word=$2
49785 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49786 +$as_echo_n "checking for $ac_word... " >&6; }
49787 +if test "${ac_cv_prog_STRIP+set}" = set; then :
49788 + $as_echo_n "(cached) " >&6
49789 +else
49790 + if test -n "$STRIP"; then
49791 + ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
49792 +else
49793 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49794 +for as_dir in $PATH
49796 + IFS=$as_save_IFS
49797 + test -z "$as_dir" && as_dir=.
49798 + for ac_exec_ext in '' $ac_executable_extensions; do
49799 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49800 + ac_cv_prog_STRIP="${ac_tool_prefix}strip"
49801 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49802 + break 2
49803 + fi
49804 +done
49805 + done
49806 +IFS=$as_save_IFS
49810 +STRIP=$ac_cv_prog_STRIP
49811 +if test -n "$STRIP"; then
49812 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
49813 +$as_echo "$STRIP" >&6; }
49814 +else
49815 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49816 +$as_echo "no" >&6; }
49821 +if test -z "$ac_cv_prog_STRIP"; then
49822 + ac_ct_STRIP=$STRIP
49823 + # Extract the first word of "strip", so it can be a program name with args.
49824 +set dummy strip; ac_word=$2
49825 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49826 +$as_echo_n "checking for $ac_word... " >&6; }
49827 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
49828 + $as_echo_n "(cached) " >&6
49829 +else
49830 + if test -n "$ac_ct_STRIP"; then
49831 + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
49832 +else
49833 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49834 +for as_dir in $PATH
49836 + IFS=$as_save_IFS
49837 + test -z "$as_dir" && as_dir=.
49838 + for ac_exec_ext in '' $ac_executable_extensions; do
49839 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49840 + ac_cv_prog_ac_ct_STRIP="strip"
49841 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49842 + break 2
49843 + fi
49844 +done
49845 + done
49846 +IFS=$as_save_IFS
49850 +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
49851 +if test -n "$ac_ct_STRIP"; then
49852 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
49853 +$as_echo "$ac_ct_STRIP" >&6; }
49854 +else
49855 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49856 +$as_echo "no" >&6; }
49859 + if test "x$ac_ct_STRIP" = x; then
49860 + STRIP=":"
49861 + else
49862 + case $cross_compiling:$ac_tool_warned in
49863 +yes:)
49864 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
49865 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
49866 +ac_tool_warned=yes ;;
49867 +esac
49868 + STRIP=$ac_ct_STRIP
49869 + fi
49870 +else
49871 + STRIP="$ac_cv_prog_STRIP"
49874 +test -z "$STRIP" && STRIP=:
49881 +if test -n "$ac_tool_prefix"; then
49882 + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
49883 +set dummy ${ac_tool_prefix}ranlib; ac_word=$2
49884 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49885 +$as_echo_n "checking for $ac_word... " >&6; }
49886 +if test "${ac_cv_prog_RANLIB+set}" = set; then :
49887 + $as_echo_n "(cached) " >&6
49888 +else
49889 + if test -n "$RANLIB"; then
49890 + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
49891 +else
49892 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49893 +for as_dir in $PATH
49895 + IFS=$as_save_IFS
49896 + test -z "$as_dir" && as_dir=.
49897 + for ac_exec_ext in '' $ac_executable_extensions; do
49898 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49899 + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
49900 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49901 + break 2
49902 + fi
49903 +done
49904 + done
49905 +IFS=$as_save_IFS
49909 +RANLIB=$ac_cv_prog_RANLIB
49910 +if test -n "$RANLIB"; then
49911 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
49912 +$as_echo "$RANLIB" >&6; }
49913 +else
49914 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49915 +$as_echo "no" >&6; }
49920 +if test -z "$ac_cv_prog_RANLIB"; then
49921 + ac_ct_RANLIB=$RANLIB
49922 + # Extract the first word of "ranlib", so it can be a program name with args.
49923 +set dummy ranlib; ac_word=$2
49924 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
49925 +$as_echo_n "checking for $ac_word... " >&6; }
49926 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
49927 + $as_echo_n "(cached) " >&6
49928 +else
49929 + if test -n "$ac_ct_RANLIB"; then
49930 + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
49931 +else
49932 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
49933 +for as_dir in $PATH
49935 + IFS=$as_save_IFS
49936 + test -z "$as_dir" && as_dir=.
49937 + for ac_exec_ext in '' $ac_executable_extensions; do
49938 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
49939 + ac_cv_prog_ac_ct_RANLIB="ranlib"
49940 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
49941 + break 2
49942 + fi
49943 +done
49944 + done
49945 +IFS=$as_save_IFS
49949 +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
49950 +if test -n "$ac_ct_RANLIB"; then
49951 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
49952 +$as_echo "$ac_ct_RANLIB" >&6; }
49953 +else
49954 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
49955 +$as_echo "no" >&6; }
49958 + if test "x$ac_ct_RANLIB" = x; then
49959 + RANLIB=":"
49960 + else
49961 + case $cross_compiling:$ac_tool_warned in
49962 +yes:)
49963 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
49964 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
49965 +ac_tool_warned=yes ;;
49966 +esac
49967 + RANLIB=$ac_ct_RANLIB
49968 + fi
49969 +else
49970 + RANLIB="$ac_cv_prog_RANLIB"
49973 +test -z "$RANLIB" && RANLIB=:
49980 +# Determine commands to create old-style static archives.
49981 +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
49982 +old_postinstall_cmds='chmod 644 $oldlib'
49983 +old_postuninstall_cmds=
49985 +if test -n "$RANLIB"; then
49986 + case $host_os in
49987 + openbsd*)
49988 + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
49989 + ;;
49990 + *)
49991 + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
49992 + ;;
49993 + esac
49994 + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
49997 +case $host_os in
49998 + darwin*)
49999 + lock_old_archive_extraction=yes ;;
50000 + *)
50001 + lock_old_archive_extraction=no ;;
50002 +esac
50042 +# If no C compiler was specified, use CC.
50043 +LTCC=${LTCC-"$CC"}
50045 +# If no C compiler flags were specified, use CFLAGS.
50046 +LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
50048 +# Allow CC to be a program name with arguments.
50049 +compiler=$CC
50052 +# Check for command to grab the raw symbol name followed by C symbol from nm.
50053 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
50054 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
50055 +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
50056 + $as_echo_n "(cached) " >&6
50057 +else
50059 +# These are sane defaults that work on at least a few old systems.
50060 +# [They come from Ultrix. What could be older than Ultrix?!! ;)]
50062 +# Character class describing NM global symbol codes.
50063 +symcode='[BCDEGRST]'
50065 +# Regexp to match symbols that can be accessed directly from C.
50066 +sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
50068 +# Define system-specific variables.
50069 +case $host_os in
50070 +aix*)
50071 + symcode='[BCDT]'
50072 + ;;
50073 +cygwin* | mingw* | pw32* | cegcc*)
50074 + symcode='[ABCDGISTW]'
50075 + ;;
50076 +hpux*)
50077 + if test "$host_cpu" = ia64; then
50078 + symcode='[ABCDEGRST]'
50079 + fi
50080 + ;;
50081 +irix* | nonstopux*)
50082 + symcode='[BCDEGRST]'
50083 + ;;
50084 +osf*)
50085 + symcode='[BCDEGQRST]'
50086 + ;;
50087 +solaris*)
50088 + symcode='[BDRT]'
50089 + ;;
50090 +sco3.2v5*)
50091 + symcode='[DT]'
50092 + ;;
50093 +sysv4.2uw2*)
50094 + symcode='[DT]'
50095 + ;;
50096 +sysv5* | sco5v6* | unixware* | OpenUNIX*)
50097 + symcode='[ABDT]'
50098 + ;;
50099 +sysv4)
50100 + symcode='[DFNSTU]'
50101 + ;;
50102 +esac
50104 +# If we're using GNU nm, then use its standard symbol codes.
50105 +case `$NM -V 2>&1` in
50106 +*GNU* | *'with BFD'*)
50107 + symcode='[ABCDGIRSTW]' ;;
50108 +esac
50110 +# Transform an extracted symbol line into a proper C declaration.
50111 +# Some systems (esp. on ia64) link data and code symbols differently,
50112 +# so use this general approach.
50113 +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
50115 +# Transform an extracted symbol line into symbol name and symbol address
50116 +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
50117 +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
50119 +# Handle CRLF in mingw tool chain
50120 +opt_cr=
50121 +case $build_os in
50122 +mingw*)
50123 + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
50124 + ;;
50125 +esac
50127 +# Try without a prefix underscore, then with it.
50128 +for ac_symprfx in "" "_"; do
50130 + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
50131 + symxfrm="\\1 $ac_symprfx\\2 \\2"
50133 + # Write the raw and C identifiers.
50134 + if test "$lt_cv_nm_interface" = "MS dumpbin"; then
50135 + # Fake it for dumpbin and say T for any non-static function
50136 + # and D for any global variable.
50137 + # Also find C++ and __fastcall symbols from MSVC++,
50138 + # which start with @ or ?.
50139 + lt_cv_sys_global_symbol_pipe="$AWK '"\
50140 +" {last_section=section; section=\$ 3};"\
50141 +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
50142 +" \$ 0!~/External *\|/{next};"\
50143 +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
50144 +" {if(hide[section]) next};"\
50145 +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
50146 +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
50147 +" s[1]~/^[@?]/{print s[1], s[1]; next};"\
50148 +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
50149 +" ' prfx=^$ac_symprfx"
50150 + else
50151 + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
50152 + fi
50154 + # Check to see that the pipe works correctly.
50155 + pipe_works=no
50157 + rm -f conftest*
50158 + cat > conftest.$ac_ext <<_LT_EOF
50159 +#ifdef __cplusplus
50160 +extern "C" {
50161 +#endif
50162 +char nm_test_var;
50163 +void nm_test_func(void);
50164 +void nm_test_func(void){}
50165 +#ifdef __cplusplus
50167 +#endif
50168 +int main(){nm_test_var='a';nm_test_func();return(0);}
50169 +_LT_EOF
50171 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
50172 + (eval $ac_compile) 2>&5
50173 + ac_status=$?
50174 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50175 + test $ac_status = 0; }; then
50176 + # Now try to grab the symbols.
50177 + nlist=conftest.nm
50178 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
50179 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
50180 + ac_status=$?
50181 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50182 + test $ac_status = 0; } && test -s "$nlist"; then
50183 + # Try sorting and uniquifying the output.
50184 + if sort "$nlist" | uniq > "$nlist"T; then
50185 + mv -f "$nlist"T "$nlist"
50186 + else
50187 + rm -f "$nlist"T
50188 + fi
50190 + # Make sure that we snagged all the symbols we need.
50191 + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
50192 + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
50193 + cat <<_LT_EOF > conftest.$ac_ext
50194 +#ifdef __cplusplus
50195 +extern "C" {
50196 +#endif
50198 +_LT_EOF
50199 + # Now generate the symbol file.
50200 + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
50202 + cat <<_LT_EOF >> conftest.$ac_ext
50204 +/* The mapping between symbol names and symbols. */
50205 +const struct {
50206 + const char *name;
50207 + void *address;
50209 +lt__PROGRAM__LTX_preloaded_symbols[] =
50211 + { "@PROGRAM@", (void *) 0 },
50212 +_LT_EOF
50213 + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
50214 + cat <<\_LT_EOF >> conftest.$ac_ext
50215 + {0, (void *) 0}
50218 +/* This works around a problem in FreeBSD linker */
50219 +#ifdef FREEBSD_WORKAROUND
50220 +static const void *lt_preloaded_setup() {
50221 + return lt__PROGRAM__LTX_preloaded_symbols;
50223 +#endif
50225 +#ifdef __cplusplus
50227 +#endif
50228 +_LT_EOF
50229 + # Now try linking the two files.
50230 + mv conftest.$ac_objext conftstm.$ac_objext
50231 + lt_save_LIBS="$LIBS"
50232 + lt_save_CFLAGS="$CFLAGS"
50233 + LIBS="conftstm.$ac_objext"
50234 + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
50235 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
50236 + (eval $ac_link) 2>&5
50237 + ac_status=$?
50238 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50239 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then
50240 + pipe_works=yes
50241 + fi
50242 + LIBS="$lt_save_LIBS"
50243 + CFLAGS="$lt_save_CFLAGS"
50244 + else
50245 + echo "cannot find nm_test_func in $nlist" >&5
50246 + fi
50247 + else
50248 + echo "cannot find nm_test_var in $nlist" >&5
50249 + fi
50250 + else
50251 + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
50252 + fi
50253 + else
50254 + echo "$progname: failed program was:" >&5
50255 + cat conftest.$ac_ext >&5
50256 + fi
50257 + rm -rf conftest* conftst*
50259 + # Do not use the global_symbol_pipe unless it works.
50260 + if test "$pipe_works" = yes; then
50261 + break
50262 + else
50263 + lt_cv_sys_global_symbol_pipe=
50264 + fi
50265 +done
50269 +if test -z "$lt_cv_sys_global_symbol_pipe"; then
50270 + lt_cv_sys_global_symbol_to_cdecl=
50272 +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
50273 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
50274 +$as_echo "failed" >&6; }
50275 +else
50276 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
50277 +$as_echo "ok" >&6; }
50301 +# Check whether --enable-libtool-lock was given.
50302 +if test "${enable_libtool_lock+set}" = set; then :
50303 + enableval=$enable_libtool_lock;
50306 +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
50308 +# Some flags need to be propagated to the compiler or linker for good
50309 +# libtool support.
50310 +case $host in
50311 +ia64-*-hpux*)
50312 + # Find out which ABI we are using.
50313 + echo 'int i;' > conftest.$ac_ext
50314 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
50315 + (eval $ac_compile) 2>&5
50316 + ac_status=$?
50317 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50318 + test $ac_status = 0; }; then
50319 + case `/usr/bin/file conftest.$ac_objext` in
50320 + *ELF-32*)
50321 + HPUX_IA64_MODE="32"
50322 + ;;
50323 + *ELF-64*)
50324 + HPUX_IA64_MODE="64"
50325 + ;;
50326 + esac
50327 + fi
50328 + rm -rf conftest*
50329 + ;;
50330 +*-*-irix6*)
50331 + # Find out which ABI we are using.
50332 + echo '#line '$LINENO' "configure"' > conftest.$ac_ext
50333 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
50334 + (eval $ac_compile) 2>&5
50335 + ac_status=$?
50336 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50337 + test $ac_status = 0; }; then
50338 + if test "$lt_cv_prog_gnu_ld" = yes; then
50339 + case `/usr/bin/file conftest.$ac_objext` in
50340 + *32-bit*)
50341 + LD="${LD-ld} -melf32bsmip"
50342 + ;;
50343 + *N32*)
50344 + LD="${LD-ld} -melf32bmipn32"
50345 + ;;
50346 + *64-bit*)
50347 + LD="${LD-ld} -melf64bmip"
50348 + ;;
50349 + esac
50350 + else
50351 + case `/usr/bin/file conftest.$ac_objext` in
50352 + *32-bit*)
50353 + LD="${LD-ld} -32"
50354 + ;;
50355 + *N32*)
50356 + LD="${LD-ld} -n32"
50357 + ;;
50358 + *64-bit*)
50359 + LD="${LD-ld} -64"
50360 + ;;
50361 + esac
50362 + fi
50363 + fi
50364 + rm -rf conftest*
50365 + ;;
50367 +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
50368 +s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
50369 + # Find out which ABI we are using.
50370 + echo 'int i;' > conftest.$ac_ext
50371 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
50372 + (eval $ac_compile) 2>&5
50373 + ac_status=$?
50374 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50375 + test $ac_status = 0; }; then
50376 + case `/usr/bin/file conftest.o` in
50377 + *32-bit*)
50378 + case $host in
50379 + x86_64-*kfreebsd*-gnu)
50380 + LD="${LD-ld} -m elf_i386_fbsd"
50381 + ;;
50382 + x86_64-*linux*)
50383 + case `/usr/bin/file conftest.o` in
50384 + *x86-64*)
50385 + LD="${LD-ld} -m elf32_x86_64"
50386 + ;;
50387 + *)
50388 + LD="${LD-ld} -m elf_i386"
50389 + ;;
50390 + esac
50391 + ;;
50392 + powerpc64le-*linux*)
50393 + LD="${LD-ld} -m elf32lppclinux"
50394 + ;;
50395 + powerpc64-*linux*)
50396 + LD="${LD-ld} -m elf32ppclinux"
50397 + ;;
50398 + s390x-*linux*)
50399 + LD="${LD-ld} -m elf_s390"
50400 + ;;
50401 + sparc64-*linux*)
50402 + LD="${LD-ld} -m elf32_sparc"
50403 + ;;
50404 + esac
50405 + ;;
50406 + *64-bit*)
50407 + case $host in
50408 + x86_64-*kfreebsd*-gnu)
50409 + LD="${LD-ld} -m elf_x86_64_fbsd"
50410 + ;;
50411 + x86_64-*linux*)
50412 + LD="${LD-ld} -m elf_x86_64"
50413 + ;;
50414 + powerpcle-*linux*)
50415 + LD="${LD-ld} -m elf64lppc"
50416 + ;;
50417 + powerpc-*linux*)
50418 + LD="${LD-ld} -m elf64ppc"
50419 + ;;
50420 + s390*-*linux*|s390*-*tpf*)
50421 + LD="${LD-ld} -m elf64_s390"
50422 + ;;
50423 + sparc*-*linux*)
50424 + LD="${LD-ld} -m elf64_sparc"
50425 + ;;
50426 + esac
50427 + ;;
50428 + esac
50429 + fi
50430 + rm -rf conftest*
50431 + ;;
50433 +*-*-sco3.2v5*)
50434 + # On SCO OpenServer 5, we need -belf to get full-featured binaries.
50435 + SAVE_CFLAGS="$CFLAGS"
50436 + CFLAGS="$CFLAGS -belf"
50437 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
50438 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
50439 +if test "${lt_cv_cc_needs_belf+set}" = set; then :
50440 + $as_echo_n "(cached) " >&6
50441 +else
50442 + ac_ext=c
50443 +ac_cpp='$CPP $CPPFLAGS'
50444 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
50445 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
50446 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
50448 + if test x$gcc_no_link = xyes; then
50449 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
50451 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
50452 +/* end confdefs.h. */
50454 +int
50455 +main ()
50459 + return 0;
50461 +_ACEOF
50462 +if ac_fn_c_try_link "$LINENO"; then :
50463 + lt_cv_cc_needs_belf=yes
50464 +else
50465 + lt_cv_cc_needs_belf=no
50467 +rm -f core conftest.err conftest.$ac_objext \
50468 + conftest$ac_exeext conftest.$ac_ext
50469 + ac_ext=c
50470 +ac_cpp='$CPP $CPPFLAGS'
50471 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
50472 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
50473 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
50476 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
50477 +$as_echo "$lt_cv_cc_needs_belf" >&6; }
50478 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then
50479 + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
50480 + CFLAGS="$SAVE_CFLAGS"
50481 + fi
50482 + ;;
50483 +sparc*-*solaris*)
50484 + # Find out which ABI we are using.
50485 + echo 'int i;' > conftest.$ac_ext
50486 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
50487 + (eval $ac_compile) 2>&5
50488 + ac_status=$?
50489 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
50490 + test $ac_status = 0; }; then
50491 + case `/usr/bin/file conftest.o` in
50492 + *64-bit*)
50493 + case $lt_cv_prog_gnu_ld in
50494 + yes*) LD="${LD-ld} -m elf64_sparc" ;;
50495 + *)
50496 + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
50497 + LD="${LD-ld} -64"
50498 + fi
50499 + ;;
50500 + esac
50501 + ;;
50502 + esac
50503 + fi
50504 + rm -rf conftest*
50505 + ;;
50506 +esac
50508 +need_locks="$enable_libtool_lock"
50511 + case $host_os in
50512 + rhapsody* | darwin*)
50513 + if test -n "$ac_tool_prefix"; then
50514 + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
50515 +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
50516 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50517 +$as_echo_n "checking for $ac_word... " >&6; }
50518 +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
50519 + $as_echo_n "(cached) " >&6
50520 +else
50521 + if test -n "$DSYMUTIL"; then
50522 + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
50523 +else
50524 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50525 +for as_dir in $PATH
50527 + IFS=$as_save_IFS
50528 + test -z "$as_dir" && as_dir=.
50529 + for ac_exec_ext in '' $ac_executable_extensions; do
50530 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50531 + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
50532 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50533 + break 2
50534 + fi
50535 +done
50536 + done
50537 +IFS=$as_save_IFS
50541 +DSYMUTIL=$ac_cv_prog_DSYMUTIL
50542 +if test -n "$DSYMUTIL"; then
50543 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
50544 +$as_echo "$DSYMUTIL" >&6; }
50545 +else
50546 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50547 +$as_echo "no" >&6; }
50552 +if test -z "$ac_cv_prog_DSYMUTIL"; then
50553 + ac_ct_DSYMUTIL=$DSYMUTIL
50554 + # Extract the first word of "dsymutil", so it can be a program name with args.
50555 +set dummy dsymutil; ac_word=$2
50556 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50557 +$as_echo_n "checking for $ac_word... " >&6; }
50558 +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
50559 + $as_echo_n "(cached) " >&6
50560 +else
50561 + if test -n "$ac_ct_DSYMUTIL"; then
50562 + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
50563 +else
50564 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50565 +for as_dir in $PATH
50567 + IFS=$as_save_IFS
50568 + test -z "$as_dir" && as_dir=.
50569 + for ac_exec_ext in '' $ac_executable_extensions; do
50570 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50571 + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
50572 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50573 + break 2
50574 + fi
50575 +done
50576 + done
50577 +IFS=$as_save_IFS
50581 +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
50582 +if test -n "$ac_ct_DSYMUTIL"; then
50583 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
50584 +$as_echo "$ac_ct_DSYMUTIL" >&6; }
50585 +else
50586 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50587 +$as_echo "no" >&6; }
50590 + if test "x$ac_ct_DSYMUTIL" = x; then
50591 + DSYMUTIL=":"
50592 + else
50593 + case $cross_compiling:$ac_tool_warned in
50594 +yes:)
50595 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
50596 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
50597 +ac_tool_warned=yes ;;
50598 +esac
50599 + DSYMUTIL=$ac_ct_DSYMUTIL
50600 + fi
50601 +else
50602 + DSYMUTIL="$ac_cv_prog_DSYMUTIL"
50605 + if test -n "$ac_tool_prefix"; then
50606 + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
50607 +set dummy ${ac_tool_prefix}nmedit; ac_word=$2
50608 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50609 +$as_echo_n "checking for $ac_word... " >&6; }
50610 +if test "${ac_cv_prog_NMEDIT+set}" = set; then :
50611 + $as_echo_n "(cached) " >&6
50612 +else
50613 + if test -n "$NMEDIT"; then
50614 + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
50615 +else
50616 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50617 +for as_dir in $PATH
50619 + IFS=$as_save_IFS
50620 + test -z "$as_dir" && as_dir=.
50621 + for ac_exec_ext in '' $ac_executable_extensions; do
50622 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50623 + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
50624 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50625 + break 2
50626 + fi
50627 +done
50628 + done
50629 +IFS=$as_save_IFS
50633 +NMEDIT=$ac_cv_prog_NMEDIT
50634 +if test -n "$NMEDIT"; then
50635 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
50636 +$as_echo "$NMEDIT" >&6; }
50637 +else
50638 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50639 +$as_echo "no" >&6; }
50644 +if test -z "$ac_cv_prog_NMEDIT"; then
50645 + ac_ct_NMEDIT=$NMEDIT
50646 + # Extract the first word of "nmedit", so it can be a program name with args.
50647 +set dummy nmedit; ac_word=$2
50648 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50649 +$as_echo_n "checking for $ac_word... " >&6; }
50650 +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
50651 + $as_echo_n "(cached) " >&6
50652 +else
50653 + if test -n "$ac_ct_NMEDIT"; then
50654 + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
50655 +else
50656 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50657 +for as_dir in $PATH
50659 + IFS=$as_save_IFS
50660 + test -z "$as_dir" && as_dir=.
50661 + for ac_exec_ext in '' $ac_executable_extensions; do
50662 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50663 + ac_cv_prog_ac_ct_NMEDIT="nmedit"
50664 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50665 + break 2
50666 + fi
50667 +done
50668 + done
50669 +IFS=$as_save_IFS
50673 +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
50674 +if test -n "$ac_ct_NMEDIT"; then
50675 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
50676 +$as_echo "$ac_ct_NMEDIT" >&6; }
50677 +else
50678 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50679 +$as_echo "no" >&6; }
50682 + if test "x$ac_ct_NMEDIT" = x; then
50683 + NMEDIT=":"
50684 + else
50685 + case $cross_compiling:$ac_tool_warned in
50686 +yes:)
50687 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
50688 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
50689 +ac_tool_warned=yes ;;
50690 +esac
50691 + NMEDIT=$ac_ct_NMEDIT
50692 + fi
50693 +else
50694 + NMEDIT="$ac_cv_prog_NMEDIT"
50697 + if test -n "$ac_tool_prefix"; then
50698 + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
50699 +set dummy ${ac_tool_prefix}lipo; ac_word=$2
50700 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50701 +$as_echo_n "checking for $ac_word... " >&6; }
50702 +if test "${ac_cv_prog_LIPO+set}" = set; then :
50703 + $as_echo_n "(cached) " >&6
50704 +else
50705 + if test -n "$LIPO"; then
50706 + ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
50707 +else
50708 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50709 +for as_dir in $PATH
50711 + IFS=$as_save_IFS
50712 + test -z "$as_dir" && as_dir=.
50713 + for ac_exec_ext in '' $ac_executable_extensions; do
50714 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50715 + ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
50716 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50717 + break 2
50718 + fi
50719 +done
50720 + done
50721 +IFS=$as_save_IFS
50725 +LIPO=$ac_cv_prog_LIPO
50726 +if test -n "$LIPO"; then
50727 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
50728 +$as_echo "$LIPO" >&6; }
50729 +else
50730 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50731 +$as_echo "no" >&6; }
50736 +if test -z "$ac_cv_prog_LIPO"; then
50737 + ac_ct_LIPO=$LIPO
50738 + # Extract the first word of "lipo", so it can be a program name with args.
50739 +set dummy lipo; ac_word=$2
50740 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50741 +$as_echo_n "checking for $ac_word... " >&6; }
50742 +if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
50743 + $as_echo_n "(cached) " >&6
50744 +else
50745 + if test -n "$ac_ct_LIPO"; then
50746 + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
50747 +else
50748 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50749 +for as_dir in $PATH
50751 + IFS=$as_save_IFS
50752 + test -z "$as_dir" && as_dir=.
50753 + for ac_exec_ext in '' $ac_executable_extensions; do
50754 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50755 + ac_cv_prog_ac_ct_LIPO="lipo"
50756 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50757 + break 2
50758 + fi
50759 +done
50760 + done
50761 +IFS=$as_save_IFS
50765 +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
50766 +if test -n "$ac_ct_LIPO"; then
50767 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
50768 +$as_echo "$ac_ct_LIPO" >&6; }
50769 +else
50770 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50771 +$as_echo "no" >&6; }
50774 + if test "x$ac_ct_LIPO" = x; then
50775 + LIPO=":"
50776 + else
50777 + case $cross_compiling:$ac_tool_warned in
50778 +yes:)
50779 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
50780 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
50781 +ac_tool_warned=yes ;;
50782 +esac
50783 + LIPO=$ac_ct_LIPO
50784 + fi
50785 +else
50786 + LIPO="$ac_cv_prog_LIPO"
50789 + if test -n "$ac_tool_prefix"; then
50790 + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
50791 +set dummy ${ac_tool_prefix}otool; ac_word=$2
50792 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50793 +$as_echo_n "checking for $ac_word... " >&6; }
50794 +if test "${ac_cv_prog_OTOOL+set}" = set; then :
50795 + $as_echo_n "(cached) " >&6
50796 +else
50797 + if test -n "$OTOOL"; then
50798 + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
50799 +else
50800 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50801 +for as_dir in $PATH
50803 + IFS=$as_save_IFS
50804 + test -z "$as_dir" && as_dir=.
50805 + for ac_exec_ext in '' $ac_executable_extensions; do
50806 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50807 + ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
50808 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50809 + break 2
50810 + fi
50811 +done
50812 + done
50813 +IFS=$as_save_IFS
50817 +OTOOL=$ac_cv_prog_OTOOL
50818 +if test -n "$OTOOL"; then
50819 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
50820 +$as_echo "$OTOOL" >&6; }
50821 +else
50822 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50823 +$as_echo "no" >&6; }
50828 +if test -z "$ac_cv_prog_OTOOL"; then
50829 + ac_ct_OTOOL=$OTOOL
50830 + # Extract the first word of "otool", so it can be a program name with args.
50831 +set dummy otool; ac_word=$2
50832 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50833 +$as_echo_n "checking for $ac_word... " >&6; }
50834 +if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
50835 + $as_echo_n "(cached) " >&6
50836 +else
50837 + if test -n "$ac_ct_OTOOL"; then
50838 + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
50839 +else
50840 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50841 +for as_dir in $PATH
50843 + IFS=$as_save_IFS
50844 + test -z "$as_dir" && as_dir=.
50845 + for ac_exec_ext in '' $ac_executable_extensions; do
50846 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50847 + ac_cv_prog_ac_ct_OTOOL="otool"
50848 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50849 + break 2
50850 + fi
50851 +done
50852 + done
50853 +IFS=$as_save_IFS
50857 +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
50858 +if test -n "$ac_ct_OTOOL"; then
50859 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
50860 +$as_echo "$ac_ct_OTOOL" >&6; }
50861 +else
50862 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50863 +$as_echo "no" >&6; }
50866 + if test "x$ac_ct_OTOOL" = x; then
50867 + OTOOL=":"
50868 + else
50869 + case $cross_compiling:$ac_tool_warned in
50870 +yes:)
50871 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
50872 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
50873 +ac_tool_warned=yes ;;
50874 +esac
50875 + OTOOL=$ac_ct_OTOOL
50876 + fi
50877 +else
50878 + OTOOL="$ac_cv_prog_OTOOL"
50881 + if test -n "$ac_tool_prefix"; then
50882 + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
50883 +set dummy ${ac_tool_prefix}otool64; ac_word=$2
50884 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50885 +$as_echo_n "checking for $ac_word... " >&6; }
50886 +if test "${ac_cv_prog_OTOOL64+set}" = set; then :
50887 + $as_echo_n "(cached) " >&6
50888 +else
50889 + if test -n "$OTOOL64"; then
50890 + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
50891 +else
50892 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50893 +for as_dir in $PATH
50895 + IFS=$as_save_IFS
50896 + test -z "$as_dir" && as_dir=.
50897 + for ac_exec_ext in '' $ac_executable_extensions; do
50898 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50899 + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
50900 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50901 + break 2
50902 + fi
50903 +done
50904 + done
50905 +IFS=$as_save_IFS
50909 +OTOOL64=$ac_cv_prog_OTOOL64
50910 +if test -n "$OTOOL64"; then
50911 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
50912 +$as_echo "$OTOOL64" >&6; }
50913 +else
50914 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50915 +$as_echo "no" >&6; }
50920 +if test -z "$ac_cv_prog_OTOOL64"; then
50921 + ac_ct_OTOOL64=$OTOOL64
50922 + # Extract the first word of "otool64", so it can be a program name with args.
50923 +set dummy otool64; ac_word=$2
50924 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
50925 +$as_echo_n "checking for $ac_word... " >&6; }
50926 +if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
50927 + $as_echo_n "(cached) " >&6
50928 +else
50929 + if test -n "$ac_ct_OTOOL64"; then
50930 + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
50931 +else
50932 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
50933 +for as_dir in $PATH
50935 + IFS=$as_save_IFS
50936 + test -z "$as_dir" && as_dir=.
50937 + for ac_exec_ext in '' $ac_executable_extensions; do
50938 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
50939 + ac_cv_prog_ac_ct_OTOOL64="otool64"
50940 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
50941 + break 2
50942 + fi
50943 +done
50944 + done
50945 +IFS=$as_save_IFS
50949 +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
50950 +if test -n "$ac_ct_OTOOL64"; then
50951 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
50952 +$as_echo "$ac_ct_OTOOL64" >&6; }
50953 +else
50954 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
50955 +$as_echo "no" >&6; }
50958 + if test "x$ac_ct_OTOOL64" = x; then
50959 + OTOOL64=":"
50960 + else
50961 + case $cross_compiling:$ac_tool_warned in
50962 +yes:)
50963 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
50964 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
50965 +ac_tool_warned=yes ;;
50966 +esac
50967 + OTOOL64=$ac_ct_OTOOL64
50968 + fi
50969 +else
50970 + OTOOL64="$ac_cv_prog_OTOOL64"
50999 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
51000 +$as_echo_n "checking for -single_module linker flag... " >&6; }
51001 +if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
51002 + $as_echo_n "(cached) " >&6
51003 +else
51004 + lt_cv_apple_cc_single_mod=no
51005 + if test -z "${LT_MULTI_MODULE}"; then
51006 + # By default we will add the -single_module flag. You can override
51007 + # by either setting the environment variable LT_MULTI_MODULE
51008 + # non-empty at configure time, or by adding -multi_module to the
51009 + # link flags.
51010 + rm -rf libconftest.dylib*
51011 + echo "int foo(void){return 1;}" > conftest.c
51012 + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
51013 +-dynamiclib -Wl,-single_module conftest.c" >&5
51014 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
51015 + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
51016 + _lt_result=$?
51017 + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
51018 + lt_cv_apple_cc_single_mod=yes
51019 + else
51020 + cat conftest.err >&5
51021 + fi
51022 + rm -rf libconftest.dylib*
51023 + rm -f conftest.*
51024 + fi
51026 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
51027 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
51028 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
51029 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
51030 +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
51031 + $as_echo_n "(cached) " >&6
51032 +else
51033 + lt_cv_ld_exported_symbols_list=no
51034 + save_LDFLAGS=$LDFLAGS
51035 + echo "_main" > conftest.sym
51036 + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
51037 + if test x$gcc_no_link = xyes; then
51038 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
51040 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
51041 +/* end confdefs.h. */
51043 +int
51044 +main ()
51048 + return 0;
51050 +_ACEOF
51051 +if ac_fn_c_try_link "$LINENO"; then :
51052 + lt_cv_ld_exported_symbols_list=yes
51053 +else
51054 + lt_cv_ld_exported_symbols_list=no
51056 +rm -f core conftest.err conftest.$ac_objext \
51057 + conftest$ac_exeext conftest.$ac_ext
51058 + LDFLAGS="$save_LDFLAGS"
51061 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
51062 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
51063 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
51064 +$as_echo_n "checking for -force_load linker flag... " >&6; }
51065 +if test "${lt_cv_ld_force_load+set}" = set; then :
51066 + $as_echo_n "(cached) " >&6
51067 +else
51068 + lt_cv_ld_force_load=no
51069 + cat > conftest.c << _LT_EOF
51070 +int forced_loaded() { return 2;}
51071 +_LT_EOF
51072 + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
51073 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
51074 + echo "$AR cru libconftest.a conftest.o" >&5
51075 + $AR cru libconftest.a conftest.o 2>&5
51076 + cat > conftest.c << _LT_EOF
51077 +int main() { return 0;}
51078 +_LT_EOF
51079 + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
51080 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
51081 + _lt_result=$?
51082 + if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
51083 + lt_cv_ld_force_load=yes
51084 + else
51085 + cat conftest.err >&5
51086 + fi
51087 + rm -f conftest.err libconftest.a conftest conftest.c
51088 + rm -rf conftest.dSYM
51091 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
51092 +$as_echo "$lt_cv_ld_force_load" >&6; }
51093 + case $host_os in
51094 + rhapsody* | darwin1.[012])
51095 + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
51096 + darwin1.*)
51097 + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
51098 + darwin*) # darwin 5.x on
51099 + # if running on 10.5 or later, the deployment target defaults
51100 + # to the OS version, if on x86, and 10.4, the deployment
51101 + # target defaults to 10.4. Don't you love it?
51102 + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
51103 + 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
51104 + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
51105 + 10.[012][,.]*)
51106 + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
51107 + 10.*)
51108 + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
51109 + esac
51110 + ;;
51111 + esac
51112 + if test "$lt_cv_apple_cc_single_mod" = "yes"; then
51113 + _lt_dar_single_mod='$single_module'
51114 + fi
51115 + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
51116 + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
51117 + else
51118 + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
51119 + fi
51120 + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
51121 + _lt_dsymutil='~$DSYMUTIL $lib || :'
51122 + else
51123 + _lt_dsymutil=
51124 + fi
51125 + ;;
51126 + esac
51128 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
51129 +$as_echo_n "checking for ANSI C header files... " >&6; }
51130 +if test "${ac_cv_header_stdc+set}" = set; then :
51131 + $as_echo_n "(cached) " >&6
51132 +else
51133 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
51134 +/* end confdefs.h. */
51135 +#include <stdlib.h>
51136 +#include <stdarg.h>
51137 +#include <string.h>
51138 +#include <float.h>
51140 +int
51141 +main ()
51145 + return 0;
51147 +_ACEOF
51148 +if ac_fn_c_try_compile "$LINENO"; then :
51149 + ac_cv_header_stdc=yes
51150 +else
51151 + ac_cv_header_stdc=no
51153 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
51155 +if test $ac_cv_header_stdc = yes; then
51156 + # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
51157 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
51158 +/* end confdefs.h. */
51159 +#include <string.h>
51161 +_ACEOF
51162 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
51163 + $EGREP "memchr" >/dev/null 2>&1; then :
51165 +else
51166 + ac_cv_header_stdc=no
51168 +rm -f conftest*
51172 +if test $ac_cv_header_stdc = yes; then
51173 + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
51174 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
51175 +/* end confdefs.h. */
51176 +#include <stdlib.h>
51178 +_ACEOF
51179 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
51180 + $EGREP "free" >/dev/null 2>&1; then :
51182 +else
51183 + ac_cv_header_stdc=no
51185 +rm -f conftest*
51189 +if test $ac_cv_header_stdc = yes; then
51190 + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
51191 + if test "$cross_compiling" = yes; then :
51193 +else
51194 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
51195 +/* end confdefs.h. */
51196 +#include <ctype.h>
51197 +#include <stdlib.h>
51198 +#if ((' ' & 0x0FF) == 0x020)
51199 +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
51200 +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
51201 +#else
51202 +# define ISLOWER(c) \
51203 + (('a' <= (c) && (c) <= 'i') \
51204 + || ('j' <= (c) && (c) <= 'r') \
51205 + || ('s' <= (c) && (c) <= 'z'))
51206 +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
51207 +#endif
51209 +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
51210 +int
51211 +main ()
51213 + int i;
51214 + for (i = 0; i < 256; i++)
51215 + if (XOR (islower (i), ISLOWER (i))
51216 + || toupper (i) != TOUPPER (i))
51217 + return 2;
51218 + return 0;
51220 +_ACEOF
51221 +if ac_fn_c_try_run "$LINENO"; then :
51223 +else
51224 + ac_cv_header_stdc=no
51226 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
51227 + conftest.$ac_objext conftest.beam conftest.$ac_ext
51232 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
51233 +$as_echo "$ac_cv_header_stdc" >&6; }
51234 +if test $ac_cv_header_stdc = yes; then
51236 +$as_echo "#define STDC_HEADERS 1" >>confdefs.h
51240 +# On IRIX 5.3, sys/types and inttypes.h are conflicting.
51241 +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
51242 + inttypes.h stdint.h unistd.h
51243 +do :
51244 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
51245 +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
51247 +eval as_val=\$$as_ac_Header
51248 + if test "x$as_val" = x""yes; then :
51249 + cat >>confdefs.h <<_ACEOF
51250 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
51251 +_ACEOF
51255 +done
51258 +for ac_header in dlfcn.h
51259 +do :
51260 + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
51262 +if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
51263 + cat >>confdefs.h <<_ACEOF
51264 +#define HAVE_DLFCN_H 1
51265 +_ACEOF
51269 +done
51276 +# Set options
51281 + enable_win32_dll=no
51284 + # Check whether --enable-shared was given.
51285 +if test "${enable_shared+set}" = set; then :
51286 + enableval=$enable_shared; p=${PACKAGE-default}
51287 + case $enableval in
51288 + yes) enable_shared=yes ;;
51289 + no) enable_shared=no ;;
51290 + *)
51291 + enable_shared=no
51292 + # Look at the argument we got. We use all the common list separators.
51293 + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
51294 + for pkg in $enableval; do
51295 + IFS="$lt_save_ifs"
51296 + if test "X$pkg" = "X$p"; then
51297 + enable_shared=yes
51298 + fi
51299 + done
51300 + IFS="$lt_save_ifs"
51301 + ;;
51302 + esac
51303 +else
51304 + enable_shared=yes
51315 + # Check whether --enable-static was given.
51316 +if test "${enable_static+set}" = set; then :
51317 + enableval=$enable_static; p=${PACKAGE-default}
51318 + case $enableval in
51319 + yes) enable_static=yes ;;
51320 + no) enable_static=no ;;
51321 + *)
51322 + enable_static=no
51323 + # Look at the argument we got. We use all the common list separators.
51324 + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
51325 + for pkg in $enableval; do
51326 + IFS="$lt_save_ifs"
51327 + if test "X$pkg" = "X$p"; then
51328 + enable_static=yes
51329 + fi
51330 + done
51331 + IFS="$lt_save_ifs"
51332 + ;;
51333 + esac
51334 +else
51335 + enable_static=yes
51347 +# Check whether --with-pic was given.
51348 +if test "${with_pic+set}" = set; then :
51349 + withval=$with_pic; pic_mode="$withval"
51350 +else
51351 + pic_mode=default
51355 +test -z "$pic_mode" && pic_mode=default
51363 + # Check whether --enable-fast-install was given.
51364 +if test "${enable_fast_install+set}" = set; then :
51365 + enableval=$enable_fast_install; p=${PACKAGE-default}
51366 + case $enableval in
51367 + yes) enable_fast_install=yes ;;
51368 + no) enable_fast_install=no ;;
51369 + *)
51370 + enable_fast_install=no
51371 + # Look at the argument we got. We use all the common list separators.
51372 + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
51373 + for pkg in $enableval; do
51374 + IFS="$lt_save_ifs"
51375 + if test "X$pkg" = "X$p"; then
51376 + enable_fast_install=yes
51377 + fi
51378 + done
51379 + IFS="$lt_save_ifs"
51380 + ;;
51381 + esac
51382 +else
51383 + enable_fast_install=yes
51396 +# This can be used to rebuild libtool when needed
51397 +LIBTOOL_DEPS="$ltmain"
51399 +# Always use our own libtool.
51400 +LIBTOOL='$(SHELL) $(top_builddir)/libtool'
51427 +test -z "$LN_S" && LN_S="ln -s"
51442 +if test -n "${ZSH_VERSION+set}" ; then
51443 + setopt NO_GLOB_SUBST
51446 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
51447 +$as_echo_n "checking for objdir... " >&6; }
51448 +if test "${lt_cv_objdir+set}" = set; then :
51449 + $as_echo_n "(cached) " >&6
51450 +else
51451 + rm -f .libs 2>/dev/null
51452 +mkdir .libs 2>/dev/null
51453 +if test -d .libs; then
51454 + lt_cv_objdir=.libs
51455 +else
51456 + # MS-DOS does not allow filenames that begin with a dot.
51457 + lt_cv_objdir=_libs
51459 +rmdir .libs 2>/dev/null
51461 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
51462 +$as_echo "$lt_cv_objdir" >&6; }
51463 +objdir=$lt_cv_objdir
51469 +cat >>confdefs.h <<_ACEOF
51470 +#define LT_OBJDIR "$lt_cv_objdir/"
51471 +_ACEOF
51476 +case $host_os in
51477 +aix3*)
51478 + # AIX sometimes has problems with the GCC collect2 program. For some
51479 + # reason, if we set the COLLECT_NAMES environment variable, the problems
51480 + # vanish in a puff of smoke.
51481 + if test "X${COLLECT_NAMES+set}" != Xset; then
51482 + COLLECT_NAMES=
51483 + export COLLECT_NAMES
51484 + fi
51485 + ;;
51486 +esac
51488 +# Global variables:
51489 +ofile=libtool
51490 +can_build_shared=yes
51492 +# All known linkers require a `.a' archive for static linking (except MSVC,
51493 +# which needs '.lib').
51494 +libext=a
51496 +with_gnu_ld="$lt_cv_prog_gnu_ld"
51498 +old_CC="$CC"
51499 +old_CFLAGS="$CFLAGS"
51501 +# Set sane defaults for various variables
51502 +test -z "$CC" && CC=cc
51503 +test -z "$LTCC" && LTCC=$CC
51504 +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
51505 +test -z "$LD" && LD=ld
51506 +test -z "$ac_objext" && ac_objext=o
51508 +for cc_temp in $compiler""; do
51509 + case $cc_temp in
51510 + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
51511 + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
51512 + \-*) ;;
51513 + *) break;;
51514 + esac
51515 +done
51516 +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
51519 +# Only perform the check for file, if the check method requires it
51520 +test -z "$MAGIC_CMD" && MAGIC_CMD=file
51521 +case $deplibs_check_method in
51522 +file_magic*)
51523 + if test "$file_magic_cmd" = '$MAGIC_CMD'; then
51524 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
51525 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
51526 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
51527 + $as_echo_n "(cached) " >&6
51528 +else
51529 + case $MAGIC_CMD in
51530 +[\\/*] | ?:[\\/]*)
51531 + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
51532 + ;;
51534 + lt_save_MAGIC_CMD="$MAGIC_CMD"
51535 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
51536 + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
51537 + for ac_dir in $ac_dummy; do
51538 + IFS="$lt_save_ifs"
51539 + test -z "$ac_dir" && ac_dir=.
51540 + if test -f $ac_dir/${ac_tool_prefix}file; then
51541 + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
51542 + if test -n "$file_magic_test_file"; then
51543 + case $deplibs_check_method in
51544 + "file_magic "*)
51545 + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
51546 + MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
51547 + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
51548 + $EGREP "$file_magic_regex" > /dev/null; then
51550 + else
51551 + cat <<_LT_EOF 1>&2
51553 +*** Warning: the command libtool uses to detect shared libraries,
51554 +*** $file_magic_cmd, produces output that libtool cannot recognize.
51555 +*** The result is that libtool may fail to recognize shared libraries
51556 +*** as such. This will affect the creation of libtool libraries that
51557 +*** depend on shared libraries, but programs linked with such libtool
51558 +*** libraries will work regardless of this problem. Nevertheless, you
51559 +*** may want to report the problem to your system manager and/or to
51560 +*** bug-libtool@gnu.org
51562 +_LT_EOF
51563 + fi ;;
51564 + esac
51565 + fi
51566 + break
51567 + fi
51568 + done
51569 + IFS="$lt_save_ifs"
51570 + MAGIC_CMD="$lt_save_MAGIC_CMD"
51571 + ;;
51572 +esac
51575 +MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
51576 +if test -n "$MAGIC_CMD"; then
51577 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
51578 +$as_echo "$MAGIC_CMD" >&6; }
51579 +else
51580 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
51581 +$as_echo "no" >&6; }
51588 +if test -z "$lt_cv_path_MAGIC_CMD"; then
51589 + if test -n "$ac_tool_prefix"; then
51590 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
51591 +$as_echo_n "checking for file... " >&6; }
51592 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
51593 + $as_echo_n "(cached) " >&6
51594 +else
51595 + case $MAGIC_CMD in
51596 +[\\/*] | ?:[\\/]*)
51597 + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
51598 + ;;
51600 + lt_save_MAGIC_CMD="$MAGIC_CMD"
51601 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
51602 + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
51603 + for ac_dir in $ac_dummy; do
51604 + IFS="$lt_save_ifs"
51605 + test -z "$ac_dir" && ac_dir=.
51606 + if test -f $ac_dir/file; then
51607 + lt_cv_path_MAGIC_CMD="$ac_dir/file"
51608 + if test -n "$file_magic_test_file"; then
51609 + case $deplibs_check_method in
51610 + "file_magic "*)
51611 + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
51612 + MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
51613 + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
51614 + $EGREP "$file_magic_regex" > /dev/null; then
51616 + else
51617 + cat <<_LT_EOF 1>&2
51619 +*** Warning: the command libtool uses to detect shared libraries,
51620 +*** $file_magic_cmd, produces output that libtool cannot recognize.
51621 +*** The result is that libtool may fail to recognize shared libraries
51622 +*** as such. This will affect the creation of libtool libraries that
51623 +*** depend on shared libraries, but programs linked with such libtool
51624 +*** libraries will work regardless of this problem. Nevertheless, you
51625 +*** may want to report the problem to your system manager and/or to
51626 +*** bug-libtool@gnu.org
51628 +_LT_EOF
51629 + fi ;;
51630 + esac
51631 + fi
51632 + break
51633 + fi
51634 + done
51635 + IFS="$lt_save_ifs"
51636 + MAGIC_CMD="$lt_save_MAGIC_CMD"
51637 + ;;
51638 +esac
51641 +MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
51642 +if test -n "$MAGIC_CMD"; then
51643 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
51644 +$as_echo "$MAGIC_CMD" >&6; }
51645 +else
51646 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
51647 +$as_echo "no" >&6; }
51651 + else
51652 + MAGIC_CMD=:
51653 + fi
51656 + fi
51657 + ;;
51658 +esac
51660 +# Use C for the default configuration in the libtool script
51662 +lt_save_CC="$CC"
51663 +ac_ext=c
51664 +ac_cpp='$CPP $CPPFLAGS'
51665 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
51666 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
51667 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
51670 +# Source file extension for C test sources.
51671 +ac_ext=c
51673 +# Object file extension for compiled C test sources.
51674 +objext=o
51675 +objext=$objext
51677 +# Code to be used in simple compile tests
51678 +lt_simple_compile_test_code="int some_variable = 0;"
51680 +# Code to be used in simple link tests
51681 +lt_simple_link_test_code='int main(){return(0);}'
51689 +# If no C compiler was specified, use CC.
51690 +LTCC=${LTCC-"$CC"}
51692 +# If no C compiler flags were specified, use CFLAGS.
51693 +LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
51695 +# Allow CC to be a program name with arguments.
51696 +compiler=$CC
51698 +# Save the default compiler, since it gets overwritten when the other
51699 +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
51700 +compiler_DEFAULT=$CC
51702 +# save warnings/boilerplate of simple test code
51703 +ac_outfile=conftest.$ac_objext
51704 +echo "$lt_simple_compile_test_code" >conftest.$ac_ext
51705 +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
51706 +_lt_compiler_boilerplate=`cat conftest.err`
51707 +$RM conftest*
51709 +ac_outfile=conftest.$ac_objext
51710 +echo "$lt_simple_link_test_code" >conftest.$ac_ext
51711 +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
51712 +_lt_linker_boilerplate=`cat conftest.err`
51713 +$RM -r conftest*
51716 +## CAVEAT EMPTOR:
51717 +## There is no encapsulation within the following macros, do not change
51718 +## the running order or otherwise move them around unless you know exactly
51719 +## what you are doing...
51720 +if test -n "$compiler"; then
51722 +lt_prog_compiler_no_builtin_flag=
51724 +if test "$GCC" = yes; then
51725 + case $cc_basename in
51726 + nvcc*)
51727 + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
51728 + *)
51729 + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
51730 + esac
51732 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
51733 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
51734 +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
51735 + $as_echo_n "(cached) " >&6
51736 +else
51737 + lt_cv_prog_compiler_rtti_exceptions=no
51738 + ac_outfile=conftest.$ac_objext
51739 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
51740 + lt_compiler_flag="-fno-rtti -fno-exceptions"
51741 + # Insert the option either (1) after the last *FLAGS variable, or
51742 + # (2) before a word containing "conftest.", or (3) at the end.
51743 + # Note that $ac_compile itself does not contain backslashes and begins
51744 + # with a dollar sign (not a hyphen), so the echo should work correctly.
51745 + # The option is referenced via a variable to avoid confusing sed.
51746 + lt_compile=`echo "$ac_compile" | $SED \
51747 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
51748 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
51749 + -e 's:$: $lt_compiler_flag:'`
51750 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
51751 + (eval "$lt_compile" 2>conftest.err)
51752 + ac_status=$?
51753 + cat conftest.err >&5
51754 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
51755 + if (exit $ac_status) && test -s "$ac_outfile"; then
51756 + # The compiler can only warn and ignore the option if not recognized
51757 + # So say no if there are warnings other than the usual output.
51758 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
51759 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
51760 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
51761 + lt_cv_prog_compiler_rtti_exceptions=yes
51762 + fi
51763 + fi
51764 + $RM conftest*
51767 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
51768 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
51770 +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
51771 + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
51772 +else
51783 + lt_prog_compiler_wl=
51784 +lt_prog_compiler_pic=
51785 +lt_prog_compiler_static=
51787 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
51788 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
51790 + if test "$GCC" = yes; then
51791 + lt_prog_compiler_wl='-Wl,'
51792 + lt_prog_compiler_static='-static'
51794 + case $host_os in
51795 + aix*)
51796 + # All AIX code is PIC.
51797 + if test "$host_cpu" = ia64; then
51798 + # AIX 5 now supports IA64 processor
51799 + lt_prog_compiler_static='-Bstatic'
51800 + fi
51801 + lt_prog_compiler_pic='-fPIC'
51802 + ;;
51804 + amigaos*)
51805 + case $host_cpu in
51806 + powerpc)
51807 + # see comment about AmigaOS4 .so support
51808 + lt_prog_compiler_pic='-fPIC'
51809 + ;;
51810 + m68k)
51811 + # FIXME: we need at least 68020 code to build shared libraries, but
51812 + # adding the `-m68020' flag to GCC prevents building anything better,
51813 + # like `-m68040'.
51814 + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
51815 + ;;
51816 + esac
51817 + ;;
51819 + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
51820 + # PIC is the default for these OSes.
51821 + ;;
51823 + mingw* | cygwin* | pw32* | os2* | cegcc*)
51824 + # This hack is so that the source file can tell whether it is being
51825 + # built for inclusion in a dll (and should export symbols for example).
51826 + # Although the cygwin gcc ignores -fPIC, still need this for old-style
51827 + # (--disable-auto-import) libraries
51828 + lt_prog_compiler_pic='-DDLL_EXPORT'
51829 + ;;
51831 + darwin* | rhapsody*)
51832 + # PIC is the default on this platform
51833 + # Common symbols not allowed in MH_DYLIB files
51834 + lt_prog_compiler_pic='-fno-common'
51835 + ;;
51837 + haiku*)
51838 + # PIC is the default for Haiku.
51839 + # The "-static" flag exists, but is broken.
51840 + lt_prog_compiler_static=
51841 + ;;
51843 + hpux*)
51844 + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
51845 + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
51846 + # sets the default TLS model and affects inlining.
51847 + case $host_cpu in
51848 + hppa*64*)
51849 + # +Z the default
51850 + ;;
51851 + *)
51852 + lt_prog_compiler_pic='-fPIC'
51853 + ;;
51854 + esac
51855 + ;;
51857 + interix[3-9]*)
51858 + # Interix 3.x gcc -fpic/-fPIC options generate broken code.
51859 + # Instead, we relocate shared libraries at runtime.
51860 + ;;
51862 + msdosdjgpp*)
51863 + # Just because we use GCC doesn't mean we suddenly get shared libraries
51864 + # on systems that don't support them.
51865 + lt_prog_compiler_can_build_shared=no
51866 + enable_shared=no
51867 + ;;
51869 + *nto* | *qnx*)
51870 + # QNX uses GNU C++, but need to define -shared option too, otherwise
51871 + # it will coredump.
51872 + lt_prog_compiler_pic='-fPIC -shared'
51873 + ;;
51875 + sysv4*MP*)
51876 + if test -d /usr/nec; then
51877 + lt_prog_compiler_pic=-Kconform_pic
51878 + fi
51879 + ;;
51881 + *)
51882 + lt_prog_compiler_pic='-fPIC'
51883 + ;;
51884 + esac
51886 + case $cc_basename in
51887 + nvcc*) # Cuda Compiler Driver 2.2
51888 + lt_prog_compiler_wl='-Xlinker '
51889 + lt_prog_compiler_pic='-Xcompiler -fPIC'
51890 + ;;
51891 + esac
51892 + else
51893 + # PORTME Check for flag to pass linker flags through the system compiler.
51894 + case $host_os in
51895 + aix*)
51896 + lt_prog_compiler_wl='-Wl,'
51897 + if test "$host_cpu" = ia64; then
51898 + # AIX 5 now supports IA64 processor
51899 + lt_prog_compiler_static='-Bstatic'
51900 + else
51901 + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
51902 + fi
51903 + ;;
51905 + mingw* | cygwin* | pw32* | os2* | cegcc*)
51906 + # This hack is so that the source file can tell whether it is being
51907 + # built for inclusion in a dll (and should export symbols for example).
51908 + lt_prog_compiler_pic='-DDLL_EXPORT'
51909 + ;;
51911 + hpux9* | hpux10* | hpux11*)
51912 + lt_prog_compiler_wl='-Wl,'
51913 + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
51914 + # not for PA HP-UX.
51915 + case $host_cpu in
51916 + hppa*64*|ia64*)
51917 + # +Z the default
51918 + ;;
51919 + *)
51920 + lt_prog_compiler_pic='+Z'
51921 + ;;
51922 + esac
51923 + # Is there a better lt_prog_compiler_static that works with the bundled CC?
51924 + lt_prog_compiler_static='${wl}-a ${wl}archive'
51925 + ;;
51927 + irix5* | irix6* | nonstopux*)
51928 + lt_prog_compiler_wl='-Wl,'
51929 + # PIC (with -KPIC) is the default.
51930 + lt_prog_compiler_static='-non_shared'
51931 + ;;
51933 + linux* | k*bsd*-gnu | kopensolaris*-gnu)
51934 + case $cc_basename in
51935 + # old Intel for x86_64 which still supported -KPIC.
51936 + ecc*)
51937 + lt_prog_compiler_wl='-Wl,'
51938 + lt_prog_compiler_pic='-KPIC'
51939 + lt_prog_compiler_static='-static'
51940 + ;;
51941 + # icc used to be incompatible with GCC.
51942 + # ICC 10 doesn't accept -KPIC any more.
51943 + icc* | ifort*)
51944 + lt_prog_compiler_wl='-Wl,'
51945 + lt_prog_compiler_pic='-fPIC'
51946 + lt_prog_compiler_static='-static'
51947 + ;;
51948 + # Lahey Fortran 8.1.
51949 + lf95*)
51950 + lt_prog_compiler_wl='-Wl,'
51951 + lt_prog_compiler_pic='--shared'
51952 + lt_prog_compiler_static='--static'
51953 + ;;
51954 + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
51955 + # Portland Group compilers (*not* the Pentium gcc compiler,
51956 + # which looks to be a dead project)
51957 + lt_prog_compiler_wl='-Wl,'
51958 + lt_prog_compiler_pic='-fpic'
51959 + lt_prog_compiler_static='-Bstatic'
51960 + ;;
51961 + ccc*)
51962 + lt_prog_compiler_wl='-Wl,'
51963 + # All Alpha code is PIC.
51964 + lt_prog_compiler_static='-non_shared'
51965 + ;;
51966 + xl* | bgxl* | bgf* | mpixl*)
51967 + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
51968 + lt_prog_compiler_wl='-Wl,'
51969 + lt_prog_compiler_pic='-qpic'
51970 + lt_prog_compiler_static='-qstaticlink'
51971 + ;;
51972 + *)
51973 + case `$CC -V 2>&1 | sed 5q` in
51974 + *Sun\ F* | *Sun*Fortran*)
51975 + # Sun Fortran 8.3 passes all unrecognized flags to the linker
51976 + lt_prog_compiler_pic='-KPIC'
51977 + lt_prog_compiler_static='-Bstatic'
51978 + lt_prog_compiler_wl=''
51979 + ;;
51980 + *Sun\ C*)
51981 + # Sun C 5.9
51982 + lt_prog_compiler_pic='-KPIC'
51983 + lt_prog_compiler_static='-Bstatic'
51984 + lt_prog_compiler_wl='-Wl,'
51985 + ;;
51986 + esac
51987 + ;;
51988 + esac
51989 + ;;
51991 + newsos6)
51992 + lt_prog_compiler_pic='-KPIC'
51993 + lt_prog_compiler_static='-Bstatic'
51994 + ;;
51996 + *nto* | *qnx*)
51997 + # QNX uses GNU C++, but need to define -shared option too, otherwise
51998 + # it will coredump.
51999 + lt_prog_compiler_pic='-fPIC -shared'
52000 + ;;
52002 + osf3* | osf4* | osf5*)
52003 + lt_prog_compiler_wl='-Wl,'
52004 + # All OSF/1 code is PIC.
52005 + lt_prog_compiler_static='-non_shared'
52006 + ;;
52008 + rdos*)
52009 + lt_prog_compiler_static='-non_shared'
52010 + ;;
52012 + solaris*)
52013 + lt_prog_compiler_pic='-KPIC'
52014 + lt_prog_compiler_static='-Bstatic'
52015 + case $cc_basename in
52016 + f77* | f90* | f95*)
52017 + lt_prog_compiler_wl='-Qoption ld ';;
52018 + *)
52019 + lt_prog_compiler_wl='-Wl,';;
52020 + esac
52021 + ;;
52023 + sunos4*)
52024 + lt_prog_compiler_wl='-Qoption ld '
52025 + lt_prog_compiler_pic='-PIC'
52026 + lt_prog_compiler_static='-Bstatic'
52027 + ;;
52029 + sysv4 | sysv4.2uw2* | sysv4.3*)
52030 + lt_prog_compiler_wl='-Wl,'
52031 + lt_prog_compiler_pic='-KPIC'
52032 + lt_prog_compiler_static='-Bstatic'
52033 + ;;
52035 + sysv4*MP*)
52036 + if test -d /usr/nec ;then
52037 + lt_prog_compiler_pic='-Kconform_pic'
52038 + lt_prog_compiler_static='-Bstatic'
52039 + fi
52040 + ;;
52042 + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
52043 + lt_prog_compiler_wl='-Wl,'
52044 + lt_prog_compiler_pic='-KPIC'
52045 + lt_prog_compiler_static='-Bstatic'
52046 + ;;
52048 + unicos*)
52049 + lt_prog_compiler_wl='-Wl,'
52050 + lt_prog_compiler_can_build_shared=no
52051 + ;;
52053 + uts4*)
52054 + lt_prog_compiler_pic='-pic'
52055 + lt_prog_compiler_static='-Bstatic'
52056 + ;;
52058 + *)
52059 + lt_prog_compiler_can_build_shared=no
52060 + ;;
52061 + esac
52062 + fi
52064 +case $host_os in
52065 + # For platforms which do not support PIC, -DPIC is meaningless:
52066 + *djgpp*)
52067 + lt_prog_compiler_pic=
52068 + ;;
52069 + *)
52070 + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
52071 + ;;
52072 +esac
52073 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
52074 +$as_echo "$lt_prog_compiler_pic" >&6; }
52082 +# Check to make sure the PIC flag actually works.
52084 +if test -n "$lt_prog_compiler_pic"; then
52085 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
52086 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
52087 +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
52088 + $as_echo_n "(cached) " >&6
52089 +else
52090 + lt_cv_prog_compiler_pic_works=no
52091 + ac_outfile=conftest.$ac_objext
52092 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
52093 + lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
52094 + # Insert the option either (1) after the last *FLAGS variable, or
52095 + # (2) before a word containing "conftest.", or (3) at the end.
52096 + # Note that $ac_compile itself does not contain backslashes and begins
52097 + # with a dollar sign (not a hyphen), so the echo should work correctly.
52098 + # The option is referenced via a variable to avoid confusing sed.
52099 + lt_compile=`echo "$ac_compile" | $SED \
52100 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
52101 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
52102 + -e 's:$: $lt_compiler_flag:'`
52103 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
52104 + (eval "$lt_compile" 2>conftest.err)
52105 + ac_status=$?
52106 + cat conftest.err >&5
52107 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
52108 + if (exit $ac_status) && test -s "$ac_outfile"; then
52109 + # The compiler can only warn and ignore the option if not recognized
52110 + # So say no if there are warnings other than the usual output.
52111 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
52112 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
52113 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
52114 + lt_cv_prog_compiler_pic_works=yes
52115 + fi
52116 + fi
52117 + $RM conftest*
52120 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
52121 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
52123 +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
52124 + case $lt_prog_compiler_pic in
52125 + "" | " "*) ;;
52126 + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
52127 + esac
52128 +else
52129 + lt_prog_compiler_pic=
52130 + lt_prog_compiler_can_build_shared=no
52141 +# Check to make sure the static flag actually works.
52143 +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
52144 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
52145 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
52146 +if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
52147 + $as_echo_n "(cached) " >&6
52148 +else
52149 + lt_cv_prog_compiler_static_works=no
52150 + save_LDFLAGS="$LDFLAGS"
52151 + LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
52152 + echo "$lt_simple_link_test_code" > conftest.$ac_ext
52153 + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
52154 + # The linker can only warn and ignore the option if not recognized
52155 + # So say no if there are warnings
52156 + if test -s conftest.err; then
52157 + # Append any errors to the config.log.
52158 + cat conftest.err 1>&5
52159 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
52160 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
52161 + if diff conftest.exp conftest.er2 >/dev/null; then
52162 + lt_cv_prog_compiler_static_works=yes
52163 + fi
52164 + else
52165 + lt_cv_prog_compiler_static_works=yes
52166 + fi
52167 + fi
52168 + $RM -r conftest*
52169 + LDFLAGS="$save_LDFLAGS"
52172 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
52173 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
52175 +if test x"$lt_cv_prog_compiler_static_works" = xyes; then
52177 +else
52178 + lt_prog_compiler_static=
52187 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
52188 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
52189 +if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
52190 + $as_echo_n "(cached) " >&6
52191 +else
52192 + lt_cv_prog_compiler_c_o=no
52193 + $RM -r conftest 2>/dev/null
52194 + mkdir conftest
52195 + cd conftest
52196 + mkdir out
52197 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
52199 + lt_compiler_flag="-o out/conftest2.$ac_objext"
52200 + # Insert the option either (1) after the last *FLAGS variable, or
52201 + # (2) before a word containing "conftest.", or (3) at the end.
52202 + # Note that $ac_compile itself does not contain backslashes and begins
52203 + # with a dollar sign (not a hyphen), so the echo should work correctly.
52204 + lt_compile=`echo "$ac_compile" | $SED \
52205 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
52206 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
52207 + -e 's:$: $lt_compiler_flag:'`
52208 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
52209 + (eval "$lt_compile" 2>out/conftest.err)
52210 + ac_status=$?
52211 + cat out/conftest.err >&5
52212 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
52213 + if (exit $ac_status) && test -s out/conftest2.$ac_objext
52214 + then
52215 + # The compiler can only warn and ignore the option if not recognized
52216 + # So say no if there are warnings
52217 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
52218 + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
52219 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
52220 + lt_cv_prog_compiler_c_o=yes
52221 + fi
52222 + fi
52223 + chmod u+w . 2>&5
52224 + $RM conftest*
52225 + # SGI C++ compiler will create directory out/ii_files/ for
52226 + # template instantiation
52227 + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
52228 + $RM out/* && rmdir out
52229 + cd ..
52230 + $RM -r conftest
52231 + $RM conftest*
52234 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
52235 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
52242 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
52243 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
52244 +if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
52245 + $as_echo_n "(cached) " >&6
52246 +else
52247 + lt_cv_prog_compiler_c_o=no
52248 + $RM -r conftest 2>/dev/null
52249 + mkdir conftest
52250 + cd conftest
52251 + mkdir out
52252 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
52254 + lt_compiler_flag="-o out/conftest2.$ac_objext"
52255 + # Insert the option either (1) after the last *FLAGS variable, or
52256 + # (2) before a word containing "conftest.", or (3) at the end.
52257 + # Note that $ac_compile itself does not contain backslashes and begins
52258 + # with a dollar sign (not a hyphen), so the echo should work correctly.
52259 + lt_compile=`echo "$ac_compile" | $SED \
52260 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
52261 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
52262 + -e 's:$: $lt_compiler_flag:'`
52263 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
52264 + (eval "$lt_compile" 2>out/conftest.err)
52265 + ac_status=$?
52266 + cat out/conftest.err >&5
52267 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
52268 + if (exit $ac_status) && test -s out/conftest2.$ac_objext
52269 + then
52270 + # The compiler can only warn and ignore the option if not recognized
52271 + # So say no if there are warnings
52272 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
52273 + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
52274 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
52275 + lt_cv_prog_compiler_c_o=yes
52276 + fi
52277 + fi
52278 + chmod u+w . 2>&5
52279 + $RM conftest*
52280 + # SGI C++ compiler will create directory out/ii_files/ for
52281 + # template instantiation
52282 + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
52283 + $RM out/* && rmdir out
52284 + cd ..
52285 + $RM -r conftest
52286 + $RM conftest*
52289 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
52290 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
52295 +hard_links="nottested"
52296 +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
52297 + # do not overwrite the value of need_locks provided by the user
52298 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
52299 +$as_echo_n "checking if we can lock with hard links... " >&6; }
52300 + hard_links=yes
52301 + $RM conftest*
52302 + ln conftest.a conftest.b 2>/dev/null && hard_links=no
52303 + touch conftest.a
52304 + ln conftest.a conftest.b 2>&5 || hard_links=no
52305 + ln conftest.a conftest.b 2>/dev/null && hard_links=no
52306 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
52307 +$as_echo "$hard_links" >&6; }
52308 + if test "$hard_links" = no; then
52309 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
52310 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
52311 + need_locks=warn
52312 + fi
52313 +else
52314 + need_locks=no
52322 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
52323 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
52325 + runpath_var=
52326 + allow_undefined_flag=
52327 + always_export_symbols=no
52328 + archive_cmds=
52329 + archive_expsym_cmds=
52330 + compiler_needs_object=no
52331 + enable_shared_with_static_runtimes=no
52332 + export_dynamic_flag_spec=
52333 + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
52334 + hardcode_automatic=no
52335 + hardcode_direct=no
52336 + hardcode_direct_absolute=no
52337 + hardcode_libdir_flag_spec=
52338 + hardcode_libdir_flag_spec_ld=
52339 + hardcode_libdir_separator=
52340 + hardcode_minus_L=no
52341 + hardcode_shlibpath_var=unsupported
52342 + inherit_rpath=no
52343 + link_all_deplibs=unknown
52344 + module_cmds=
52345 + module_expsym_cmds=
52346 + old_archive_from_new_cmds=
52347 + old_archive_from_expsyms_cmds=
52348 + thread_safe_flag_spec=
52349 + whole_archive_flag_spec=
52350 + # include_expsyms should be a list of space-separated symbols to be *always*
52351 + # included in the symbol list
52352 + include_expsyms=
52353 + # exclude_expsyms can be an extended regexp of symbols to exclude
52354 + # it will be wrapped by ` (' and `)$', so one must not match beginning or
52355 + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
52356 + # as well as any symbol that contains `d'.
52357 + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
52358 + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
52359 + # platforms (ab)use it in PIC code, but their linkers get confused if
52360 + # the symbol is explicitly referenced. Since portable code cannot
52361 + # rely on this symbol name, it's probably fine to never include it in
52362 + # preloaded symbol tables.
52363 + # Exclude shared library initialization/finalization symbols.
52364 + extract_expsyms_cmds=
52366 + case $host_os in
52367 + cygwin* | mingw* | pw32* | cegcc*)
52368 + # FIXME: the MSVC++ port hasn't been tested in a loooong time
52369 + # When not using gcc, we currently assume that we are using
52370 + # Microsoft Visual C++.
52371 + if test "$GCC" != yes; then
52372 + with_gnu_ld=no
52373 + fi
52374 + ;;
52375 + interix*)
52376 + # we just hope/assume this is gcc and not c89 (= MSVC++)
52377 + with_gnu_ld=yes
52378 + ;;
52379 + openbsd*)
52380 + with_gnu_ld=no
52381 + ;;
52382 + esac
52384 + ld_shlibs=yes
52386 + # On some targets, GNU ld is compatible enough with the native linker
52387 + # that we're better off using the native interface for both.
52388 + lt_use_gnu_ld_interface=no
52389 + if test "$with_gnu_ld" = yes; then
52390 + case $host_os in
52391 + aix*)
52392 + # The AIX port of GNU ld has always aspired to compatibility
52393 + # with the native linker. However, as the warning in the GNU ld
52394 + # block says, versions before 2.19.5* couldn't really create working
52395 + # shared libraries, regardless of the interface used.
52396 + case `$LD -v 2>&1` in
52397 + *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
52398 + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
52399 + *\ \(GNU\ Binutils\)\ [3-9]*) ;;
52400 + *)
52401 + lt_use_gnu_ld_interface=yes
52402 + ;;
52403 + esac
52404 + ;;
52405 + *)
52406 + lt_use_gnu_ld_interface=yes
52407 + ;;
52408 + esac
52409 + fi
52411 + if test "$lt_use_gnu_ld_interface" = yes; then
52412 + # If archive_cmds runs LD, not CC, wlarc should be empty
52413 + wlarc='${wl}'
52415 + # Set some defaults for GNU ld with shared library support. These
52416 + # are reset later if shared libraries are not supported. Putting them
52417 + # here allows them to be overridden if necessary.
52418 + runpath_var=LD_RUN_PATH
52419 + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
52420 + export_dynamic_flag_spec='${wl}--export-dynamic'
52421 + # ancient GNU ld didn't support --whole-archive et. al.
52422 + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
52423 + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
52424 + else
52425 + whole_archive_flag_spec=
52426 + fi
52427 + supports_anon_versioning=no
52428 + case `$LD -v 2>&1` in
52429 + *GNU\ gold*) supports_anon_versioning=yes ;;
52430 + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
52431 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
52432 + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
52433 + *\ 2.11.*) ;; # other 2.11 versions
52434 + *) supports_anon_versioning=yes ;;
52435 + esac
52437 + # See if GNU ld supports shared libraries.
52438 + case $host_os in
52439 + aix[3-9]*)
52440 + # On AIX/PPC, the GNU linker is very broken
52441 + if test "$host_cpu" != ia64; then
52442 + ld_shlibs=no
52443 + cat <<_LT_EOF 1>&2
52445 +*** Warning: the GNU linker, at least up to release 2.19, is reported
52446 +*** to be unable to reliably create shared libraries on AIX.
52447 +*** Therefore, libtool is disabling shared libraries support. If you
52448 +*** really care for shared libraries, you may want to install binutils
52449 +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
52450 +*** You will then need to restart the configuration process.
52452 +_LT_EOF
52453 + fi
52454 + ;;
52456 + amigaos*)
52457 + case $host_cpu in
52458 + powerpc)
52459 + # see comment about AmigaOS4 .so support
52460 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52461 + archive_expsym_cmds=''
52462 + ;;
52463 + m68k)
52464 + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
52465 + hardcode_libdir_flag_spec='-L$libdir'
52466 + hardcode_minus_L=yes
52467 + ;;
52468 + esac
52469 + ;;
52471 + beos*)
52472 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
52473 + allow_undefined_flag=unsupported
52474 + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
52475 + # support --undefined. This deserves some investigation. FIXME
52476 + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52477 + else
52478 + ld_shlibs=no
52479 + fi
52480 + ;;
52482 + cygwin* | mingw* | pw32* | cegcc*)
52483 + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
52484 + # as there is no search path for DLLs.
52485 + hardcode_libdir_flag_spec='-L$libdir'
52486 + export_dynamic_flag_spec='${wl}--export-all-symbols'
52487 + allow_undefined_flag=unsupported
52488 + always_export_symbols=no
52489 + enable_shared_with_static_runtimes=yes
52490 + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
52492 + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
52493 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
52494 + # If the export-symbols file already is a .def file (1st line
52495 + # is EXPORTS), use it as is; otherwise, prepend...
52496 + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
52497 + cp $export_symbols $output_objdir/$soname.def;
52498 + else
52499 + echo EXPORTS > $output_objdir/$soname.def;
52500 + cat $export_symbols >> $output_objdir/$soname.def;
52501 + fi~
52502 + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
52503 + else
52504 + ld_shlibs=no
52505 + fi
52506 + ;;
52508 + haiku*)
52509 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52510 + link_all_deplibs=yes
52511 + ;;
52513 + interix[3-9]*)
52514 + hardcode_direct=no
52515 + hardcode_shlibpath_var=no
52516 + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
52517 + export_dynamic_flag_spec='${wl}-E'
52518 + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
52519 + # Instead, shared libraries are loaded at an image base (0x10000000 by
52520 + # default) and relocated if they conflict, which is a slow very memory
52521 + # consuming and fragmenting process. To avoid this, we pick a random,
52522 + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
52523 + # time. Moving up from 0x10000000 also allows more sbrk(2) space.
52524 + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
52525 + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
52526 + ;;
52528 + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
52529 + tmp_diet=no
52530 + if test "$host_os" = linux-dietlibc; then
52531 + case $cc_basename in
52532 + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
52533 + esac
52534 + fi
52535 + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
52536 + && test "$tmp_diet" = no
52537 + then
52538 + tmp_addflag=' $pic_flag'
52539 + tmp_sharedflag='-shared'
52540 + case $cc_basename,$host_cpu in
52541 + pgcc*) # Portland Group C compiler
52542 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
52543 + tmp_addflag=' $pic_flag'
52544 + ;;
52545 + pgf77* | pgf90* | pgf95* | pgfortran*)
52546 + # Portland Group f77 and f90 compilers
52547 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
52548 + tmp_addflag=' $pic_flag -Mnomain' ;;
52549 + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
52550 + tmp_addflag=' -i_dynamic' ;;
52551 + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
52552 + tmp_addflag=' -i_dynamic -nofor_main' ;;
52553 + ifc* | ifort*) # Intel Fortran compiler
52554 + tmp_addflag=' -nofor_main' ;;
52555 + lf95*) # Lahey Fortran 8.1
52556 + whole_archive_flag_spec=
52557 + tmp_sharedflag='--shared' ;;
52558 + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
52559 + tmp_sharedflag='-qmkshrobj'
52560 + tmp_addflag= ;;
52561 + nvcc*) # Cuda Compiler Driver 2.2
52562 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
52563 + compiler_needs_object=yes
52564 + ;;
52565 + esac
52566 + case `$CC -V 2>&1 | sed 5q` in
52567 + *Sun\ C*) # Sun C 5.9
52568 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
52569 + compiler_needs_object=yes
52570 + tmp_sharedflag='-G' ;;
52571 + *Sun\ F*) # Sun Fortran 8.3
52572 + tmp_sharedflag='-G' ;;
52573 + esac
52574 + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52576 + if test "x$supports_anon_versioning" = xyes; then
52577 + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
52578 + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
52579 + echo "local: *; };" >> $output_objdir/$libname.ver~
52580 + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
52581 + fi
52583 + case $cc_basename in
52584 + xlf* | bgf* | bgxlf* | mpixlf*)
52585 + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
52586 + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
52587 + hardcode_libdir_flag_spec=
52588 + hardcode_libdir_flag_spec_ld='-rpath $libdir'
52589 + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
52590 + if test "x$supports_anon_versioning" = xyes; then
52591 + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
52592 + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
52593 + echo "local: *; };" >> $output_objdir/$libname.ver~
52594 + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
52595 + fi
52596 + ;;
52597 + esac
52598 + else
52599 + ld_shlibs=no
52600 + fi
52601 + ;;
52603 + netbsd*)
52604 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
52605 + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
52606 + wlarc=
52607 + else
52608 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52609 + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
52610 + fi
52611 + ;;
52613 + solaris*)
52614 + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
52615 + ld_shlibs=no
52616 + cat <<_LT_EOF 1>&2
52618 +*** Warning: The releases 2.8.* of the GNU linker cannot reliably
52619 +*** create shared libraries on Solaris systems. Therefore, libtool
52620 +*** is disabling shared libraries support. We urge you to upgrade GNU
52621 +*** binutils to release 2.9.1 or newer. Another option is to modify
52622 +*** your PATH or compiler configuration so that the native linker is
52623 +*** used, and then restart.
52625 +_LT_EOF
52626 + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
52627 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52628 + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
52629 + else
52630 + ld_shlibs=no
52631 + fi
52632 + ;;
52634 + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
52635 + case `$LD -v 2>&1` in
52636 + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
52637 + ld_shlibs=no
52638 + cat <<_LT_EOF 1>&2
52640 +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
52641 +*** reliably create shared libraries on SCO systems. Therefore, libtool
52642 +*** is disabling shared libraries support. We urge you to upgrade GNU
52643 +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
52644 +*** your PATH or compiler configuration so that the native linker is
52645 +*** used, and then restart.
52647 +_LT_EOF
52648 + ;;
52649 + *)
52650 + # For security reasons, it is highly recommended that you always
52651 + # use absolute paths for naming shared libraries, and exclude the
52652 + # DT_RUNPATH tag from executables and libraries. But doing so
52653 + # requires that you compile everything twice, which is a pain.
52654 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
52655 + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
52656 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52657 + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
52658 + else
52659 + ld_shlibs=no
52660 + fi
52661 + ;;
52662 + esac
52663 + ;;
52665 + sunos4*)
52666 + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
52667 + wlarc=
52668 + hardcode_direct=yes
52669 + hardcode_shlibpath_var=no
52670 + ;;
52672 + *)
52673 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
52674 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52675 + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
52676 + else
52677 + ld_shlibs=no
52678 + fi
52679 + ;;
52680 + esac
52682 + if test "$ld_shlibs" = no; then
52683 + runpath_var=
52684 + hardcode_libdir_flag_spec=
52685 + export_dynamic_flag_spec=
52686 + whole_archive_flag_spec=
52687 + fi
52688 + else
52689 + # PORTME fill in a description of your system's linker (not GNU ld)
52690 + case $host_os in
52691 + aix3*)
52692 + allow_undefined_flag=unsupported
52693 + always_export_symbols=yes
52694 + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
52695 + # Note: this linker hardcodes the directories in LIBPATH if there
52696 + # are no directories specified by -L.
52697 + hardcode_minus_L=yes
52698 + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
52699 + # Neither direct hardcoding nor static linking is supported with a
52700 + # broken collect2.
52701 + hardcode_direct=unsupported
52702 + fi
52703 + ;;
52705 + aix[4-9]*)
52706 + if test "$host_cpu" = ia64; then
52707 + # On IA64, the linker does run time linking by default, so we don't
52708 + # have to do anything special.
52709 + aix_use_runtimelinking=no
52710 + exp_sym_flag='-Bexport'
52711 + no_entry_flag=""
52712 + else
52713 + # If we're using GNU nm, then we don't want the "-C" option.
52714 + # -C means demangle to AIX nm, but means don't demangle with GNU nm
52715 + # Also, AIX nm treats weak defined symbols like other global
52716 + # defined symbols, whereas GNU nm marks them as "W".
52717 + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
52718 + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
52719 + else
52720 + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
52721 + fi
52722 + aix_use_runtimelinking=no
52724 + # Test if we are trying to use run time linking or normal
52725 + # AIX style linking. If -brtl is somewhere in LDFLAGS, we
52726 + # need to do runtime linking.
52727 + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
52728 + for ld_flag in $LDFLAGS; do
52729 + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
52730 + aix_use_runtimelinking=yes
52731 + break
52732 + fi
52733 + done
52734 + ;;
52735 + esac
52737 + exp_sym_flag='-bexport'
52738 + no_entry_flag='-bnoentry'
52739 + fi
52741 + # When large executables or shared objects are built, AIX ld can
52742 + # have problems creating the table of contents. If linking a library
52743 + # or program results in "error TOC overflow" add -mminimal-toc to
52744 + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
52745 + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
52747 + archive_cmds=''
52748 + hardcode_direct=yes
52749 + hardcode_direct_absolute=yes
52750 + hardcode_libdir_separator=':'
52751 + link_all_deplibs=yes
52752 + file_list_spec='${wl}-f,'
52754 + if test "$GCC" = yes; then
52755 + case $host_os in aix4.[012]|aix4.[012].*)
52756 + # We only want to do this on AIX 4.2 and lower, the check
52757 + # below for broken collect2 doesn't work under 4.3+
52758 + collect2name=`${CC} -print-prog-name=collect2`
52759 + if test -f "$collect2name" &&
52760 + strings "$collect2name" | $GREP resolve_lib_name >/dev/null
52761 + then
52762 + # We have reworked collect2
52764 + else
52765 + # We have old collect2
52766 + hardcode_direct=unsupported
52767 + # It fails to find uninstalled libraries when the uninstalled
52768 + # path is not listed in the libpath. Setting hardcode_minus_L
52769 + # to unsupported forces relinking
52770 + hardcode_minus_L=yes
52771 + hardcode_libdir_flag_spec='-L$libdir'
52772 + hardcode_libdir_separator=
52773 + fi
52774 + ;;
52775 + esac
52776 + shared_flag='-shared'
52777 + if test "$aix_use_runtimelinking" = yes; then
52778 + shared_flag="$shared_flag "'${wl}-G'
52779 + fi
52780 + else
52781 + # not using gcc
52782 + if test "$host_cpu" = ia64; then
52783 + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
52784 + # chokes on -Wl,-G. The following line is correct:
52785 + shared_flag='-G'
52786 + else
52787 + if test "$aix_use_runtimelinking" = yes; then
52788 + shared_flag='${wl}-G'
52789 + else
52790 + shared_flag='${wl}-bM:SRE'
52791 + fi
52792 + fi
52793 + fi
52795 + export_dynamic_flag_spec='${wl}-bexpall'
52796 + # It seems that -bexpall does not export symbols beginning with
52797 + # underscore (_), so it is better to generate a list of symbols to export.
52798 + always_export_symbols=yes
52799 + if test "$aix_use_runtimelinking" = yes; then
52800 + # Warning - without using the other runtime loading flags (-brtl),
52801 + # -berok will link without error, but may produce a broken library.
52802 + allow_undefined_flag='-berok'
52803 + # Determine the default libpath from the value encoded in an
52804 + # empty executable.
52805 + if test x$gcc_no_link = xyes; then
52806 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
52808 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
52809 +/* end confdefs.h. */
52811 +int
52812 +main ()
52816 + return 0;
52818 +_ACEOF
52819 +if ac_fn_c_try_link "$LINENO"; then :
52821 +lt_aix_libpath_sed='
52822 + /Import File Strings/,/^$/ {
52823 + /^0/ {
52824 + s/^0 *\(.*\)$/\1/
52827 + }'
52828 +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
52829 +# Check for a 64-bit object if we didn't find anything.
52830 +if test -z "$aix_libpath"; then
52831 + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
52834 +rm -f core conftest.err conftest.$ac_objext \
52835 + conftest$ac_exeext conftest.$ac_ext
52836 +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
52838 + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
52839 + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
52840 + else
52841 + if test "$host_cpu" = ia64; then
52842 + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
52843 + allow_undefined_flag="-z nodefs"
52844 + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
52845 + else
52846 + # Determine the default libpath from the value encoded in an
52847 + # empty executable.
52848 + if test x$gcc_no_link = xyes; then
52849 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
52851 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
52852 +/* end confdefs.h. */
52854 +int
52855 +main ()
52859 + return 0;
52861 +_ACEOF
52862 +if ac_fn_c_try_link "$LINENO"; then :
52864 +lt_aix_libpath_sed='
52865 + /Import File Strings/,/^$/ {
52866 + /^0/ {
52867 + s/^0 *\(.*\)$/\1/
52870 + }'
52871 +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
52872 +# Check for a 64-bit object if we didn't find anything.
52873 +if test -z "$aix_libpath"; then
52874 + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
52877 +rm -f core conftest.err conftest.$ac_objext \
52878 + conftest$ac_exeext conftest.$ac_ext
52879 +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
52881 + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
52882 + # Warning - without using the other run time loading flags,
52883 + # -berok will link without error, but may produce a broken library.
52884 + no_undefined_flag=' ${wl}-bernotok'
52885 + allow_undefined_flag=' ${wl}-berok'
52886 + if test "$with_gnu_ld" = yes; then
52887 + # We only use this code for GNU lds that support --whole-archive.
52888 + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
52889 + else
52890 + # Exported symbols can be pulled into shared objects from archives
52891 + whole_archive_flag_spec='$convenience'
52892 + fi
52893 + archive_cmds_need_lc=yes
52894 + # This is similar to how AIX traditionally builds its shared libraries.
52895 + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
52896 + fi
52897 + fi
52898 + ;;
52900 + amigaos*)
52901 + case $host_cpu in
52902 + powerpc)
52903 + # see comment about AmigaOS4 .so support
52904 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
52905 + archive_expsym_cmds=''
52906 + ;;
52907 + m68k)
52908 + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
52909 + hardcode_libdir_flag_spec='-L$libdir'
52910 + hardcode_minus_L=yes
52911 + ;;
52912 + esac
52913 + ;;
52915 + bsdi[45]*)
52916 + export_dynamic_flag_spec=-rdynamic
52917 + ;;
52919 + cygwin* | mingw* | pw32* | cegcc*)
52920 + # When not using gcc, we currently assume that we are using
52921 + # Microsoft Visual C++.
52922 + # hardcode_libdir_flag_spec is actually meaningless, as there is
52923 + # no search path for DLLs.
52924 + hardcode_libdir_flag_spec=' '
52925 + allow_undefined_flag=unsupported
52926 + # Tell ltmain to make .lib files, not .a files.
52927 + libext=lib
52928 + # Tell ltmain to make .dll files, not .so files.
52929 + shrext_cmds=".dll"
52930 + # FIXME: Setting linknames here is a bad hack.
52931 + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
52932 + # The linker will automatically build a .lib file if we build a DLL.
52933 + old_archive_from_new_cmds='true'
52934 + # FIXME: Should let the user specify the lib program.
52935 + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
52936 + fix_srcfile_path='`cygpath -w "$srcfile"`'
52937 + enable_shared_with_static_runtimes=yes
52938 + ;;
52940 + darwin* | rhapsody*)
52943 + archive_cmds_need_lc=no
52944 + hardcode_direct=no
52945 + hardcode_automatic=yes
52946 + hardcode_shlibpath_var=unsupported
52947 + if test "$lt_cv_ld_force_load" = "yes"; then
52948 + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
52949 + else
52950 + whole_archive_flag_spec=''
52951 + fi
52952 + link_all_deplibs=yes
52953 + allow_undefined_flag="$_lt_dar_allow_undefined"
52954 + case $cc_basename in
52955 + ifort*) _lt_dar_can_shared=yes ;;
52956 + *) _lt_dar_can_shared=$GCC ;;
52957 + esac
52958 + if test "$_lt_dar_can_shared" = "yes"; then
52959 + output_verbose_link_cmd=func_echo_all
52960 + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
52961 + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
52962 + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
52963 + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
52965 + else
52966 + ld_shlibs=no
52967 + fi
52969 + ;;
52971 + dgux*)
52972 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
52973 + hardcode_libdir_flag_spec='-L$libdir'
52974 + hardcode_shlibpath_var=no
52975 + ;;
52977 + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
52978 + # support. Future versions do this automatically, but an explicit c++rt0.o
52979 + # does not break anything, and helps significantly (at the cost of a little
52980 + # extra space).
52981 + freebsd2.2*)
52982 + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
52983 + hardcode_libdir_flag_spec='-R$libdir'
52984 + hardcode_direct=yes
52985 + hardcode_shlibpath_var=no
52986 + ;;
52988 + # Unfortunately, older versions of FreeBSD 2 do not have this feature.
52989 + freebsd2.*)
52990 + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
52991 + hardcode_direct=yes
52992 + hardcode_minus_L=yes
52993 + hardcode_shlibpath_var=no
52994 + ;;
52996 + # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
52997 + freebsd* | dragonfly*)
52998 + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
52999 + hardcode_libdir_flag_spec='-R$libdir'
53000 + hardcode_direct=yes
53001 + hardcode_shlibpath_var=no
53002 + ;;
53004 + hpux9*)
53005 + if test "$GCC" = yes; then
53006 + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
53007 + else
53008 + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
53009 + fi
53010 + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
53011 + hardcode_libdir_separator=:
53012 + hardcode_direct=yes
53014 + # hardcode_minus_L: Not really in the search PATH,
53015 + # but as the default location of the library.
53016 + hardcode_minus_L=yes
53017 + export_dynamic_flag_spec='${wl}-E'
53018 + ;;
53020 + hpux10*)
53021 + if test "$GCC" = yes && test "$with_gnu_ld" = no; then
53022 + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
53023 + else
53024 + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
53025 + fi
53026 + if test "$with_gnu_ld" = no; then
53027 + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
53028 + hardcode_libdir_flag_spec_ld='+b $libdir'
53029 + hardcode_libdir_separator=:
53030 + hardcode_direct=yes
53031 + hardcode_direct_absolute=yes
53032 + export_dynamic_flag_spec='${wl}-E'
53033 + # hardcode_minus_L: Not really in the search PATH,
53034 + # but as the default location of the library.
53035 + hardcode_minus_L=yes
53036 + fi
53037 + ;;
53039 + hpux11*)
53040 + if test "$GCC" = yes && test "$with_gnu_ld" = no; then
53041 + case $host_cpu in
53042 + hppa*64*)
53043 + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
53044 + ;;
53045 + ia64*)
53046 + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
53047 + ;;
53048 + *)
53049 + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
53050 + ;;
53051 + esac
53052 + else
53053 + case $host_cpu in
53054 + hppa*64*)
53055 + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
53056 + ;;
53057 + ia64*)
53058 + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
53059 + ;;
53060 + *)
53062 + # Older versions of the 11.00 compiler do not understand -b yet
53063 + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
53064 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
53065 +$as_echo_n "checking if $CC understands -b... " >&6; }
53066 +if test "${lt_cv_prog_compiler__b+set}" = set; then :
53067 + $as_echo_n "(cached) " >&6
53068 +else
53069 + lt_cv_prog_compiler__b=no
53070 + save_LDFLAGS="$LDFLAGS"
53071 + LDFLAGS="$LDFLAGS -b"
53072 + echo "$lt_simple_link_test_code" > conftest.$ac_ext
53073 + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
53074 + # The linker can only warn and ignore the option if not recognized
53075 + # So say no if there are warnings
53076 + if test -s conftest.err; then
53077 + # Append any errors to the config.log.
53078 + cat conftest.err 1>&5
53079 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
53080 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
53081 + if diff conftest.exp conftest.er2 >/dev/null; then
53082 + lt_cv_prog_compiler__b=yes
53083 + fi
53084 + else
53085 + lt_cv_prog_compiler__b=yes
53086 + fi
53087 + fi
53088 + $RM -r conftest*
53089 + LDFLAGS="$save_LDFLAGS"
53092 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
53093 +$as_echo "$lt_cv_prog_compiler__b" >&6; }
53095 +if test x"$lt_cv_prog_compiler__b" = xyes; then
53096 + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
53097 +else
53098 + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
53101 + ;;
53102 + esac
53103 + fi
53104 + if test "$with_gnu_ld" = no; then
53105 + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
53106 + hardcode_libdir_separator=:
53108 + case $host_cpu in
53109 + hppa*64*|ia64*)
53110 + hardcode_direct=no
53111 + hardcode_shlibpath_var=no
53112 + ;;
53113 + *)
53114 + hardcode_direct=yes
53115 + hardcode_direct_absolute=yes
53116 + export_dynamic_flag_spec='${wl}-E'
53118 + # hardcode_minus_L: Not really in the search PATH,
53119 + # but as the default location of the library.
53120 + hardcode_minus_L=yes
53121 + ;;
53122 + esac
53123 + fi
53124 + ;;
53126 + irix5* | irix6* | nonstopux*)
53127 + if test "$GCC" = yes; then
53128 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
53129 + # Try to use the -exported_symbol ld option, if it does not
53130 + # work, assume that -exports_file does not work either and
53131 + # implicitly export all symbols.
53132 + save_LDFLAGS="$LDFLAGS"
53133 + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
53134 + if test x$gcc_no_link = xyes; then
53135 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
53137 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
53138 +/* end confdefs.h. */
53139 +int foo(void) {}
53140 +_ACEOF
53141 +if ac_fn_c_try_link "$LINENO"; then :
53142 + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
53145 +rm -f core conftest.err conftest.$ac_objext \
53146 + conftest$ac_exeext conftest.$ac_ext
53147 + LDFLAGS="$save_LDFLAGS"
53148 + else
53149 + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
53150 + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
53151 + fi
53152 + archive_cmds_need_lc='no'
53153 + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
53154 + hardcode_libdir_separator=:
53155 + inherit_rpath=yes
53156 + link_all_deplibs=yes
53157 + ;;
53159 + netbsd*)
53160 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
53161 + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
53162 + else
53163 + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
53164 + fi
53165 + hardcode_libdir_flag_spec='-R$libdir'
53166 + hardcode_direct=yes
53167 + hardcode_shlibpath_var=no
53168 + ;;
53170 + newsos6)
53171 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
53172 + hardcode_direct=yes
53173 + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
53174 + hardcode_libdir_separator=:
53175 + hardcode_shlibpath_var=no
53176 + ;;
53178 + *nto* | *qnx*)
53179 + ;;
53181 + openbsd*)
53182 + if test -f /usr/libexec/ld.so; then
53183 + hardcode_direct=yes
53184 + hardcode_shlibpath_var=no
53185 + hardcode_direct_absolute=yes
53186 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
53187 + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
53188 + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
53189 + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
53190 + export_dynamic_flag_spec='${wl}-E'
53191 + else
53192 + case $host_os in
53193 + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
53194 + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
53195 + hardcode_libdir_flag_spec='-R$libdir'
53196 + ;;
53197 + *)
53198 + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
53199 + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
53200 + ;;
53201 + esac
53202 + fi
53203 + else
53204 + ld_shlibs=no
53205 + fi
53206 + ;;
53208 + os2*)
53209 + hardcode_libdir_flag_spec='-L$libdir'
53210 + hardcode_minus_L=yes
53211 + allow_undefined_flag=unsupported
53212 + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
53213 + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
53214 + ;;
53216 + osf3*)
53217 + if test "$GCC" = yes; then
53218 + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
53219 + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
53220 + else
53221 + allow_undefined_flag=' -expect_unresolved \*'
53222 + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
53223 + fi
53224 + archive_cmds_need_lc='no'
53225 + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
53226 + hardcode_libdir_separator=:
53227 + ;;
53229 + osf4* | osf5*) # as osf3* with the addition of -msym flag
53230 + if test "$GCC" = yes; then
53231 + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
53232 + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
53233 + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
53234 + else
53235 + allow_undefined_flag=' -expect_unresolved \*'
53236 + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
53237 + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
53238 + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
53240 + # Both c and cxx compiler support -rpath directly
53241 + hardcode_libdir_flag_spec='-rpath $libdir'
53242 + fi
53243 + archive_cmds_need_lc='no'
53244 + hardcode_libdir_separator=:
53245 + ;;
53247 + solaris*)
53248 + no_undefined_flag=' -z defs'
53249 + if test "$GCC" = yes; then
53250 + wlarc='${wl}'
53251 + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
53252 + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
53253 + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
53254 + else
53255 + case `$CC -V 2>&1` in
53256 + *"Compilers 5.0"*)
53257 + wlarc=''
53258 + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
53259 + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
53260 + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
53261 + ;;
53262 + *)
53263 + wlarc='${wl}'
53264 + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
53265 + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
53266 + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
53267 + ;;
53268 + esac
53269 + fi
53270 + hardcode_libdir_flag_spec='-R$libdir'
53271 + hardcode_shlibpath_var=no
53272 + case $host_os in
53273 + solaris2.[0-5] | solaris2.[0-5].*) ;;
53274 + *)
53275 + # The compiler driver will combine and reorder linker options,
53276 + # but understands `-z linker_flag'. GCC discards it without `$wl',
53277 + # but is careful enough not to reorder.
53278 + # Supported since Solaris 2.6 (maybe 2.5.1?)
53279 + if test "$GCC" = yes; then
53280 + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
53281 + else
53282 + whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
53283 + fi
53284 + ;;
53285 + esac
53286 + link_all_deplibs=yes
53287 + ;;
53289 + sunos4*)
53290 + if test "x$host_vendor" = xsequent; then
53291 + # Use $CC to link under sequent, because it throws in some extra .o
53292 + # files that make .init and .fini sections work.
53293 + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
53294 + else
53295 + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
53296 + fi
53297 + hardcode_libdir_flag_spec='-L$libdir'
53298 + hardcode_direct=yes
53299 + hardcode_minus_L=yes
53300 + hardcode_shlibpath_var=no
53301 + ;;
53303 + sysv4)
53304 + case $host_vendor in
53305 + sni)
53306 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
53307 + hardcode_direct=yes # is this really true???
53308 + ;;
53309 + siemens)
53310 + ## LD is ld it makes a PLAMLIB
53311 + ## CC just makes a GrossModule.
53312 + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
53313 + reload_cmds='$CC -r -o $output$reload_objs'
53314 + hardcode_direct=no
53315 + ;;
53316 + motorola)
53317 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
53318 + hardcode_direct=no #Motorola manual says yes, but my tests say they lie
53319 + ;;
53320 + esac
53321 + runpath_var='LD_RUN_PATH'
53322 + hardcode_shlibpath_var=no
53323 + ;;
53325 + sysv4.3*)
53326 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
53327 + hardcode_shlibpath_var=no
53328 + export_dynamic_flag_spec='-Bexport'
53329 + ;;
53331 + sysv4*MP*)
53332 + if test -d /usr/nec; then
53333 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
53334 + hardcode_shlibpath_var=no
53335 + runpath_var=LD_RUN_PATH
53336 + hardcode_runpath_var=yes
53337 + ld_shlibs=yes
53338 + fi
53339 + ;;
53341 + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
53342 + no_undefined_flag='${wl}-z,text'
53343 + archive_cmds_need_lc=no
53344 + hardcode_shlibpath_var=no
53345 + runpath_var='LD_RUN_PATH'
53347 + if test "$GCC" = yes; then
53348 + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53349 + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53350 + else
53351 + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53352 + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53353 + fi
53354 + ;;
53356 + sysv5* | sco3.2v5* | sco5v6*)
53357 + # Note: We can NOT use -z defs as we might desire, because we do not
53358 + # link with -lc, and that would cause any symbols used from libc to
53359 + # always be unresolved, which means just about no library would
53360 + # ever link correctly. If we're not using GNU ld we use -z text
53361 + # though, which does catch some bad symbols but isn't as heavy-handed
53362 + # as -z defs.
53363 + no_undefined_flag='${wl}-z,text'
53364 + allow_undefined_flag='${wl}-z,nodefs'
53365 + archive_cmds_need_lc=no
53366 + hardcode_shlibpath_var=no
53367 + hardcode_libdir_flag_spec='${wl}-R,$libdir'
53368 + hardcode_libdir_separator=':'
53369 + link_all_deplibs=yes
53370 + export_dynamic_flag_spec='${wl}-Bexport'
53371 + runpath_var='LD_RUN_PATH'
53373 + if test "$GCC" = yes; then
53374 + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53375 + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53376 + else
53377 + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53378 + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
53379 + fi
53380 + ;;
53382 + uts4*)
53383 + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
53384 + hardcode_libdir_flag_spec='-L$libdir'
53385 + hardcode_shlibpath_var=no
53386 + ;;
53388 + *)
53389 + ld_shlibs=no
53390 + ;;
53391 + esac
53393 + if test x$host_vendor = xsni; then
53394 + case $host in
53395 + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
53396 + export_dynamic_flag_spec='${wl}-Blargedynsym'
53397 + ;;
53398 + esac
53399 + fi
53400 + fi
53402 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
53403 +$as_echo "$ld_shlibs" >&6; }
53404 +test "$ld_shlibs" = no && can_build_shared=no
53406 +with_gnu_ld=$with_gnu_ld
53423 +# Do we need to explicitly link libc?
53425 +case "x$archive_cmds_need_lc" in
53426 +x|xyes)
53427 + # Assume -lc should be added
53428 + archive_cmds_need_lc=yes
53430 + if test "$enable_shared" = yes && test "$GCC" = yes; then
53431 + case $archive_cmds in
53432 + *'~'*)
53433 + # FIXME: we may have to deal with multi-command sequences.
53434 + ;;
53435 + '$CC '*)
53436 + # Test whether the compiler implicitly links with -lc since on some
53437 + # systems, -lgcc has to come before -lc. If gcc already passes -lc
53438 + # to ld, don't add -lc before -lgcc.
53439 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
53440 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
53441 +if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
53442 + $as_echo_n "(cached) " >&6
53443 +else
53444 + $RM conftest*
53445 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
53447 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
53448 + (eval $ac_compile) 2>&5
53449 + ac_status=$?
53450 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
53451 + test $ac_status = 0; } 2>conftest.err; then
53452 + soname=conftest
53453 + lib=conftest
53454 + libobjs=conftest.$ac_objext
53455 + deplibs=
53456 + wl=$lt_prog_compiler_wl
53457 + pic_flag=$lt_prog_compiler_pic
53458 + compiler_flags=-v
53459 + linker_flags=-v
53460 + verstring=
53461 + output_objdir=.
53462 + libname=conftest
53463 + lt_save_allow_undefined_flag=$allow_undefined_flag
53464 + allow_undefined_flag=
53465 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
53466 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
53467 + ac_status=$?
53468 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
53469 + test $ac_status = 0; }
53470 + then
53471 + lt_cv_archive_cmds_need_lc=no
53472 + else
53473 + lt_cv_archive_cmds_need_lc=yes
53474 + fi
53475 + allow_undefined_flag=$lt_save_allow_undefined_flag
53476 + else
53477 + cat conftest.err 1>&5
53478 + fi
53479 + $RM conftest*
53482 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
53483 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
53484 + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
53485 + ;;
53486 + esac
53487 + fi
53488 + ;;
53489 +esac
53647 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
53648 +$as_echo_n "checking dynamic linker characteristics... " >&6; }
53650 +if test "$GCC" = yes; then
53651 + case $host_os in
53652 + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
53653 + *) lt_awk_arg="/^libraries:/" ;;
53654 + esac
53655 + case $host_os in
53656 + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
53657 + *) lt_sed_strip_eq="s,=/,/,g" ;;
53658 + esac
53659 + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
53660 + case $lt_search_path_spec in
53661 + *\;*)
53662 + # if the path contains ";" then we assume it to be the separator
53663 + # otherwise default to the standard path separator (i.e. ":") - it is
53664 + # assumed that no part of a normal pathname contains ";" but that should
53665 + # okay in the real world where ";" in dirpaths is itself problematic.
53666 + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
53667 + ;;
53668 + *)
53669 + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
53670 + ;;
53671 + esac
53672 + # Ok, now we have the path, separated by spaces, we can step through it
53673 + # and add multilib dir if necessary.
53674 + lt_tmp_lt_search_path_spec=
53675 + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
53676 + for lt_sys_path in $lt_search_path_spec; do
53677 + if test -d "$lt_sys_path/$lt_multi_os_dir"; then
53678 + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
53679 + else
53680 + test -d "$lt_sys_path" && \
53681 + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
53682 + fi
53683 + done
53684 + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
53685 +BEGIN {RS=" "; FS="/|\n";} {
53686 + lt_foo="";
53687 + lt_count=0;
53688 + for (lt_i = NF; lt_i > 0; lt_i--) {
53689 + if ($lt_i != "" && $lt_i != ".") {
53690 + if ($lt_i == "..") {
53691 + lt_count++;
53692 + } else {
53693 + if (lt_count == 0) {
53694 + lt_foo="/" $lt_i lt_foo;
53695 + } else {
53696 + lt_count--;
53701 + if (lt_foo != "") { lt_freq[lt_foo]++; }
53702 + if (lt_freq[lt_foo] == 1) { print lt_foo; }
53703 +}'`
53704 + # AWK program above erroneously prepends '/' to C:/dos/paths
53705 + # for these hosts.
53706 + case $host_os in
53707 + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
53708 + $SED 's,/\([A-Za-z]:\),\1,g'` ;;
53709 + esac
53710 + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
53711 +else
53712 + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
53714 +library_names_spec=
53715 +libname_spec='lib$name'
53716 +soname_spec=
53717 +shrext_cmds=".so"
53718 +postinstall_cmds=
53719 +postuninstall_cmds=
53720 +finish_cmds=
53721 +finish_eval=
53722 +shlibpath_var=
53723 +shlibpath_overrides_runpath=unknown
53724 +version_type=none
53725 +dynamic_linker="$host_os ld.so"
53726 +sys_lib_dlsearch_path_spec="/lib /usr/lib"
53727 +need_lib_prefix=unknown
53728 +hardcode_into_libs=no
53730 +# when you set need_version to no, make sure it does not cause -set_version
53731 +# flags to be left without arguments
53732 +need_version=unknown
53734 +case $host_os in
53735 +aix3*)
53736 + version_type=linux
53737 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
53738 + shlibpath_var=LIBPATH
53740 + # AIX 3 has no versioning support, so we append a major version to the name.
53741 + soname_spec='${libname}${release}${shared_ext}$major'
53742 + ;;
53744 +aix[4-9]*)
53745 + version_type=linux
53746 + need_lib_prefix=no
53747 + need_version=no
53748 + hardcode_into_libs=yes
53749 + if test "$host_cpu" = ia64; then
53750 + # AIX 5 supports IA64
53751 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
53752 + shlibpath_var=LD_LIBRARY_PATH
53753 + else
53754 + # With GCC up to 2.95.x, collect2 would create an import file
53755 + # for dependence libraries. The import file would start with
53756 + # the line `#! .'. This would cause the generated library to
53757 + # depend on `.', always an invalid library. This was fixed in
53758 + # development snapshots of GCC prior to 3.0.
53759 + case $host_os in
53760 + aix4 | aix4.[01] | aix4.[01].*)
53761 + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
53762 + echo ' yes '
53763 + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
53765 + else
53766 + can_build_shared=no
53767 + fi
53768 + ;;
53769 + esac
53770 + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
53771 + # soname into executable. Probably we can add versioning support to
53772 + # collect2, so additional links can be useful in future.
53773 + if test "$aix_use_runtimelinking" = yes; then
53774 + # If using run time linking (on AIX 4.2 or later) use lib<name>.so
53775 + # instead of lib<name>.a to let people know that these are not
53776 + # typical AIX shared libraries.
53777 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
53778 + else
53779 + # We preserve .a as extension for shared libraries through AIX4.2
53780 + # and later when we are not doing run time linking.
53781 + library_names_spec='${libname}${release}.a $libname.a'
53782 + soname_spec='${libname}${release}${shared_ext}$major'
53783 + fi
53784 + shlibpath_var=LIBPATH
53785 + fi
53786 + ;;
53788 +amigaos*)
53789 + case $host_cpu in
53790 + powerpc)
53791 + # Since July 2007 AmigaOS4 officially supports .so libraries.
53792 + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
53793 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
53794 + ;;
53795 + m68k)
53796 + library_names_spec='$libname.ixlibrary $libname.a'
53797 + # Create ${libname}_ixlibrary.a entries in /sys/libs.
53798 + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
53799 + ;;
53800 + esac
53801 + ;;
53803 +beos*)
53804 + library_names_spec='${libname}${shared_ext}'
53805 + dynamic_linker="$host_os ld.so"
53806 + shlibpath_var=LIBRARY_PATH
53807 + ;;
53809 +bsdi[45]*)
53810 + version_type=linux
53811 + need_version=no
53812 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
53813 + soname_spec='${libname}${release}${shared_ext}$major'
53814 + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
53815 + shlibpath_var=LD_LIBRARY_PATH
53816 + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
53817 + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
53818 + # the default ld.so.conf also contains /usr/contrib/lib and
53819 + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
53820 + # libtool to hard-code these into programs
53821 + ;;
53823 +cygwin* | mingw* | pw32* | cegcc*)
53824 + version_type=windows
53825 + shrext_cmds=".dll"
53826 + need_version=no
53827 + need_lib_prefix=no
53829 + case $GCC,$host_os in
53830 + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
53831 + library_names_spec='$libname.dll.a'
53832 + # DLL is installed to $(libdir)/../bin by postinstall_cmds
53833 + postinstall_cmds='base_file=`basename \${file}`~
53834 + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
53835 + dldir=$destdir/`dirname \$dlpath`~
53836 + test -d \$dldir || mkdir -p \$dldir~
53837 + $install_prog $dir/$dlname \$dldir/$dlname~
53838 + chmod a+x \$dldir/$dlname~
53839 + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
53840 + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
53841 + fi'
53842 + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
53843 + dlpath=$dir/\$dldll~
53844 + $RM \$dlpath'
53845 + shlibpath_overrides_runpath=yes
53847 + case $host_os in
53848 + cygwin*)
53849 + # Cygwin DLLs use 'cyg' prefix rather than 'lib'
53850 + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
53852 + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
53853 + ;;
53854 + mingw* | cegcc*)
53855 + # MinGW DLLs use traditional 'lib' prefix
53856 + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
53857 + ;;
53858 + pw32*)
53859 + # pw32 DLLs use 'pw' prefix rather than 'lib'
53860 + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
53861 + ;;
53862 + esac
53863 + ;;
53865 + *)
53866 + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
53867 + ;;
53868 + esac
53869 + dynamic_linker='Win32 ld.exe'
53870 + # FIXME: first we should search . and the directory the executable is in
53871 + shlibpath_var=PATH
53872 + ;;
53874 +darwin* | rhapsody*)
53875 + dynamic_linker="$host_os dyld"
53876 + version_type=darwin
53877 + need_lib_prefix=no
53878 + need_version=no
53879 + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
53880 + soname_spec='${libname}${release}${major}$shared_ext'
53881 + shlibpath_overrides_runpath=yes
53882 + shlibpath_var=DYLD_LIBRARY_PATH
53883 + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
53885 + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
53886 + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
53887 + ;;
53889 +dgux*)
53890 + version_type=linux
53891 + need_lib_prefix=no
53892 + need_version=no
53893 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
53894 + soname_spec='${libname}${release}${shared_ext}$major'
53895 + shlibpath_var=LD_LIBRARY_PATH
53896 + ;;
53898 +freebsd* | dragonfly*)
53899 + # DragonFly does not have aout. When/if they implement a new
53900 + # versioning mechanism, adjust this.
53901 + if test -x /usr/bin/objformat; then
53902 + objformat=`/usr/bin/objformat`
53903 + else
53904 + case $host_os in
53905 + freebsd[23].*) objformat=aout ;;
53906 + *) objformat=elf ;;
53907 + esac
53908 + fi
53909 + version_type=freebsd-$objformat
53910 + case $version_type in
53911 + freebsd-elf*)
53912 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
53913 + need_version=no
53914 + need_lib_prefix=no
53915 + ;;
53916 + freebsd-*)
53917 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
53918 + need_version=yes
53919 + ;;
53920 + esac
53921 + shlibpath_var=LD_LIBRARY_PATH
53922 + case $host_os in
53923 + freebsd2.*)
53924 + shlibpath_overrides_runpath=yes
53925 + ;;
53926 + freebsd3.[01]* | freebsdelf3.[01]*)
53927 + shlibpath_overrides_runpath=yes
53928 + hardcode_into_libs=yes
53929 + ;;
53930 + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
53931 + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
53932 + shlibpath_overrides_runpath=no
53933 + hardcode_into_libs=yes
53934 + ;;
53935 + *) # from 4.6 on, and DragonFly
53936 + shlibpath_overrides_runpath=yes
53937 + hardcode_into_libs=yes
53938 + ;;
53939 + esac
53940 + ;;
53942 +gnu*)
53943 + version_type=linux
53944 + need_lib_prefix=no
53945 + need_version=no
53946 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
53947 + soname_spec='${libname}${release}${shared_ext}$major'
53948 + shlibpath_var=LD_LIBRARY_PATH
53949 + hardcode_into_libs=yes
53950 + ;;
53952 +haiku*)
53953 + version_type=linux
53954 + need_lib_prefix=no
53955 + need_version=no
53956 + dynamic_linker="$host_os runtime_loader"
53957 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
53958 + soname_spec='${libname}${release}${shared_ext}$major'
53959 + shlibpath_var=LIBRARY_PATH
53960 + shlibpath_overrides_runpath=yes
53961 + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
53962 + hardcode_into_libs=yes
53963 + ;;
53965 +hpux9* | hpux10* | hpux11*)
53966 + # Give a soname corresponding to the major version so that dld.sl refuses to
53967 + # link against other versions.
53968 + version_type=sunos
53969 + need_lib_prefix=no
53970 + need_version=no
53971 + case $host_cpu in
53972 + ia64*)
53973 + shrext_cmds='.so'
53974 + hardcode_into_libs=yes
53975 + dynamic_linker="$host_os dld.so"
53976 + shlibpath_var=LD_LIBRARY_PATH
53977 + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
53978 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
53979 + soname_spec='${libname}${release}${shared_ext}$major'
53980 + if test "X$HPUX_IA64_MODE" = X32; then
53981 + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
53982 + else
53983 + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
53984 + fi
53985 + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
53986 + ;;
53987 + hppa*64*)
53988 + shrext_cmds='.sl'
53989 + hardcode_into_libs=yes
53990 + dynamic_linker="$host_os dld.sl"
53991 + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
53992 + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
53993 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
53994 + soname_spec='${libname}${release}${shared_ext}$major'
53995 + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
53996 + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
53997 + ;;
53998 + *)
53999 + shrext_cmds='.sl'
54000 + dynamic_linker="$host_os dld.sl"
54001 + shlibpath_var=SHLIB_PATH
54002 + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
54003 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54004 + soname_spec='${libname}${release}${shared_ext}$major'
54005 + ;;
54006 + esac
54007 + # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
54008 + postinstall_cmds='chmod 555 $lib'
54009 + # or fails outright, so override atomically:
54010 + install_override_mode=555
54011 + ;;
54013 +interix[3-9]*)
54014 + version_type=linux
54015 + need_lib_prefix=no
54016 + need_version=no
54017 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
54018 + soname_spec='${libname}${release}${shared_ext}$major'
54019 + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
54020 + shlibpath_var=LD_LIBRARY_PATH
54021 + shlibpath_overrides_runpath=no
54022 + hardcode_into_libs=yes
54023 + ;;
54025 +irix5* | irix6* | nonstopux*)
54026 + case $host_os in
54027 + nonstopux*) version_type=nonstopux ;;
54028 + *)
54029 + if test "$lt_cv_prog_gnu_ld" = yes; then
54030 + version_type=linux
54031 + else
54032 + version_type=irix
54033 + fi ;;
54034 + esac
54035 + need_lib_prefix=no
54036 + need_version=no
54037 + soname_spec='${libname}${release}${shared_ext}$major'
54038 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
54039 + case $host_os in
54040 + irix5* | nonstopux*)
54041 + libsuff= shlibsuff=
54042 + ;;
54043 + *)
54044 + case $LD in # libtool.m4 will add one of these switches to LD
54045 + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
54046 + libsuff= shlibsuff= libmagic=32-bit;;
54047 + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
54048 + libsuff=32 shlibsuff=N32 libmagic=N32;;
54049 + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
54050 + libsuff=64 shlibsuff=64 libmagic=64-bit;;
54051 + *) libsuff= shlibsuff= libmagic=never-match;;
54052 + esac
54053 + ;;
54054 + esac
54055 + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
54056 + shlibpath_overrides_runpath=no
54057 + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
54058 + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
54059 + hardcode_into_libs=yes
54060 + ;;
54062 +# No shared lib support for Linux oldld, aout, or coff.
54063 +linux*oldld* | linux*aout* | linux*coff*)
54064 + dynamic_linker=no
54065 + ;;
54067 +# This must be Linux ELF.
54068 +linux* | k*bsd*-gnu | kopensolaris*-gnu)
54069 + version_type=linux
54070 + need_lib_prefix=no
54071 + need_version=no
54072 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54073 + soname_spec='${libname}${release}${shared_ext}$major'
54074 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
54075 + shlibpath_var=LD_LIBRARY_PATH
54076 + shlibpath_overrides_runpath=no
54078 + # Some binutils ld are patched to set DT_RUNPATH
54079 + if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
54080 + $as_echo_n "(cached) " >&6
54081 +else
54082 + lt_cv_shlibpath_overrides_runpath=no
54083 + save_LDFLAGS=$LDFLAGS
54084 + save_libdir=$libdir
54085 + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
54086 + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
54087 + if test x$gcc_no_link = xyes; then
54088 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
54090 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
54091 +/* end confdefs.h. */
54093 +int
54094 +main ()
54098 + return 0;
54100 +_ACEOF
54101 +if ac_fn_c_try_link "$LINENO"; then :
54102 + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
54103 + lt_cv_shlibpath_overrides_runpath=yes
54106 +rm -f core conftest.err conftest.$ac_objext \
54107 + conftest$ac_exeext conftest.$ac_ext
54108 + LDFLAGS=$save_LDFLAGS
54109 + libdir=$save_libdir
54113 + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
54115 + # This implies no fast_install, which is unacceptable.
54116 + # Some rework will be needed to allow for fast_install
54117 + # before this can be enabled.
54118 + hardcode_into_libs=yes
54120 + # Append ld.so.conf contents to the search path
54121 + if test -f /etc/ld.so.conf; then
54122 + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
54123 + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
54124 + fi
54126 + # We used to test for /lib/ld.so.1 and disable shared libraries on
54127 + # powerpc, because MkLinux only supported shared libraries with the
54128 + # GNU dynamic linker. Since this was broken with cross compilers,
54129 + # most powerpc-linux boxes support dynamic linking these days and
54130 + # people can always --disable-shared, the test was removed, and we
54131 + # assume the GNU/Linux dynamic linker is in use.
54132 + dynamic_linker='GNU/Linux ld.so'
54133 + ;;
54135 +netbsd*)
54136 + version_type=sunos
54137 + need_lib_prefix=no
54138 + need_version=no
54139 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
54140 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
54141 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
54142 + dynamic_linker='NetBSD (a.out) ld.so'
54143 + else
54144 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
54145 + soname_spec='${libname}${release}${shared_ext}$major'
54146 + dynamic_linker='NetBSD ld.elf_so'
54147 + fi
54148 + shlibpath_var=LD_LIBRARY_PATH
54149 + shlibpath_overrides_runpath=yes
54150 + hardcode_into_libs=yes
54151 + ;;
54153 +newsos6)
54154 + version_type=linux
54155 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54156 + shlibpath_var=LD_LIBRARY_PATH
54157 + shlibpath_overrides_runpath=yes
54158 + ;;
54160 +*nto* | *qnx*)
54161 + version_type=qnx
54162 + need_lib_prefix=no
54163 + need_version=no
54164 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54165 + soname_spec='${libname}${release}${shared_ext}$major'
54166 + shlibpath_var=LD_LIBRARY_PATH
54167 + shlibpath_overrides_runpath=no
54168 + hardcode_into_libs=yes
54169 + dynamic_linker='ldqnx.so'
54170 + ;;
54172 +openbsd*)
54173 + version_type=sunos
54174 + sys_lib_dlsearch_path_spec="/usr/lib"
54175 + need_lib_prefix=no
54176 + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
54177 + case $host_os in
54178 + openbsd3.3 | openbsd3.3.*) need_version=yes ;;
54179 + *) need_version=no ;;
54180 + esac
54181 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
54182 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
54183 + shlibpath_var=LD_LIBRARY_PATH
54184 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
54185 + case $host_os in
54186 + openbsd2.[89] | openbsd2.[89].*)
54187 + shlibpath_overrides_runpath=no
54188 + ;;
54189 + *)
54190 + shlibpath_overrides_runpath=yes
54191 + ;;
54192 + esac
54193 + else
54194 + shlibpath_overrides_runpath=yes
54195 + fi
54196 + ;;
54198 +os2*)
54199 + libname_spec='$name'
54200 + shrext_cmds=".dll"
54201 + need_lib_prefix=no
54202 + library_names_spec='$libname${shared_ext} $libname.a'
54203 + dynamic_linker='OS/2 ld.exe'
54204 + shlibpath_var=LIBPATH
54205 + ;;
54207 +osf3* | osf4* | osf5*)
54208 + version_type=osf
54209 + need_lib_prefix=no
54210 + need_version=no
54211 + soname_spec='${libname}${release}${shared_ext}$major'
54212 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54213 + shlibpath_var=LD_LIBRARY_PATH
54214 + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
54215 + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
54216 + ;;
54218 +rdos*)
54219 + dynamic_linker=no
54220 + ;;
54222 +solaris*)
54223 + version_type=linux
54224 + need_lib_prefix=no
54225 + need_version=no
54226 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54227 + soname_spec='${libname}${release}${shared_ext}$major'
54228 + shlibpath_var=LD_LIBRARY_PATH
54229 + shlibpath_overrides_runpath=yes
54230 + hardcode_into_libs=yes
54231 + # ldd complains unless libraries are executable
54232 + postinstall_cmds='chmod +x $lib'
54233 + ;;
54235 +sunos4*)
54236 + version_type=sunos
54237 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
54238 + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
54239 + shlibpath_var=LD_LIBRARY_PATH
54240 + shlibpath_overrides_runpath=yes
54241 + if test "$with_gnu_ld" = yes; then
54242 + need_lib_prefix=no
54243 + fi
54244 + need_version=yes
54245 + ;;
54247 +sysv4 | sysv4.3*)
54248 + version_type=linux
54249 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54250 + soname_spec='${libname}${release}${shared_ext}$major'
54251 + shlibpath_var=LD_LIBRARY_PATH
54252 + case $host_vendor in
54253 + sni)
54254 + shlibpath_overrides_runpath=no
54255 + need_lib_prefix=no
54256 + runpath_var=LD_RUN_PATH
54257 + ;;
54258 + siemens)
54259 + need_lib_prefix=no
54260 + ;;
54261 + motorola)
54262 + need_lib_prefix=no
54263 + need_version=no
54264 + shlibpath_overrides_runpath=no
54265 + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
54266 + ;;
54267 + esac
54268 + ;;
54270 +sysv4*MP*)
54271 + if test -d /usr/nec ;then
54272 + version_type=linux
54273 + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
54274 + soname_spec='$libname${shared_ext}.$major'
54275 + shlibpath_var=LD_LIBRARY_PATH
54276 + fi
54277 + ;;
54279 +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
54280 + version_type=freebsd-elf
54281 + need_lib_prefix=no
54282 + need_version=no
54283 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
54284 + soname_spec='${libname}${release}${shared_ext}$major'
54285 + shlibpath_var=LD_LIBRARY_PATH
54286 + shlibpath_overrides_runpath=yes
54287 + hardcode_into_libs=yes
54288 + if test "$with_gnu_ld" = yes; then
54289 + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
54290 + else
54291 + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
54292 + case $host_os in
54293 + sco3.2v5*)
54294 + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
54295 + ;;
54296 + esac
54297 + fi
54298 + sys_lib_dlsearch_path_spec='/usr/lib'
54299 + ;;
54301 +tpf*)
54302 + # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
54303 + version_type=linux
54304 + need_lib_prefix=no
54305 + need_version=no
54306 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54307 + shlibpath_var=LD_LIBRARY_PATH
54308 + shlibpath_overrides_runpath=no
54309 + hardcode_into_libs=yes
54310 + ;;
54312 +uts4*)
54313 + version_type=linux
54314 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
54315 + soname_spec='${libname}${release}${shared_ext}$major'
54316 + shlibpath_var=LD_LIBRARY_PATH
54317 + ;;
54320 + dynamic_linker=no
54321 + ;;
54322 +esac
54323 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
54324 +$as_echo "$dynamic_linker" >&6; }
54325 +test "$dynamic_linker" = no && can_build_shared=no
54327 +variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
54328 +if test "$GCC" = yes; then
54329 + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
54332 +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
54333 + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
54335 +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
54336 + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
54430 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
54431 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
54432 +hardcode_action=
54433 +if test -n "$hardcode_libdir_flag_spec" ||
54434 + test -n "$runpath_var" ||
54435 + test "X$hardcode_automatic" = "Xyes" ; then
54437 + # We can hardcode non-existent directories.
54438 + if test "$hardcode_direct" != no &&
54439 + # If the only mechanism to avoid hardcoding is shlibpath_var, we
54440 + # have to relink, otherwise we might link with an installed library
54441 + # when we should be linking with a yet-to-be-installed one
54442 + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
54443 + test "$hardcode_minus_L" != no; then
54444 + # Linking always hardcodes the temporary library directory.
54445 + hardcode_action=relink
54446 + else
54447 + # We can link without hardcoding, and we can hardcode nonexisting dirs.
54448 + hardcode_action=immediate
54449 + fi
54450 +else
54451 + # We cannot hardcode anything, or else we can only hardcode existing
54452 + # directories.
54453 + hardcode_action=unsupported
54455 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
54456 +$as_echo "$hardcode_action" >&6; }
54458 +if test "$hardcode_action" = relink ||
54459 + test "$inherit_rpath" = yes; then
54460 + # Fast installation is not supported
54461 + enable_fast_install=no
54462 +elif test "$shlibpath_overrides_runpath" = yes ||
54463 + test "$enable_shared" = no; then
54464 + # Fast installation is not necessary
54465 + enable_fast_install=needless
54473 + if test "x$enable_dlopen" != xyes; then
54474 + enable_dlopen=unknown
54475 + enable_dlopen_self=unknown
54476 + enable_dlopen_self_static=unknown
54477 +else
54478 + lt_cv_dlopen=no
54479 + lt_cv_dlopen_libs=
54481 + case $host_os in
54482 + beos*)
54483 + lt_cv_dlopen="load_add_on"
54484 + lt_cv_dlopen_libs=
54485 + lt_cv_dlopen_self=yes
54486 + ;;
54488 + mingw* | pw32* | cegcc*)
54489 + lt_cv_dlopen="LoadLibrary"
54490 + lt_cv_dlopen_libs=
54491 + ;;
54493 + cygwin*)
54494 + lt_cv_dlopen="dlopen"
54495 + lt_cv_dlopen_libs=
54496 + ;;
54498 + darwin*)
54499 + # if libdl is installed we need to link against it
54500 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
54501 +$as_echo_n "checking for dlopen in -ldl... " >&6; }
54502 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
54503 + $as_echo_n "(cached) " >&6
54504 +else
54505 + ac_check_lib_save_LIBS=$LIBS
54506 +LIBS="-ldl $LIBS"
54507 +if test x$gcc_no_link = xyes; then
54508 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
54510 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
54511 +/* end confdefs.h. */
54513 +/* Override any GCC internal prototype to avoid an error.
54514 + Use char because int might match the return type of a GCC
54515 + builtin and then its argument prototype would still apply. */
54516 +#ifdef __cplusplus
54517 +extern "C"
54518 +#endif
54519 +char dlopen ();
54520 +int
54521 +main ()
54523 +return dlopen ();
54525 + return 0;
54527 +_ACEOF
54528 +if ac_fn_c_try_link "$LINENO"; then :
54529 + ac_cv_lib_dl_dlopen=yes
54530 +else
54531 + ac_cv_lib_dl_dlopen=no
54533 +rm -f core conftest.err conftest.$ac_objext \
54534 + conftest$ac_exeext conftest.$ac_ext
54535 +LIBS=$ac_check_lib_save_LIBS
54537 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
54538 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
54539 +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
54540 + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
54541 +else
54543 + lt_cv_dlopen="dyld"
54544 + lt_cv_dlopen_libs=
54545 + lt_cv_dlopen_self=yes
54549 + ;;
54551 + *)
54552 + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
54553 +if test "x$ac_cv_func_shl_load" = x""yes; then :
54554 + lt_cv_dlopen="shl_load"
54555 +else
54556 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
54557 +$as_echo_n "checking for shl_load in -ldld... " >&6; }
54558 +if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
54559 + $as_echo_n "(cached) " >&6
54560 +else
54561 + ac_check_lib_save_LIBS=$LIBS
54562 +LIBS="-ldld $LIBS"
54563 +if test x$gcc_no_link = xyes; then
54564 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
54566 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
54567 +/* end confdefs.h. */
54569 +/* Override any GCC internal prototype to avoid an error.
54570 + Use char because int might match the return type of a GCC
54571 + builtin and then its argument prototype would still apply. */
54572 +#ifdef __cplusplus
54573 +extern "C"
54574 +#endif
54575 +char shl_load ();
54576 +int
54577 +main ()
54579 +return shl_load ();
54581 + return 0;
54583 +_ACEOF
54584 +if ac_fn_c_try_link "$LINENO"; then :
54585 + ac_cv_lib_dld_shl_load=yes
54586 +else
54587 + ac_cv_lib_dld_shl_load=no
54589 +rm -f core conftest.err conftest.$ac_objext \
54590 + conftest$ac_exeext conftest.$ac_ext
54591 +LIBS=$ac_check_lib_save_LIBS
54593 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
54594 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
54595 +if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
54596 + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
54597 +else
54598 + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
54599 +if test "x$ac_cv_func_dlopen" = x""yes; then :
54600 + lt_cv_dlopen="dlopen"
54601 +else
54602 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
54603 +$as_echo_n "checking for dlopen in -ldl... " >&6; }
54604 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
54605 + $as_echo_n "(cached) " >&6
54606 +else
54607 + ac_check_lib_save_LIBS=$LIBS
54608 +LIBS="-ldl $LIBS"
54609 +if test x$gcc_no_link = xyes; then
54610 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
54612 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
54613 +/* end confdefs.h. */
54615 +/* Override any GCC internal prototype to avoid an error.
54616 + Use char because int might match the return type of a GCC
54617 + builtin and then its argument prototype would still apply. */
54618 +#ifdef __cplusplus
54619 +extern "C"
54620 +#endif
54621 +char dlopen ();
54622 +int
54623 +main ()
54625 +return dlopen ();
54627 + return 0;
54629 +_ACEOF
54630 +if ac_fn_c_try_link "$LINENO"; then :
54631 + ac_cv_lib_dl_dlopen=yes
54632 +else
54633 + ac_cv_lib_dl_dlopen=no
54635 +rm -f core conftest.err conftest.$ac_objext \
54636 + conftest$ac_exeext conftest.$ac_ext
54637 +LIBS=$ac_check_lib_save_LIBS
54639 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
54640 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
54641 +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
54642 + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
54643 +else
54644 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
54645 +$as_echo_n "checking for dlopen in -lsvld... " >&6; }
54646 +if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
54647 + $as_echo_n "(cached) " >&6
54648 +else
54649 + ac_check_lib_save_LIBS=$LIBS
54650 +LIBS="-lsvld $LIBS"
54651 +if test x$gcc_no_link = xyes; then
54652 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
54654 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
54655 +/* end confdefs.h. */
54657 +/* Override any GCC internal prototype to avoid an error.
54658 + Use char because int might match the return type of a GCC
54659 + builtin and then its argument prototype would still apply. */
54660 +#ifdef __cplusplus
54661 +extern "C"
54662 +#endif
54663 +char dlopen ();
54664 +int
54665 +main ()
54667 +return dlopen ();
54669 + return 0;
54671 +_ACEOF
54672 +if ac_fn_c_try_link "$LINENO"; then :
54673 + ac_cv_lib_svld_dlopen=yes
54674 +else
54675 + ac_cv_lib_svld_dlopen=no
54677 +rm -f core conftest.err conftest.$ac_objext \
54678 + conftest$ac_exeext conftest.$ac_ext
54679 +LIBS=$ac_check_lib_save_LIBS
54681 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
54682 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
54683 +if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
54684 + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
54685 +else
54686 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
54687 +$as_echo_n "checking for dld_link in -ldld... " >&6; }
54688 +if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
54689 + $as_echo_n "(cached) " >&6
54690 +else
54691 + ac_check_lib_save_LIBS=$LIBS
54692 +LIBS="-ldld $LIBS"
54693 +if test x$gcc_no_link = xyes; then
54694 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
54696 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
54697 +/* end confdefs.h. */
54699 +/* Override any GCC internal prototype to avoid an error.
54700 + Use char because int might match the return type of a GCC
54701 + builtin and then its argument prototype would still apply. */
54702 +#ifdef __cplusplus
54703 +extern "C"
54704 +#endif
54705 +char dld_link ();
54706 +int
54707 +main ()
54709 +return dld_link ();
54711 + return 0;
54713 +_ACEOF
54714 +if ac_fn_c_try_link "$LINENO"; then :
54715 + ac_cv_lib_dld_dld_link=yes
54716 +else
54717 + ac_cv_lib_dld_dld_link=no
54719 +rm -f core conftest.err conftest.$ac_objext \
54720 + conftest$ac_exeext conftest.$ac_ext
54721 +LIBS=$ac_check_lib_save_LIBS
54723 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
54724 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
54725 +if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
54726 + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
54744 + ;;
54745 + esac
54747 + if test "x$lt_cv_dlopen" != xno; then
54748 + enable_dlopen=yes
54749 + else
54750 + enable_dlopen=no
54751 + fi
54753 + case $lt_cv_dlopen in
54754 + dlopen)
54755 + save_CPPFLAGS="$CPPFLAGS"
54756 + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
54758 + save_LDFLAGS="$LDFLAGS"
54759 + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
54761 + save_LIBS="$LIBS"
54762 + LIBS="$lt_cv_dlopen_libs $LIBS"
54764 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
54765 +$as_echo_n "checking whether a program can dlopen itself... " >&6; }
54766 +if test "${lt_cv_dlopen_self+set}" = set; then :
54767 + $as_echo_n "(cached) " >&6
54768 +else
54769 + if test "$cross_compiling" = yes; then :
54770 + lt_cv_dlopen_self=cross
54771 +else
54772 + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
54773 + lt_status=$lt_dlunknown
54774 + cat > conftest.$ac_ext <<_LT_EOF
54775 +#line 11542 "configure"
54776 +#include "confdefs.h"
54778 +#if HAVE_DLFCN_H
54779 +#include <dlfcn.h>
54780 +#endif
54782 +#include <stdio.h>
54784 +#ifdef RTLD_GLOBAL
54785 +# define LT_DLGLOBAL RTLD_GLOBAL
54786 +#else
54787 +# ifdef DL_GLOBAL
54788 +# define LT_DLGLOBAL DL_GLOBAL
54789 +# else
54790 +# define LT_DLGLOBAL 0
54791 +# endif
54792 +#endif
54794 +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
54795 + find out it does not work in some platform. */
54796 +#ifndef LT_DLLAZY_OR_NOW
54797 +# ifdef RTLD_LAZY
54798 +# define LT_DLLAZY_OR_NOW RTLD_LAZY
54799 +# else
54800 +# ifdef DL_LAZY
54801 +# define LT_DLLAZY_OR_NOW DL_LAZY
54802 +# else
54803 +# ifdef RTLD_NOW
54804 +# define LT_DLLAZY_OR_NOW RTLD_NOW
54805 +# else
54806 +# ifdef DL_NOW
54807 +# define LT_DLLAZY_OR_NOW DL_NOW
54808 +# else
54809 +# define LT_DLLAZY_OR_NOW 0
54810 +# endif
54811 +# endif
54812 +# endif
54813 +# endif
54814 +#endif
54816 +/* When -fvisbility=hidden is used, assume the code has been annotated
54817 + correspondingly for the symbols needed. */
54818 +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
54819 +void fnord () __attribute__((visibility("default")));
54820 +#endif
54822 +void fnord () { int i=42; }
54823 +int main ()
54825 + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
54826 + int status = $lt_dlunknown;
54828 + if (self)
54830 + if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
54831 + else
54833 + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
54834 + else puts (dlerror ());
54836 + /* dlclose (self); */
54838 + else
54839 + puts (dlerror ());
54841 + return status;
54843 +_LT_EOF
54844 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
54845 + (eval $ac_link) 2>&5
54846 + ac_status=$?
54847 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
54848 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
54849 + (./conftest; exit; ) >&5 2>/dev/null
54850 + lt_status=$?
54851 + case x$lt_status in
54852 + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
54853 + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
54854 + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
54855 + esac
54856 + else :
54857 + # compilation failed
54858 + lt_cv_dlopen_self=no
54859 + fi
54861 +rm -fr conftest*
54865 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
54866 +$as_echo "$lt_cv_dlopen_self" >&6; }
54868 + if test "x$lt_cv_dlopen_self" = xyes; then
54869 + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
54870 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
54871 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
54872 +if test "${lt_cv_dlopen_self_static+set}" = set; then :
54873 + $as_echo_n "(cached) " >&6
54874 +else
54875 + if test "$cross_compiling" = yes; then :
54876 + lt_cv_dlopen_self_static=cross
54877 +else
54878 + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
54879 + lt_status=$lt_dlunknown
54880 + cat > conftest.$ac_ext <<_LT_EOF
54881 +#line 11648 "configure"
54882 +#include "confdefs.h"
54884 +#if HAVE_DLFCN_H
54885 +#include <dlfcn.h>
54886 +#endif
54888 +#include <stdio.h>
54890 +#ifdef RTLD_GLOBAL
54891 +# define LT_DLGLOBAL RTLD_GLOBAL
54892 +#else
54893 +# ifdef DL_GLOBAL
54894 +# define LT_DLGLOBAL DL_GLOBAL
54895 +# else
54896 +# define LT_DLGLOBAL 0
54897 +# endif
54898 +#endif
54900 +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
54901 + find out it does not work in some platform. */
54902 +#ifndef LT_DLLAZY_OR_NOW
54903 +# ifdef RTLD_LAZY
54904 +# define LT_DLLAZY_OR_NOW RTLD_LAZY
54905 +# else
54906 +# ifdef DL_LAZY
54907 +# define LT_DLLAZY_OR_NOW DL_LAZY
54908 +# else
54909 +# ifdef RTLD_NOW
54910 +# define LT_DLLAZY_OR_NOW RTLD_NOW
54911 +# else
54912 +# ifdef DL_NOW
54913 +# define LT_DLLAZY_OR_NOW DL_NOW
54914 +# else
54915 +# define LT_DLLAZY_OR_NOW 0
54916 +# endif
54917 +# endif
54918 +# endif
54919 +# endif
54920 +#endif
54922 +/* When -fvisbility=hidden is used, assume the code has been annotated
54923 + correspondingly for the symbols needed. */
54924 +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
54925 +void fnord () __attribute__((visibility("default")));
54926 +#endif
54928 +void fnord () { int i=42; }
54929 +int main ()
54931 + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
54932 + int status = $lt_dlunknown;
54934 + if (self)
54936 + if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
54937 + else
54939 + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
54940 + else puts (dlerror ());
54942 + /* dlclose (self); */
54944 + else
54945 + puts (dlerror ());
54947 + return status;
54949 +_LT_EOF
54950 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
54951 + (eval $ac_link) 2>&5
54952 + ac_status=$?
54953 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
54954 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
54955 + (./conftest; exit; ) >&5 2>/dev/null
54956 + lt_status=$?
54957 + case x$lt_status in
54958 + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
54959 + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
54960 + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
54961 + esac
54962 + else :
54963 + # compilation failed
54964 + lt_cv_dlopen_self_static=no
54965 + fi
54967 +rm -fr conftest*
54971 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
54972 +$as_echo "$lt_cv_dlopen_self_static" >&6; }
54973 + fi
54975 + CPPFLAGS="$save_CPPFLAGS"
54976 + LDFLAGS="$save_LDFLAGS"
54977 + LIBS="$save_LIBS"
54978 + ;;
54979 + esac
54981 + case $lt_cv_dlopen_self in
54982 + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
54983 + *) enable_dlopen_self=unknown ;;
54984 + esac
54986 + case $lt_cv_dlopen_self_static in
54987 + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
54988 + *) enable_dlopen_self_static=unknown ;;
54989 + esac
55008 +striplib=
55009 +old_striplib=
55010 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
55011 +$as_echo_n "checking whether stripping libraries is possible... " >&6; }
55012 +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
55013 + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
55014 + test -z "$striplib" && striplib="$STRIP --strip-unneeded"
55015 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
55016 +$as_echo "yes" >&6; }
55017 +else
55018 +# FIXME - insert some real tests, host_os isn't really good enough
55019 + case $host_os in
55020 + darwin*)
55021 + if test -n "$STRIP" ; then
55022 + striplib="$STRIP -x"
55023 + old_striplib="$STRIP -S"
55024 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
55025 +$as_echo "yes" >&6; }
55026 + else
55027 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
55028 +$as_echo "no" >&6; }
55029 + fi
55030 + ;;
55031 + *)
55032 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
55033 +$as_echo "no" >&6; }
55034 + ;;
55035 + esac
55049 + # Report which library types will actually be built
55050 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
55051 +$as_echo_n "checking if libtool supports shared libraries... " >&6; }
55052 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
55053 +$as_echo "$can_build_shared" >&6; }
55055 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
55056 +$as_echo_n "checking whether to build shared libraries... " >&6; }
55057 + test "$can_build_shared" = "no" && enable_shared=no
55059 + # On AIX, shared libraries and static libraries use the same namespace, and
55060 + # are all built from PIC.
55061 + case $host_os in
55062 + aix3*)
55063 + test "$enable_shared" = yes && enable_static=no
55064 + if test -n "$RANLIB"; then
55065 + archive_cmds="$archive_cmds~\$RANLIB \$lib"
55066 + postinstall_cmds='$RANLIB $lib'
55067 + fi
55068 + ;;
55070 + aix[4-9]*)
55071 + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
55072 + test "$enable_shared" = yes && enable_static=no
55073 + fi
55074 + ;;
55075 + esac
55076 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
55077 +$as_echo "$enable_shared" >&6; }
55079 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
55080 +$as_echo_n "checking whether to build static libraries... " >&6; }
55081 + # Make sure either enable_shared or enable_static is yes.
55082 + test "$enable_shared" = yes || enable_static=yes
55083 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
55084 +$as_echo "$enable_static" >&6; }
55090 +ac_ext=c
55091 +ac_cpp='$CPP $CPPFLAGS'
55092 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
55093 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
55094 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
55096 +CC="$lt_save_CC"
55098 + if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
55099 + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
55100 + (test "X$CXX" != "Xg++"))) ; then
55101 + ac_ext=cpp
55102 +ac_cpp='$CXXCPP $CPPFLAGS'
55103 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
55104 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
55105 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
55106 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
55107 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
55108 +if test -z "$CXXCPP"; then
55109 + if test "${ac_cv_prog_CXXCPP+set}" = set; then :
55110 + $as_echo_n "(cached) " >&6
55111 +else
55112 + # Double quotes because CXXCPP needs to be expanded
55113 + for CXXCPP in "$CXX -E" "/lib/cpp"
55114 + do
55115 + ac_preproc_ok=false
55116 +for ac_cxx_preproc_warn_flag in '' yes
55118 + # Use a header file that comes with gcc, so configuring glibc
55119 + # with a fresh cross-compiler works.
55120 + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
55121 + # <limits.h> exists even on freestanding compilers.
55122 + # On the NeXT, cc -E runs the code through the compiler's parser,
55123 + # not just through cpp. "Syntax error" is here to catch this case.
55124 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
55125 +/* end confdefs.h. */
55126 +#ifdef __STDC__
55127 +# include <limits.h>
55128 +#else
55129 +# include <assert.h>
55130 +#endif
55131 + Syntax error
55132 +_ACEOF
55133 +if ac_fn_cxx_try_cpp "$LINENO"; then :
55135 +else
55136 + # Broken: fails on valid input.
55137 +continue
55139 +rm -f conftest.err conftest.$ac_ext
55141 + # OK, works on sane cases. Now check whether nonexistent headers
55142 + # can be detected and how.
55143 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
55144 +/* end confdefs.h. */
55145 +#include <ac_nonexistent.h>
55146 +_ACEOF
55147 +if ac_fn_cxx_try_cpp "$LINENO"; then :
55148 + # Broken: success on invalid input.
55149 +continue
55150 +else
55151 + # Passes both tests.
55152 +ac_preproc_ok=:
55153 +break
55155 +rm -f conftest.err conftest.$ac_ext
55157 +done
55158 +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
55159 +rm -f conftest.err conftest.$ac_ext
55160 +if $ac_preproc_ok; then :
55161 + break
55164 + done
55165 + ac_cv_prog_CXXCPP=$CXXCPP
55168 + CXXCPP=$ac_cv_prog_CXXCPP
55169 +else
55170 + ac_cv_prog_CXXCPP=$CXXCPP
55172 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
55173 +$as_echo "$CXXCPP" >&6; }
55174 +ac_preproc_ok=false
55175 +for ac_cxx_preproc_warn_flag in '' yes
55177 + # Use a header file that comes with gcc, so configuring glibc
55178 + # with a fresh cross-compiler works.
55179 + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
55180 + # <limits.h> exists even on freestanding compilers.
55181 + # On the NeXT, cc -E runs the code through the compiler's parser,
55182 + # not just through cpp. "Syntax error" is here to catch this case.
55183 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
55184 +/* end confdefs.h. */
55185 +#ifdef __STDC__
55186 +# include <limits.h>
55187 +#else
55188 +# include <assert.h>
55189 +#endif
55190 + Syntax error
55191 +_ACEOF
55192 +if ac_fn_cxx_try_cpp "$LINENO"; then :
55194 +else
55195 + # Broken: fails on valid input.
55196 +continue
55198 +rm -f conftest.err conftest.$ac_ext
55200 + # OK, works on sane cases. Now check whether nonexistent headers
55201 + # can be detected and how.
55202 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
55203 +/* end confdefs.h. */
55204 +#include <ac_nonexistent.h>
55205 +_ACEOF
55206 +if ac_fn_cxx_try_cpp "$LINENO"; then :
55207 + # Broken: success on invalid input.
55208 +continue
55209 +else
55210 + # Passes both tests.
55211 +ac_preproc_ok=:
55212 +break
55214 +rm -f conftest.err conftest.$ac_ext
55216 +done
55217 +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
55218 +rm -f conftest.err conftest.$ac_ext
55219 +if $ac_preproc_ok; then :
55221 +else
55222 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
55223 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
55224 +as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
55225 +See \`config.log' for more details." "$LINENO" 5; }
55228 +ac_ext=c
55229 +ac_cpp='$CPP $CPPFLAGS'
55230 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
55231 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
55232 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
55234 +else
55235 + _lt_caught_CXX_error=yes
55238 +ac_ext=cpp
55239 +ac_cpp='$CXXCPP $CPPFLAGS'
55240 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
55241 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
55242 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
55244 +archive_cmds_need_lc_CXX=no
55245 +allow_undefined_flag_CXX=
55246 +always_export_symbols_CXX=no
55247 +archive_expsym_cmds_CXX=
55248 +compiler_needs_object_CXX=no
55249 +export_dynamic_flag_spec_CXX=
55250 +hardcode_direct_CXX=no
55251 +hardcode_direct_absolute_CXX=no
55252 +hardcode_libdir_flag_spec_CXX=
55253 +hardcode_libdir_flag_spec_ld_CXX=
55254 +hardcode_libdir_separator_CXX=
55255 +hardcode_minus_L_CXX=no
55256 +hardcode_shlibpath_var_CXX=unsupported
55257 +hardcode_automatic_CXX=no
55258 +inherit_rpath_CXX=no
55259 +module_cmds_CXX=
55260 +module_expsym_cmds_CXX=
55261 +link_all_deplibs_CXX=unknown
55262 +old_archive_cmds_CXX=$old_archive_cmds
55263 +reload_flag_CXX=$reload_flag
55264 +reload_cmds_CXX=$reload_cmds
55265 +no_undefined_flag_CXX=
55266 +whole_archive_flag_spec_CXX=
55267 +enable_shared_with_static_runtimes_CXX=no
55269 +# Source file extension for C++ test sources.
55270 +ac_ext=cpp
55272 +# Object file extension for compiled C++ test sources.
55273 +objext=o
55274 +objext_CXX=$objext
55276 +# No sense in running all these tests if we already determined that
55277 +# the CXX compiler isn't working. Some variables (like enable_shared)
55278 +# are currently assumed to apply to all compilers on this platform,
55279 +# and will be corrupted by setting them based on a non-working compiler.
55280 +if test "$_lt_caught_CXX_error" != yes; then
55281 + # Code to be used in simple compile tests
55282 + lt_simple_compile_test_code="int some_variable = 0;"
55284 + # Code to be used in simple link tests
55285 + lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
55287 + # ltmain only uses $CC for tagged configurations so make sure $CC is set.
55294 +# If no C compiler was specified, use CC.
55295 +LTCC=${LTCC-"$CC"}
55297 +# If no C compiler flags were specified, use CFLAGS.
55298 +LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
55300 +# Allow CC to be a program name with arguments.
55301 +compiler=$CC
55304 + # save warnings/boilerplate of simple test code
55305 + ac_outfile=conftest.$ac_objext
55306 +echo "$lt_simple_compile_test_code" >conftest.$ac_ext
55307 +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
55308 +_lt_compiler_boilerplate=`cat conftest.err`
55309 +$RM conftest*
55311 + ac_outfile=conftest.$ac_objext
55312 +echo "$lt_simple_link_test_code" >conftest.$ac_ext
55313 +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
55314 +_lt_linker_boilerplate=`cat conftest.err`
55315 +$RM -r conftest*
55318 + # Allow CC to be a program name with arguments.
55319 + lt_save_CC=$CC
55320 + lt_save_LD=$LD
55321 + lt_save_GCC=$GCC
55322 + GCC=$GXX
55323 + lt_save_with_gnu_ld=$with_gnu_ld
55324 + lt_save_path_LD=$lt_cv_path_LD
55325 + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
55326 + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
55327 + else
55328 + $as_unset lt_cv_prog_gnu_ld
55329 + fi
55330 + if test -n "${lt_cv_path_LDCXX+set}"; then
55331 + lt_cv_path_LD=$lt_cv_path_LDCXX
55332 + else
55333 + $as_unset lt_cv_path_LD
55334 + fi
55335 + test -z "${LDCXX+set}" || LD=$LDCXX
55336 + CC=${CXX-"c++"}
55337 + compiler=$CC
55338 + compiler_CXX=$CC
55339 + for cc_temp in $compiler""; do
55340 + case $cc_temp in
55341 + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
55342 + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
55343 + \-*) ;;
55344 + *) break;;
55345 + esac
55346 +done
55347 +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
55350 + if test -n "$compiler"; then
55351 + # We don't want -fno-exception when compiling C++ code, so set the
55352 + # no_builtin_flag separately
55353 + if test "$GXX" = yes; then
55354 + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
55355 + else
55356 + lt_prog_compiler_no_builtin_flag_CXX=
55357 + fi
55359 + if test "$GXX" = yes; then
55360 + # Set up default GNU C++ configuration
55364 +# Check whether --with-gnu-ld was given.
55365 +if test "${with_gnu_ld+set}" = set; then :
55366 + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
55367 +else
55368 + with_gnu_ld=no
55371 +ac_prog=ld
55372 +if test "$GCC" = yes; then
55373 + # Check if gcc -print-prog-name=ld gives a path.
55374 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
55375 +$as_echo_n "checking for ld used by $CC... " >&6; }
55376 + case $host in
55377 + *-*-mingw*)
55378 + # gcc leaves a trailing carriage return which upsets mingw
55379 + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
55380 + *)
55381 + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
55382 + esac
55383 + case $ac_prog in
55384 + # Accept absolute paths.
55385 + [\\/]* | ?:[\\/]*)
55386 + re_direlt='/[^/][^/]*/\.\./'
55387 + # Canonicalize the pathname of ld
55388 + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
55389 + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
55390 + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
55391 + done
55392 + test -z "$LD" && LD="$ac_prog"
55393 + ;;
55394 + "")
55395 + # If it fails, then pretend we aren't using GCC.
55396 + ac_prog=ld
55397 + ;;
55398 + *)
55399 + # If it is relative, then search for the first ld in PATH.
55400 + with_gnu_ld=unknown
55401 + ;;
55402 + esac
55403 +elif test "$with_gnu_ld" = yes; then
55404 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
55405 +$as_echo_n "checking for GNU ld... " >&6; }
55406 +else
55407 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
55408 +$as_echo_n "checking for non-GNU ld... " >&6; }
55410 +if test "${lt_cv_path_LD+set}" = set; then :
55411 + $as_echo_n "(cached) " >&6
55412 +else
55413 + if test -z "$LD"; then
55414 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
55415 + for ac_dir in $PATH; do
55416 + IFS="$lt_save_ifs"
55417 + test -z "$ac_dir" && ac_dir=.
55418 + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
55419 + lt_cv_path_LD="$ac_dir/$ac_prog"
55420 + # Check to see if the program is GNU ld. I'd rather use --version,
55421 + # but apparently some variants of GNU ld only accept -v.
55422 + # Break only if it was the GNU/non-GNU ld that we prefer.
55423 + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
55424 + *GNU* | *'with BFD'*)
55425 + test "$with_gnu_ld" != no && break
55426 + ;;
55427 + *)
55428 + test "$with_gnu_ld" != yes && break
55429 + ;;
55430 + esac
55431 + fi
55432 + done
55433 + IFS="$lt_save_ifs"
55434 +else
55435 + lt_cv_path_LD="$LD" # Let the user override the test with a path.
55439 +LD="$lt_cv_path_LD"
55440 +if test -n "$LD"; then
55441 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
55442 +$as_echo "$LD" >&6; }
55443 +else
55444 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
55445 +$as_echo "no" >&6; }
55447 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
55448 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
55449 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
55450 +if test "${lt_cv_prog_gnu_ld+set}" = set; then :
55451 + $as_echo_n "(cached) " >&6
55452 +else
55453 + # I'd rather use --version here, but apparently some GNU lds only accept -v.
55454 +case `$LD -v 2>&1 </dev/null` in
55455 +*GNU* | *'with BFD'*)
55456 + lt_cv_prog_gnu_ld=yes
55457 + ;;
55459 + lt_cv_prog_gnu_ld=no
55460 + ;;
55461 +esac
55463 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
55464 +$as_echo "$lt_cv_prog_gnu_ld" >&6; }
55465 +with_gnu_ld=$lt_cv_prog_gnu_ld
55473 + # Check if GNU C++ uses GNU ld as the underlying linker, since the
55474 + # archiving commands below assume that GNU ld is being used.
55475 + if test "$with_gnu_ld" = yes; then
55476 + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
55477 + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
55479 + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
55480 + export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
55482 + # If archive_cmds runs LD, not CC, wlarc should be empty
55483 + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
55484 + # investigate it a little bit more. (MM)
55485 + wlarc='${wl}'
55487 + # ancient GNU ld didn't support --whole-archive et. al.
55488 + if eval "`$CC -print-prog-name=ld` --help 2>&1" |
55489 + $GREP 'no-whole-archive' > /dev/null; then
55490 + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
55491 + else
55492 + whole_archive_flag_spec_CXX=
55493 + fi
55494 + else
55495 + with_gnu_ld=no
55496 + wlarc=
55498 + # A generic and very simple default shared library creation
55499 + # command for GNU C++ for the case where it uses the native
55500 + # linker, instead of GNU ld. If possible, this setting should
55501 + # overridden to take advantage of the native linker features on
55502 + # the platform it is being used on.
55503 + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
55504 + fi
55506 + # Commands to make compiler produce verbose output that lists
55507 + # what "hidden" libraries, object files and flags are used when
55508 + # linking a shared library.
55509 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
55511 + else
55512 + GXX=no
55513 + with_gnu_ld=no
55514 + wlarc=
55515 + fi
55517 + # PORTME: fill in a description of your system's C++ link characteristics
55518 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
55519 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
55520 + ld_shlibs_CXX=yes
55521 + case $host_os in
55522 + aix3*)
55523 + # FIXME: insert proper C++ library support
55524 + ld_shlibs_CXX=no
55525 + ;;
55526 + aix[4-9]*)
55527 + if test "$host_cpu" = ia64; then
55528 + # On IA64, the linker does run time linking by default, so we don't
55529 + # have to do anything special.
55530 + aix_use_runtimelinking=no
55531 + exp_sym_flag='-Bexport'
55532 + no_entry_flag=""
55533 + else
55534 + aix_use_runtimelinking=no
55536 + # Test if we are trying to use run time linking or normal
55537 + # AIX style linking. If -brtl is somewhere in LDFLAGS, we
55538 + # need to do runtime linking.
55539 + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
55540 + for ld_flag in $LDFLAGS; do
55541 + case $ld_flag in
55542 + *-brtl*)
55543 + aix_use_runtimelinking=yes
55544 + break
55545 + ;;
55546 + esac
55547 + done
55548 + ;;
55549 + esac
55551 + exp_sym_flag='-bexport'
55552 + no_entry_flag='-bnoentry'
55553 + fi
55555 + # When large executables or shared objects are built, AIX ld can
55556 + # have problems creating the table of contents. If linking a library
55557 + # or program results in "error TOC overflow" add -mminimal-toc to
55558 + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
55559 + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
55561 + archive_cmds_CXX=''
55562 + hardcode_direct_CXX=yes
55563 + hardcode_direct_absolute_CXX=yes
55564 + hardcode_libdir_separator_CXX=':'
55565 + link_all_deplibs_CXX=yes
55566 + file_list_spec_CXX='${wl}-f,'
55568 + if test "$GXX" = yes; then
55569 + case $host_os in aix4.[012]|aix4.[012].*)
55570 + # We only want to do this on AIX 4.2 and lower, the check
55571 + # below for broken collect2 doesn't work under 4.3+
55572 + collect2name=`${CC} -print-prog-name=collect2`
55573 + if test -f "$collect2name" &&
55574 + strings "$collect2name" | $GREP resolve_lib_name >/dev/null
55575 + then
55576 + # We have reworked collect2
55578 + else
55579 + # We have old collect2
55580 + hardcode_direct_CXX=unsupported
55581 + # It fails to find uninstalled libraries when the uninstalled
55582 + # path is not listed in the libpath. Setting hardcode_minus_L
55583 + # to unsupported forces relinking
55584 + hardcode_minus_L_CXX=yes
55585 + hardcode_libdir_flag_spec_CXX='-L$libdir'
55586 + hardcode_libdir_separator_CXX=
55587 + fi
55588 + esac
55589 + shared_flag='-shared'
55590 + if test "$aix_use_runtimelinking" = yes; then
55591 + shared_flag="$shared_flag "'${wl}-G'
55592 + fi
55593 + else
55594 + # not using gcc
55595 + if test "$host_cpu" = ia64; then
55596 + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
55597 + # chokes on -Wl,-G. The following line is correct:
55598 + shared_flag='-G'
55599 + else
55600 + if test "$aix_use_runtimelinking" = yes; then
55601 + shared_flag='${wl}-G'
55602 + else
55603 + shared_flag='${wl}-bM:SRE'
55604 + fi
55605 + fi
55606 + fi
55608 + export_dynamic_flag_spec_CXX='${wl}-bexpall'
55609 + # It seems that -bexpall does not export symbols beginning with
55610 + # underscore (_), so it is better to generate a list of symbols to
55611 + # export.
55612 + always_export_symbols_CXX=yes
55613 + if test "$aix_use_runtimelinking" = yes; then
55614 + # Warning - without using the other runtime loading flags (-brtl),
55615 + # -berok will link without error, but may produce a broken library.
55616 + allow_undefined_flag_CXX='-berok'
55617 + # Determine the default libpath from the value encoded in an empty
55618 + # executable.
55619 + if test x$gcc_no_link = xyes; then
55620 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
55622 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
55623 +/* end confdefs.h. */
55625 +int
55626 +main ()
55630 + return 0;
55632 +_ACEOF
55633 +if ac_fn_cxx_try_link "$LINENO"; then :
55635 +lt_aix_libpath_sed='
55636 + /Import File Strings/,/^$/ {
55637 + /^0/ {
55638 + s/^0 *\(.*\)$/\1/
55641 + }'
55642 +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
55643 +# Check for a 64-bit object if we didn't find anything.
55644 +if test -z "$aix_libpath"; then
55645 + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
55648 +rm -f core conftest.err conftest.$ac_objext \
55649 + conftest$ac_exeext conftest.$ac_ext
55650 +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
55652 + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
55654 + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
55655 + else
55656 + if test "$host_cpu" = ia64; then
55657 + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
55658 + allow_undefined_flag_CXX="-z nodefs"
55659 + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
55660 + else
55661 + # Determine the default libpath from the value encoded in an
55662 + # empty executable.
55663 + if test x$gcc_no_link = xyes; then
55664 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
55666 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
55667 +/* end confdefs.h. */
55669 +int
55670 +main ()
55674 + return 0;
55676 +_ACEOF
55677 +if ac_fn_cxx_try_link "$LINENO"; then :
55679 +lt_aix_libpath_sed='
55680 + /Import File Strings/,/^$/ {
55681 + /^0/ {
55682 + s/^0 *\(.*\)$/\1/
55685 + }'
55686 +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
55687 +# Check for a 64-bit object if we didn't find anything.
55688 +if test -z "$aix_libpath"; then
55689 + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
55692 +rm -f core conftest.err conftest.$ac_objext \
55693 + conftest$ac_exeext conftest.$ac_ext
55694 +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
55696 + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
55697 + # Warning - without using the other run time loading flags,
55698 + # -berok will link without error, but may produce a broken library.
55699 + no_undefined_flag_CXX=' ${wl}-bernotok'
55700 + allow_undefined_flag_CXX=' ${wl}-berok'
55701 + if test "$with_gnu_ld" = yes; then
55702 + # We only use this code for GNU lds that support --whole-archive.
55703 + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
55704 + else
55705 + # Exported symbols can be pulled into shared objects from archives
55706 + whole_archive_flag_spec_CXX='$convenience'
55707 + fi
55708 + archive_cmds_need_lc_CXX=yes
55709 + # This is similar to how AIX traditionally builds its shared
55710 + # libraries.
55711 + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
55712 + fi
55713 + fi
55714 + ;;
55716 + beos*)
55717 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
55718 + allow_undefined_flag_CXX=unsupported
55719 + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
55720 + # support --undefined. This deserves some investigation. FIXME
55721 + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
55722 + else
55723 + ld_shlibs_CXX=no
55724 + fi
55725 + ;;
55727 + chorus*)
55728 + case $cc_basename in
55729 + *)
55730 + # FIXME: insert proper C++ library support
55731 + ld_shlibs_CXX=no
55732 + ;;
55733 + esac
55734 + ;;
55736 + cygwin* | mingw* | pw32* | cegcc*)
55737 + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
55738 + # as there is no search path for DLLs.
55739 + hardcode_libdir_flag_spec_CXX='-L$libdir'
55740 + export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
55741 + allow_undefined_flag_CXX=unsupported
55742 + always_export_symbols_CXX=no
55743 + enable_shared_with_static_runtimes_CXX=yes
55745 + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
55746 + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
55747 + # If the export-symbols file already is a .def file (1st line
55748 + # is EXPORTS), use it as is; otherwise, prepend...
55749 + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
55750 + cp $export_symbols $output_objdir/$soname.def;
55751 + else
55752 + echo EXPORTS > $output_objdir/$soname.def;
55753 + cat $export_symbols >> $output_objdir/$soname.def;
55754 + fi~
55755 + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
55756 + else
55757 + ld_shlibs_CXX=no
55758 + fi
55759 + ;;
55760 + darwin* | rhapsody*)
55763 + archive_cmds_need_lc_CXX=no
55764 + hardcode_direct_CXX=no
55765 + hardcode_automatic_CXX=yes
55766 + hardcode_shlibpath_var_CXX=unsupported
55767 + if test "$lt_cv_ld_force_load" = "yes"; then
55768 + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
55769 + else
55770 + whole_archive_flag_spec_CXX=''
55771 + fi
55772 + link_all_deplibs_CXX=yes
55773 + allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
55774 + case $cc_basename in
55775 + ifort*) _lt_dar_can_shared=yes ;;
55776 + *) _lt_dar_can_shared=$GCC ;;
55777 + esac
55778 + if test "$_lt_dar_can_shared" = "yes"; then
55779 + output_verbose_link_cmd=func_echo_all
55780 + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
55781 + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
55782 + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
55783 + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
55784 + if test "$lt_cv_apple_cc_single_mod" != "yes"; then
55785 + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
55786 + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
55787 + fi
55789 + else
55790 + ld_shlibs_CXX=no
55791 + fi
55793 + ;;
55795 + dgux*)
55796 + case $cc_basename in
55797 + ec++*)
55798 + # FIXME: insert proper C++ library support
55799 + ld_shlibs_CXX=no
55800 + ;;
55801 + ghcx*)
55802 + # Green Hills C++ Compiler
55803 + # FIXME: insert proper C++ library support
55804 + ld_shlibs_CXX=no
55805 + ;;
55806 + *)
55807 + # FIXME: insert proper C++ library support
55808 + ld_shlibs_CXX=no
55809 + ;;
55810 + esac
55811 + ;;
55813 + freebsd2.*)
55814 + # C++ shared libraries reported to be fairly broken before
55815 + # switch to ELF
55816 + ld_shlibs_CXX=no
55817 + ;;
55819 + freebsd-elf*)
55820 + archive_cmds_need_lc_CXX=no
55821 + ;;
55823 + freebsd* | dragonfly*)
55824 + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
55825 + # conventions
55826 + ld_shlibs_CXX=yes
55827 + ;;
55829 + gnu*)
55830 + ;;
55832 + haiku*)
55833 + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
55834 + link_all_deplibs_CXX=yes
55835 + ;;
55837 + hpux9*)
55838 + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
55839 + hardcode_libdir_separator_CXX=:
55840 + export_dynamic_flag_spec_CXX='${wl}-E'
55841 + hardcode_direct_CXX=yes
55842 + hardcode_minus_L_CXX=yes # Not in the search PATH,
55843 + # but as the default
55844 + # location of the library.
55846 + case $cc_basename in
55847 + CC*)
55848 + # FIXME: insert proper C++ library support
55849 + ld_shlibs_CXX=no
55850 + ;;
55851 + aCC*)
55852 + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
55853 + # Commands to make compiler produce verbose output that lists
55854 + # what "hidden" libraries, object files and flags are used when
55855 + # linking a shared library.
55857 + # There doesn't appear to be a way to prevent this compiler from
55858 + # explicitly linking system object files so we need to strip them
55859 + # from the output so that they don't get included in the library
55860 + # dependencies.
55861 + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
55862 + ;;
55863 + *)
55864 + if test "$GXX" = yes; then
55865 + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
55866 + else
55867 + # FIXME: insert proper C++ library support
55868 + ld_shlibs_CXX=no
55869 + fi
55870 + ;;
55871 + esac
55872 + ;;
55874 + hpux10*|hpux11*)
55875 + if test $with_gnu_ld = no; then
55876 + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
55877 + hardcode_libdir_separator_CXX=:
55879 + case $host_cpu in
55880 + hppa*64*|ia64*)
55881 + ;;
55882 + *)
55883 + export_dynamic_flag_spec_CXX='${wl}-E'
55884 + ;;
55885 + esac
55886 + fi
55887 + case $host_cpu in
55888 + hppa*64*|ia64*)
55889 + hardcode_direct_CXX=no
55890 + hardcode_shlibpath_var_CXX=no
55891 + ;;
55892 + *)
55893 + hardcode_direct_CXX=yes
55894 + hardcode_direct_absolute_CXX=yes
55895 + hardcode_minus_L_CXX=yes # Not in the search PATH,
55896 + # but as the default
55897 + # location of the library.
55898 + ;;
55899 + esac
55901 + case $cc_basename in
55902 + CC*)
55903 + # FIXME: insert proper C++ library support
55904 + ld_shlibs_CXX=no
55905 + ;;
55906 + aCC*)
55907 + case $host_cpu in
55908 + hppa*64*)
55909 + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
55910 + ;;
55911 + ia64*)
55912 + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
55913 + ;;
55914 + *)
55915 + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
55916 + ;;
55917 + esac
55918 + # Commands to make compiler produce verbose output that lists
55919 + # what "hidden" libraries, object files and flags are used when
55920 + # linking a shared library.
55922 + # There doesn't appear to be a way to prevent this compiler from
55923 + # explicitly linking system object files so we need to strip them
55924 + # from the output so that they don't get included in the library
55925 + # dependencies.
55926 + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
55927 + ;;
55928 + *)
55929 + if test "$GXX" = yes; then
55930 + if test $with_gnu_ld = no; then
55931 + case $host_cpu in
55932 + hppa*64*)
55933 + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
55934 + ;;
55935 + ia64*)
55936 + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
55937 + ;;
55938 + *)
55939 + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
55940 + ;;
55941 + esac
55942 + fi
55943 + else
55944 + # FIXME: insert proper C++ library support
55945 + ld_shlibs_CXX=no
55946 + fi
55947 + ;;
55948 + esac
55949 + ;;
55951 + interix[3-9]*)
55952 + hardcode_direct_CXX=no
55953 + hardcode_shlibpath_var_CXX=no
55954 + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
55955 + export_dynamic_flag_spec_CXX='${wl}-E'
55956 + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
55957 + # Instead, shared libraries are loaded at an image base (0x10000000 by
55958 + # default) and relocated if they conflict, which is a slow very memory
55959 + # consuming and fragmenting process. To avoid this, we pick a random,
55960 + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
55961 + # time. Moving up from 0x10000000 also allows more sbrk(2) space.
55962 + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
55963 + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
55964 + ;;
55965 + irix5* | irix6*)
55966 + case $cc_basename in
55967 + CC*)
55968 + # SGI C++
55969 + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
55971 + # Archives containing C++ object files must be created using
55972 + # "CC -ar", where "CC" is the IRIX C++ compiler. This is
55973 + # necessary to make sure instantiated templates are included
55974 + # in the archive.
55975 + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
55976 + ;;
55977 + *)
55978 + if test "$GXX" = yes; then
55979 + if test "$with_gnu_ld" = no; then
55980 + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
55981 + else
55982 + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
55983 + fi
55984 + fi
55985 + link_all_deplibs_CXX=yes
55986 + ;;
55987 + esac
55988 + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
55989 + hardcode_libdir_separator_CXX=:
55990 + inherit_rpath_CXX=yes
55991 + ;;
55993 + linux* | k*bsd*-gnu | kopensolaris*-gnu)
55994 + case $cc_basename in
55995 + KCC*)
55996 + # Kuck and Associates, Inc. (KAI) C++ Compiler
55998 + # KCC will only create a shared library if the output file
55999 + # ends with ".so" (or ".sl" for HP-UX), so rename the library
56000 + # to its proper name (with version) after linking.
56001 + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
56002 + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
56003 + # Commands to make compiler produce verbose output that lists
56004 + # what "hidden" libraries, object files and flags are used when
56005 + # linking a shared library.
56007 + # There doesn't appear to be a way to prevent this compiler from
56008 + # explicitly linking system object files so we need to strip them
56009 + # from the output so that they don't get included in the library
56010 + # dependencies.
56011 + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
56013 + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
56014 + export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
56016 + # Archives containing C++ object files must be created using
56017 + # "CC -Bstatic", where "CC" is the KAI C++ compiler.
56018 + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
56019 + ;;
56020 + icpc* | ecpc* )
56021 + # Intel C++
56022 + with_gnu_ld=yes
56023 + # version 8.0 and above of icpc choke on multiply defined symbols
56024 + # if we add $predep_objects and $postdep_objects, however 7.1 and
56025 + # earlier do not add the objects themselves.
56026 + case `$CC -V 2>&1` in
56027 + *"Version 7."*)
56028 + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
56029 + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
56030 + ;;
56031 + *) # Version 8.0 or newer
56032 + tmp_idyn=
56033 + case $host_cpu in
56034 + ia64*) tmp_idyn=' -i_dynamic';;
56035 + esac
56036 + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
56037 + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
56038 + ;;
56039 + esac
56040 + archive_cmds_need_lc_CXX=no
56041 + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
56042 + export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
56043 + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
56044 + ;;
56045 + pgCC* | pgcpp*)
56046 + # Portland Group C++ compiler
56047 + case `$CC -V` in
56048 + *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
56049 + prelink_cmds_CXX='tpldir=Template.dir~
56050 + rm -rf $tpldir~
56051 + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
56052 + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
56053 + old_archive_cmds_CXX='tpldir=Template.dir~
56054 + rm -rf $tpldir~
56055 + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
56056 + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
56057 + $RANLIB $oldlib'
56058 + archive_cmds_CXX='tpldir=Template.dir~
56059 + rm -rf $tpldir~
56060 + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
56061 + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
56062 + archive_expsym_cmds_CXX='tpldir=Template.dir~
56063 + rm -rf $tpldir~
56064 + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
56065 + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
56066 + ;;
56067 + *) # Version 6 and above use weak symbols
56068 + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
56069 + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
56070 + ;;
56071 + esac
56073 + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
56074 + export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
56075 + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
56076 + ;;
56077 + cxx*)
56078 + # Compaq C++
56079 + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
56080 + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
56082 + runpath_var=LD_RUN_PATH
56083 + hardcode_libdir_flag_spec_CXX='-rpath $libdir'
56084 + hardcode_libdir_separator_CXX=:
56086 + # Commands to make compiler produce verbose output that lists
56087 + # what "hidden" libraries, object files and flags are used when
56088 + # linking a shared library.
56090 + # There doesn't appear to be a way to prevent this compiler from
56091 + # explicitly linking system object files so we need to strip them
56092 + # from the output so that they don't get included in the library
56093 + # dependencies.
56094 + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
56095 + ;;
56096 + xl* | mpixl* | bgxl*)
56097 + # IBM XL 8.0 on PPC, with GNU ld
56098 + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
56099 + export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
56100 + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
56101 + if test "x$supports_anon_versioning" = xyes; then
56102 + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
56103 + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
56104 + echo "local: *; };" >> $output_objdir/$libname.ver~
56105 + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
56106 + fi
56107 + ;;
56108 + *)
56109 + case `$CC -V 2>&1 | sed 5q` in
56110 + *Sun\ C*)
56111 + # Sun C++ 5.9
56112 + no_undefined_flag_CXX=' -zdefs'
56113 + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
56114 + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
56115 + hardcode_libdir_flag_spec_CXX='-R$libdir'
56116 + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
56117 + compiler_needs_object_CXX=yes
56119 + # Not sure whether something based on
56120 + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
56121 + # would be better.
56122 + output_verbose_link_cmd='func_echo_all'
56124 + # Archives containing C++ object files must be created using
56125 + # "CC -xar", where "CC" is the Sun C++ compiler. This is
56126 + # necessary to make sure instantiated templates are included
56127 + # in the archive.
56128 + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
56129 + ;;
56130 + esac
56131 + ;;
56132 + esac
56133 + ;;
56135 + lynxos*)
56136 + # FIXME: insert proper C++ library support
56137 + ld_shlibs_CXX=no
56138 + ;;
56140 + m88k*)
56141 + # FIXME: insert proper C++ library support
56142 + ld_shlibs_CXX=no
56143 + ;;
56145 + mvs*)
56146 + case $cc_basename in
56147 + cxx*)
56148 + # FIXME: insert proper C++ library support
56149 + ld_shlibs_CXX=no
56150 + ;;
56151 + *)
56152 + # FIXME: insert proper C++ library support
56153 + ld_shlibs_CXX=no
56154 + ;;
56155 + esac
56156 + ;;
56158 + netbsd*)
56159 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
56160 + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
56161 + wlarc=
56162 + hardcode_libdir_flag_spec_CXX='-R$libdir'
56163 + hardcode_direct_CXX=yes
56164 + hardcode_shlibpath_var_CXX=no
56165 + fi
56166 + # Workaround some broken pre-1.5 toolchains
56167 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
56168 + ;;
56170 + *nto* | *qnx*)
56171 + ld_shlibs_CXX=yes
56172 + ;;
56174 + openbsd2*)
56175 + # C++ shared libraries are fairly broken
56176 + ld_shlibs_CXX=no
56177 + ;;
56179 + openbsd*)
56180 + if test -f /usr/libexec/ld.so; then
56181 + hardcode_direct_CXX=yes
56182 + hardcode_shlibpath_var_CXX=no
56183 + hardcode_direct_absolute_CXX=yes
56184 + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
56185 + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
56186 + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
56187 + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
56188 + export_dynamic_flag_spec_CXX='${wl}-E'
56189 + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
56190 + fi
56191 + output_verbose_link_cmd=func_echo_all
56192 + else
56193 + ld_shlibs_CXX=no
56194 + fi
56195 + ;;
56197 + osf3* | osf4* | osf5*)
56198 + case $cc_basename in
56199 + KCC*)
56200 + # Kuck and Associates, Inc. (KAI) C++ Compiler
56202 + # KCC will only create a shared library if the output file
56203 + # ends with ".so" (or ".sl" for HP-UX), so rename the library
56204 + # to its proper name (with version) after linking.
56205 + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
56207 + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
56208 + hardcode_libdir_separator_CXX=:
56210 + # Archives containing C++ object files must be created using
56211 + # the KAI C++ compiler.
56212 + case $host in
56213 + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
56214 + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
56215 + esac
56216 + ;;
56217 + RCC*)
56218 + # Rational C++ 2.4.1
56219 + # FIXME: insert proper C++ library support
56220 + ld_shlibs_CXX=no
56221 + ;;
56222 + cxx*)
56223 + case $host in
56224 + osf3*)
56225 + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
56226 + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
56227 + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
56228 + ;;
56229 + *)
56230 + allow_undefined_flag_CXX=' -expect_unresolved \*'
56231 + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
56232 + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
56233 + echo "-hidden">> $lib.exp~
56234 + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
56235 + $RM $lib.exp'
56236 + hardcode_libdir_flag_spec_CXX='-rpath $libdir'
56237 + ;;
56238 + esac
56240 + hardcode_libdir_separator_CXX=:
56242 + # Commands to make compiler produce verbose output that lists
56243 + # what "hidden" libraries, object files and flags are used when
56244 + # linking a shared library.
56246 + # There doesn't appear to be a way to prevent this compiler from
56247 + # explicitly linking system object files so we need to strip them
56248 + # from the output so that they don't get included in the library
56249 + # dependencies.
56250 + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
56251 + ;;
56252 + *)
56253 + if test "$GXX" = yes && test "$with_gnu_ld" = no; then
56254 + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
56255 + case $host in
56256 + osf3*)
56257 + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
56258 + ;;
56259 + *)
56260 + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
56261 + ;;
56262 + esac
56264 + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
56265 + hardcode_libdir_separator_CXX=:
56267 + # Commands to make compiler produce verbose output that lists
56268 + # what "hidden" libraries, object files and flags are used when
56269 + # linking a shared library.
56270 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
56272 + else
56273 + # FIXME: insert proper C++ library support
56274 + ld_shlibs_CXX=no
56275 + fi
56276 + ;;
56277 + esac
56278 + ;;
56280 + psos*)
56281 + # FIXME: insert proper C++ library support
56282 + ld_shlibs_CXX=no
56283 + ;;
56285 + sunos4*)
56286 + case $cc_basename in
56287 + CC*)
56288 + # Sun C++ 4.x
56289 + # FIXME: insert proper C++ library support
56290 + ld_shlibs_CXX=no
56291 + ;;
56292 + lcc*)
56293 + # Lucid
56294 + # FIXME: insert proper C++ library support
56295 + ld_shlibs_CXX=no
56296 + ;;
56297 + *)
56298 + # FIXME: insert proper C++ library support
56299 + ld_shlibs_CXX=no
56300 + ;;
56301 + esac
56302 + ;;
56304 + solaris*)
56305 + case $cc_basename in
56306 + CC*)
56307 + # Sun C++ 4.2, 5.x and Centerline C++
56308 + archive_cmds_need_lc_CXX=yes
56309 + no_undefined_flag_CXX=' -zdefs'
56310 + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
56311 + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
56312 + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
56314 + hardcode_libdir_flag_spec_CXX='-R$libdir'
56315 + hardcode_shlibpath_var_CXX=no
56316 + case $host_os in
56317 + solaris2.[0-5] | solaris2.[0-5].*) ;;
56318 + *)
56319 + # The compiler driver will combine and reorder linker options,
56320 + # but understands `-z linker_flag'.
56321 + # Supported since Solaris 2.6 (maybe 2.5.1?)
56322 + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
56323 + ;;
56324 + esac
56325 + link_all_deplibs_CXX=yes
56327 + output_verbose_link_cmd='func_echo_all'
56329 + # Archives containing C++ object files must be created using
56330 + # "CC -xar", where "CC" is the Sun C++ compiler. This is
56331 + # necessary to make sure instantiated templates are included
56332 + # in the archive.
56333 + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
56334 + ;;
56335 + gcx*)
56336 + # Green Hills C++ Compiler
56337 + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
56339 + # The C++ compiler must be used to create the archive.
56340 + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
56341 + ;;
56342 + *)
56343 + # GNU C++ compiler with Solaris linker
56344 + if test "$GXX" = yes && test "$with_gnu_ld" = no; then
56345 + no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
56346 + if $CC --version | $GREP -v '^2\.7' > /dev/null; then
56347 + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
56348 + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
56349 + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
56351 + # Commands to make compiler produce verbose output that lists
56352 + # what "hidden" libraries, object files and flags are used when
56353 + # linking a shared library.
56354 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
56355 + else
56356 + # g++ 2.7 appears to require `-G' NOT `-shared' on this
56357 + # platform.
56358 + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
56359 + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
56360 + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
56362 + # Commands to make compiler produce verbose output that lists
56363 + # what "hidden" libraries, object files and flags are used when
56364 + # linking a shared library.
56365 + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
56366 + fi
56368 + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
56369 + case $host_os in
56370 + solaris2.[0-5] | solaris2.[0-5].*) ;;
56371 + *)
56372 + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
56373 + ;;
56374 + esac
56375 + fi
56376 + ;;
56377 + esac
56378 + ;;
56380 + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
56381 + no_undefined_flag_CXX='${wl}-z,text'
56382 + archive_cmds_need_lc_CXX=no
56383 + hardcode_shlibpath_var_CXX=no
56384 + runpath_var='LD_RUN_PATH'
56386 + case $cc_basename in
56387 + CC*)
56388 + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56389 + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56390 + ;;
56391 + *)
56392 + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56393 + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56394 + ;;
56395 + esac
56396 + ;;
56398 + sysv5* | sco3.2v5* | sco5v6*)
56399 + # Note: We can NOT use -z defs as we might desire, because we do not
56400 + # link with -lc, and that would cause any symbols used from libc to
56401 + # always be unresolved, which means just about no library would
56402 + # ever link correctly. If we're not using GNU ld we use -z text
56403 + # though, which does catch some bad symbols but isn't as heavy-handed
56404 + # as -z defs.
56405 + no_undefined_flag_CXX='${wl}-z,text'
56406 + allow_undefined_flag_CXX='${wl}-z,nodefs'
56407 + archive_cmds_need_lc_CXX=no
56408 + hardcode_shlibpath_var_CXX=no
56409 + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
56410 + hardcode_libdir_separator_CXX=':'
56411 + link_all_deplibs_CXX=yes
56412 + export_dynamic_flag_spec_CXX='${wl}-Bexport'
56413 + runpath_var='LD_RUN_PATH'
56415 + case $cc_basename in
56416 + CC*)
56417 + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56418 + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56419 + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
56420 + '"$old_archive_cmds_CXX"
56421 + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
56422 + '"$reload_cmds_CXX"
56423 + ;;
56424 + *)
56425 + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56426 + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
56427 + ;;
56428 + esac
56429 + ;;
56431 + tandem*)
56432 + case $cc_basename in
56433 + NCC*)
56434 + # NonStop-UX NCC 3.20
56435 + # FIXME: insert proper C++ library support
56436 + ld_shlibs_CXX=no
56437 + ;;
56438 + *)
56439 + # FIXME: insert proper C++ library support
56440 + ld_shlibs_CXX=no
56441 + ;;
56442 + esac
56443 + ;;
56445 + vxworks*)
56446 + # FIXME: insert proper C++ library support
56447 + ld_shlibs_CXX=no
56448 + ;;
56450 + *)
56451 + # FIXME: insert proper C++ library support
56452 + ld_shlibs_CXX=no
56453 + ;;
56454 + esac
56456 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
56457 +$as_echo "$ld_shlibs_CXX" >&6; }
56458 + test "$ld_shlibs_CXX" = no && can_build_shared=no
56460 + GCC_CXX="$GXX"
56461 + LD_CXX="$LD"
56463 + ## CAVEAT EMPTOR:
56464 + ## There is no encapsulation within the following macros, do not change
56465 + ## the running order or otherwise move them around unless you know exactly
56466 + ## what you are doing...
56467 + # Dependencies to place before and after the object being linked:
56468 +predep_objects_CXX=
56469 +postdep_objects_CXX=
56470 +predeps_CXX=
56471 +postdeps_CXX=
56472 +compiler_lib_search_path_CXX=
56474 +cat > conftest.$ac_ext <<_LT_EOF
56475 +class Foo
56477 +public:
56478 + Foo (void) { a = 0; }
56479 +private:
56480 + int a;
56482 +_LT_EOF
56484 +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
56485 + (eval $ac_compile) 2>&5
56486 + ac_status=$?
56487 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
56488 + test $ac_status = 0; }; then
56489 + # Parse the compiler output and extract the necessary
56490 + # objects, libraries and library flags.
56492 + # Sentinel used to keep track of whether or not we are before
56493 + # the conftest object file.
56494 + pre_test_object_deps_done=no
56496 + for p in `eval "$output_verbose_link_cmd"`; do
56497 + case $p in
56499 + -L* | -R* | -l*)
56500 + # Some compilers place space between "-{L,R}" and the path.
56501 + # Remove the space.
56502 + if test $p = "-L" ||
56503 + test $p = "-R"; then
56504 + prev=$p
56505 + continue
56506 + else
56507 + prev=
56508 + fi
56510 + if test "$pre_test_object_deps_done" = no; then
56511 + case $p in
56512 + -L* | -R*)
56513 + # Internal compiler library paths should come after those
56514 + # provided the user. The postdeps already come after the
56515 + # user supplied libs so there is no need to process them.
56516 + if test -z "$compiler_lib_search_path_CXX"; then
56517 + compiler_lib_search_path_CXX="${prev}${p}"
56518 + else
56519 + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
56520 + fi
56521 + ;;
56522 + # The "-l" case would never come before the object being
56523 + # linked, so don't bother handling this case.
56524 + esac
56525 + else
56526 + if test -z "$postdeps_CXX"; then
56527 + postdeps_CXX="${prev}${p}"
56528 + else
56529 + postdeps_CXX="${postdeps_CXX} ${prev}${p}"
56530 + fi
56531 + fi
56532 + ;;
56534 + *.$objext)
56535 + # This assumes that the test object file only shows up
56536 + # once in the compiler output.
56537 + if test "$p" = "conftest.$objext"; then
56538 + pre_test_object_deps_done=yes
56539 + continue
56540 + fi
56542 + if test "$pre_test_object_deps_done" = no; then
56543 + if test -z "$predep_objects_CXX"; then
56544 + predep_objects_CXX="$p"
56545 + else
56546 + predep_objects_CXX="$predep_objects_CXX $p"
56547 + fi
56548 + else
56549 + if test -z "$postdep_objects_CXX"; then
56550 + postdep_objects_CXX="$p"
56551 + else
56552 + postdep_objects_CXX="$postdep_objects_CXX $p"
56553 + fi
56554 + fi
56555 + ;;
56557 + *) ;; # Ignore the rest.
56559 + esac
56560 + done
56562 + # Clean up.
56563 + rm -f a.out a.exe
56564 +else
56565 + echo "libtool.m4: error: problem compiling CXX test program"
56568 +$RM -f confest.$objext
56570 +# PORTME: override above test on systems where it is broken
56571 +case $host_os in
56572 +interix[3-9]*)
56573 + # Interix 3.5 installs completely hosed .la files for C++, so rather than
56574 + # hack all around it, let's just trust "g++" to DTRT.
56575 + predep_objects_CXX=
56576 + postdep_objects_CXX=
56577 + postdeps_CXX=
56578 + ;;
56580 +linux*)
56581 + case `$CC -V 2>&1 | sed 5q` in
56582 + *Sun\ C*)
56583 + # Sun C++ 5.9
56585 + # The more standards-conforming stlport4 library is
56586 + # incompatible with the Cstd library. Avoid specifying
56587 + # it if it's in CXXFLAGS. Ignore libCrun as
56588 + # -library=stlport4 depends on it.
56589 + case " $CXX $CXXFLAGS " in
56590 + *" -library=stlport4 "*)
56591 + solaris_use_stlport4=yes
56592 + ;;
56593 + esac
56595 + if test "$solaris_use_stlport4" != yes; then
56596 + postdeps_CXX='-library=Cstd -library=Crun'
56597 + fi
56598 + ;;
56599 + esac
56600 + ;;
56602 +solaris*)
56603 + case $cc_basename in
56604 + CC*)
56605 + # The more standards-conforming stlport4 library is
56606 + # incompatible with the Cstd library. Avoid specifying
56607 + # it if it's in CXXFLAGS. Ignore libCrun as
56608 + # -library=stlport4 depends on it.
56609 + case " $CXX $CXXFLAGS " in
56610 + *" -library=stlport4 "*)
56611 + solaris_use_stlport4=yes
56612 + ;;
56613 + esac
56615 + # Adding this requires a known-good setup of shared libraries for
56616 + # Sun compiler versions before 5.6, else PIC objects from an old
56617 + # archive will be linked into the output, leading to subtle bugs.
56618 + if test "$solaris_use_stlport4" != yes; then
56619 + postdeps_CXX='-library=Cstd -library=Crun'
56620 + fi
56621 + ;;
56622 + esac
56623 + ;;
56624 +esac
56627 +case " $postdeps_CXX " in
56628 +*" -lc "*) archive_cmds_need_lc_CXX=no ;;
56629 +esac
56630 + compiler_lib_search_dirs_CXX=
56631 +if test -n "${compiler_lib_search_path_CXX}"; then
56632 + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
56665 + lt_prog_compiler_wl_CXX=
56666 +lt_prog_compiler_pic_CXX=
56667 +lt_prog_compiler_static_CXX=
56669 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
56670 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
56672 + # C++ specific cases for pic, static, wl, etc.
56673 + if test "$GXX" = yes; then
56674 + lt_prog_compiler_wl_CXX='-Wl,'
56675 + lt_prog_compiler_static_CXX='-static'
56677 + case $host_os in
56678 + aix*)
56679 + # All AIX code is PIC.
56680 + if test "$host_cpu" = ia64; then
56681 + # AIX 5 now supports IA64 processor
56682 + lt_prog_compiler_static_CXX='-Bstatic'
56683 + fi
56684 + lt_prog_compiler_pic_CXX='-fPIC'
56685 + ;;
56687 + amigaos*)
56688 + case $host_cpu in
56689 + powerpc)
56690 + # see comment about AmigaOS4 .so support
56691 + lt_prog_compiler_pic_CXX='-fPIC'
56692 + ;;
56693 + m68k)
56694 + # FIXME: we need at least 68020 code to build shared libraries, but
56695 + # adding the `-m68020' flag to GCC prevents building anything better,
56696 + # like `-m68040'.
56697 + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
56698 + ;;
56699 + esac
56700 + ;;
56702 + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
56703 + # PIC is the default for these OSes.
56704 + ;;
56705 + mingw* | cygwin* | os2* | pw32* | cegcc*)
56706 + # This hack is so that the source file can tell whether it is being
56707 + # built for inclusion in a dll (and should export symbols for example).
56708 + # Although the cygwin gcc ignores -fPIC, still need this for old-style
56709 + # (--disable-auto-import) libraries
56710 + lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
56711 + ;;
56712 + darwin* | rhapsody*)
56713 + # PIC is the default on this platform
56714 + # Common symbols not allowed in MH_DYLIB files
56715 + lt_prog_compiler_pic_CXX='-fno-common'
56716 + ;;
56717 + *djgpp*)
56718 + # DJGPP does not support shared libraries at all
56719 + lt_prog_compiler_pic_CXX=
56720 + ;;
56721 + haiku*)
56722 + # PIC is the default for Haiku.
56723 + # The "-static" flag exists, but is broken.
56724 + lt_prog_compiler_static_CXX=
56725 + ;;
56726 + interix[3-9]*)
56727 + # Interix 3.x gcc -fpic/-fPIC options generate broken code.
56728 + # Instead, we relocate shared libraries at runtime.
56729 + ;;
56730 + sysv4*MP*)
56731 + if test -d /usr/nec; then
56732 + lt_prog_compiler_pic_CXX=-Kconform_pic
56733 + fi
56734 + ;;
56735 + hpux*)
56736 + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
56737 + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
56738 + # sets the default TLS model and affects inlining.
56739 + case $host_cpu in
56740 + hppa*64*)
56741 + ;;
56742 + *)
56743 + lt_prog_compiler_pic_CXX='-fPIC'
56744 + ;;
56745 + esac
56746 + ;;
56747 + *qnx* | *nto*)
56748 + # QNX uses GNU C++, but need to define -shared option too, otherwise
56749 + # it will coredump.
56750 + lt_prog_compiler_pic_CXX='-fPIC -shared'
56751 + ;;
56752 + *)
56753 + lt_prog_compiler_pic_CXX='-fPIC'
56754 + ;;
56755 + esac
56756 + else
56757 + case $host_os in
56758 + aix[4-9]*)
56759 + # All AIX code is PIC.
56760 + if test "$host_cpu" = ia64; then
56761 + # AIX 5 now supports IA64 processor
56762 + lt_prog_compiler_static_CXX='-Bstatic'
56763 + else
56764 + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
56765 + fi
56766 + ;;
56767 + chorus*)
56768 + case $cc_basename in
56769 + cxch68*)
56770 + # Green Hills C++ Compiler
56771 + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
56772 + ;;
56773 + esac
56774 + ;;
56775 + dgux*)
56776 + case $cc_basename in
56777 + ec++*)
56778 + lt_prog_compiler_pic_CXX='-KPIC'
56779 + ;;
56780 + ghcx*)
56781 + # Green Hills C++ Compiler
56782 + lt_prog_compiler_pic_CXX='-pic'
56783 + ;;
56784 + *)
56785 + ;;
56786 + esac
56787 + ;;
56788 + freebsd* | dragonfly*)
56789 + # FreeBSD uses GNU C++
56790 + ;;
56791 + hpux9* | hpux10* | hpux11*)
56792 + case $cc_basename in
56793 + CC*)
56794 + lt_prog_compiler_wl_CXX='-Wl,'
56795 + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
56796 + if test "$host_cpu" != ia64; then
56797 + lt_prog_compiler_pic_CXX='+Z'
56798 + fi
56799 + ;;
56800 + aCC*)
56801 + lt_prog_compiler_wl_CXX='-Wl,'
56802 + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
56803 + case $host_cpu in
56804 + hppa*64*|ia64*)
56805 + # +Z the default
56806 + ;;
56807 + *)
56808 + lt_prog_compiler_pic_CXX='+Z'
56809 + ;;
56810 + esac
56811 + ;;
56812 + *)
56813 + ;;
56814 + esac
56815 + ;;
56816 + interix*)
56817 + # This is c89, which is MS Visual C++ (no shared libs)
56818 + # Anyone wants to do a port?
56819 + ;;
56820 + irix5* | irix6* | nonstopux*)
56821 + case $cc_basename in
56822 + CC*)
56823 + lt_prog_compiler_wl_CXX='-Wl,'
56824 + lt_prog_compiler_static_CXX='-non_shared'
56825 + # CC pic flag -KPIC is the default.
56826 + ;;
56827 + *)
56828 + ;;
56829 + esac
56830 + ;;
56831 + linux* | k*bsd*-gnu | kopensolaris*-gnu)
56832 + case $cc_basename in
56833 + KCC*)
56834 + # KAI C++ Compiler
56835 + lt_prog_compiler_wl_CXX='--backend -Wl,'
56836 + lt_prog_compiler_pic_CXX='-fPIC'
56837 + ;;
56838 + ecpc* )
56839 + # old Intel C++ for x86_64 which still supported -KPIC.
56840 + lt_prog_compiler_wl_CXX='-Wl,'
56841 + lt_prog_compiler_pic_CXX='-KPIC'
56842 + lt_prog_compiler_static_CXX='-static'
56843 + ;;
56844 + icpc* )
56845 + # Intel C++, used to be incompatible with GCC.
56846 + # ICC 10 doesn't accept -KPIC any more.
56847 + lt_prog_compiler_wl_CXX='-Wl,'
56848 + lt_prog_compiler_pic_CXX='-fPIC'
56849 + lt_prog_compiler_static_CXX='-static'
56850 + ;;
56851 + pgCC* | pgcpp*)
56852 + # Portland Group C++ compiler
56853 + lt_prog_compiler_wl_CXX='-Wl,'
56854 + lt_prog_compiler_pic_CXX='-fpic'
56855 + lt_prog_compiler_static_CXX='-Bstatic'
56856 + ;;
56857 + cxx*)
56858 + # Compaq C++
56859 + # Make sure the PIC flag is empty. It appears that all Alpha
56860 + # Linux and Compaq Tru64 Unix objects are PIC.
56861 + lt_prog_compiler_pic_CXX=
56862 + lt_prog_compiler_static_CXX='-non_shared'
56863 + ;;
56864 + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
56865 + # IBM XL 8.0, 9.0 on PPC and BlueGene
56866 + lt_prog_compiler_wl_CXX='-Wl,'
56867 + lt_prog_compiler_pic_CXX='-qpic'
56868 + lt_prog_compiler_static_CXX='-qstaticlink'
56869 + ;;
56870 + *)
56871 + case `$CC -V 2>&1 | sed 5q` in
56872 + *Sun\ C*)
56873 + # Sun C++ 5.9
56874 + lt_prog_compiler_pic_CXX='-KPIC'
56875 + lt_prog_compiler_static_CXX='-Bstatic'
56876 + lt_prog_compiler_wl_CXX='-Qoption ld '
56877 + ;;
56878 + esac
56879 + ;;
56880 + esac
56881 + ;;
56882 + lynxos*)
56883 + ;;
56884 + m88k*)
56885 + ;;
56886 + mvs*)
56887 + case $cc_basename in
56888 + cxx*)
56889 + lt_prog_compiler_pic_CXX='-W c,exportall'
56890 + ;;
56891 + *)
56892 + ;;
56893 + esac
56894 + ;;
56895 + netbsd*)
56896 + ;;
56897 + *qnx* | *nto*)
56898 + # QNX uses GNU C++, but need to define -shared option too, otherwise
56899 + # it will coredump.
56900 + lt_prog_compiler_pic_CXX='-fPIC -shared'
56901 + ;;
56902 + osf3* | osf4* | osf5*)
56903 + case $cc_basename in
56904 + KCC*)
56905 + lt_prog_compiler_wl_CXX='--backend -Wl,'
56906 + ;;
56907 + RCC*)
56908 + # Rational C++ 2.4.1
56909 + lt_prog_compiler_pic_CXX='-pic'
56910 + ;;
56911 + cxx*)
56912 + # Digital/Compaq C++
56913 + lt_prog_compiler_wl_CXX='-Wl,'
56914 + # Make sure the PIC flag is empty. It appears that all Alpha
56915 + # Linux and Compaq Tru64 Unix objects are PIC.
56916 + lt_prog_compiler_pic_CXX=
56917 + lt_prog_compiler_static_CXX='-non_shared'
56918 + ;;
56919 + *)
56920 + ;;
56921 + esac
56922 + ;;
56923 + psos*)
56924 + ;;
56925 + solaris*)
56926 + case $cc_basename in
56927 + CC*)
56928 + # Sun C++ 4.2, 5.x and Centerline C++
56929 + lt_prog_compiler_pic_CXX='-KPIC'
56930 + lt_prog_compiler_static_CXX='-Bstatic'
56931 + lt_prog_compiler_wl_CXX='-Qoption ld '
56932 + ;;
56933 + gcx*)
56934 + # Green Hills C++ Compiler
56935 + lt_prog_compiler_pic_CXX='-PIC'
56936 + ;;
56937 + *)
56938 + ;;
56939 + esac
56940 + ;;
56941 + sunos4*)
56942 + case $cc_basename in
56943 + CC*)
56944 + # Sun C++ 4.x
56945 + lt_prog_compiler_pic_CXX='-pic'
56946 + lt_prog_compiler_static_CXX='-Bstatic'
56947 + ;;
56948 + lcc*)
56949 + # Lucid
56950 + lt_prog_compiler_pic_CXX='-pic'
56951 + ;;
56952 + *)
56953 + ;;
56954 + esac
56955 + ;;
56956 + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
56957 + case $cc_basename in
56958 + CC*)
56959 + lt_prog_compiler_wl_CXX='-Wl,'
56960 + lt_prog_compiler_pic_CXX='-KPIC'
56961 + lt_prog_compiler_static_CXX='-Bstatic'
56962 + ;;
56963 + esac
56964 + ;;
56965 + tandem*)
56966 + case $cc_basename in
56967 + NCC*)
56968 + # NonStop-UX NCC 3.20
56969 + lt_prog_compiler_pic_CXX='-KPIC'
56970 + ;;
56971 + *)
56972 + ;;
56973 + esac
56974 + ;;
56975 + vxworks*)
56976 + ;;
56977 + *)
56978 + lt_prog_compiler_can_build_shared_CXX=no
56979 + ;;
56980 + esac
56981 + fi
56983 +case $host_os in
56984 + # For platforms which do not support PIC, -DPIC is meaningless:
56985 + *djgpp*)
56986 + lt_prog_compiler_pic_CXX=
56987 + ;;
56988 + *)
56989 + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
56990 + ;;
56991 +esac
56992 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
56993 +$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
56998 +# Check to make sure the PIC flag actually works.
57000 +if test -n "$lt_prog_compiler_pic_CXX"; then
57001 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
57002 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
57003 +if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
57004 + $as_echo_n "(cached) " >&6
57005 +else
57006 + lt_cv_prog_compiler_pic_works_CXX=no
57007 + ac_outfile=conftest.$ac_objext
57008 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
57009 + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
57010 + # Insert the option either (1) after the last *FLAGS variable, or
57011 + # (2) before a word containing "conftest.", or (3) at the end.
57012 + # Note that $ac_compile itself does not contain backslashes and begins
57013 + # with a dollar sign (not a hyphen), so the echo should work correctly.
57014 + # The option is referenced via a variable to avoid confusing sed.
57015 + lt_compile=`echo "$ac_compile" | $SED \
57016 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
57017 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
57018 + -e 's:$: $lt_compiler_flag:'`
57019 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
57020 + (eval "$lt_compile" 2>conftest.err)
57021 + ac_status=$?
57022 + cat conftest.err >&5
57023 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
57024 + if (exit $ac_status) && test -s "$ac_outfile"; then
57025 + # The compiler can only warn and ignore the option if not recognized
57026 + # So say no if there are warnings other than the usual output.
57027 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
57028 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
57029 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
57030 + lt_cv_prog_compiler_pic_works_CXX=yes
57031 + fi
57032 + fi
57033 + $RM conftest*
57036 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
57037 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
57039 +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
57040 + case $lt_prog_compiler_pic_CXX in
57041 + "" | " "*) ;;
57042 + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
57043 + esac
57044 +else
57045 + lt_prog_compiler_pic_CXX=
57046 + lt_prog_compiler_can_build_shared_CXX=no
57054 +# Check to make sure the static flag actually works.
57056 +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
57057 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
57058 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
57059 +if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
57060 + $as_echo_n "(cached) " >&6
57061 +else
57062 + lt_cv_prog_compiler_static_works_CXX=no
57063 + save_LDFLAGS="$LDFLAGS"
57064 + LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
57065 + echo "$lt_simple_link_test_code" > conftest.$ac_ext
57066 + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
57067 + # The linker can only warn and ignore the option if not recognized
57068 + # So say no if there are warnings
57069 + if test -s conftest.err; then
57070 + # Append any errors to the config.log.
57071 + cat conftest.err 1>&5
57072 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
57073 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
57074 + if diff conftest.exp conftest.er2 >/dev/null; then
57075 + lt_cv_prog_compiler_static_works_CXX=yes
57076 + fi
57077 + else
57078 + lt_cv_prog_compiler_static_works_CXX=yes
57079 + fi
57080 + fi
57081 + $RM -r conftest*
57082 + LDFLAGS="$save_LDFLAGS"
57085 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
57086 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
57088 +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
57090 +else
57091 + lt_prog_compiler_static_CXX=
57097 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
57098 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
57099 +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
57100 + $as_echo_n "(cached) " >&6
57101 +else
57102 + lt_cv_prog_compiler_c_o_CXX=no
57103 + $RM -r conftest 2>/dev/null
57104 + mkdir conftest
57105 + cd conftest
57106 + mkdir out
57107 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
57109 + lt_compiler_flag="-o out/conftest2.$ac_objext"
57110 + # Insert the option either (1) after the last *FLAGS variable, or
57111 + # (2) before a word containing "conftest.", or (3) at the end.
57112 + # Note that $ac_compile itself does not contain backslashes and begins
57113 + # with a dollar sign (not a hyphen), so the echo should work correctly.
57114 + lt_compile=`echo "$ac_compile" | $SED \
57115 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
57116 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
57117 + -e 's:$: $lt_compiler_flag:'`
57118 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
57119 + (eval "$lt_compile" 2>out/conftest.err)
57120 + ac_status=$?
57121 + cat out/conftest.err >&5
57122 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
57123 + if (exit $ac_status) && test -s out/conftest2.$ac_objext
57124 + then
57125 + # The compiler can only warn and ignore the option if not recognized
57126 + # So say no if there are warnings
57127 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
57128 + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
57129 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
57130 + lt_cv_prog_compiler_c_o_CXX=yes
57131 + fi
57132 + fi
57133 + chmod u+w . 2>&5
57134 + $RM conftest*
57135 + # SGI C++ compiler will create directory out/ii_files/ for
57136 + # template instantiation
57137 + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
57138 + $RM out/* && rmdir out
57139 + cd ..
57140 + $RM -r conftest
57141 + $RM conftest*
57144 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
57145 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
57149 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
57150 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
57151 +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
57152 + $as_echo_n "(cached) " >&6
57153 +else
57154 + lt_cv_prog_compiler_c_o_CXX=no
57155 + $RM -r conftest 2>/dev/null
57156 + mkdir conftest
57157 + cd conftest
57158 + mkdir out
57159 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
57161 + lt_compiler_flag="-o out/conftest2.$ac_objext"
57162 + # Insert the option either (1) after the last *FLAGS variable, or
57163 + # (2) before a word containing "conftest.", or (3) at the end.
57164 + # Note that $ac_compile itself does not contain backslashes and begins
57165 + # with a dollar sign (not a hyphen), so the echo should work correctly.
57166 + lt_compile=`echo "$ac_compile" | $SED \
57167 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
57168 + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
57169 + -e 's:$: $lt_compiler_flag:'`
57170 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
57171 + (eval "$lt_compile" 2>out/conftest.err)
57172 + ac_status=$?
57173 + cat out/conftest.err >&5
57174 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
57175 + if (exit $ac_status) && test -s out/conftest2.$ac_objext
57176 + then
57177 + # The compiler can only warn and ignore the option if not recognized
57178 + # So say no if there are warnings
57179 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
57180 + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
57181 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
57182 + lt_cv_prog_compiler_c_o_CXX=yes
57183 + fi
57184 + fi
57185 + chmod u+w . 2>&5
57186 + $RM conftest*
57187 + # SGI C++ compiler will create directory out/ii_files/ for
57188 + # template instantiation
57189 + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
57190 + $RM out/* && rmdir out
57191 + cd ..
57192 + $RM -r conftest
57193 + $RM conftest*
57196 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
57197 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
57202 +hard_links="nottested"
57203 +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
57204 + # do not overwrite the value of need_locks provided by the user
57205 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
57206 +$as_echo_n "checking if we can lock with hard links... " >&6; }
57207 + hard_links=yes
57208 + $RM conftest*
57209 + ln conftest.a conftest.b 2>/dev/null && hard_links=no
57210 + touch conftest.a
57211 + ln conftest.a conftest.b 2>&5 || hard_links=no
57212 + ln conftest.a conftest.b 2>/dev/null && hard_links=no
57213 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
57214 +$as_echo "$hard_links" >&6; }
57215 + if test "$hard_links" = no; then
57216 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
57217 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
57218 + need_locks=warn
57219 + fi
57220 +else
57221 + need_locks=no
57226 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
57227 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
57229 + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
57230 + case $host_os in
57231 + aix[4-9]*)
57232 + # If we're using GNU nm, then we don't want the "-C" option.
57233 + # -C means demangle to AIX nm, but means don't demangle with GNU nm
57234 + # Also, AIX nm treats weak defined symbols like other global defined
57235 + # symbols, whereas GNU nm marks them as "W".
57236 + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
57237 + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
57238 + else
57239 + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
57240 + fi
57241 + ;;
57242 + pw32*)
57243 + export_symbols_cmds_CXX="$ltdll_cmds"
57244 + ;;
57245 + cygwin* | mingw* | cegcc*)
57246 + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
57247 + ;;
57248 + *)
57249 + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
57250 + ;;
57251 + esac
57252 + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
57254 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
57255 +$as_echo "$ld_shlibs_CXX" >&6; }
57256 +test "$ld_shlibs_CXX" = no && can_build_shared=no
57258 +with_gnu_ld_CXX=$with_gnu_ld
57266 +# Do we need to explicitly link libc?
57268 +case "x$archive_cmds_need_lc_CXX" in
57269 +x|xyes)
57270 + # Assume -lc should be added
57271 + archive_cmds_need_lc_CXX=yes
57273 + if test "$enable_shared" = yes && test "$GCC" = yes; then
57274 + case $archive_cmds_CXX in
57275 + *'~'*)
57276 + # FIXME: we may have to deal with multi-command sequences.
57277 + ;;
57278 + '$CC '*)
57279 + # Test whether the compiler implicitly links with -lc since on some
57280 + # systems, -lgcc has to come before -lc. If gcc already passes -lc
57281 + # to ld, don't add -lc before -lgcc.
57282 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
57283 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
57284 +if test "${lt_cv_archive_cmds_need_lc_CXX+set}" = set; then :
57285 + $as_echo_n "(cached) " >&6
57286 +else
57287 + $RM conftest*
57288 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
57290 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
57291 + (eval $ac_compile) 2>&5
57292 + ac_status=$?
57293 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
57294 + test $ac_status = 0; } 2>conftest.err; then
57295 + soname=conftest
57296 + lib=conftest
57297 + libobjs=conftest.$ac_objext
57298 + deplibs=
57299 + wl=$lt_prog_compiler_wl_CXX
57300 + pic_flag=$lt_prog_compiler_pic_CXX
57301 + compiler_flags=-v
57302 + linker_flags=-v
57303 + verstring=
57304 + output_objdir=.
57305 + libname=conftest
57306 + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
57307 + allow_undefined_flag_CXX=
57308 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
57309 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
57310 + ac_status=$?
57311 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
57312 + test $ac_status = 0; }
57313 + then
57314 + lt_cv_archive_cmds_need_lc_CXX=no
57315 + else
57316 + lt_cv_archive_cmds_need_lc_CXX=yes
57317 + fi
57318 + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
57319 + else
57320 + cat conftest.err 1>&5
57321 + fi
57322 + $RM conftest*
57325 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
57326 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
57327 + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
57328 + ;;
57329 + esac
57330 + fi
57331 + ;;
57332 +esac
57397 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
57398 +$as_echo_n "checking dynamic linker characteristics... " >&6; }
57400 +library_names_spec=
57401 +libname_spec='lib$name'
57402 +soname_spec=
57403 +shrext_cmds=".so"
57404 +postinstall_cmds=
57405 +postuninstall_cmds=
57406 +finish_cmds=
57407 +finish_eval=
57408 +shlibpath_var=
57409 +shlibpath_overrides_runpath=unknown
57410 +version_type=none
57411 +dynamic_linker="$host_os ld.so"
57412 +sys_lib_dlsearch_path_spec="/lib /usr/lib"
57413 +need_lib_prefix=unknown
57414 +hardcode_into_libs=no
57416 +# when you set need_version to no, make sure it does not cause -set_version
57417 +# flags to be left without arguments
57418 +need_version=unknown
57420 +case $host_os in
57421 +aix3*)
57422 + version_type=linux
57423 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
57424 + shlibpath_var=LIBPATH
57426 + # AIX 3 has no versioning support, so we append a major version to the name.
57427 + soname_spec='${libname}${release}${shared_ext}$major'
57428 + ;;
57430 +aix[4-9]*)
57431 + version_type=linux
57432 + need_lib_prefix=no
57433 + need_version=no
57434 + hardcode_into_libs=yes
57435 + if test "$host_cpu" = ia64; then
57436 + # AIX 5 supports IA64
57437 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
57438 + shlibpath_var=LD_LIBRARY_PATH
57439 + else
57440 + # With GCC up to 2.95.x, collect2 would create an import file
57441 + # for dependence libraries. The import file would start with
57442 + # the line `#! .'. This would cause the generated library to
57443 + # depend on `.', always an invalid library. This was fixed in
57444 + # development snapshots of GCC prior to 3.0.
57445 + case $host_os in
57446 + aix4 | aix4.[01] | aix4.[01].*)
57447 + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
57448 + echo ' yes '
57449 + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
57451 + else
57452 + can_build_shared=no
57453 + fi
57454 + ;;
57455 + esac
57456 + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
57457 + # soname into executable. Probably we can add versioning support to
57458 + # collect2, so additional links can be useful in future.
57459 + if test "$aix_use_runtimelinking" = yes; then
57460 + # If using run time linking (on AIX 4.2 or later) use lib<name>.so
57461 + # instead of lib<name>.a to let people know that these are not
57462 + # typical AIX shared libraries.
57463 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57464 + else
57465 + # We preserve .a as extension for shared libraries through AIX4.2
57466 + # and later when we are not doing run time linking.
57467 + library_names_spec='${libname}${release}.a $libname.a'
57468 + soname_spec='${libname}${release}${shared_ext}$major'
57469 + fi
57470 + shlibpath_var=LIBPATH
57471 + fi
57472 + ;;
57474 +amigaos*)
57475 + case $host_cpu in
57476 + powerpc)
57477 + # Since July 2007 AmigaOS4 officially supports .so libraries.
57478 + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
57479 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57480 + ;;
57481 + m68k)
57482 + library_names_spec='$libname.ixlibrary $libname.a'
57483 + # Create ${libname}_ixlibrary.a entries in /sys/libs.
57484 + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
57485 + ;;
57486 + esac
57487 + ;;
57489 +beos*)
57490 + library_names_spec='${libname}${shared_ext}'
57491 + dynamic_linker="$host_os ld.so"
57492 + shlibpath_var=LIBRARY_PATH
57493 + ;;
57495 +bsdi[45]*)
57496 + version_type=linux
57497 + need_version=no
57498 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57499 + soname_spec='${libname}${release}${shared_ext}$major'
57500 + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
57501 + shlibpath_var=LD_LIBRARY_PATH
57502 + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
57503 + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
57504 + # the default ld.so.conf also contains /usr/contrib/lib and
57505 + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
57506 + # libtool to hard-code these into programs
57507 + ;;
57509 +cygwin* | mingw* | pw32* | cegcc*)
57510 + version_type=windows
57511 + shrext_cmds=".dll"
57512 + need_version=no
57513 + need_lib_prefix=no
57515 + case $GCC,$host_os in
57516 + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
57517 + library_names_spec='$libname.dll.a'
57518 + # DLL is installed to $(libdir)/../bin by postinstall_cmds
57519 + postinstall_cmds='base_file=`basename \${file}`~
57520 + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
57521 + dldir=$destdir/`dirname \$dlpath`~
57522 + test -d \$dldir || mkdir -p \$dldir~
57523 + $install_prog $dir/$dlname \$dldir/$dlname~
57524 + chmod a+x \$dldir/$dlname~
57525 + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
57526 + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
57527 + fi'
57528 + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
57529 + dlpath=$dir/\$dldll~
57530 + $RM \$dlpath'
57531 + shlibpath_overrides_runpath=yes
57533 + case $host_os in
57534 + cygwin*)
57535 + # Cygwin DLLs use 'cyg' prefix rather than 'lib'
57536 + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
57538 + ;;
57539 + mingw* | cegcc*)
57540 + # MinGW DLLs use traditional 'lib' prefix
57541 + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
57542 + ;;
57543 + pw32*)
57544 + # pw32 DLLs use 'pw' prefix rather than 'lib'
57545 + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
57546 + ;;
57547 + esac
57548 + ;;
57550 + *)
57551 + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
57552 + ;;
57553 + esac
57554 + dynamic_linker='Win32 ld.exe'
57555 + # FIXME: first we should search . and the directory the executable is in
57556 + shlibpath_var=PATH
57557 + ;;
57559 +darwin* | rhapsody*)
57560 + dynamic_linker="$host_os dyld"
57561 + version_type=darwin
57562 + need_lib_prefix=no
57563 + need_version=no
57564 + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
57565 + soname_spec='${libname}${release}${major}$shared_ext'
57566 + shlibpath_overrides_runpath=yes
57567 + shlibpath_var=DYLD_LIBRARY_PATH
57568 + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
57570 + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
57571 + ;;
57573 +dgux*)
57574 + version_type=linux
57575 + need_lib_prefix=no
57576 + need_version=no
57577 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
57578 + soname_spec='${libname}${release}${shared_ext}$major'
57579 + shlibpath_var=LD_LIBRARY_PATH
57580 + ;;
57582 +freebsd* | dragonfly*)
57583 + # DragonFly does not have aout. When/if they implement a new
57584 + # versioning mechanism, adjust this.
57585 + if test -x /usr/bin/objformat; then
57586 + objformat=`/usr/bin/objformat`
57587 + else
57588 + case $host_os in
57589 + freebsd[23].*) objformat=aout ;;
57590 + *) objformat=elf ;;
57591 + esac
57592 + fi
57593 + version_type=freebsd-$objformat
57594 + case $version_type in
57595 + freebsd-elf*)
57596 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
57597 + need_version=no
57598 + need_lib_prefix=no
57599 + ;;
57600 + freebsd-*)
57601 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
57602 + need_version=yes
57603 + ;;
57604 + esac
57605 + shlibpath_var=LD_LIBRARY_PATH
57606 + case $host_os in
57607 + freebsd2.*)
57608 + shlibpath_overrides_runpath=yes
57609 + ;;
57610 + freebsd3.[01]* | freebsdelf3.[01]*)
57611 + shlibpath_overrides_runpath=yes
57612 + hardcode_into_libs=yes
57613 + ;;
57614 + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
57615 + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
57616 + shlibpath_overrides_runpath=no
57617 + hardcode_into_libs=yes
57618 + ;;
57619 + *) # from 4.6 on, and DragonFly
57620 + shlibpath_overrides_runpath=yes
57621 + hardcode_into_libs=yes
57622 + ;;
57623 + esac
57624 + ;;
57626 +gnu*)
57627 + version_type=linux
57628 + need_lib_prefix=no
57629 + need_version=no
57630 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
57631 + soname_spec='${libname}${release}${shared_ext}$major'
57632 + shlibpath_var=LD_LIBRARY_PATH
57633 + hardcode_into_libs=yes
57634 + ;;
57636 +haiku*)
57637 + version_type=linux
57638 + need_lib_prefix=no
57639 + need_version=no
57640 + dynamic_linker="$host_os runtime_loader"
57641 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
57642 + soname_spec='${libname}${release}${shared_ext}$major'
57643 + shlibpath_var=LIBRARY_PATH
57644 + shlibpath_overrides_runpath=yes
57645 + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
57646 + hardcode_into_libs=yes
57647 + ;;
57649 +hpux9* | hpux10* | hpux11*)
57650 + # Give a soname corresponding to the major version so that dld.sl refuses to
57651 + # link against other versions.
57652 + version_type=sunos
57653 + need_lib_prefix=no
57654 + need_version=no
57655 + case $host_cpu in
57656 + ia64*)
57657 + shrext_cmds='.so'
57658 + hardcode_into_libs=yes
57659 + dynamic_linker="$host_os dld.so"
57660 + shlibpath_var=LD_LIBRARY_PATH
57661 + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
57662 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57663 + soname_spec='${libname}${release}${shared_ext}$major'
57664 + if test "X$HPUX_IA64_MODE" = X32; then
57665 + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
57666 + else
57667 + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
57668 + fi
57669 + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
57670 + ;;
57671 + hppa*64*)
57672 + shrext_cmds='.sl'
57673 + hardcode_into_libs=yes
57674 + dynamic_linker="$host_os dld.sl"
57675 + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
57676 + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
57677 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57678 + soname_spec='${libname}${release}${shared_ext}$major'
57679 + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
57680 + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
57681 + ;;
57682 + *)
57683 + shrext_cmds='.sl'
57684 + dynamic_linker="$host_os dld.sl"
57685 + shlibpath_var=SHLIB_PATH
57686 + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
57687 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57688 + soname_spec='${libname}${release}${shared_ext}$major'
57689 + ;;
57690 + esac
57691 + # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
57692 + postinstall_cmds='chmod 555 $lib'
57693 + # or fails outright, so override atomically:
57694 + install_override_mode=555
57695 + ;;
57697 +interix[3-9]*)
57698 + version_type=linux
57699 + need_lib_prefix=no
57700 + need_version=no
57701 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
57702 + soname_spec='${libname}${release}${shared_ext}$major'
57703 + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
57704 + shlibpath_var=LD_LIBRARY_PATH
57705 + shlibpath_overrides_runpath=no
57706 + hardcode_into_libs=yes
57707 + ;;
57709 +irix5* | irix6* | nonstopux*)
57710 + case $host_os in
57711 + nonstopux*) version_type=nonstopux ;;
57712 + *)
57713 + if test "$lt_cv_prog_gnu_ld" = yes; then
57714 + version_type=linux
57715 + else
57716 + version_type=irix
57717 + fi ;;
57718 + esac
57719 + need_lib_prefix=no
57720 + need_version=no
57721 + soname_spec='${libname}${release}${shared_ext}$major'
57722 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
57723 + case $host_os in
57724 + irix5* | nonstopux*)
57725 + libsuff= shlibsuff=
57726 + ;;
57727 + *)
57728 + case $LD in # libtool.m4 will add one of these switches to LD
57729 + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
57730 + libsuff= shlibsuff= libmagic=32-bit;;
57731 + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
57732 + libsuff=32 shlibsuff=N32 libmagic=N32;;
57733 + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
57734 + libsuff=64 shlibsuff=64 libmagic=64-bit;;
57735 + *) libsuff= shlibsuff= libmagic=never-match;;
57736 + esac
57737 + ;;
57738 + esac
57739 + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
57740 + shlibpath_overrides_runpath=no
57741 + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
57742 + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
57743 + hardcode_into_libs=yes
57744 + ;;
57746 +# No shared lib support for Linux oldld, aout, or coff.
57747 +linux*oldld* | linux*aout* | linux*coff*)
57748 + dynamic_linker=no
57749 + ;;
57751 +# This must be Linux ELF.
57752 +linux* | k*bsd*-gnu | kopensolaris*-gnu)
57753 + version_type=linux
57754 + need_lib_prefix=no
57755 + need_version=no
57756 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57757 + soname_spec='${libname}${release}${shared_ext}$major'
57758 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
57759 + shlibpath_var=LD_LIBRARY_PATH
57760 + shlibpath_overrides_runpath=no
57762 + # Some binutils ld are patched to set DT_RUNPATH
57763 + if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
57764 + $as_echo_n "(cached) " >&6
57765 +else
57766 + lt_cv_shlibpath_overrides_runpath=no
57767 + save_LDFLAGS=$LDFLAGS
57768 + save_libdir=$libdir
57769 + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
57770 + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
57771 + if test x$gcc_no_link = xyes; then
57772 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
57774 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
57775 +/* end confdefs.h. */
57777 +int
57778 +main ()
57782 + return 0;
57784 +_ACEOF
57785 +if ac_fn_cxx_try_link "$LINENO"; then :
57786 + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
57787 + lt_cv_shlibpath_overrides_runpath=yes
57790 +rm -f core conftest.err conftest.$ac_objext \
57791 + conftest$ac_exeext conftest.$ac_ext
57792 + LDFLAGS=$save_LDFLAGS
57793 + libdir=$save_libdir
57797 + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
57799 + # This implies no fast_install, which is unacceptable.
57800 + # Some rework will be needed to allow for fast_install
57801 + # before this can be enabled.
57802 + hardcode_into_libs=yes
57804 + # Append ld.so.conf contents to the search path
57805 + if test -f /etc/ld.so.conf; then
57806 + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
57807 + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
57808 + fi
57810 + # We used to test for /lib/ld.so.1 and disable shared libraries on
57811 + # powerpc, because MkLinux only supported shared libraries with the
57812 + # GNU dynamic linker. Since this was broken with cross compilers,
57813 + # most powerpc-linux boxes support dynamic linking these days and
57814 + # people can always --disable-shared, the test was removed, and we
57815 + # assume the GNU/Linux dynamic linker is in use.
57816 + dynamic_linker='GNU/Linux ld.so'
57817 + ;;
57819 +netbsd*)
57820 + version_type=sunos
57821 + need_lib_prefix=no
57822 + need_version=no
57823 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
57824 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
57825 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
57826 + dynamic_linker='NetBSD (a.out) ld.so'
57827 + else
57828 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
57829 + soname_spec='${libname}${release}${shared_ext}$major'
57830 + dynamic_linker='NetBSD ld.elf_so'
57831 + fi
57832 + shlibpath_var=LD_LIBRARY_PATH
57833 + shlibpath_overrides_runpath=yes
57834 + hardcode_into_libs=yes
57835 + ;;
57837 +newsos6)
57838 + version_type=linux
57839 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57840 + shlibpath_var=LD_LIBRARY_PATH
57841 + shlibpath_overrides_runpath=yes
57842 + ;;
57844 +*nto* | *qnx*)
57845 + version_type=qnx
57846 + need_lib_prefix=no
57847 + need_version=no
57848 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57849 + soname_spec='${libname}${release}${shared_ext}$major'
57850 + shlibpath_var=LD_LIBRARY_PATH
57851 + shlibpath_overrides_runpath=no
57852 + hardcode_into_libs=yes
57853 + dynamic_linker='ldqnx.so'
57854 + ;;
57856 +openbsd*)
57857 + version_type=sunos
57858 + sys_lib_dlsearch_path_spec="/usr/lib"
57859 + need_lib_prefix=no
57860 + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
57861 + case $host_os in
57862 + openbsd3.3 | openbsd3.3.*) need_version=yes ;;
57863 + *) need_version=no ;;
57864 + esac
57865 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
57866 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
57867 + shlibpath_var=LD_LIBRARY_PATH
57868 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
57869 + case $host_os in
57870 + openbsd2.[89] | openbsd2.[89].*)
57871 + shlibpath_overrides_runpath=no
57872 + ;;
57873 + *)
57874 + shlibpath_overrides_runpath=yes
57875 + ;;
57876 + esac
57877 + else
57878 + shlibpath_overrides_runpath=yes
57879 + fi
57880 + ;;
57882 +os2*)
57883 + libname_spec='$name'
57884 + shrext_cmds=".dll"
57885 + need_lib_prefix=no
57886 + library_names_spec='$libname${shared_ext} $libname.a'
57887 + dynamic_linker='OS/2 ld.exe'
57888 + shlibpath_var=LIBPATH
57889 + ;;
57891 +osf3* | osf4* | osf5*)
57892 + version_type=osf
57893 + need_lib_prefix=no
57894 + need_version=no
57895 + soname_spec='${libname}${release}${shared_ext}$major'
57896 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57897 + shlibpath_var=LD_LIBRARY_PATH
57898 + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
57899 + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
57900 + ;;
57902 +rdos*)
57903 + dynamic_linker=no
57904 + ;;
57906 +solaris*)
57907 + version_type=linux
57908 + need_lib_prefix=no
57909 + need_version=no
57910 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57911 + soname_spec='${libname}${release}${shared_ext}$major'
57912 + shlibpath_var=LD_LIBRARY_PATH
57913 + shlibpath_overrides_runpath=yes
57914 + hardcode_into_libs=yes
57915 + # ldd complains unless libraries are executable
57916 + postinstall_cmds='chmod +x $lib'
57917 + ;;
57919 +sunos4*)
57920 + version_type=sunos
57921 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
57922 + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
57923 + shlibpath_var=LD_LIBRARY_PATH
57924 + shlibpath_overrides_runpath=yes
57925 + if test "$with_gnu_ld" = yes; then
57926 + need_lib_prefix=no
57927 + fi
57928 + need_version=yes
57929 + ;;
57931 +sysv4 | sysv4.3*)
57932 + version_type=linux
57933 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57934 + soname_spec='${libname}${release}${shared_ext}$major'
57935 + shlibpath_var=LD_LIBRARY_PATH
57936 + case $host_vendor in
57937 + sni)
57938 + shlibpath_overrides_runpath=no
57939 + need_lib_prefix=no
57940 + runpath_var=LD_RUN_PATH
57941 + ;;
57942 + siemens)
57943 + need_lib_prefix=no
57944 + ;;
57945 + motorola)
57946 + need_lib_prefix=no
57947 + need_version=no
57948 + shlibpath_overrides_runpath=no
57949 + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
57950 + ;;
57951 + esac
57952 + ;;
57954 +sysv4*MP*)
57955 + if test -d /usr/nec ;then
57956 + version_type=linux
57957 + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
57958 + soname_spec='$libname${shared_ext}.$major'
57959 + shlibpath_var=LD_LIBRARY_PATH
57960 + fi
57961 + ;;
57963 +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
57964 + version_type=freebsd-elf
57965 + need_lib_prefix=no
57966 + need_version=no
57967 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
57968 + soname_spec='${libname}${release}${shared_ext}$major'
57969 + shlibpath_var=LD_LIBRARY_PATH
57970 + shlibpath_overrides_runpath=yes
57971 + hardcode_into_libs=yes
57972 + if test "$with_gnu_ld" = yes; then
57973 + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
57974 + else
57975 + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
57976 + case $host_os in
57977 + sco3.2v5*)
57978 + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
57979 + ;;
57980 + esac
57981 + fi
57982 + sys_lib_dlsearch_path_spec='/usr/lib'
57983 + ;;
57985 +tpf*)
57986 + # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
57987 + version_type=linux
57988 + need_lib_prefix=no
57989 + need_version=no
57990 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57991 + shlibpath_var=LD_LIBRARY_PATH
57992 + shlibpath_overrides_runpath=no
57993 + hardcode_into_libs=yes
57994 + ;;
57996 +uts4*)
57997 + version_type=linux
57998 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
57999 + soname_spec='${libname}${release}${shared_ext}$major'
58000 + shlibpath_var=LD_LIBRARY_PATH
58001 + ;;
58004 + dynamic_linker=no
58005 + ;;
58006 +esac
58007 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
58008 +$as_echo "$dynamic_linker" >&6; }
58009 +test "$dynamic_linker" = no && can_build_shared=no
58011 +variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
58012 +if test "$GCC" = yes; then
58013 + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
58016 +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
58017 + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
58019 +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
58020 + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
58060 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
58061 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
58062 +hardcode_action_CXX=
58063 +if test -n "$hardcode_libdir_flag_spec_CXX" ||
58064 + test -n "$runpath_var_CXX" ||
58065 + test "X$hardcode_automatic_CXX" = "Xyes" ; then
58067 + # We can hardcode non-existent directories.
58068 + if test "$hardcode_direct_CXX" != no &&
58069 + # If the only mechanism to avoid hardcoding is shlibpath_var, we
58070 + # have to relink, otherwise we might link with an installed library
58071 + # when we should be linking with a yet-to-be-installed one
58072 + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
58073 + test "$hardcode_minus_L_CXX" != no; then
58074 + # Linking always hardcodes the temporary library directory.
58075 + hardcode_action_CXX=relink
58076 + else
58077 + # We can link without hardcoding, and we can hardcode nonexisting dirs.
58078 + hardcode_action_CXX=immediate
58079 + fi
58080 +else
58081 + # We cannot hardcode anything, or else we can only hardcode existing
58082 + # directories.
58083 + hardcode_action_CXX=unsupported
58085 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
58086 +$as_echo "$hardcode_action_CXX" >&6; }
58088 +if test "$hardcode_action_CXX" = relink ||
58089 + test "$inherit_rpath_CXX" = yes; then
58090 + # Fast installation is not supported
58091 + enable_fast_install=no
58092 +elif test "$shlibpath_overrides_runpath" = yes ||
58093 + test "$enable_shared" = no; then
58094 + # Fast installation is not necessary
58095 + enable_fast_install=needless
58104 + fi # test -n "$compiler"
58106 + CC=$lt_save_CC
58107 + LDCXX=$LD
58108 + LD=$lt_save_LD
58109 + GCC=$lt_save_GCC
58110 + with_gnu_ld=$lt_save_with_gnu_ld
58111 + lt_cv_path_LDCXX=$lt_cv_path_LD
58112 + lt_cv_path_LD=$lt_save_path_LD
58113 + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
58114 + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
58115 +fi # test "$_lt_caught_CXX_error" != yes
58117 +ac_ext=c
58118 +ac_cpp='$CPP $CPPFLAGS'
58119 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58120 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58121 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
58135 + ac_config_commands="$ac_config_commands libtool"
58140 +# Only expand once:
58146 +case $host in
58147 + *-cygwin* | *-mingw*)
58148 + # 'host' will be top-level target in the case of a target lib,
58149 + # we must compare to with_cross_host to decide if this is a native
58150 + # or cross-compiler and select where to install dlls appropriately.
58151 + if test -n "$with_cross_host" &&
58152 + test x"$with_cross_host" != x"no"; then
58153 + lt_host_flags='-no-undefined -bindir "$(toolexeclibdir)"';
58154 + else
58155 + lt_host_flags='-no-undefined -bindir "$(bindir)"';
58156 + fi
58157 + ;;
58158 + *)
58159 + lt_host_flags=
58160 + ;;
58161 +esac
58168 +if test "$enable_vtable_verify" = yes; then
58169 + predep_objects_CXX="${predep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_start.o"
58170 + postdep_objects_CXX="${postdep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_end.o"
58174 +# libtool variables for C++ shared and position-independent compiles.
58176 +# Use glibcxx_lt_pic_flag to designate the automake variable
58177 +# used to encapsulate the default libtool approach to creating objects
58178 +# with position-independent code. Default: -prefer-pic.
58180 +# Use glibcxx_compiler_shared_flag to designate a compile-time flags for
58181 +# creating shared objects. Default: -D_GLIBCXX_SHARED.
58183 +# Use glibcxx_compiler_pic_flag to designate a compile-time flags for
58184 +# creating position-independent objects. This varies with the target
58185 +# hardware and operating system, but is often: -DPIC -fPIC.
58186 +if test "$enable_shared" = yes; then
58187 + glibcxx_lt_pic_flag="-prefer-pic"
58188 + glibcxx_compiler_pic_flag="$lt_prog_compiler_pic_CXX"
58189 + glibcxx_compiler_shared_flag="-D_GLIBCXX_SHARED"
58191 +else
58192 + glibcxx_lt_pic_flag=
58193 + glibcxx_compiler_pic_flag=
58194 + glibcxx_compiler_shared_flag=
58200 +# Override the libtool's pic_flag and pic_mode.
58201 +# Do this step after AM_PROG_LIBTOOL, but before AC_OUTPUT.
58202 +# NB: this impacts --with-pic and --without-pic.
58203 +lt_prog_compiler_pic_CXX="$glibcxx_compiler_pic_flag $glibcxx_compiler_shared_flag"
58204 +pic_mode='default'
58206 +# Eliminate -lstdc++ addition to postdeps for cross compiles.
58207 +postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
58209 +# Possibly disable most of the library.
58210 +## TODO: Consider skipping unncessary tests altogether in this case, rather
58211 +## than just ignoring the results. Faster /and/ more correct, win win.
58213 + # Check whether --enable-hosted-libstdcxx was given.
58214 +if test "${enable_hosted_libstdcxx+set}" = set; then :
58215 + enableval=$enable_hosted_libstdcxx;
58216 +else
58217 + case "$host" in
58218 + arm*-*-symbianelf*)
58219 + enable_hosted_libstdcxx=no
58220 + ;;
58221 + *)
58222 + enable_hosted_libstdcxx=yes
58223 + ;;
58224 + esac
58227 + if test "$enable_hosted_libstdcxx" = no; then
58228 + { $as_echo "$as_me:${as_lineno-$LINENO}: Only freestanding libraries will be built" >&5
58229 +$as_echo "$as_me: Only freestanding libraries will be built" >&6;}
58230 + is_hosted=no
58231 + hosted_define=0
58232 + enable_abi_check=no
58233 + enable_libstdcxx_pch=no
58234 + else
58235 + is_hosted=yes
58236 + hosted_define=1
58237 + fi
58240 +cat >>confdefs.h <<_ACEOF
58241 +#define _GLIBCXX_HOSTED $hosted_define
58242 +_ACEOF
58246 +# Enable descriptive messages to standard output on termination.
58248 + # Check whether --enable-libstdcxx-verbose was given.
58249 +if test "${enable_libstdcxx_verbose+set}" = set; then :
58250 + enableval=$enable_libstdcxx_verbose;
58251 +else
58252 + enable_libstdcxx_verbose=yes
58255 + if test x"$enable_libstdcxx_verbose" = xyes; then
58256 + verbose_define=1
58257 + else
58258 + { $as_echo "$as_me:${as_lineno-$LINENO}: verbose termination messages are disabled" >&5
58259 +$as_echo "$as_me: verbose termination messages are disabled" >&6;}
58260 + verbose_define=0
58261 + fi
58263 +cat >>confdefs.h <<_ACEOF
58264 +#define _GLIBCXX_VERBOSE $verbose_define
58265 +_ACEOF
58269 +# Enable compiler support that doesn't require linking.
58271 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exception model to use" >&5
58272 +$as_echo_n "checking for exception model to use... " >&6; }
58274 + ac_ext=cpp
58275 +ac_cpp='$CXXCPP $CPPFLAGS'
58276 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58277 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58278 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
58280 + # Check whether --enable-sjlj-exceptions was given.
58281 +if test "${enable_sjlj_exceptions+set}" = set; then :
58282 + enableval=$enable_sjlj_exceptions;
58283 + case "$enableval" in
58284 + yes|no|auto) ;;
58285 + *) as_fn_error "Unknown argument to enable/disable sjlj-exceptions" "$LINENO" 5 ;;
58286 + esac
58288 +else
58289 + enable_sjlj_exceptions=auto
58294 + if test $enable_sjlj_exceptions = auto; then
58295 + # Botheration. Now we've got to detect the exception model. Link tests
58296 + # against libgcc.a are problematic since we've not been given proper -L
58297 + # bits for single-tree newlib and libgloss.
58299 + # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
58300 + cat > conftest.$ac_ext << EOF
58301 +#line 15068 "configure"
58302 +struct S { ~S(); };
58303 +void bar();
58304 +void foo()
58306 + S s;
58307 + bar();
58309 +EOF
58310 + old_CXXFLAGS="$CXXFLAGS"
58311 + CXXFLAGS=-S
58312 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58313 + (eval $ac_compile) 2>&5
58314 + ac_status=$?
58315 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58316 + test $ac_status = 0; }; then
58317 + if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
58318 + enable_sjlj_exceptions=yes
58319 + elif grep _Unwind_SjLj_Register conftest.s >/dev/null 2>&1 ; then
58320 + enable_sjlj_exceptions=yes
58321 + elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
58322 + enable_sjlj_exceptions=no
58323 + elif grep __cxa_end_cleanup conftest.s >/dev/null 2>&1 ; then
58324 + enable_sjlj_exceptions=no
58325 + fi
58326 + fi
58327 + CXXFLAGS="$old_CXXFLAGS"
58328 + rm -f conftest*
58329 + fi
58331 + # This is a tad weird, for hysterical raisins. We have to map
58332 + # enable/disable to two different models.
58333 + case $enable_sjlj_exceptions in
58334 + yes)
58336 +$as_echo "#define _GLIBCXX_SJLJ_EXCEPTIONS 1" >>confdefs.h
58338 + ac_exception_model_name=sjlj
58339 + ;;
58340 + no)
58341 + ac_exception_model_name="call frame"
58342 + ;;
58343 + *)
58344 + as_fn_error "unable to detect exception model" "$LINENO" 5
58345 + ;;
58346 + esac
58347 + ac_ext=c
58348 +ac_cpp='$CPP $CPPFLAGS'
58349 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58350 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58351 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
58353 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_exception_model_name" >&5
58354 +$as_echo "$ac_exception_model_name" >&6; }
58357 + # Check whether --enable-libstdcxx-pch was given.
58358 +if test "${enable_libstdcxx_pch+set}" = set; then :
58359 + enableval=$enable_libstdcxx_pch;
58360 + case "$enableval" in
58361 + yes|no) ;;
58362 + *) as_fn_error "Argument to enable/disable libstdcxx-pch must be yes or no" "$LINENO" 5 ;;
58363 + esac
58365 +else
58366 + enable_libstdcxx_pch=$is_hosted
58370 + if test $enable_libstdcxx_pch = yes; then
58371 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler with PCH support" >&5
58372 +$as_echo_n "checking for compiler with PCH support... " >&6; }
58373 +if test "${glibcxx_cv_prog_CXX_pch+set}" = set; then :
58374 + $as_echo_n "(cached) " >&6
58375 +else
58376 + ac_save_CXXFLAGS="$CXXFLAGS"
58377 + CXXFLAGS="$CXXFLAGS -Werror -Winvalid-pch -Wno-deprecated"
58379 + ac_ext=cpp
58380 +ac_cpp='$CXXCPP $CPPFLAGS'
58381 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58382 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58383 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
58385 + echo '#include <math.h>' > conftest.h
58386 + if $CXX $CXXFLAGS $CPPFLAGS -x c++-header conftest.h \
58387 + -o conftest.h.gch 1>&5 2>&1 &&
58388 + echo '#error "pch failed"' > conftest.h &&
58389 + echo '#include "conftest.h"' > conftest.cc &&
58390 + $CXX -c $CXXFLAGS $CPPFLAGS conftest.cc 1>&5 2>&1 ;
58391 + then
58392 + glibcxx_cv_prog_CXX_pch=yes
58393 + else
58394 + glibcxx_cv_prog_CXX_pch=no
58395 + fi
58396 + rm -f conftest*
58397 + CXXFLAGS=$ac_save_CXXFLAGS
58398 + ac_ext=c
58399 +ac_cpp='$CPP $CPPFLAGS'
58400 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58401 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58402 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
58406 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_prog_CXX_pch" >&5
58407 +$as_echo "$glibcxx_cv_prog_CXX_pch" >&6; }
58408 + enable_libstdcxx_pch=$glibcxx_cv_prog_CXX_pch
58409 + fi
58411 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for enabled PCH" >&5
58412 +$as_echo_n "checking for enabled PCH... " >&6; }
58413 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libstdcxx_pch" >&5
58414 +$as_echo "$enable_libstdcxx_pch" >&6; }
58417 + if test $enable_libstdcxx_pch = yes; then
58418 + glibcxx_PCHFLAGS="-include bits/stdc++.h"
58419 + else
58420 + glibcxx_PCHFLAGS=""
58421 + fi
58425 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread model used by GCC" >&5
58426 +$as_echo_n "checking for thread model used by GCC... " >&6; }
58427 + target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
58428 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $target_thread_file" >&5
58429 +$as_echo "$target_thread_file" >&6; }
58431 +case $target_thread_file in
58432 + aix) thread_header=config/rs6000/gthr-aix.h ;;
58433 + dce) thread_header=config/pa/gthr-dce.h ;;
58434 + lynx) thread_header=config/gthr-lynx.h ;;
58435 + mipssde) thread_header=config/mips/gthr-mipssde.h ;;
58436 + posix) thread_header=gthr-posix.h ;;
58437 + rtems) thread_header=config/gthr-rtems.h ;;
58438 + single) thread_header=gthr-single.h ;;
58439 + tpf) thread_header=config/s390/gthr-tpf.h ;;
58440 + vxworks) thread_header=config/gthr-vxworks.h ;;
58441 + win32) thread_header=config/i386/gthr-win32.h ;;
58442 +esac
58448 + ac_ext=cpp
58449 +ac_cpp='$CXXCPP $CPPFLAGS'
58450 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58451 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58452 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
58454 + old_CXXFLAGS="$CXXFLAGS"
58456 + # Do link tests if possible, instead asm tests, limited to some platforms
58457 + # see discussion in PR target/40134, PR libstdc++/40133 and the thread
58458 + # starting at http://gcc.gnu.org/ml/gcc-patches/2009-07/msg00322.html
58459 + atomic_builtins_link_tests=no
58460 + if test x$gcc_no_link != xyes; then
58461 + # Can do link tests. Limit to some tested platforms
58462 + case "$host" in
58463 + *-*-linux* | *-*-uclinux* | *-*-kfreebsd*-gnu | *-*-gnu*)
58464 + atomic_builtins_link_tests=yes
58465 + ;;
58466 + esac
58467 + fi
58469 + if test x$atomic_builtins_link_tests = xyes; then
58471 + # Do link tests.
58473 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
58475 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for bool" >&5
58476 +$as_echo_n "checking for atomic builtins for bool... " >&6; }
58477 + if test "${glibcxx_cv_atomic_bool+set}" = set; then :
58478 + $as_echo_n "(cached) " >&6
58479 +else
58481 + if test x$gcc_no_link = xyes; then
58482 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
58484 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
58485 +/* end confdefs.h. */
58487 +int
58488 +main ()
58490 +typedef bool atomic_type;
58491 + atomic_type c1;
58492 + atomic_type c2;
58493 + atomic_type c3(0);
58494 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58495 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58496 + __ATOMIC_RELAXED);
58497 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58498 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58501 + return 0;
58503 +_ACEOF
58504 +if ac_fn_cxx_try_link "$LINENO"; then :
58505 + glibcxx_cv_atomic_bool=yes
58506 +else
58507 + glibcxx_cv_atomic_bool=no
58509 +rm -f core conftest.err conftest.$ac_objext \
58510 + conftest$ac_exeext conftest.$ac_ext
58514 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_bool" >&5
58515 +$as_echo "$glibcxx_cv_atomic_bool" >&6; }
58517 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for short" >&5
58518 +$as_echo_n "checking for atomic builtins for short... " >&6; }
58519 + if test "${glibcxx_cv_atomic_short+set}" = set; then :
58520 + $as_echo_n "(cached) " >&6
58521 +else
58523 + if test x$gcc_no_link = xyes; then
58524 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
58526 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
58527 +/* end confdefs.h. */
58529 +int
58530 +main ()
58532 +typedef short atomic_type;
58533 + atomic_type c1;
58534 + atomic_type c2;
58535 + atomic_type c3(0);
58536 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58537 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58538 + __ATOMIC_RELAXED);
58539 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58540 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58543 + return 0;
58545 +_ACEOF
58546 +if ac_fn_cxx_try_link "$LINENO"; then :
58547 + glibcxx_cv_atomic_short=yes
58548 +else
58549 + glibcxx_cv_atomic_short=no
58551 +rm -f core conftest.err conftest.$ac_objext \
58552 + conftest$ac_exeext conftest.$ac_ext
58556 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_short" >&5
58557 +$as_echo "$glibcxx_cv_atomic_short" >&6; }
58559 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for int" >&5
58560 +$as_echo_n "checking for atomic builtins for int... " >&6; }
58561 + if test "${glibcxx_cv_atomic_int+set}" = set; then :
58562 + $as_echo_n "(cached) " >&6
58563 +else
58565 + if test x$gcc_no_link = xyes; then
58566 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
58568 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
58569 +/* end confdefs.h. */
58571 +int
58572 +main ()
58574 +typedef int atomic_type;
58575 + atomic_type c1;
58576 + atomic_type c2;
58577 + atomic_type c3(0);
58578 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58579 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58580 + __ATOMIC_RELAXED);
58581 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58582 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58585 + return 0;
58587 +_ACEOF
58588 +if ac_fn_cxx_try_link "$LINENO"; then :
58589 + glibcxx_cv_atomic_int=yes
58590 +else
58591 + glibcxx_cv_atomic_int=no
58593 +rm -f core conftest.err conftest.$ac_objext \
58594 + conftest$ac_exeext conftest.$ac_ext
58598 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_int" >&5
58599 +$as_echo "$glibcxx_cv_atomic_int" >&6; }
58601 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for long long" >&5
58602 +$as_echo_n "checking for atomic builtins for long long... " >&6; }
58603 + if test "${glibcxx_cv_atomic_long_long+set}" = set; then :
58604 + $as_echo_n "(cached) " >&6
58605 +else
58607 + if test x$gcc_no_link = xyes; then
58608 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
58610 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
58611 +/* end confdefs.h. */
58613 +int
58614 +main ()
58616 +typedef long long atomic_type;
58617 + atomic_type c1;
58618 + atomic_type c2;
58619 + atomic_type c3(0);
58620 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58621 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58622 + __ATOMIC_RELAXED);
58623 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58624 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58627 + return 0;
58629 +_ACEOF
58630 +if ac_fn_cxx_try_link "$LINENO"; then :
58631 + glibcxx_cv_atomic_long_long=yes
58632 +else
58633 + glibcxx_cv_atomic_long_long=no
58635 +rm -f core conftest.err conftest.$ac_objext \
58636 + conftest$ac_exeext conftest.$ac_ext
58640 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_long_long" >&5
58641 +$as_echo "$glibcxx_cv_atomic_long_long" >&6; }
58643 + else
58645 + # Do asm tests.
58647 + # Compile unoptimized.
58648 + CXXFLAGS='-O0 -S'
58650 + # Fake what AC_TRY_COMPILE does.
58652 + cat > conftest.$ac_ext << EOF
58653 +#line 15420 "configure"
58654 +int main()
58656 + typedef bool atomic_type;
58657 + atomic_type c1;
58658 + atomic_type c2;
58659 + atomic_type c3(0);
58660 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58661 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58662 + __ATOMIC_RELAXED);
58663 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58664 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58666 + return 0;
58668 +EOF
58670 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for bool" >&5
58671 +$as_echo_n "checking for atomic builtins for bool... " >&6; }
58672 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58673 + (eval $ac_compile) 2>&5
58674 + ac_status=$?
58675 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58676 + test $ac_status = 0; }; then
58677 + if grep __atomic_ conftest.s >/dev/null 2>&1 ; then
58678 + glibcxx_cv_atomic_bool=no
58679 + else
58680 + glibcxx_cv_atomic_bool=yes
58681 + fi
58682 + fi
58683 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_bool" >&5
58684 +$as_echo "$glibcxx_cv_atomic_bool" >&6; }
58685 + rm -f conftest*
58687 + cat > conftest.$ac_ext << EOF
58688 +#line 15455 "configure"
58689 +int main()
58691 + typedef short atomic_type;
58692 + atomic_type c1;
58693 + atomic_type c2;
58694 + atomic_type c3(0);
58695 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58696 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58697 + __ATOMIC_RELAXED);
58698 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58699 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58701 + return 0;
58703 +EOF
58705 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for short" >&5
58706 +$as_echo_n "checking for atomic builtins for short... " >&6; }
58707 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58708 + (eval $ac_compile) 2>&5
58709 + ac_status=$?
58710 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58711 + test $ac_status = 0; }; then
58712 + if grep __atomic_ conftest.s >/dev/null 2>&1 ; then
58713 + glibcxx_cv_atomic_short=no
58714 + else
58715 + glibcxx_cv_atomic_short=yes
58716 + fi
58717 + fi
58718 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_short" >&5
58719 +$as_echo "$glibcxx_cv_atomic_short" >&6; }
58720 + rm -f conftest*
58722 + cat > conftest.$ac_ext << EOF
58723 +#line 15490 "configure"
58724 +int main()
58726 + // NB: _Atomic_word not necessarily int.
58727 + typedef int atomic_type;
58728 + atomic_type c1;
58729 + atomic_type c2;
58730 + atomic_type c3(0);
58731 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58732 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58733 + __ATOMIC_RELAXED);
58734 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58735 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58737 + return 0;
58739 +EOF
58741 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for int" >&5
58742 +$as_echo_n "checking for atomic builtins for int... " >&6; }
58743 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58744 + (eval $ac_compile) 2>&5
58745 + ac_status=$?
58746 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58747 + test $ac_status = 0; }; then
58748 + if grep __atomic_ conftest.s >/dev/null 2>&1 ; then
58749 + glibcxx_cv_atomic_int=no
58750 + else
58751 + glibcxx_cv_atomic_int=yes
58752 + fi
58753 + fi
58754 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_int" >&5
58755 +$as_echo "$glibcxx_cv_atomic_int" >&6; }
58756 + rm -f conftest*
58758 + cat > conftest.$ac_ext << EOF
58759 +#line 15526 "configure"
58760 +int main()
58762 + typedef long long atomic_type;
58763 + atomic_type c1;
58764 + atomic_type c2;
58765 + atomic_type c3(0);
58766 + __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
58767 + __atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
58768 + __ATOMIC_RELAXED);
58769 + __atomic_test_and_set(&c1, __ATOMIC_RELAXED);
58770 + __atomic_load_n(&c1, __ATOMIC_RELAXED);
58772 + return 0;
58774 +EOF
58776 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atomic builtins for long long" >&5
58777 +$as_echo_n "checking for atomic builtins for long long... " >&6; }
58778 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58779 + (eval $ac_compile) 2>&5
58780 + ac_status=$?
58781 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58782 + test $ac_status = 0; }; then
58783 + if grep __atomic_ conftest.s >/dev/null 2>&1 ; then
58784 + glibcxx_cv_atomic_long_long=no
58785 + else
58786 + glibcxx_cv_atomic_long_long=yes
58787 + fi
58788 + fi
58789 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_atomic_long_long" >&5
58790 +$as_echo "$glibcxx_cv_atomic_long_long" >&6; }
58791 + rm -f conftest*
58793 + fi
58795 + CXXFLAGS="$old_CXXFLAGS"
58796 + ac_ext=c
58797 +ac_cpp='$CPP $CPPFLAGS'
58798 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58799 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58800 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
58803 + # Set atomicity_dir to builtins if all but the long long test above passes.
58804 + if test $glibcxx_cv_atomic_bool = yes \
58805 + && test $glibcxx_cv_atomic_short = yes \
58806 + && test $glibcxx_cv_atomic_int = yes; then
58808 +$as_echo "#define _GLIBCXX_ATOMIC_BUILTINS 1" >>confdefs.h
58810 + atomicity_dir=cpu/generic/atomicity_builtins
58811 + fi
58813 + # If still generic, set to mutex.
58814 + if test $atomicity_dir = "cpu/generic" ; then
58815 + atomicity_dir=cpu/generic/atomicity_mutex
58816 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No native atomic operations are provided for this platform." >&5
58817 +$as_echo "$as_me: WARNING: No native atomic operations are provided for this platform." >&2;}
58818 + if test "x$target_thread_file" = xsingle; then
58819 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: They cannot be faked when thread support is disabled." >&5
58820 +$as_echo "$as_me: WARNING: They cannot be faked when thread support is disabled." >&2;}
58821 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Thread-safety of certain classes is not guaranteed." >&5
58822 +$as_echo "$as_me: WARNING: Thread-safety of certain classes is not guaranteed." >&2;}
58823 + else
58824 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: They will be faked using a mutex." >&5
58825 +$as_echo "$as_me: WARNING: They will be faked using a mutex." >&2;}
58826 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Performance of certain classes will degrade as a result." >&5
58827 +$as_echo "$as_me: WARNING: Performance of certain classes will degrade as a result." >&2;}
58828 + fi
58829 + fi
58834 + # Fake what AC_TRY_COMPILE does, without linking as this is
58835 + # unnecessary for this test.
58837 + cat > conftest.$ac_ext << EOF
58838 +#line 15605 "configure"
58839 +int main()
58841 + _Decimal32 d1;
58842 + _Decimal64 d2;
58843 + _Decimal128 d3;
58844 + return 0;
58846 +EOF
58848 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO/IEC TR 24733 " >&5
58849 +$as_echo_n "checking for ISO/IEC TR 24733 ... " >&6; }
58850 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58851 + (eval $ac_compile) 2>&5
58852 + ac_status=$?
58853 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58854 + test $ac_status = 0; }; then
58856 +$as_echo "#define _GLIBCXX_USE_DECIMAL_FLOAT 1" >>confdefs.h
58858 + enable_dfp=yes
58859 + else
58860 + enable_dfp=no
58861 + fi
58862 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dfp" >&5
58863 +$as_echo "$enable_dfp" >&6; }
58864 + rm -f conftest*
58869 + ac_ext=cpp
58870 +ac_cpp='$CXXCPP $CPPFLAGS'
58871 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58872 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58873 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
58876 + # Fake what AC_TRY_COMPILE does, without linking as this is
58877 + # unnecessary for this test.
58879 + cat > conftest.$ac_ext << EOF
58880 +#line 15647 "configure"
58881 +template<typename T1, typename T2>
58882 + struct same
58883 + { typedef T2 type; };
58885 +template<typename T>
58886 + struct same<T, T>;
58888 +int main()
58890 + typename same<long, __int128>::type i1;
58891 + typename same<long long, __int128>::type i2;
58893 +EOF
58895 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __int128" >&5
58896 +$as_echo_n "checking for __int128... " >&6; }
58897 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58898 + (eval $ac_compile) 2>&5
58899 + ac_status=$?
58900 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58901 + test $ac_status = 0; }; then
58903 +$as_echo "#define _GLIBCXX_USE_INT128 1" >>confdefs.h
58905 + enable_int128=yes
58906 + else
58907 + enable_int128=no
58908 + fi
58909 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_int128" >&5
58910 +$as_echo "$enable_int128" >&6; }
58911 + rm -f conftest*
58913 + cat > conftest.$ac_ext << EOF
58914 +#line 15681 "configure"
58915 +template<typename T1, typename T2>
58916 + struct same
58917 + { typedef T2 type; };
58919 +template<typename T>
58920 + struct same<T, T>;
58922 +int main()
58924 + typename same<double, __float128>::type f1;
58925 + typename same<long double, __float128>::type f2;
58927 +EOF
58929 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __float128" >&5
58930 +$as_echo_n "checking for __float128... " >&6; }
58931 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
58932 + (eval $ac_compile) 2>&5
58933 + ac_status=$?
58934 + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
58935 + test $ac_status = 0; }; then
58937 +$as_echo "#define _GLIBCXX_USE_FLOAT128 1" >>confdefs.h
58939 + enable_float128=yes
58940 + else
58941 + enable_float128=no
58942 + fi
58943 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_float128" >&5
58944 +$as_echo "$enable_float128" >&6; }
58945 + rm -f conftest*
58947 + ac_ext=c
58948 +ac_cpp='$CPP $CPPFLAGS'
58949 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58950 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58951 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
58954 +if test "$enable_float128" = yes; then
58955 + port_specific_symbol_files="$port_specific_symbol_files \$(top_srcdir)/config/abi/pre/float128.ver"
58958 +# Checks for compiler support that doesn't require linking.
58960 + # All these tests are for C++; save the language and the compiler flags.
58961 + # The CXXFLAGS thing is suspicious, but based on similar bits previously
58962 + # found in GLIBCXX_CONFIGURE.
58964 + ac_ext=cpp
58965 +ac_cpp='$CXXCPP $CPPFLAGS'
58966 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
58967 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
58968 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
58970 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
58971 + ac_save_CXXFLAGS="$CXXFLAGS"
58973 + # Check for maintainer-mode bits.
58974 + if test x"$USE_MAINTAINER_MODE" = xno; then
58975 + WERROR=''
58976 + else
58977 + WERROR='-Werror'
58978 + fi
58980 + # Check for -ffunction-sections -fdata-sections
58981 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
58982 +$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
58983 + CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
58984 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
58985 +/* end confdefs.h. */
58986 +int foo; void bar() { };
58987 +int
58988 +main ()
58992 + return 0;
58994 +_ACEOF
58995 +if ac_fn_cxx_try_compile "$LINENO"; then :
58996 + ac_fdsections=yes
58997 +else
58998 + ac_fdsections=no
59000 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59001 + if test "$ac_test_CXXFLAGS" = set; then
59002 + CXXFLAGS="$ac_save_CXXFLAGS"
59003 + else
59004 + # this is the suspicious part
59005 + CXXFLAGS=''
59006 + fi
59007 + if test x"$ac_fdsections" = x"yes"; then
59008 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
59009 + fi
59010 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
59011 +$as_echo "$ac_fdsections" >&6; }
59013 + ac_ext=c
59014 +ac_cpp='$CPP $CPPFLAGS'
59015 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
59016 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
59017 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
59023 +# Enable all the variable C++ runtime options that don't require linking.
59025 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for underlying I/O to use" >&5
59026 +$as_echo_n "checking for underlying I/O to use... " >&6; }
59027 + # Check whether --enable-cstdio was given.
59028 +if test "${enable_cstdio+set}" = set; then :
59029 + enableval=$enable_cstdio;
59030 + case "$enableval" in
59031 + stdio) ;;
59032 + *) as_fn_error "Unknown argument to enable/disable cstdio" "$LINENO" 5 ;;
59033 + esac
59035 +else
59036 + enable_cstdio=stdio
59041 + # Now that libio has been removed, you can have any color you want as long
59042 + # as it's black. This is one big no-op until other packages are added, but
59043 + # showing the framework never hurts.
59044 + case ${enable_cstdio} in
59045 + stdio)
59046 + CSTDIO_H=config/io/c_io_stdio.h
59047 + BASIC_FILE_H=config/io/basic_file_stdio.h
59048 + BASIC_FILE_CC=config/io/basic_file_stdio.cc
59049 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: stdio" >&5
59050 +$as_echo "stdio" >&6; }
59051 + ;;
59052 + esac
59059 + # Check whether --enable-clocale was given.
59060 +if test "${enable_clocale+set}" = set; then :
59061 + enableval=$enable_clocale;
59062 + case "$enableval" in
59063 + generic|gnu|ieee_1003.1-2001|newlib|yes|no|auto) ;;
59064 + *) as_fn_error "Unknown argument to enable/disable clocale" "$LINENO" 5 ;;
59065 + esac
59067 +else
59068 + enable_clocale=auto
59073 + # Deal with gettext issues. Default to not using it (=no) until we detect
59074 + # support for it later. Let the user turn it off via --e/d, but let that
59075 + # default to on for easier handling.
59076 + USE_NLS=no
59077 + # Check whether --enable-nls was given.
59078 +if test "${enable_nls+set}" = set; then :
59079 + enableval=$enable_nls;
59080 +else
59081 + enable_nls=yes
59085 + # Either a known package, or "auto"
59086 + if test $enable_clocale = no || test $enable_clocale = yes; then
59087 + enable_clocale=auto
59088 + fi
59089 + enable_clocale_flag=$enable_clocale
59091 + # Probe for locale model to use if none specified.
59092 + # Default to "generic".
59093 + if test $enable_clocale_flag = auto; then
59094 + case ${target_os} in
59095 + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
59096 + enable_clocale_flag=gnu
59097 + ;;
59098 + darwin* | freebsd*)
59099 + enable_clocale_flag=darwin
59100 + ;;
59101 + dragonfly*)
59102 + enable_clocale_flag=dragonfly
59103 + ;;
59104 + openbsd*)
59105 + enable_clocale_flag=newlib
59106 + ;;
59107 + *)
59108 + if test x"$with_newlib" = x"yes"; then
59109 + enable_clocale_flag=newlib
59110 + else
59111 + enable_clocale_flag=generic
59112 + fi
59113 + ;;
59114 + esac
59115 + fi
59117 + # Sanity check model, and test for special functionality.
59118 + if test $enable_clocale_flag = gnu; then
59119 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59120 +/* end confdefs.h. */
59122 + #include <features.h>
59123 + #if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined(__UCLIBC__)
59124 + _GLIBCXX_ok
59125 + #endif
59127 +_ACEOF
59128 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
59129 + $EGREP "_GLIBCXX_ok" >/dev/null 2>&1; then :
59130 + enable_clocale_flag=gnu
59131 +else
59132 + enable_clocale_flag=generic
59134 +rm -f conftest*
59137 + # Set it to scream when it hurts.
59138 + ac_save_CFLAGS="$CFLAGS"
59139 + CFLAGS="-Wimplicit-function-declaration -Werror"
59141 + # Use strxfrm_l if available.
59142 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59143 +/* end confdefs.h. */
59144 +#define _GNU_SOURCE 1
59145 + #include <string.h>
59146 + #include <locale.h>
59147 +int
59148 +main ()
59150 +char s[128]; __locale_t loc; strxfrm_l(s, "C", 5, loc);
59152 + return 0;
59154 +_ACEOF
59155 +if ac_fn_c_try_compile "$LINENO"; then :
59157 +$as_echo "#define HAVE_STRXFRM_L 1" >>confdefs.h
59160 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59162 + # Use strerror_l if available.
59163 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59164 +/* end confdefs.h. */
59165 +#define _GNU_SOURCE 1
59166 + #include <string.h>
59167 + #include <locale.h>
59168 +int
59169 +main ()
59171 +__locale_t loc; strerror_l(5, loc);
59173 + return 0;
59175 +_ACEOF
59176 +if ac_fn_c_try_compile "$LINENO"; then :
59178 +$as_echo "#define HAVE_STRERROR_L 1" >>confdefs.h
59181 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59183 + CFLAGS="$ac_save_CFLAGS"
59184 + fi
59186 + # Perhaps use strerror_r if available, and strerror_l isn't.
59187 + ac_save_CFLAGS="$CFLAGS"
59188 + CFLAGS="-Wimplicit-function-declaration -Werror"
59189 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59190 +/* end confdefs.h. */
59191 +#define _GNU_SOURCE 1
59192 + #include <string.h>
59193 + #include <locale.h>
59194 +int
59195 +main ()
59197 +char s[128]; strerror_r(5, s, 128);
59199 + return 0;
59201 +_ACEOF
59202 +if ac_fn_c_try_compile "$LINENO"; then :
59204 +$as_echo "#define HAVE_STRERROR_R 1" >>confdefs.h
59207 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59208 + CFLAGS="$ac_save_CFLAGS"
59210 + # Set configure bits for specified locale package
59211 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C locale to use" >&5
59212 +$as_echo_n "checking for C locale to use... " >&6; }
59213 + case ${enable_clocale_flag} in
59214 + generic)
59215 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: generic" >&5
59216 +$as_echo "generic" >&6; }
59218 + CLOCALE_H=config/locale/generic/c_locale.h
59219 + CLOCALE_CC=config/locale/generic/c_locale.cc
59220 + CCODECVT_CC=config/locale/generic/codecvt_members.cc
59221 + CCOLLATE_CC=config/locale/generic/collate_members.cc
59222 + CCTYPE_CC=config/locale/generic/ctype_members.cc
59223 + CMESSAGES_H=config/locale/generic/messages_members.h
59224 + CMESSAGES_CC=config/locale/generic/messages_members.cc
59225 + CMONEY_CC=config/locale/generic/monetary_members.cc
59226 + CNUMERIC_CC=config/locale/generic/numeric_members.cc
59227 + CTIME_H=config/locale/generic/time_members.h
59228 + CTIME_CC=config/locale/generic/time_members.cc
59229 + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
59230 + ;;
59231 + darwin)
59232 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: darwin or freebsd" >&5
59233 +$as_echo "darwin or freebsd" >&6; }
59235 + CLOCALE_H=config/locale/generic/c_locale.h
59236 + CLOCALE_CC=config/locale/generic/c_locale.cc
59237 + CCODECVT_CC=config/locale/generic/codecvt_members.cc
59238 + CCOLLATE_CC=config/locale/generic/collate_members.cc
59239 + CCTYPE_CC=config/locale/darwin/ctype_members.cc
59240 + CMESSAGES_H=config/locale/generic/messages_members.h
59241 + CMESSAGES_CC=config/locale/generic/messages_members.cc
59242 + CMONEY_CC=config/locale/generic/monetary_members.cc
59243 + CNUMERIC_CC=config/locale/generic/numeric_members.cc
59244 + CTIME_H=config/locale/generic/time_members.h
59245 + CTIME_CC=config/locale/generic/time_members.cc
59246 + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
59247 + ;;
59249 + dragonfly)
59250 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: dragonfly" >&5
59251 +$as_echo "dragonfly" >&6; }
59253 + CLOCALE_H=config/locale/generic/c_locale.h
59254 + CLOCALE_CC=config/locale/dragonfly/c_locale.cc
59255 + CCODECVT_CC=config/locale/generic/codecvt_members.cc
59256 + CCOLLATE_CC=config/locale/generic/collate_members.cc
59257 + CCTYPE_CC=config/locale/dragonfly/ctype_members.cc
59258 + CMESSAGES_H=config/locale/generic/messages_members.h
59259 + CMESSAGES_CC=config/locale/generic/messages_members.cc
59260 + CMONEY_CC=config/locale/generic/monetary_members.cc
59261 + CNUMERIC_CC=config/locale/generic/numeric_members.cc
59262 + CTIME_H=config/locale/generic/time_members.h
59263 + CTIME_CC=config/locale/generic/time_members.cc
59264 + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
59265 + ;;
59267 + gnu)
59268 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gnu" >&5
59269 +$as_echo "gnu" >&6; }
59271 + # Declare intention to use gettext, and add support for specific
59272 + # languages.
59273 + # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
59274 + ALL_LINGUAS="de fr"
59276 + # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
59277 + # Extract the first word of "msgfmt", so it can be a program name with args.
59278 +set dummy msgfmt; ac_word=$2
59279 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
59280 +$as_echo_n "checking for $ac_word... " >&6; }
59281 +if test "${ac_cv_prog_check_msgfmt+set}" = set; then :
59282 + $as_echo_n "(cached) " >&6
59283 +else
59284 + if test -n "$check_msgfmt"; then
59285 + ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
59286 +else
59287 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
59288 +for as_dir in $PATH
59290 + IFS=$as_save_IFS
59291 + test -z "$as_dir" && as_dir=.
59292 + for ac_exec_ext in '' $ac_executable_extensions; do
59293 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
59294 + ac_cv_prog_check_msgfmt="yes"
59295 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
59296 + break 2
59297 + fi
59298 +done
59299 + done
59300 +IFS=$as_save_IFS
59302 + test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
59305 +check_msgfmt=$ac_cv_prog_check_msgfmt
59306 +if test -n "$check_msgfmt"; then
59307 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $check_msgfmt" >&5
59308 +$as_echo "$check_msgfmt" >&6; }
59309 +else
59310 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
59311 +$as_echo "no" >&6; }
59315 + if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
59316 + USE_NLS=yes
59317 + fi
59318 + # Export the build objects.
59319 + for ling in $ALL_LINGUAS; do \
59320 + glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
59321 + glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
59322 + done
59326 + CLOCALE_H=config/locale/gnu/c_locale.h
59327 + CLOCALE_CC=config/locale/gnu/c_locale.cc
59328 + CCODECVT_CC=config/locale/gnu/codecvt_members.cc
59329 + CCOLLATE_CC=config/locale/gnu/collate_members.cc
59330 + CCTYPE_CC=config/locale/gnu/ctype_members.cc
59331 + CMESSAGES_H=config/locale/gnu/messages_members.h
59332 + CMESSAGES_CC=config/locale/gnu/messages_members.cc
59333 + CMONEY_CC=config/locale/gnu/monetary_members.cc
59334 + CNUMERIC_CC=config/locale/gnu/numeric_members.cc
59335 + CTIME_H=config/locale/gnu/time_members.h
59336 + CTIME_CC=config/locale/gnu/time_members.cc
59337 + CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
59338 + ;;
59339 + ieee_1003.1-2001)
59340 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: IEEE 1003.1" >&5
59341 +$as_echo "IEEE 1003.1" >&6; }
59343 + CLOCALE_H=config/locale/ieee_1003.1-2001/c_locale.h
59344 + CLOCALE_CC=config/locale/ieee_1003.1-2001/c_locale.cc
59345 + CCODECVT_CC=config/locale/generic/codecvt_members.cc
59346 + CCOLLATE_CC=config/locale/generic/collate_members.cc
59347 + CCTYPE_CC=config/locale/generic/ctype_members.cc
59348 + CMESSAGES_H=config/locale/ieee_1003.1-2001/messages_members.h
59349 + CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
59350 + CMONEY_CC=config/locale/generic/monetary_members.cc
59351 + CNUMERIC_CC=config/locale/generic/numeric_members.cc
59352 + CTIME_H=config/locale/generic/time_members.h
59353 + CTIME_CC=config/locale/generic/time_members.cc
59354 + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
59355 + ;;
59356 + newlib)
59357 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: newlib" >&5
59358 +$as_echo "newlib" >&6; }
59360 + CLOCALE_H=config/locale/generic/c_locale.h
59361 + CLOCALE_CC=config/locale/generic/c_locale.cc
59362 + CCODECVT_CC=config/locale/generic/codecvt_members.cc
59363 + CCOLLATE_CC=config/locale/generic/collate_members.cc
59364 + CCTYPE_CC=config/locale/newlib/ctype_members.cc
59365 + CMESSAGES_H=config/locale/generic/messages_members.h
59366 + CMESSAGES_CC=config/locale/generic/messages_members.cc
59367 + CMONEY_CC=config/locale/generic/monetary_members.cc
59368 + CNUMERIC_CC=config/locale/generic/numeric_members.cc
59369 + CTIME_H=config/locale/generic/time_members.h
59370 + CTIME_CC=config/locale/generic/time_members.cc
59371 + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
59372 + ;;
59373 + esac
59375 + # This is where the testsuite looks for locale catalogs, using the
59376 + # -DLOCALEDIR define during testsuite compilation.
59377 + glibcxx_localedir=${glibcxx_builddir}/po/share/locale
59380 + # A standalone libintl (e.g., GNU libintl) may be in use.
59381 + if test $USE_NLS = yes; then
59382 + for ac_header in libintl.h
59383 +do :
59384 + ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
59385 +if test "x$ac_cv_header_libintl_h" = x""yes; then :
59386 + cat >>confdefs.h <<_ACEOF
59387 +#define HAVE_LIBINTL_H 1
59388 +_ACEOF
59390 +else
59391 + USE_NLS=no
59394 +done
59396 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gettext" >&5
59397 +$as_echo_n "checking for library containing gettext... " >&6; }
59398 +if test "${ac_cv_search_gettext+set}" = set; then :
59399 + $as_echo_n "(cached) " >&6
59400 +else
59401 + ac_func_search_save_LIBS=$LIBS
59402 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59403 +/* end confdefs.h. */
59405 +/* Override any GCC internal prototype to avoid an error.
59406 + Use char because int might match the return type of a GCC
59407 + builtin and then its argument prototype would still apply. */
59408 +#ifdef __cplusplus
59409 +extern "C"
59410 +#endif
59411 +char gettext ();
59412 +int
59413 +main ()
59415 +return gettext ();
59417 + return 0;
59419 +_ACEOF
59420 +for ac_lib in '' intl; do
59421 + if test -z "$ac_lib"; then
59422 + ac_res="none required"
59423 + else
59424 + ac_res=-l$ac_lib
59425 + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
59426 + fi
59427 + if test x$gcc_no_link = xyes; then
59428 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
59430 +if ac_fn_c_try_link "$LINENO"; then :
59431 + ac_cv_search_gettext=$ac_res
59433 +rm -f core conftest.err conftest.$ac_objext \
59434 + conftest$ac_exeext
59435 + if test "${ac_cv_search_gettext+set}" = set; then :
59436 + break
59438 +done
59439 +if test "${ac_cv_search_gettext+set}" = set; then :
59441 +else
59442 + ac_cv_search_gettext=no
59444 +rm conftest.$ac_ext
59445 +LIBS=$ac_func_search_save_LIBS
59447 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gettext" >&5
59448 +$as_echo "$ac_cv_search_gettext" >&6; }
59449 +ac_res=$ac_cv_search_gettext
59450 +if test "$ac_res" != no; then :
59451 + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
59453 +else
59454 + USE_NLS=no
59457 + fi
59458 + if test $USE_NLS = yes; then
59460 +$as_echo "#define _GLIBCXX_USE_NLS 1" >>confdefs.h
59462 + fi
59479 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::allocator base class" >&5
59480 +$as_echo_n "checking for std::allocator base class... " >&6; }
59481 + # Check whether --enable-libstdcxx-allocator was given.
59482 +if test "${enable_libstdcxx_allocator+set}" = set; then :
59483 + enableval=$enable_libstdcxx_allocator;
59484 + case "$enableval" in
59485 + new|malloc|mt|bitmap|pool|yes|no|auto) ;;
59486 + *) as_fn_error "Unknown argument to enable/disable libstdcxx-allocator" "$LINENO" 5 ;;
59487 + esac
59489 +else
59490 + enable_libstdcxx_allocator=auto
59495 + # If they didn't use this option switch, or if they specified --enable
59496 + # with no specific model, we'll have to look for one. If they
59497 + # specified --disable (???), do likewise.
59498 + if test $enable_libstdcxx_allocator = no ||
59499 + test $enable_libstdcxx_allocator = yes;
59500 + then
59501 + enable_libstdcxx_allocator=auto
59502 + fi
59504 + # Either a known package, or "auto". Auto implies the default choice
59505 + # for a particular platform.
59506 + enable_libstdcxx_allocator_flag=$enable_libstdcxx_allocator
59508 + # Probe for host-specific support if no specific model is specified.
59509 + # Default to "new".
59510 + if test $enable_libstdcxx_allocator_flag = auto; then
59511 + case ${target_os} in
59512 + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
59513 + enable_libstdcxx_allocator_flag=new
59514 + ;;
59515 + *)
59516 + enable_libstdcxx_allocator_flag=new
59517 + ;;
59518 + esac
59519 + fi
59520 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libstdcxx_allocator_flag" >&5
59521 +$as_echo "$enable_libstdcxx_allocator_flag" >&6; }
59524 + # Set configure bits for specified locale package
59525 + case ${enable_libstdcxx_allocator_flag} in
59526 + bitmap)
59527 + ALLOCATOR_H=config/allocator/bitmap_allocator_base.h
59528 + ALLOCATOR_NAME=__gnu_cxx::bitmap_allocator
59529 + ;;
59530 + malloc)
59531 + ALLOCATOR_H=config/allocator/malloc_allocator_base.h
59532 + ALLOCATOR_NAME=__gnu_cxx::malloc_allocator
59533 + ;;
59534 + mt)
59535 + ALLOCATOR_H=config/allocator/mt_allocator_base.h
59536 + ALLOCATOR_NAME=__gnu_cxx::__mt_alloc
59537 + ;;
59538 + new)
59539 + ALLOCATOR_H=config/allocator/new_allocator_base.h
59540 + ALLOCATOR_NAME=__gnu_cxx::new_allocator
59541 + ;;
59542 + pool)
59543 + ALLOCATOR_H=config/allocator/pool_allocator_base.h
59544 + ALLOCATOR_NAME=__gnu_cxx::__pool_alloc
59545 + ;;
59546 + esac
59552 + # Check whether --enable-cheaders was given.
59553 +if test "${enable_cheaders+set}" = set; then :
59554 + enableval=$enable_cheaders;
59555 + case "$enableval" in
59556 + c|c_std|c_global) ;;
59557 + *) as_fn_error "Unknown argument to enable/disable cheaders" "$LINENO" 5 ;;
59558 + esac
59560 +else
59561 + enable_cheaders=$c_model
59565 + { $as_echo "$as_me:${as_lineno-$LINENO}: \"C\" header strategy set to $enable_cheaders" >&5
59566 +$as_echo "$as_me: \"C\" header strategy set to $enable_cheaders" >&6;}
59568 + C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
59570 + # Allow overrides to configure.host here.
59571 + if test $enable_cheaders = c_global; then
59572 + c_compatibility=yes
59573 + fi
59581 + # Check whether --enable-long-long was given.
59582 +if test "${enable_long_long+set}" = set; then :
59583 + enableval=$enable_long_long;
59584 + case "$enableval" in
59585 + yes|no) ;;
59586 + *) as_fn_error "Argument to enable/disable long-long must be yes or no" "$LINENO" 5 ;;
59587 + esac
59589 +else
59590 + enable_long_long=yes
59594 + if test $enable_long_long = yes; then
59596 +$as_echo "#define _GLIBCXX_USE_LONG_LONG 1" >>confdefs.h
59598 + fi
59599 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for enabled long long specializations" >&5
59600 +$as_echo_n "checking for enabled long long specializations... " >&6; }
59601 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_long_long" >&5
59602 +$as_echo "$enable_long_long" >&6; }
59605 + # Check whether --enable-wchar_t was given.
59606 +if test "${enable_wchar_t+set}" = set; then :
59607 + enableval=$enable_wchar_t;
59608 + case "$enableval" in
59609 + yes|no) ;;
59610 + *) as_fn_error "Argument to enable/disable wchar_t must be yes or no" "$LINENO" 5 ;;
59611 + esac
59613 +else
59614 + enable_wchar_t=yes
59619 + # Test wchar.h for mbstate_t, which is needed for char_traits and fpos.
59620 + for ac_header in wchar.h
59621 +do :
59622 + ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default"
59623 +if test "x$ac_cv_header_wchar_h" = x""yes; then :
59624 + cat >>confdefs.h <<_ACEOF
59625 +#define HAVE_WCHAR_H 1
59626 +_ACEOF
59627 + ac_has_wchar_h=yes
59628 +else
59629 + ac_has_wchar_h=no
59632 +done
59634 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
59635 +$as_echo_n "checking for mbstate_t... " >&6; }
59636 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59637 +/* end confdefs.h. */
59638 +#include <wchar.h>
59639 +int
59640 +main ()
59642 +mbstate_t teststate;
59644 + return 0;
59646 +_ACEOF
59647 +if ac_fn_c_try_compile "$LINENO"; then :
59648 + have_mbstate_t=yes
59649 +else
59650 + have_mbstate_t=no
59652 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59653 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_mbstate_t" >&5
59654 +$as_echo "$have_mbstate_t" >&6; }
59655 + if test x"$have_mbstate_t" = xyes; then
59657 +$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h
59659 + fi
59661 + # Test it always, for use in GLIBCXX_ENABLE_C99, together with
59662 + # ac_has_wchar_h.
59663 + for ac_header in wctype.h
59664 +do :
59665 + ac_fn_c_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default"
59666 +if test "x$ac_cv_header_wctype_h" = x""yes; then :
59667 + cat >>confdefs.h <<_ACEOF
59668 +#define HAVE_WCTYPE_H 1
59669 +_ACEOF
59670 + ac_has_wctype_h=yes
59671 +else
59672 + ac_has_wctype_h=no
59675 +done
59678 + if test x"$enable_wchar_t" = x"yes"; then
59681 + ac_ext=cpp
59682 +ac_cpp='$CXXCPP $CPPFLAGS'
59683 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
59684 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
59685 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
59688 + if test x"$ac_has_wchar_h" = xyes &&
59689 + test x"$ac_has_wctype_h" = xyes; then
59690 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59691 +/* end confdefs.h. */
59692 +#include <wchar.h>
59693 + #include <stddef.h>
59694 + wint_t i;
59695 + long l = WEOF;
59696 + long j = WCHAR_MIN;
59697 + long k = WCHAR_MAX;
59698 + namespace test
59700 + using ::btowc;
59701 + using ::fgetwc;
59702 + using ::fgetws;
59703 + using ::fputwc;
59704 + using ::fputws;
59705 + using ::fwide;
59706 + using ::fwprintf;
59707 + using ::fwscanf;
59708 + using ::getwc;
59709 + using ::getwchar;
59710 + using ::mbrlen;
59711 + using ::mbrtowc;
59712 + using ::mbsinit;
59713 + using ::mbsrtowcs;
59714 + using ::putwc;
59715 + using ::putwchar;
59716 + using ::swprintf;
59717 + using ::swscanf;
59718 + using ::ungetwc;
59719 + using ::vfwprintf;
59720 + using ::vswprintf;
59721 + using ::vwprintf;
59722 + using ::wcrtomb;
59723 + using ::wcscat;
59724 + using ::wcschr;
59725 + using ::wcscmp;
59726 + using ::wcscoll;
59727 + using ::wcscpy;
59728 + using ::wcscspn;
59729 + using ::wcsftime;
59730 + using ::wcslen;
59731 + using ::wcsncat;
59732 + using ::wcsncmp;
59733 + using ::wcsncpy;
59734 + using ::wcspbrk;
59735 + using ::wcsrchr;
59736 + using ::wcsrtombs;
59737 + using ::wcsspn;
59738 + using ::wcsstr;
59739 + using ::wcstod;
59740 + using ::wcstok;
59741 + using ::wcstol;
59742 + using ::wcstoul;
59743 + using ::wcsxfrm;
59744 + using ::wctob;
59745 + using ::wmemchr;
59746 + using ::wmemcmp;
59747 + using ::wmemcpy;
59748 + using ::wmemmove;
59749 + using ::wmemset;
59750 + using ::wprintf;
59751 + using ::wscanf;
59754 +int
59755 +main ()
59759 + return 0;
59761 +_ACEOF
59762 +if ac_fn_cxx_try_compile "$LINENO"; then :
59764 +else
59765 + enable_wchar_t=no
59767 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59768 + else
59769 + enable_wchar_t=no
59770 + fi
59772 + ac_ext=c
59773 +ac_cpp='$CPP $CPPFLAGS'
59774 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
59775 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
59776 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
59778 + fi
59780 + if test x"$enable_wchar_t" = x"yes"; then
59782 +$as_echo "#define _GLIBCXX_USE_WCHAR_T 1" >>confdefs.h
59784 + fi
59786 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for enabled wchar_t specializations" >&5
59787 +$as_echo_n "checking for enabled wchar_t specializations... " >&6; }
59788 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_wchar_t" >&5
59789 +$as_echo "$enable_wchar_t" >&6; }
59793 + # Check whether --enable-c99 was given.
59794 +if test "${enable_c99+set}" = set; then :
59795 + enableval=$enable_c99;
59796 + case "$enableval" in
59797 + yes|no) ;;
59798 + *) as_fn_error "Argument to enable/disable c99 must be yes or no" "$LINENO" 5 ;;
59799 + esac
59801 +else
59802 + enable_c99=yes
59807 + if test x"$enable_c99" = x"yes"; then
59810 + ac_ext=cpp
59811 +ac_cpp='$CXXCPP $CPPFLAGS'
59812 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
59813 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
59814 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
59817 + # Use -std=c++98 because the default (-std=gnu++98) leaves __STRICT_ANSI__
59818 + # undefined and fake C99 facilities - like pre-standard snprintf - may be
59819 + # spuriously enabled.
59820 + # Long term, -std=c++0x could be even better, could manage to explicitly
59821 + # request C99 facilities to the underlying C headers.
59822 + ac_save_CXXFLAGS="$CXXFLAGS"
59823 + CXXFLAGS="$CXXFLAGS -std=c++98"
59824 + ac_save_LIBS="$LIBS"
59825 + ac_save_gcc_no_link="$gcc_no_link"
59827 + if test x$gcc_no_link != xyes; then
59828 + # Use -fno-exceptions to that the C driver can link these tests without
59829 + # hitting undefined references to personality routines.
59830 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
59831 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
59832 +$as_echo_n "checking for sin in -lm... " >&6; }
59833 +if test "${ac_cv_lib_m_sin+set}" = set; then :
59834 + $as_echo_n "(cached) " >&6
59835 +else
59836 + ac_check_lib_save_LIBS=$LIBS
59837 +LIBS="-lm $LIBS"
59838 +if test x$gcc_no_link = xyes; then
59839 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
59841 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59842 +/* end confdefs.h. */
59844 +/* Override any GCC internal prototype to avoid an error.
59845 + Use char because int might match the return type of a GCC
59846 + builtin and then its argument prototype would still apply. */
59847 +#ifdef __cplusplus
59848 +extern "C"
59849 +#endif
59850 +char sin ();
59851 +int
59852 +main ()
59854 +return sin ();
59856 + return 0;
59858 +_ACEOF
59859 +if ac_fn_cxx_try_link "$LINENO"; then :
59860 + ac_cv_lib_m_sin=yes
59861 +else
59862 + ac_cv_lib_m_sin=no
59864 +rm -f core conftest.err conftest.$ac_objext \
59865 + conftest$ac_exeext conftest.$ac_ext
59866 +LIBS=$ac_check_lib_save_LIBS
59868 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
59869 +$as_echo "$ac_cv_lib_m_sin" >&6; }
59870 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
59872 + LIBS="$LIBS -lm"
59874 +else
59876 + # Use the default compile-only tests in GCC_TRY_COMPILE_OR_LINK
59877 + gcc_no_link=yes
59881 + fi
59883 + # Check for the existence of <math.h> functions used if C99 is enabled.
59884 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <math.h>" >&5
59885 +$as_echo_n "checking for ISO C99 support in <math.h>... " >&6; }
59886 + if test "${glibcxx_cv_c99_math+set}" = set; then :
59887 + $as_echo_n "(cached) " >&6
59888 +else
59890 + if test x$gcc_no_link = xyes; then
59891 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59892 +/* end confdefs.h. */
59893 +#include <math.h>
59894 + volatile double d1, d2;
59895 + volatile int i;
59896 +int
59897 +main ()
59899 +i = fpclassify(d1);
59900 + i = isfinite(d1);
59901 + i = isinf(d1);
59902 + i = isnan(d1);
59903 + i = isnormal(d1);
59904 + i = signbit(d1);
59905 + i = isgreater(d1, d2);
59906 + i = isgreaterequal(d1, d2);
59907 + i = isless(d1, d2);
59908 + i = islessequal(d1, d2);
59909 + i = islessgreater(d1, d2);
59910 + i = islessgreater(d1, d2);
59911 + i = isunordered(d1, d2);
59914 + return 0;
59916 +_ACEOF
59917 +if ac_fn_cxx_try_compile "$LINENO"; then :
59918 + glibcxx_cv_c99_math=yes
59919 +else
59920 + glibcxx_cv_c99_math=no
59922 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
59923 +else
59924 + if test x$gcc_no_link = xyes; then
59925 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
59927 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
59928 +/* end confdefs.h. */
59929 +#include <math.h>
59930 + volatile double d1, d2;
59931 + volatile int i;
59932 +int
59933 +main ()
59935 +i = fpclassify(d1);
59936 + i = isfinite(d1);
59937 + i = isinf(d1);
59938 + i = isnan(d1);
59939 + i = isnormal(d1);
59940 + i = signbit(d1);
59941 + i = isgreater(d1, d2);
59942 + i = isgreaterequal(d1, d2);
59943 + i = isless(d1, d2);
59944 + i = islessequal(d1, d2);
59945 + i = islessgreater(d1, d2);
59946 + i = islessgreater(d1, d2);
59947 + i = isunordered(d1, d2);
59950 + return 0;
59952 +_ACEOF
59953 +if ac_fn_cxx_try_link "$LINENO"; then :
59954 + glibcxx_cv_c99_math=yes
59955 +else
59956 + glibcxx_cv_c99_math=no
59958 +rm -f core conftest.err conftest.$ac_objext \
59959 + conftest$ac_exeext conftest.$ac_ext
59964 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_math" >&5
59965 +$as_echo "$glibcxx_cv_c99_math" >&6; }
59966 + if test x"$glibcxx_cv_c99_math" = x"yes"; then
59968 +$as_echo "#define _GLIBCXX_USE_C99_MATH 1" >>confdefs.h
59970 + fi
59972 + # Check for the existence of <complex.h> complex math functions.
59973 + # This is necessary even though libstdc++ uses the builtin versions
59974 + # of these functions, because if the builtin cannot be used, a reference
59975 + # to the library function is emitted.
59976 + for ac_header in tgmath.h
59977 +do :
59978 + ac_fn_cxx_check_header_mongrel "$LINENO" "tgmath.h" "ac_cv_header_tgmath_h" "$ac_includes_default"
59979 +if test "x$ac_cv_header_tgmath_h" = x""yes; then :
59980 + cat >>confdefs.h <<_ACEOF
59981 +#define HAVE_TGMATH_H 1
59982 +_ACEOF
59983 + ac_has_tgmath_h=yes
59984 +else
59985 + ac_has_tgmath_h=no
59988 +done
59990 + for ac_header in complex.h
59991 +do :
59992 + ac_fn_cxx_check_header_mongrel "$LINENO" "complex.h" "ac_cv_header_complex_h" "$ac_includes_default"
59993 +if test "x$ac_cv_header_complex_h" = x""yes; then :
59994 + cat >>confdefs.h <<_ACEOF
59995 +#define HAVE_COMPLEX_H 1
59996 +_ACEOF
59997 + ac_has_complex_h=yes
59998 +else
59999 + ac_has_complex_h=no
60002 +done
60004 + glibcxx_cv_c99_complex=no;
60005 + if test x"$ac_has_complex_h" = x"yes"; then
60006 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <complex.h>" >&5
60007 +$as_echo_n "checking for ISO C99 support in <complex.h>... " >&6; }
60008 + if test x$gcc_no_link = xyes; then
60009 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60010 +/* end confdefs.h. */
60011 +#include <complex.h>
60012 + typedef __complex__ float float_type;
60013 + typedef __complex__ double double_type;
60014 + typedef __complex__ long double ld_type;
60015 + volatile float_type tmpf;
60016 + volatile double_type tmpd;
60017 + volatile ld_type tmpld;
60018 + volatile float f;
60019 + volatile double d;
60020 + volatile long double ld;
60021 +int
60022 +main ()
60024 +f = cabsf(tmpf);
60025 + f = cargf(tmpf);
60026 + tmpf = ccosf(tmpf);
60027 + tmpf = ccoshf(tmpf);
60028 + tmpf = cexpf(tmpf);
60029 + tmpf = clogf(tmpf);
60030 + tmpf = csinf(tmpf);
60031 + tmpf = csinhf(tmpf);
60032 + tmpf = csqrtf(tmpf);
60033 + tmpf = ctanf(tmpf);
60034 + tmpf = ctanhf(tmpf);
60035 + tmpf = cpowf(tmpf, tmpf);
60036 + tmpf = cprojf(tmpf);
60037 + d = cabs(tmpd);
60038 + d = carg(tmpd);
60039 + tmpd = ccos(tmpd);
60040 + tmpd = ccosh(tmpd);
60041 + tmpd = cexp(tmpd);
60042 + tmpd = clog(tmpd);
60043 + tmpd = csin(tmpd);
60044 + tmpd = csinh(tmpd);
60045 + tmpd = csqrt(tmpd);
60046 + tmpd = ctan(tmpd);
60047 + tmpd = ctanh(tmpd);
60048 + tmpd = cpow(tmpd, tmpd);
60049 + tmpd = cproj(tmpd);
60050 + ld = cabsl(tmpld);
60051 + ld = cargl(tmpld);
60052 + tmpld = ccosl(tmpld);
60053 + tmpld = ccoshl(tmpld);
60054 + tmpld = cexpl(tmpld);
60055 + tmpld = clogl(tmpld);
60056 + tmpld = csinl(tmpld);
60057 + tmpld = csinhl(tmpld);
60058 + tmpld = csqrtl(tmpld);
60059 + tmpld = ctanl(tmpld);
60060 + tmpld = ctanhl(tmpld);
60061 + tmpld = cpowl(tmpld, tmpld);
60062 + tmpld = cprojl(tmpld);
60065 + return 0;
60067 +_ACEOF
60068 +if ac_fn_cxx_try_compile "$LINENO"; then :
60069 + glibcxx_cv_c99_complex=yes
60070 +else
60071 + glibcxx_cv_c99_complex=no
60073 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60074 +else
60075 + if test x$gcc_no_link = xyes; then
60076 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
60078 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60079 +/* end confdefs.h. */
60080 +#include <complex.h>
60081 + typedef __complex__ float float_type;
60082 + typedef __complex__ double double_type;
60083 + typedef __complex__ long double ld_type;
60084 + volatile float_type tmpf;
60085 + volatile double_type tmpd;
60086 + volatile ld_type tmpld;
60087 + volatile float f;
60088 + volatile double d;
60089 + volatile long double ld;
60090 +int
60091 +main ()
60093 +f = cabsf(tmpf);
60094 + f = cargf(tmpf);
60095 + tmpf = ccosf(tmpf);
60096 + tmpf = ccoshf(tmpf);
60097 + tmpf = cexpf(tmpf);
60098 + tmpf = clogf(tmpf);
60099 + tmpf = csinf(tmpf);
60100 + tmpf = csinhf(tmpf);
60101 + tmpf = csqrtf(tmpf);
60102 + tmpf = ctanf(tmpf);
60103 + tmpf = ctanhf(tmpf);
60104 + tmpf = cpowf(tmpf, tmpf);
60105 + tmpf = cprojf(tmpf);
60106 + d = cabs(tmpd);
60107 + d = carg(tmpd);
60108 + tmpd = ccos(tmpd);
60109 + tmpd = ccosh(tmpd);
60110 + tmpd = cexp(tmpd);
60111 + tmpd = clog(tmpd);
60112 + tmpd = csin(tmpd);
60113 + tmpd = csinh(tmpd);
60114 + tmpd = csqrt(tmpd);
60115 + tmpd = ctan(tmpd);
60116 + tmpd = ctanh(tmpd);
60117 + tmpd = cpow(tmpd, tmpd);
60118 + tmpd = cproj(tmpd);
60119 + ld = cabsl(tmpld);
60120 + ld = cargl(tmpld);
60121 + tmpld = ccosl(tmpld);
60122 + tmpld = ccoshl(tmpld);
60123 + tmpld = cexpl(tmpld);
60124 + tmpld = clogl(tmpld);
60125 + tmpld = csinl(tmpld);
60126 + tmpld = csinhl(tmpld);
60127 + tmpld = csqrtl(tmpld);
60128 + tmpld = ctanl(tmpld);
60129 + tmpld = ctanhl(tmpld);
60130 + tmpld = cpowl(tmpld, tmpld);
60131 + tmpld = cprojl(tmpld);
60134 + return 0;
60136 +_ACEOF
60137 +if ac_fn_cxx_try_link "$LINENO"; then :
60138 + glibcxx_cv_c99_complex=yes
60139 +else
60140 + glibcxx_cv_c99_complex=no
60142 +rm -f core conftest.err conftest.$ac_objext \
60143 + conftest$ac_exeext conftest.$ac_ext
60145 + fi
60146 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_complex" >&5
60147 +$as_echo "$glibcxx_cv_c99_complex" >&6; }
60148 + if test x"$glibcxx_cv_c99_complex" = x"yes"; then
60150 +$as_echo "#define _GLIBCXX_USE_C99_COMPLEX 1" >>confdefs.h
60152 + fi
60154 + # Check for the existence in <stdio.h> of vscanf, et. al.
60155 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdio.h>" >&5
60156 +$as_echo_n "checking for ISO C99 support in <stdio.h>... " >&6; }
60157 + if test "${glibcxx_cv_c99_stdio+set}" = set; then :
60158 + $as_echo_n "(cached) " >&6
60159 +else
60161 + if test x$gcc_no_link = xyes; then
60162 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60163 +/* end confdefs.h. */
60164 +#include <stdio.h>
60165 + #include <stdarg.h>
60166 + void foo(char* fmt, ...)
60168 + va_list args; va_start(args, fmt);
60169 + vfscanf(stderr, "%i", args);
60170 + vscanf("%i", args);
60171 + vsnprintf(fmt, 0, "%i", args);
60172 + vsscanf(fmt, "%i", args);
60173 + snprintf(fmt, 0, "%i");
60175 +int
60176 +main ()
60180 + return 0;
60182 +_ACEOF
60183 +if ac_fn_cxx_try_compile "$LINENO"; then :
60184 + glibcxx_cv_c99_stdio=yes
60185 +else
60186 + glibcxx_cv_c99_stdio=no
60188 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60189 +else
60190 + if test x$gcc_no_link = xyes; then
60191 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
60193 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60194 +/* end confdefs.h. */
60195 +#include <stdio.h>
60196 + #include <stdarg.h>
60197 + void foo(char* fmt, ...)
60199 + va_list args; va_start(args, fmt);
60200 + vfscanf(stderr, "%i", args);
60201 + vscanf("%i", args);
60202 + vsnprintf(fmt, 0, "%i", args);
60203 + vsscanf(fmt, "%i", args);
60204 + snprintf(fmt, 0, "%i");
60206 +int
60207 +main ()
60211 + return 0;
60213 +_ACEOF
60214 +if ac_fn_cxx_try_link "$LINENO"; then :
60215 + glibcxx_cv_c99_stdio=yes
60216 +else
60217 + glibcxx_cv_c99_stdio=no
60219 +rm -f core conftest.err conftest.$ac_objext \
60220 + conftest$ac_exeext conftest.$ac_ext
60225 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdio" >&5
60226 +$as_echo "$glibcxx_cv_c99_stdio" >&6; }
60228 + # Check for the existence in <stdlib.h> of lldiv_t, et. al.
60229 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdlib.h>" >&5
60230 +$as_echo_n "checking for ISO C99 support in <stdlib.h>... " >&6; }
60231 + if test "${glibcxx_cv_c99_stdlib+set}" = set; then :
60232 + $as_echo_n "(cached) " >&6
60233 +else
60235 + if test x$gcc_no_link = xyes; then
60236 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60237 +/* end confdefs.h. */
60238 +#include <stdlib.h>
60239 + volatile float f;
60240 + volatile long double ld;
60241 + volatile unsigned long long ll;
60242 + lldiv_t mydivt;
60243 +int
60244 +main ()
60246 +char* tmp;
60247 + f = strtof("gnu", &tmp);
60248 + ld = strtold("gnu", &tmp);
60249 + ll = strtoll("gnu", &tmp, 10);
60250 + ll = strtoull("gnu", &tmp, 10);
60251 + ll = llabs(10);
60252 + mydivt = lldiv(10,1);
60253 + ll = mydivt.quot;
60254 + ll = mydivt.rem;
60255 + ll = atoll("10");
60256 + _Exit(0);
60259 + return 0;
60261 +_ACEOF
60262 +if ac_fn_cxx_try_compile "$LINENO"; then :
60263 + glibcxx_cv_c99_stdlib=yes
60264 +else
60265 + glibcxx_cv_c99_stdlib=no
60267 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60268 +else
60269 + if test x$gcc_no_link = xyes; then
60270 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
60272 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60273 +/* end confdefs.h. */
60274 +#include <stdlib.h>
60275 + volatile float f;
60276 + volatile long double ld;
60277 + volatile unsigned long long ll;
60278 + lldiv_t mydivt;
60279 +int
60280 +main ()
60282 +char* tmp;
60283 + f = strtof("gnu", &tmp);
60284 + ld = strtold("gnu", &tmp);
60285 + ll = strtoll("gnu", &tmp, 10);
60286 + ll = strtoull("gnu", &tmp, 10);
60287 + ll = llabs(10);
60288 + mydivt = lldiv(10,1);
60289 + ll = mydivt.quot;
60290 + ll = mydivt.rem;
60291 + ll = atoll("10");
60292 + _Exit(0);
60295 + return 0;
60297 +_ACEOF
60298 +if ac_fn_cxx_try_link "$LINENO"; then :
60299 + glibcxx_cv_c99_stdlib=yes
60300 +else
60301 + glibcxx_cv_c99_stdlib=no
60303 +rm -f core conftest.err conftest.$ac_objext \
60304 + conftest$ac_exeext conftest.$ac_ext
60309 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdlib" >&5
60310 +$as_echo "$glibcxx_cv_c99_stdlib" >&6; }
60312 + # Check for the existence in <wchar.h> of wcstold, etc.
60313 + glibcxx_cv_c99_wchar=no;
60314 + if test x"$ac_has_wchar_h" = xyes &&
60315 + test x"$ac_has_wctype_h" = xyes; then
60316 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <wchar.h>" >&5
60317 +$as_echo_n "checking for ISO C99 support in <wchar.h>... " >&6; }
60318 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60319 +/* end confdefs.h. */
60320 +#include <wchar.h>
60321 + namespace test
60323 + using ::wcstold;
60324 + using ::wcstoll;
60325 + using ::wcstoull;
60328 +int
60329 +main ()
60333 + return 0;
60335 +_ACEOF
60336 +if ac_fn_cxx_try_compile "$LINENO"; then :
60337 + glibcxx_cv_c99_wchar=yes
60338 +else
60339 + glibcxx_cv_c99_wchar=no
60341 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60343 + # Checks for wide character functions that may not be present.
60344 + # Injection of these is wrapped with guard macros.
60345 + # NB: only put functions here, instead of immediately above, if
60346 + # absolutely necessary.
60347 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60348 +/* end confdefs.h. */
60349 +#include <wchar.h>
60350 + namespace test { using ::vfwscanf; }
60351 +int
60352 +main ()
60356 + return 0;
60358 +_ACEOF
60359 +if ac_fn_cxx_try_compile "$LINENO"; then :
60361 +$as_echo "#define HAVE_VFWSCANF 1" >>confdefs.h
60364 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60366 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60367 +/* end confdefs.h. */
60368 +#include <wchar.h>
60369 + namespace test { using ::vswscanf; }
60370 +int
60371 +main ()
60375 + return 0;
60377 +_ACEOF
60378 +if ac_fn_cxx_try_compile "$LINENO"; then :
60380 +$as_echo "#define HAVE_VSWSCANF 1" >>confdefs.h
60383 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60385 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60386 +/* end confdefs.h. */
60387 +#include <wchar.h>
60388 + namespace test { using ::vwscanf; }
60389 +int
60390 +main ()
60394 + return 0;
60396 +_ACEOF
60397 +if ac_fn_cxx_try_compile "$LINENO"; then :
60399 +$as_echo "#define HAVE_VWSCANF 1" >>confdefs.h
60402 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60404 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60405 +/* end confdefs.h. */
60406 +#include <wchar.h>
60407 + namespace test { using ::wcstof; }
60408 +int
60409 +main ()
60413 + return 0;
60415 +_ACEOF
60416 +if ac_fn_cxx_try_compile "$LINENO"; then :
60418 +$as_echo "#define HAVE_WCSTOF 1" >>confdefs.h
60421 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60423 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60424 +/* end confdefs.h. */
60425 +#include <wctype.h>
60426 +int
60427 +main ()
60429 + wint_t t; int i = iswblank(t);
60431 + return 0;
60433 +_ACEOF
60434 +if ac_fn_cxx_try_compile "$LINENO"; then :
60436 +$as_echo "#define HAVE_ISWBLANK 1" >>confdefs.h
60439 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60441 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_wchar" >&5
60442 +$as_echo "$glibcxx_cv_c99_wchar" >&6; }
60443 + fi
60445 + # Option parsed, now set things appropriately.
60446 + if test x"$glibcxx_cv_c99_math" = x"no" ||
60447 + test x"$glibcxx_cv_c99_complex" = x"no" ||
60448 + test x"$glibcxx_cv_c99_stdio" = x"no" ||
60449 + test x"$glibcxx_cv_c99_stdlib" = x"no" ||
60450 + test x"$glibcxx_cv_c99_wchar" = x"no"; then
60451 + enable_c99=no;
60452 + else
60454 +$as_echo "#define _GLIBCXX_USE_C99 1" >>confdefs.h
60456 + fi
60458 + gcc_no_link="$ac_save_gcc_no_link"
60459 + LIBS="$ac_save_LIBS"
60460 + CXXFLAGS="$ac_save_CXXFLAGS"
60461 + ac_ext=c
60462 +ac_cpp='$CPP $CPPFLAGS'
60463 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
60464 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
60465 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
60467 + fi
60469 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fully enabled ISO C99 support" >&5
60470 +$as_echo_n "checking for fully enabled ISO C99 support... " >&6; }
60471 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_c99" >&5
60472 +$as_echo "$enable_c99" >&6; }
60475 + # Check whether --enable-concept-checks was given.
60476 +if test "${enable_concept_checks+set}" = set; then :
60477 + enableval=$enable_concept_checks;
60478 + case "$enableval" in
60479 + yes|no) ;;
60480 + *) as_fn_error "Argument to enable/disable concept-checks must be yes or no" "$LINENO" 5 ;;
60481 + esac
60483 +else
60484 + enable_concept_checks=no
60488 + if test $enable_concept_checks = yes; then
60490 +$as_echo "#define _GLIBCXX_CONCEPT_CHECKS 1" >>confdefs.h
60492 + fi
60495 + # Check whether --enable-libstdcxx-debug-flags was given.
60496 +if test "${enable_libstdcxx_debug_flags+set}" = set; then :
60497 + enableval=$enable_libstdcxx_debug_flags; case "x$enable_libstdcxx_debug_flags" in
60498 + xno | x) enable_libstdcxx_debug_flags= ;;
60499 + x-*) ;;
60500 + *) as_fn_error "--enable-libstdcxx-debug-flags needs compiler flags as arguments" "$LINENO" 5 ;;
60501 + esac
60502 +else
60503 + enable_libstdcxx_debug_flags="-gdwarf-4 -g3 -O0"
60508 + # Option parsed, now set things appropriately
60509 + DEBUG_FLAGS="$enable_libstdcxx_debug_flags"
60512 + { $as_echo "$as_me:${as_lineno-$LINENO}: Debug build flags set to $DEBUG_FLAGS" >&5
60513 +$as_echo "$as_me: Debug build flags set to $DEBUG_FLAGS" >&6;}
60516 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional debug build" >&5
60517 +$as_echo_n "checking for additional debug build... " >&6; }
60518 + # Check whether --enable-libstdcxx-debug was given.
60519 +if test "${enable_libstdcxx_debug+set}" = set; then :
60520 + enableval=$enable_libstdcxx_debug;
60521 + case "$enableval" in
60522 + yes|no) ;;
60523 + *) as_fn_error "Argument to enable/disable libstdcxx-debug must be yes or no" "$LINENO" 5 ;;
60524 + esac
60526 +else
60527 + enable_libstdcxx_debug=no
60531 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libstdcxx_debug" >&5
60532 +$as_echo "$enable_libstdcxx_debug" >&6; }
60537 + enable_parallel=no;
60539 + # See if configured libgomp/omp.h exists. (libgomp may be in
60540 + # noconfigdirs but not explicitly disabled.)
60541 + if echo " ${TARGET_CONFIGDIRS} " | grep " libgomp " > /dev/null 2>&1 ; then
60542 + enable_parallel=yes;
60543 + else
60544 + { $as_echo "$as_me:${as_lineno-$LINENO}: target-libgomp not built" >&5
60545 +$as_echo "$as_me: target-libgomp not built" >&6;}
60546 + fi
60548 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for parallel mode support" >&5
60549 +$as_echo_n "checking for parallel mode support... " >&6; }
60550 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_parallel" >&5
60551 +$as_echo "$enable_parallel" >&6; }
60553 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra compiler flags for building" >&5
60554 +$as_echo_n "checking for extra compiler flags for building... " >&6; }
60555 + # Check whether --enable-cxx-flags was given.
60556 +if test "${enable_cxx_flags+set}" = set; then :
60557 + enableval=$enable_cxx_flags; case "x$enable_cxx_flags" in
60558 + xno | x) enable_cxx_flags= ;;
60559 + x-*) ;;
60560 + *) as_fn_error "--enable-cxx-flags needs compiler flags as arguments" "$LINENO" 5 ;;
60561 + esac
60562 +else
60563 + enable_cxx_flags=
60568 + # Run through flags (either default or command-line) and set anything
60569 + # extra (e.g., #defines) that must accompany particular g++ options.
60570 + if test -n "$enable_cxx_flags"; then
60571 + for f in $enable_cxx_flags; do
60572 + case "$f" in
60573 + -fhonor-std) ;;
60574 + -*) ;;
60575 + *) # and we're trying to pass /what/ exactly?
60576 + as_fn_error "compiler flags start with a -" "$LINENO" 5 ;;
60577 + esac
60578 + done
60579 + fi
60581 + EXTRA_CXX_FLAGS="$enable_cxx_flags"
60582 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXTRA_CXX_FLAGS" >&5
60583 +$as_echo "$EXTRA_CXX_FLAGS" >&6; }
60587 + # Check whether --enable-fully-dynamic-string was given.
60588 +if test "${enable_fully_dynamic_string+set}" = set; then :
60589 + enableval=$enable_fully_dynamic_string;
60590 + case "$enableval" in
60591 + yes|no) ;;
60592 + *) as_fn_error "Argument to enable/disable fully-dynamic-string must be yes or no" "$LINENO" 5 ;;
60593 + esac
60595 +else
60596 + enable_fully_dynamic_string=no
60600 + if test $enable_fully_dynamic_string = yes; then
60601 + enable_fully_dynamic_string_def=1
60602 + else
60603 + enable_fully_dynamic_string_def=0
60604 + fi
60606 +cat >>confdefs.h <<_ACEOF
60607 +#define _GLIBCXX_FULLY_DYNAMIC_STRING ${enable_fully_dynamic_string_def}
60608 +_ACEOF
60613 + # Check whether --enable-extern-template was given.
60614 +if test "${enable_extern_template+set}" = set; then :
60615 + enableval=$enable_extern_template;
60616 + case "$enableval" in
60617 + yes|no) ;;
60618 + *) as_fn_error "Argument to enable/disable extern-template must be yes or no" "$LINENO" 5 ;;
60619 + esac
60621 +else
60622 + enable_extern_template=yes
60627 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extern template support" >&5
60628 +$as_echo_n "checking for extern template support... " >&6; }
60629 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_extern_template" >&5
60630 +$as_echo "$enable_extern_template" >&6; }
60636 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for custom python install directory" >&5
60637 +$as_echo_n "checking for custom python install directory... " >&6; }
60639 +# Check whether --with-python-dir was given.
60640 +if test "${with_python_dir+set}" = set; then :
60641 + withval=$with_python_dir; with_python_dir=$withval
60642 +else
60643 + with_python_dir="no"
60646 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_python_dir}" >&5
60647 +$as_echo "${with_python_dir}" >&6; }
60649 +# Needed for installing Python modules during make install.
60650 +python_mod_dir="${with_python_dir}"
60655 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Werror" >&5
60656 +$as_echo_n "checking for -Werror... " >&6; }
60657 + # Check whether --enable-werror was given.
60658 +if test "${enable_werror+set}" = set; then :
60659 + enableval=$enable_werror;
60660 + case "$enableval" in
60661 + yes|no) ;;
60662 + *) as_fn_error "Argument to enable/disable werror must be yes or no" "$LINENO" 5 ;;
60663 + esac
60665 +else
60666 + enable_werror=yes
60670 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_werror" >&5
60671 +$as_echo "$enable_werror" >&6; }
60676 + # Check whether --enable-vtable-verify was given.
60677 +if test "${enable_vtable_verify+set}" = set; then :
60678 + enableval=$enable_vtable_verify;
60679 + case "$enableval" in
60680 + yes|no) ;;
60681 + *) as_fn_error "Argument to enable/disable vtable-verify must be yes or no" "$LINENO" 5 ;;
60682 + esac
60684 +else
60685 + enable_vtable_verify=no
60690 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vtable verify support" >&5
60691 +$as_echo_n "checking for vtable verify support... " >&6; }
60692 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_vtable_verify" >&5
60693 +$as_echo "$enable_vtable_verify" >&6; }
60695 + vtv_cygmin=no
60696 + if test $enable_vtable_verify = yes; then
60697 + case ${target_os} in
60698 + cygwin*|mingw32*)
60699 + VTV_CXXFLAGS="-fvtable-verify=std -Wl,-lvtv,-u_vtable_map_vars_start,-u_vtable_map_vars_end"
60700 + vtv_cygmin=yes
60701 + ;;
60702 + *)
60703 + VTV_CXXFLAGS="-fvtable-verify=std -Wl,-u_vtable_map_vars_start,-u_vtable_map_vars_end"
60704 + ;;
60705 + esac
60706 + VTV_PCH_CXXFLAGS="-fvtable-verify=std"
60707 + VTV_CXXLINKFLAGS="-L${toplevel_builddir}/libvtv/.libs -Wl,--rpath -Wl,${toplevel_builddir}/libvtv/.libs"
60708 + else
60709 + VTV_CXXFLAGS=
60710 + VTV_PCH_CXXFLAGS=
60711 + VTV_CXXLINKFLAGS=
60712 + fi
60717 + if test x$vtv_cygmin = xyes; then
60718 + VTV_CYGMIN_TRUE=
60719 + VTV_CYGMIN_FALSE='#'
60720 +else
60721 + VTV_CYGMIN_TRUE='#'
60722 + VTV_CYGMIN_FALSE=
60728 +# Checks for operating systems support that doesn't require linking.
60732 + ac_ext=cpp
60733 +ac_cpp='$CXXCPP $CPPFLAGS'
60734 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
60735 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
60736 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
60739 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gets declaration" >&5
60740 +$as_echo_n "checking for gets declaration... " >&6; }
60741 + if test "${glibcxx_cv_gets+set}" = set; then :
60742 + $as_echo_n "(cached) " >&6
60743 +else
60745 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60746 +/* end confdefs.h. */
60747 +#include <stdio.h>
60748 + namespace test
60750 + using ::gets;
60753 +_ACEOF
60754 +if ac_fn_cxx_try_compile "$LINENO"; then :
60755 + glibcxx_cv_gets=yes
60756 +else
60757 + glibcxx_cv_gets=no
60760 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60764 + if test $glibcxx_cv_gets = yes; then
60766 +$as_echo "#define HAVE_GETS 1" >>confdefs.h
60768 + fi
60769 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_gets" >&5
60770 +$as_echo "$glibcxx_cv_gets" >&6; }
60772 + ac_ext=c
60773 +ac_cpp='$CPP $CPPFLAGS'
60774 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
60775 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
60776 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
60781 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOWNERDEAD" >&5
60782 +$as_echo_n "checking for EOWNERDEAD... " >&6; }
60783 +if test "${glibcxx_cv_system_error1+set}" = set; then :
60784 + $as_echo_n "(cached) " >&6
60785 +else
60787 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60788 +/* end confdefs.h. */
60789 +#include <errno.h>
60790 +int
60791 +main ()
60793 +int i = EOWNERDEAD;
60795 + return 0;
60797 +_ACEOF
60798 +if ac_fn_c_try_compile "$LINENO"; then :
60799 + glibcxx_cv_system_error1=yes
60800 +else
60801 + glibcxx_cv_system_error1=no
60803 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60807 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error1" >&5
60808 +$as_echo "$glibcxx_cv_system_error1" >&6; }
60809 +if test x"$glibcxx_cv_system_error1" = x"yes"; then
60811 +$as_echo "#define HAVE_EOWNERDEAD 1" >>confdefs.h
60814 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOTRECOVERABLE" >&5
60815 +$as_echo_n "checking for ENOTRECOVERABLE... " >&6; }
60816 +if test "${glibcxx_cv_system_error2+set}" = set; then :
60817 + $as_echo_n "(cached) " >&6
60818 +else
60820 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60821 +/* end confdefs.h. */
60822 +#include <errno.h>
60823 +int
60824 +main ()
60826 +int i = ENOTRECOVERABLE;
60828 + return 0;
60830 +_ACEOF
60831 +if ac_fn_c_try_compile "$LINENO"; then :
60832 + glibcxx_cv_system_error2=yes
60833 +else
60834 + glibcxx_cv_system_error2=no
60836 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60840 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error2" >&5
60841 +$as_echo "$glibcxx_cv_system_error2" >&6; }
60842 +if test x"$glibcxx_cv_system_error2" = x"yes"; then
60844 +$as_echo "#define HAVE_ENOTRECOVERABLE 1" >>confdefs.h
60847 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK" >&5
60848 +$as_echo_n "checking for ENOLINK... " >&6; }
60849 +if test "${glibcxx_cv_system_error3+set}" = set; then :
60850 + $as_echo_n "(cached) " >&6
60851 +else
60853 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60854 +/* end confdefs.h. */
60855 +#include <errno.h>
60856 +int
60857 +main ()
60859 +int i = ENOLINK;
60861 + return 0;
60863 +_ACEOF
60864 +if ac_fn_c_try_compile "$LINENO"; then :
60865 + glibcxx_cv_system_error3=yes
60866 +else
60867 + glibcxx_cv_system_error3=no
60869 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60873 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error3" >&5
60874 +$as_echo "$glibcxx_cv_system_error3" >&6; }
60875 +if test x"$glibcxx_cv_system_error3" = x"yes"; then
60877 +$as_echo "#define HAVE_ENOLINK 1" >>confdefs.h
60880 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EPROTO" >&5
60881 +$as_echo_n "checking for EPROTO... " >&6; }
60882 +if test "${glibcxx_cv_system_error4+set}" = set; then :
60883 + $as_echo_n "(cached) " >&6
60884 +else
60886 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60887 +/* end confdefs.h. */
60888 +#include <errno.h>
60889 +int
60890 +main ()
60892 +int i = EPROTO;
60894 + return 0;
60896 +_ACEOF
60897 +if ac_fn_c_try_compile "$LINENO"; then :
60898 + glibcxx_cv_system_error4=yes
60899 +else
60900 + glibcxx_cv_system_error4=no
60902 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60906 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error4" >&5
60907 +$as_echo "$glibcxx_cv_system_error4" >&6; }
60908 +if test x"$glibcxx_cv_system_error4" = x"yes"; then
60910 +$as_echo "#define HAVE_EPROTO 1" >>confdefs.h
60913 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENODATA" >&5
60914 +$as_echo_n "checking for ENODATA... " >&6; }
60915 +if test "${glibcxx_cv_system_error5+set}" = set; then :
60916 + $as_echo_n "(cached) " >&6
60917 +else
60919 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60920 +/* end confdefs.h. */
60921 +#include <errno.h>
60922 +int
60923 +main ()
60925 +int i = ENODATA;
60927 + return 0;
60929 +_ACEOF
60930 +if ac_fn_c_try_compile "$LINENO"; then :
60931 + glibcxx_cv_system_error5=yes
60932 +else
60933 + glibcxx_cv_system_error5=no
60935 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60939 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error5" >&5
60940 +$as_echo "$glibcxx_cv_system_error5" >&6; }
60941 +if test x"$glibcxx_cv_system_error5" = x"yes"; then
60943 +$as_echo "#define HAVE_ENODATA 1" >>confdefs.h
60946 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOSR" >&5
60947 +$as_echo_n "checking for ENOSR... " >&6; }
60948 +if test "${glibcxx_cv_system_error6+set}" = set; then :
60949 + $as_echo_n "(cached) " >&6
60950 +else
60952 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60953 +/* end confdefs.h. */
60954 +#include <errno.h>
60955 +int
60956 +main ()
60958 +int i = ENOSR;
60960 + return 0;
60962 +_ACEOF
60963 +if ac_fn_c_try_compile "$LINENO"; then :
60964 + glibcxx_cv_system_error6=yes
60965 +else
60966 + glibcxx_cv_system_error6=no
60968 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
60972 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error6" >&5
60973 +$as_echo "$glibcxx_cv_system_error6" >&6; }
60974 +if test x"$glibcxx_cv_system_error6" = x"yes"; then
60976 +$as_echo "#define HAVE_ENOSR 1" >>confdefs.h
60979 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOSTR" >&5
60980 +$as_echo_n "checking for ENOSTR... " >&6; }
60981 +if test "${glibcxx_cv_system_error7+set}" = set; then :
60982 + $as_echo_n "(cached) " >&6
60983 +else
60985 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
60986 +/* end confdefs.h. */
60987 +#include <errno.h>
60988 +int
60989 +main ()
60991 +int i = ENOSTR;
60993 + return 0;
60995 +_ACEOF
60996 +if ac_fn_c_try_compile "$LINENO"; then :
60997 + glibcxx_cv_system_error7=yes
60998 +else
60999 + glibcxx_cv_system_error7=no
61001 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61005 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error7" >&5
61006 +$as_echo "$glibcxx_cv_system_error7" >&6; }
61007 +if test x"$glibcxx_cv_system_error7" = x"yes"; then
61009 +$as_echo "#define HAVE_ENOSTR 1" >>confdefs.h
61012 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETIME" >&5
61013 +$as_echo_n "checking for ETIME... " >&6; }
61014 +if test "${glibcxx_cv_system_error8+set}" = set; then :
61015 + $as_echo_n "(cached) " >&6
61016 +else
61018 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61019 +/* end confdefs.h. */
61020 +#include <errno.h>
61021 +int
61022 +main ()
61024 +int i = ETIME;
61026 + return 0;
61028 +_ACEOF
61029 +if ac_fn_c_try_compile "$LINENO"; then :
61030 + glibcxx_cv_system_error8=yes
61031 +else
61032 + glibcxx_cv_system_error8=no
61034 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61038 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error8" >&5
61039 +$as_echo "$glibcxx_cv_system_error8" >&6; }
61040 +if test x"$glibcxx_cv_system_error8" = x"yes"; then
61042 +$as_echo "#define HAVE_ETIME 1" >>confdefs.h
61045 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EBADMSG" >&5
61046 +$as_echo_n "checking for EBADMSG... " >&6; }
61047 +if test "${glibcxx_cv_system_error9+set}" = set; then :
61048 + $as_echo_n "(cached) " >&6
61049 +else
61051 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61052 +/* end confdefs.h. */
61053 +#include <errno.h>
61054 +int
61055 +main ()
61057 +int i = EBADMSG;
61059 + return 0;
61061 +_ACEOF
61062 +if ac_fn_c_try_compile "$LINENO"; then :
61063 + glibcxx_cv_system_error9=yes
61064 +else
61065 + glibcxx_cv_system_error9=no
61067 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61071 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error9" >&5
61072 +$as_echo "$glibcxx_cv_system_error9" >&6; }
61073 +if test x"$glibcxx_cv_system_error9" = x"yes"; then
61075 +$as_echo "#define HAVE_EBADMSG 1" >>confdefs.h
61078 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECANCELED" >&5
61079 +$as_echo_n "checking for ECANCELED... " >&6; }
61080 +if test "${glibcxx_cv_system_error10+set}" = set; then :
61081 + $as_echo_n "(cached) " >&6
61082 +else
61084 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61085 +/* end confdefs.h. */
61086 +#include <errno.h>
61087 +int
61088 +main ()
61090 +int i = ECANCELED;
61092 + return 0;
61094 +_ACEOF
61095 +if ac_fn_c_try_compile "$LINENO"; then :
61096 + glibcxx_cv_system_error10=yes
61097 +else
61098 + glibcxx_cv_system_error10=no
61100 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61104 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error10" >&5
61105 +$as_echo "$glibcxx_cv_system_error10" >&6; }
61106 +if test x"$glibcxx_cv_system_error10" = x"yes"; then
61108 +$as_echo "#define HAVE_ECANCELED 1" >>confdefs.h
61111 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW" >&5
61112 +$as_echo_n "checking for EOVERFLOW... " >&6; }
61113 +if test "${glibcxx_cv_system_error11+set}" = set; then :
61114 + $as_echo_n "(cached) " >&6
61115 +else
61117 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61118 +/* end confdefs.h. */
61119 +#include <errno.h>
61120 +int
61121 +main ()
61123 +int i = EOVERFLOW;
61125 + return 0;
61127 +_ACEOF
61128 +if ac_fn_c_try_compile "$LINENO"; then :
61129 + glibcxx_cv_system_error11=yes
61130 +else
61131 + glibcxx_cv_system_error11=no
61133 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61137 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error11" >&5
61138 +$as_echo "$glibcxx_cv_system_error11" >&6; }
61139 +if test x"$glibcxx_cv_system_error11" = x"yes"; then
61141 +$as_echo "#define HAVE_EOVERFLOW 1" >>confdefs.h
61144 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOTSUP" >&5
61145 +$as_echo_n "checking for ENOTSUP... " >&6; }
61146 +if test "${glibcxx_cv_system_error12+set}" = set; then :
61147 + $as_echo_n "(cached) " >&6
61148 +else
61150 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61151 +/* end confdefs.h. */
61152 +#include <errno.h>
61153 +int
61154 +main ()
61156 +int i = ENOTSUP;
61158 + return 0;
61160 +_ACEOF
61161 +if ac_fn_c_try_compile "$LINENO"; then :
61162 + glibcxx_cv_system_error12=yes
61163 +else
61164 + glibcxx_cv_system_error12=no
61166 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61170 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error12" >&5
61171 +$as_echo "$glibcxx_cv_system_error12" >&6; }
61172 +if test x"$glibcxx_cv_system_error12" = x"yes"; then
61174 +$as_echo "#define HAVE_ENOTSUP 1" >>confdefs.h
61177 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EIDRM" >&5
61178 +$as_echo_n "checking for EIDRM... " >&6; }
61179 +if test "${glibcxx_cv_system_error13+set}" = set; then :
61180 + $as_echo_n "(cached) " >&6
61181 +else
61183 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61184 +/* end confdefs.h. */
61185 +#include <errno.h>
61186 +int
61187 +main ()
61189 +int i = EIDRM;
61191 + return 0;
61193 +_ACEOF
61194 +if ac_fn_c_try_compile "$LINENO"; then :
61195 + glibcxx_cv_system_error13=yes
61196 +else
61197 + glibcxx_cv_system_error13=no
61199 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61203 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error13" >&5
61204 +$as_echo "$glibcxx_cv_system_error13" >&6; }
61205 +if test x"$glibcxx_cv_system_error13" = x"yes"; then
61207 +$as_echo "#define HAVE_EIDRM 1" >>confdefs.h
61210 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETXTBSY" >&5
61211 +$as_echo_n "checking for ETXTBSY... " >&6; }
61212 +if test "${glibcxx_cv_system_error14+set}" = set; then :
61213 + $as_echo_n "(cached) " >&6
61214 +else
61216 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61217 +/* end confdefs.h. */
61218 +#include <errno.h>
61219 +int
61220 +main ()
61222 +int i = ETXTBSY;
61224 + return 0;
61226 +_ACEOF
61227 +if ac_fn_c_try_compile "$LINENO"; then :
61228 + glibcxx_cv_system_error14=yes
61229 +else
61230 + glibcxx_cv_system_error14=no
61232 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61236 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error14" >&5
61237 +$as_echo "$glibcxx_cv_system_error14" >&6; }
61238 +if test x"$glibcxx_cv_system_error14" = x"yes"; then
61240 +$as_echo "#define HAVE_ETXTBSY 1" >>confdefs.h
61243 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECHILD" >&5
61244 +$as_echo_n "checking for ECHILD... " >&6; }
61245 +if test "${glibcxx_cv_system_error15+set}" = set; then :
61246 + $as_echo_n "(cached) " >&6
61247 +else
61249 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61250 +/* end confdefs.h. */
61251 +#include <errno.h>
61252 +int
61253 +main ()
61255 +int i = ECHILD;
61257 + return 0;
61259 +_ACEOF
61260 +if ac_fn_c_try_compile "$LINENO"; then :
61261 + glibcxx_cv_system_error15=yes
61262 +else
61263 + glibcxx_cv_system_error15=no
61265 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61269 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error15" >&5
61270 +$as_echo "$glibcxx_cv_system_error15" >&6; }
61271 +if test x"$glibcxx_cv_system_error15" = x"yes"; then
61273 +$as_echo "#define HAVE_ECHILD 1" >>confdefs.h
61276 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOSPC" >&5
61277 +$as_echo_n "checking for ENOSPC... " >&6; }
61278 +if test "${glibcxx_cv_system_error16+set}" = set; then :
61279 + $as_echo_n "(cached) " >&6
61280 +else
61282 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61283 +/* end confdefs.h. */
61284 +#include <errno.h>
61285 +int
61286 +main ()
61288 +int i = ENOSPC;
61290 + return 0;
61292 +_ACEOF
61293 +if ac_fn_c_try_compile "$LINENO"; then :
61294 + glibcxx_cv_system_error16=yes
61295 +else
61296 + glibcxx_cv_system_error16=no
61298 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61302 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error16" >&5
61303 +$as_echo "$glibcxx_cv_system_error16" >&6; }
61304 +if test x"$glibcxx_cv_system_error16" = x"yes"; then
61306 +$as_echo "#define HAVE_ENOSPC 1" >>confdefs.h
61309 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EPERM" >&5
61310 +$as_echo_n "checking for EPERM... " >&6; }
61311 +if test "${glibcxx_cv_system_error17+set}" = set; then :
61312 + $as_echo_n "(cached) " >&6
61313 +else
61315 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61316 +/* end confdefs.h. */
61317 +#include <errno.h>
61318 +int
61319 +main ()
61321 +int i = EPERM;
61323 + return 0;
61325 +_ACEOF
61326 +if ac_fn_c_try_compile "$LINENO"; then :
61327 + glibcxx_cv_system_error17=yes
61328 +else
61329 + glibcxx_cv_system_error17=no
61331 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61335 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error17" >&5
61336 +$as_echo "$glibcxx_cv_system_error17" >&6; }
61337 +if test x"$glibcxx_cv_system_error17" = x"yes"; then
61339 +$as_echo "#define HAVE_EPERM 1" >>confdefs.h
61342 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETIMEDOUT" >&5
61343 +$as_echo_n "checking for ETIMEDOUT... " >&6; }
61344 +if test "${glibcxx_cv_system_error18+set}" = set; then :
61345 + $as_echo_n "(cached) " >&6
61346 +else
61348 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61349 +/* end confdefs.h. */
61350 +#include <errno.h>
61351 +int
61352 +main ()
61354 +int i = ETIMEDOUT;
61356 + return 0;
61358 +_ACEOF
61359 +if ac_fn_c_try_compile "$LINENO"; then :
61360 + glibcxx_cv_system_error18=yes
61361 +else
61362 + glibcxx_cv_system_error18=no
61364 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61368 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error18" >&5
61369 +$as_echo "$glibcxx_cv_system_error18" >&6; }
61370 +if test x"$glibcxx_cv_system_error18" = x"yes"; then
61372 +$as_echo "#define HAVE_ETIMEDOUT 1" >>confdefs.h
61375 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EWOULDBLOCK" >&5
61376 +$as_echo_n "checking for EWOULDBLOCK... " >&6; }
61377 +if test "${glibcxx_cv_system_error19+set}" = set; then :
61378 + $as_echo_n "(cached) " >&6
61379 +else
61381 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61382 +/* end confdefs.h. */
61383 +#include <errno.h>
61384 +int
61385 +main ()
61387 +int i = EWOULDBLOCK;
61389 + return 0;
61391 +_ACEOF
61392 +if ac_fn_c_try_compile "$LINENO"; then :
61393 + glibcxx_cv_system_error19=yes
61394 +else
61395 + glibcxx_cv_system_error19=no
61397 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61401 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_system_error19" >&5
61402 +$as_echo "$glibcxx_cv_system_error19" >&6; }
61403 +if test x"$glibcxx_cv_system_error19" = x"yes"; then
61405 +$as_echo "#define HAVE_EWOULDBLOCK 1" >>confdefs.h
61411 +# For the streamoff typedef.
61415 + ac_ext=cpp
61416 +ac_cpp='$CXXCPP $CPPFLAGS'
61417 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61418 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61419 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
61422 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t" >&5
61423 +$as_echo_n "checking for int64_t... " >&6; }
61424 + if test "${glibcxx_cv_INT64_T+set}" = set; then :
61425 + $as_echo_n "(cached) " >&6
61426 +else
61428 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61429 +/* end confdefs.h. */
61430 +#include <stdint.h>
61431 +int
61432 +main ()
61434 +int64_t var;
61436 + return 0;
61438 +_ACEOF
61439 +if ac_fn_cxx_try_compile "$LINENO"; then :
61440 + glibcxx_cv_INT64_T=yes
61441 +else
61442 + glibcxx_cv_INT64_T=no
61444 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61449 + if test $glibcxx_cv_INT64_T = yes; then
61451 +$as_echo "#define HAVE_INT64_T 1" >>confdefs.h
61453 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_INT64_T" >&5
61454 +$as_echo "$glibcxx_cv_INT64_T" >&6; }
61456 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t as long" >&5
61457 +$as_echo_n "checking for int64_t as long... " >&6; }
61458 + if test "${glibcxx_cv_int64_t_long+set}" = set; then :
61459 + $as_echo_n "(cached) " >&6
61460 +else
61462 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61463 +/* end confdefs.h. */
61464 +#include <stdint.h>
61465 + template<typename, typename> struct same { enum { value = -1 }; };
61466 + template<typename Tp> struct same<Tp, Tp> { enum { value = 1 }; };
61467 + int array[same<int64_t, long>::value];
61468 +int
61469 +main ()
61473 + return 0;
61475 +_ACEOF
61476 +if ac_fn_cxx_try_compile "$LINENO"; then :
61477 + glibcxx_cv_int64_t_long=yes
61478 +else
61479 + glibcxx_cv_int64_t_long=no
61481 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61486 + if test $glibcxx_cv_int64_t_long = yes; then
61488 +$as_echo "#define HAVE_INT64_T_LONG 1" >>confdefs.h
61490 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_int64_t_long" >&5
61491 +$as_echo "$glibcxx_cv_int64_t_long" >&6; }
61492 + fi
61494 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t as long long" >&5
61495 +$as_echo_n "checking for int64_t as long long... " >&6; }
61496 + if test "${glibcxx_cv_int64_t_long_long+set}" = set; then :
61497 + $as_echo_n "(cached) " >&6
61498 +else
61500 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61501 +/* end confdefs.h. */
61502 +#include <stdint.h>
61503 + template<typename, typename> struct same { enum { value = -1 }; };
61504 + template<typename Tp> struct same<Tp, Tp> { enum { value = 1 }; };
61505 + int array[same<int64_t, long long>::value];
61506 +int
61507 +main ()
61511 + return 0;
61513 +_ACEOF
61514 +if ac_fn_cxx_try_compile "$LINENO"; then :
61515 + glibcxx_cv_int64_t_long_long=yes
61516 +else
61517 + glibcxx_cv_int64_t_long_long=no
61519 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61524 + if test $glibcxx_cv_int64_t_long_long = yes; then
61526 +$as_echo "#define HAVE_INT64_T_LONG_LONG 1" >>confdefs.h
61528 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_int64_t_long_long" >&5
61529 +$as_echo "$glibcxx_cv_int64_t_long_long" >&6; }
61530 + fi
61531 + fi
61533 + ac_ext=c
61534 +ac_cpp='$CPP $CPPFLAGS'
61535 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61536 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61537 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
61541 +# For LFS support.
61544 + ac_ext=cpp
61545 +ac_cpp='$CXXCPP $CPPFLAGS'
61546 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61547 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61548 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
61550 + ac_save_CXXFLAGS="$CXXFLAGS"
61551 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
61552 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LFS support" >&5
61553 +$as_echo_n "checking for LFS support... " >&6; }
61554 + if test "${glibcxx_cv_LFS+set}" = set; then :
61555 + $as_echo_n "(cached) " >&6
61556 +else
61558 + if test x$gcc_no_link = xyes; then
61559 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61560 +/* end confdefs.h. */
61561 +#include <unistd.h>
61562 + #include <stdio.h>
61563 + #include <sys/stat.h>
61565 +int
61566 +main ()
61568 +FILE* fp;
61569 + fopen64("t", "w");
61570 + fseeko64(fp, 0, SEEK_CUR);
61571 + ftello64(fp);
61572 + lseek64(1, 0, SEEK_CUR);
61573 + struct stat64 buf;
61574 + fstat64(1, &buf);
61576 + return 0;
61578 +_ACEOF
61579 +if ac_fn_cxx_try_compile "$LINENO"; then :
61580 + glibcxx_cv_LFS=yes
61581 +else
61582 + glibcxx_cv_LFS=no
61584 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61585 +else
61586 + if test x$gcc_no_link = xyes; then
61587 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
61589 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61590 +/* end confdefs.h. */
61591 +#include <unistd.h>
61592 + #include <stdio.h>
61593 + #include <sys/stat.h>
61595 +int
61596 +main ()
61598 +FILE* fp;
61599 + fopen64("t", "w");
61600 + fseeko64(fp, 0, SEEK_CUR);
61601 + ftello64(fp);
61602 + lseek64(1, 0, SEEK_CUR);
61603 + struct stat64 buf;
61604 + fstat64(1, &buf);
61606 + return 0;
61608 +_ACEOF
61609 +if ac_fn_cxx_try_link "$LINENO"; then :
61610 + glibcxx_cv_LFS=yes
61611 +else
61612 + glibcxx_cv_LFS=no
61614 +rm -f core conftest.err conftest.$ac_objext \
61615 + conftest$ac_exeext conftest.$ac_ext
61620 + if test $glibcxx_cv_LFS = yes; then
61622 +$as_echo "#define _GLIBCXX_USE_LFS 1" >>confdefs.h
61624 + fi
61625 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_LFS" >&5
61626 +$as_echo "$glibcxx_cv_LFS" >&6; }
61627 + CXXFLAGS="$ac_save_CXXFLAGS"
61628 + ac_ext=c
61629 +ac_cpp='$CPP $CPPFLAGS'
61630 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61631 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61632 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
61636 +# For showmanyc_helper().
61637 +for ac_header in sys/ioctl.h sys/filio.h
61638 +do :
61639 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
61640 +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
61641 +eval as_val=\$$as_ac_Header
61642 + if test "x$as_val" = x""yes; then :
61643 + cat >>confdefs.h <<_ACEOF
61644 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
61645 +_ACEOF
61649 +done
61654 + ac_ext=cpp
61655 +ac_cpp='$CXXCPP $CPPFLAGS'
61656 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61657 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61658 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
61660 + ac_save_CXXFLAGS="$CXXFLAGS"
61661 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
61663 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for poll" >&5
61664 +$as_echo_n "checking for poll... " >&6; }
61665 + if test "${glibcxx_cv_POLL+set}" = set; then :
61666 + $as_echo_n "(cached) " >&6
61667 +else
61669 + if test x$gcc_no_link = xyes; then
61670 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61671 +/* end confdefs.h. */
61672 +#include <poll.h>
61673 +int
61674 +main ()
61676 +struct pollfd pfd[1];
61677 + pfd[0].events = POLLIN;
61678 + poll(pfd, 1, 0);
61680 + return 0;
61682 +_ACEOF
61683 +if ac_fn_cxx_try_compile "$LINENO"; then :
61684 + glibcxx_cv_POLL=yes
61685 +else
61686 + glibcxx_cv_POLL=no
61688 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61689 +else
61690 + if test x$gcc_no_link = xyes; then
61691 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
61693 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61694 +/* end confdefs.h. */
61695 +#include <poll.h>
61696 +int
61697 +main ()
61699 +struct pollfd pfd[1];
61700 + pfd[0].events = POLLIN;
61701 + poll(pfd, 1, 0);
61703 + return 0;
61705 +_ACEOF
61706 +if ac_fn_cxx_try_link "$LINENO"; then :
61707 + glibcxx_cv_POLL=yes
61708 +else
61709 + glibcxx_cv_POLL=no
61711 +rm -f core conftest.err conftest.$ac_objext \
61712 + conftest$ac_exeext conftest.$ac_ext
61717 + if test $glibcxx_cv_POLL = yes; then
61719 +$as_echo "#define HAVE_POLL 1" >>confdefs.h
61721 + fi
61722 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_POLL" >&5
61723 +$as_echo "$glibcxx_cv_POLL" >&6; }
61725 + CXXFLAGS="$ac_save_CXXFLAGS"
61726 + ac_ext=c
61727 +ac_cpp='$CPP $CPPFLAGS'
61728 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61729 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61730 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
61736 + ac_ext=cpp
61737 +ac_cpp='$CXXCPP $CPPFLAGS'
61738 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61739 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61740 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
61742 + ac_save_CXXFLAGS="$CXXFLAGS"
61743 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
61745 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for S_ISREG or S_IFREG" >&5
61746 +$as_echo_n "checking for S_ISREG or S_IFREG... " >&6; }
61747 + if test "${glibcxx_cv_S_ISREG+set}" = set; then :
61748 + $as_echo_n "(cached) " >&6
61749 +else
61751 + if test x$gcc_no_link = xyes; then
61752 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61753 +/* end confdefs.h. */
61754 +#include <sys/stat.h>
61755 +int
61756 +main ()
61758 +struct stat buffer;
61759 + fstat(0, &buffer);
61760 + S_ISREG(buffer.st_mode);
61762 + return 0;
61764 +_ACEOF
61765 +if ac_fn_cxx_try_compile "$LINENO"; then :
61766 + glibcxx_cv_S_ISREG=yes
61767 +else
61768 + glibcxx_cv_S_ISREG=no
61770 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61771 +else
61772 + if test x$gcc_no_link = xyes; then
61773 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
61775 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61776 +/* end confdefs.h. */
61777 +#include <sys/stat.h>
61778 +int
61779 +main ()
61781 +struct stat buffer;
61782 + fstat(0, &buffer);
61783 + S_ISREG(buffer.st_mode);
61785 + return 0;
61787 +_ACEOF
61788 +if ac_fn_cxx_try_link "$LINENO"; then :
61789 + glibcxx_cv_S_ISREG=yes
61790 +else
61791 + glibcxx_cv_S_ISREG=no
61793 +rm -f core conftest.err conftest.$ac_objext \
61794 + conftest$ac_exeext conftest.$ac_ext
61799 + if test "${glibcxx_cv_S_IFREG+set}" = set; then :
61800 + $as_echo_n "(cached) " >&6
61801 +else
61803 + if test x$gcc_no_link = xyes; then
61804 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61805 +/* end confdefs.h. */
61806 +#include <sys/stat.h>
61807 +int
61808 +main ()
61810 +struct stat buffer;
61811 + fstat(0, &buffer);
61812 + S_IFREG & buffer.st_mode;
61814 + return 0;
61816 +_ACEOF
61817 +if ac_fn_cxx_try_compile "$LINENO"; then :
61818 + glibcxx_cv_S_IFREG=yes
61819 +else
61820 + glibcxx_cv_S_IFREG=no
61822 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61823 +else
61824 + if test x$gcc_no_link = xyes; then
61825 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
61827 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61828 +/* end confdefs.h. */
61829 +#include <sys/stat.h>
61830 +int
61831 +main ()
61833 +struct stat buffer;
61834 + fstat(0, &buffer);
61835 + S_IFREG & buffer.st_mode;
61837 + return 0;
61839 +_ACEOF
61840 +if ac_fn_cxx_try_link "$LINENO"; then :
61841 + glibcxx_cv_S_IFREG=yes
61842 +else
61843 + glibcxx_cv_S_IFREG=no
61845 +rm -f core conftest.err conftest.$ac_objext \
61846 + conftest$ac_exeext conftest.$ac_ext
61851 + res=no
61852 + if test $glibcxx_cv_S_ISREG = yes; then
61854 +$as_echo "#define HAVE_S_ISREG 1" >>confdefs.h
61856 + res=S_ISREG
61857 + elif test $glibcxx_cv_S_IFREG = yes; then
61859 +$as_echo "#define HAVE_S_IFREG 1" >>confdefs.h
61861 + res=S_IFREG
61862 + fi
61863 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
61864 +$as_echo "$res" >&6; }
61866 + CXXFLAGS="$ac_save_CXXFLAGS"
61867 + ac_ext=c
61868 +ac_cpp='$CPP $CPPFLAGS'
61869 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61870 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61871 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
61875 +# For xsputn_2().
61876 +for ac_header in sys/uio.h
61877 +do :
61878 + ac_fn_c_check_header_mongrel "$LINENO" "sys/uio.h" "ac_cv_header_sys_uio_h" "$ac_includes_default"
61879 +if test "x$ac_cv_header_sys_uio_h" = x""yes; then :
61880 + cat >>confdefs.h <<_ACEOF
61881 +#define HAVE_SYS_UIO_H 1
61882 +_ACEOF
61886 +done
61891 + ac_ext=cpp
61892 +ac_cpp='$CXXCPP $CPPFLAGS'
61893 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61894 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61895 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
61897 + ac_save_CXXFLAGS="$CXXFLAGS"
61898 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
61900 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for writev" >&5
61901 +$as_echo_n "checking for writev... " >&6; }
61902 + if test "${glibcxx_cv_WRITEV+set}" = set; then :
61903 + $as_echo_n "(cached) " >&6
61904 +else
61906 + if test x$gcc_no_link = xyes; then
61907 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61908 +/* end confdefs.h. */
61909 +#include <sys/uio.h>
61910 +int
61911 +main ()
61913 +struct iovec iov[2];
61914 + writev(0, iov, 0);
61916 + return 0;
61918 +_ACEOF
61919 +if ac_fn_cxx_try_compile "$LINENO"; then :
61920 + glibcxx_cv_WRITEV=yes
61921 +else
61922 + glibcxx_cv_WRITEV=no
61924 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
61925 +else
61926 + if test x$gcc_no_link = xyes; then
61927 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
61929 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
61930 +/* end confdefs.h. */
61931 +#include <sys/uio.h>
61932 +int
61933 +main ()
61935 +struct iovec iov[2];
61936 + writev(0, iov, 0);
61938 + return 0;
61940 +_ACEOF
61941 +if ac_fn_cxx_try_link "$LINENO"; then :
61942 + glibcxx_cv_WRITEV=yes
61943 +else
61944 + glibcxx_cv_WRITEV=no
61946 +rm -f core conftest.err conftest.$ac_objext \
61947 + conftest$ac_exeext conftest.$ac_ext
61952 + if test $glibcxx_cv_WRITEV = yes; then
61954 +$as_echo "#define HAVE_WRITEV 1" >>confdefs.h
61956 + fi
61957 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_WRITEV" >&5
61958 +$as_echo "$glibcxx_cv_WRITEV" >&6; }
61960 + CXXFLAGS="$ac_save_CXXFLAGS"
61961 + ac_ext=c
61962 +ac_cpp='$CPP $CPPFLAGS'
61963 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61964 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61965 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
61969 +# Check for fenv.h and complex.h before GLIBCXX_CHECK_C99_TR1
61970 +# so that the check is done with the C compiler (not C++).
61971 +# Checking with C++ can break a canadian cross build if either
61972 +# file does not exist in C but does in C++.
61973 +for ac_header in fenv.h complex.h
61974 +do :
61975 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
61976 +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
61977 +eval as_val=\$$as_ac_Header
61978 + if test "x$as_val" = x""yes; then :
61979 + cat >>confdefs.h <<_ACEOF
61980 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
61981 +_ACEOF
61985 +done
61988 +# For C99 support to TR1.
61992 + ac_ext=cpp
61993 +ac_cpp='$CXXCPP $CPPFLAGS'
61994 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
61995 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
61996 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
61999 + # Use -std=c++98 because the default (-std=gnu++98) leaves __STRICT_ANSI__
62000 + # undefined and fake C99 facilities may be spuriously enabled.
62001 + ac_save_CXXFLAGS="$CXXFLAGS"
62002 + CXXFLAGS="$CXXFLAGS -std=c++98"
62004 + # Check for the existence of <complex.h> complex math functions used
62005 + # by tr1/complex.
62006 + for ac_header in complex.h
62007 +do :
62008 + ac_fn_cxx_check_header_mongrel "$LINENO" "complex.h" "ac_cv_header_complex_h" "$ac_includes_default"
62009 +if test "x$ac_cv_header_complex_h" = x""yes; then :
62010 + cat >>confdefs.h <<_ACEOF
62011 +#define HAVE_COMPLEX_H 1
62012 +_ACEOF
62013 + ac_has_complex_h=yes
62014 +else
62015 + ac_has_complex_h=no
62018 +done
62020 + ac_c99_complex_tr1=no;
62021 + if test x"$ac_has_complex_h" = x"yes"; then
62022 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support to TR1 in <complex.h>" >&5
62023 +$as_echo_n "checking for ISO C99 support to TR1 in <complex.h>... " >&6; }
62024 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62025 +/* end confdefs.h. */
62026 +#include <complex.h>
62027 +int
62028 +main ()
62030 +typedef __complex__ float float_type; float_type tmpf;
62031 + cacosf(tmpf);
62032 + casinf(tmpf);
62033 + catanf(tmpf);
62034 + cacoshf(tmpf);
62035 + casinhf(tmpf);
62036 + catanhf(tmpf);
62037 + typedef __complex__ double double_type; double_type tmpd;
62038 + cacos(tmpd);
62039 + casin(tmpd);
62040 + catan(tmpd);
62041 + cacosh(tmpd);
62042 + casinh(tmpd);
62043 + catanh(tmpd);
62044 + typedef __complex__ long double ld_type; ld_type tmpld;
62045 + cacosl(tmpld);
62046 + casinl(tmpld);
62047 + catanl(tmpld);
62048 + cacoshl(tmpld);
62049 + casinhl(tmpld);
62050 + catanhl(tmpld);
62053 + return 0;
62055 +_ACEOF
62056 +if ac_fn_cxx_try_compile "$LINENO"; then :
62057 + ac_c99_complex_tr1=yes
62058 +else
62059 + ac_c99_complex_tr1=no
62061 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62062 + fi
62063 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_c99_complex_tr1" >&5
62064 +$as_echo "$ac_c99_complex_tr1" >&6; }
62065 + if test x"$ac_c99_complex_tr1" = x"yes"; then
62067 +$as_echo "#define _GLIBCXX_USE_C99_COMPLEX_TR1 1" >>confdefs.h
62069 + fi
62071 + # Check for the existence of <ctype.h> functions.
62072 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support to TR1 in <ctype.h>" >&5
62073 +$as_echo_n "checking for ISO C99 support to TR1 in <ctype.h>... " >&6; }
62074 + if test "${glibcxx_cv_c99_ctype_tr1+set}" = set; then :
62075 + $as_echo_n "(cached) " >&6
62076 +else
62078 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62079 +/* end confdefs.h. */
62080 +#include <ctype.h>
62081 +int
62082 +main ()
62084 +int ch;
62085 + int ret;
62086 + ret = isblank(ch);
62089 + return 0;
62091 +_ACEOF
62092 +if ac_fn_cxx_try_compile "$LINENO"; then :
62093 + glibcxx_cv_c99_ctype_tr1=yes
62094 +else
62095 + glibcxx_cv_c99_ctype_tr1=no
62097 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62101 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_ctype_tr1" >&5
62102 +$as_echo "$glibcxx_cv_c99_ctype_tr1" >&6; }
62103 + if test x"$glibcxx_cv_c99_ctype_tr1" = x"yes"; then
62105 +$as_echo "#define _GLIBCXX_USE_C99_CTYPE_TR1 1" >>confdefs.h
62107 + fi
62109 + # Check for the existence of <fenv.h> functions.
62110 + for ac_header in fenv.h
62111 +do :
62112 + ac_fn_cxx_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default"
62113 +if test "x$ac_cv_header_fenv_h" = x""yes; then :
62114 + cat >>confdefs.h <<_ACEOF
62115 +#define HAVE_FENV_H 1
62116 +_ACEOF
62117 + ac_has_fenv_h=yes
62118 +else
62119 + ac_has_fenv_h=no
62122 +done
62124 + ac_c99_fenv_tr1=no;
62125 + if test x"$ac_has_fenv_h" = x"yes"; then
62126 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support to TR1 in <fenv.h>" >&5
62127 +$as_echo_n "checking for ISO C99 support to TR1 in <fenv.h>... " >&6; }
62128 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62129 +/* end confdefs.h. */
62130 +#include <fenv.h>
62131 +int
62132 +main ()
62134 +int except, mode;
62135 + fexcept_t* pflag;
62136 + fenv_t* penv;
62137 + int ret;
62138 + ret = feclearexcept(except);
62139 + ret = fegetexceptflag(pflag, except);
62140 + ret = feraiseexcept(except);
62141 + ret = fesetexceptflag(pflag, except);
62142 + ret = fetestexcept(except);
62143 + ret = fegetround();
62144 + ret = fesetround(mode);
62145 + ret = fegetenv(penv);
62146 + ret = feholdexcept(penv);
62147 + ret = fesetenv(penv);
62148 + ret = feupdateenv(penv);
62151 + return 0;
62153 +_ACEOF
62154 +if ac_fn_cxx_try_compile "$LINENO"; then :
62155 + ac_c99_fenv_tr1=yes
62156 +else
62157 + ac_c99_fenv_tr1=no
62159 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62160 + fi
62161 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_c99_fenv_tr1" >&5
62162 +$as_echo "$ac_c99_fenv_tr1" >&6; }
62163 + if test x"$ac_c99_fenv_tr1" = x"yes"; then
62165 +$as_echo "#define _GLIBCXX_USE_C99_FENV_TR1 1" >>confdefs.h
62167 + fi
62169 + # Check for the existence of <stdint.h> types.
62170 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support to TR1 in <stdint.h>" >&5
62171 +$as_echo_n "checking for ISO C99 support to TR1 in <stdint.h>... " >&6; }
62172 + if test "${glibcxx_cv_c99_stdint_tr1+set}" = set; then :
62173 + $as_echo_n "(cached) " >&6
62174 +else
62176 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62177 +/* end confdefs.h. */
62178 +#define __STDC_LIMIT_MACROS
62179 + #define __STDC_CONSTANT_MACROS
62180 + #include <stdint.h>
62181 +int
62182 +main ()
62184 +typedef int8_t my_int8_t;
62185 + my_int8_t i8 = INT8_MIN;
62186 + i8 = INT8_MAX;
62187 + typedef int16_t my_int16_t;
62188 + my_int16_t i16 = INT16_MIN;
62189 + i16 = INT16_MAX;
62190 + typedef int32_t my_int32_t;
62191 + my_int32_t i32 = INT32_MIN;
62192 + i32 = INT32_MAX;
62193 + typedef int64_t my_int64_t;
62194 + my_int64_t i64 = INT64_MIN;
62195 + i64 = INT64_MAX;
62196 + typedef int_fast8_t my_int_fast8_t;
62197 + my_int_fast8_t if8 = INT_FAST8_MIN;
62198 + if8 = INT_FAST8_MAX;
62199 + typedef int_fast16_t my_int_fast16_t;
62200 + my_int_fast16_t if16 = INT_FAST16_MIN;
62201 + if16 = INT_FAST16_MAX;
62202 + typedef int_fast32_t my_int_fast32_t;
62203 + my_int_fast32_t if32 = INT_FAST32_MIN;
62204 + if32 = INT_FAST32_MAX;
62205 + typedef int_fast64_t my_int_fast64_t;
62206 + my_int_fast64_t if64 = INT_FAST64_MIN;
62207 + if64 = INT_FAST64_MAX;
62208 + typedef int_least8_t my_int_least8_t;
62209 + my_int_least8_t il8 = INT_LEAST8_MIN;
62210 + il8 = INT_LEAST8_MAX;
62211 + typedef int_least16_t my_int_least16_t;
62212 + my_int_least16_t il16 = INT_LEAST16_MIN;
62213 + il16 = INT_LEAST16_MAX;
62214 + typedef int_least32_t my_int_least32_t;
62215 + my_int_least32_t il32 = INT_LEAST32_MIN;
62216 + il32 = INT_LEAST32_MAX;
62217 + typedef int_least64_t my_int_least64_t;
62218 + my_int_least64_t il64 = INT_LEAST64_MIN;
62219 + il64 = INT_LEAST64_MAX;
62220 + typedef intmax_t my_intmax_t;
62221 + my_intmax_t im = INTMAX_MAX;
62222 + im = INTMAX_MIN;
62223 + typedef intptr_t my_intptr_t;
62224 + my_intptr_t ip = INTPTR_MAX;
62225 + ip = INTPTR_MIN;
62226 + typedef uint8_t my_uint8_t;
62227 + my_uint8_t ui8 = UINT8_MAX;
62228 + ui8 = UINT8_MAX;
62229 + typedef uint16_t my_uint16_t;
62230 + my_uint16_t ui16 = UINT16_MAX;
62231 + ui16 = UINT16_MAX;
62232 + typedef uint32_t my_uint32_t;
62233 + my_uint32_t ui32 = UINT32_MAX;
62234 + ui32 = UINT32_MAX;
62235 + typedef uint64_t my_uint64_t;
62236 + my_uint64_t ui64 = UINT64_MAX;
62237 + ui64 = UINT64_MAX;
62238 + typedef uint_fast8_t my_uint_fast8_t;
62239 + my_uint_fast8_t uif8 = UINT_FAST8_MAX;
62240 + uif8 = UINT_FAST8_MAX;
62241 + typedef uint_fast16_t my_uint_fast16_t;
62242 + my_uint_fast16_t uif16 = UINT_FAST16_MAX;
62243 + uif16 = UINT_FAST16_MAX;
62244 + typedef uint_fast32_t my_uint_fast32_t;
62245 + my_uint_fast32_t uif32 = UINT_FAST32_MAX;
62246 + uif32 = UINT_FAST32_MAX;
62247 + typedef uint_fast64_t my_uint_fast64_t;
62248 + my_uint_fast64_t uif64 = UINT_FAST64_MAX;
62249 + uif64 = UINT_FAST64_MAX;
62250 + typedef uint_least8_t my_uint_least8_t;
62251 + my_uint_least8_t uil8 = UINT_LEAST8_MAX;
62252 + uil8 = UINT_LEAST8_MAX;
62253 + typedef uint_least16_t my_uint_least16_t;
62254 + my_uint_least16_t uil16 = UINT_LEAST16_MAX;
62255 + uil16 = UINT_LEAST16_MAX;
62256 + typedef uint_least32_t my_uint_least32_t;
62257 + my_uint_least32_t uil32 = UINT_LEAST32_MAX;
62258 + uil32 = UINT_LEAST32_MAX;
62259 + typedef uint_least64_t my_uint_least64_t;
62260 + my_uint_least64_t uil64 = UINT_LEAST64_MAX;
62261 + uil64 = UINT_LEAST64_MAX;
62262 + typedef uintmax_t my_uintmax_t;
62263 + my_uintmax_t uim = UINTMAX_MAX;
62264 + uim = UINTMAX_MAX;
62265 + typedef uintptr_t my_uintptr_t;
62266 + my_uintptr_t uip = UINTPTR_MAX;
62267 + uip = UINTPTR_MAX;
62270 + return 0;
62272 +_ACEOF
62273 +if ac_fn_cxx_try_compile "$LINENO"; then :
62274 + glibcxx_cv_c99_stdint_tr1=yes
62275 +else
62276 + glibcxx_cv_c99_stdint_tr1=no
62278 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62282 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdint_tr1" >&5
62283 +$as_echo "$glibcxx_cv_c99_stdint_tr1" >&6; }
62284 + if test x"$glibcxx_cv_c99_stdint_tr1" = x"yes"; then
62286 +$as_echo "#define _GLIBCXX_USE_C99_STDINT_TR1 1" >>confdefs.h
62288 + fi
62290 + # Check for the existence of <math.h> functions.
62291 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support to TR1 in <math.h>" >&5
62292 +$as_echo_n "checking for ISO C99 support to TR1 in <math.h>... " >&6; }
62293 + if test "${glibcxx_cv_c99_math_tr1+set}" = set; then :
62294 + $as_echo_n "(cached) " >&6
62295 +else
62297 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62298 +/* end confdefs.h. */
62299 +#include <math.h>
62300 +int
62301 +main ()
62303 +typedef double_t my_double_t;
62304 + typedef float_t my_float_t;
62305 + acosh(0.0);
62306 + acoshf(0.0f);
62307 + acoshl(0.0l);
62308 + asinh(0.0);
62309 + asinhf(0.0f);
62310 + asinhl(0.0l);
62311 + atanh(0.0);
62312 + atanhf(0.0f);
62313 + atanhl(0.0l);
62314 + cbrt(0.0);
62315 + cbrtf(0.0f);
62316 + cbrtl(0.0l);
62317 + copysign(0.0, 0.0);
62318 + copysignf(0.0f, 0.0f);
62319 + copysignl(0.0l, 0.0l);
62320 + erf(0.0);
62321 + erff(0.0f);
62322 + erfl(0.0l);
62323 + erfc(0.0);
62324 + erfcf(0.0f);
62325 + erfcl(0.0l);
62326 + exp2(0.0);
62327 + exp2f(0.0f);
62328 + exp2l(0.0l);
62329 + expm1(0.0);
62330 + expm1f(0.0f);
62331 + expm1l(0.0l);
62332 + fdim(0.0, 0.0);
62333 + fdimf(0.0f, 0.0f);
62334 + fdiml(0.0l, 0.0l);
62335 + fma(0.0, 0.0, 0.0);
62336 + fmaf(0.0f, 0.0f, 0.0f);
62337 + fmal(0.0l, 0.0l, 0.0l);
62338 + fmax(0.0, 0.0);
62339 + fmaxf(0.0f, 0.0f);
62340 + fmaxl(0.0l, 0.0l);
62341 + fmin(0.0, 0.0);
62342 + fminf(0.0f, 0.0f);
62343 + fminl(0.0l, 0.0l);
62344 + hypot(0.0, 0.0);
62345 + hypotf(0.0f, 0.0f);
62346 + hypotl(0.0l, 0.0l);
62347 + ilogb(0.0);
62348 + ilogbf(0.0f);
62349 + ilogbl(0.0l);
62350 + lgamma(0.0);
62351 + lgammaf(0.0f);
62352 + lgammal(0.0l);
62353 + llrint(0.0);
62354 + llrintf(0.0f);
62355 + llrintl(0.0l);
62356 + llround(0.0);
62357 + llroundf(0.0f);
62358 + llroundl(0.0l);
62359 + log1p(0.0);
62360 + log1pf(0.0f);
62361 + log1pl(0.0l);
62362 + log2(0.0);
62363 + log2f(0.0f);
62364 + log2l(0.0l);
62365 + logb(0.0);
62366 + logbf(0.0f);
62367 + logbl(0.0l);
62368 + lrint(0.0);
62369 + lrintf(0.0f);
62370 + lrintl(0.0l);
62371 + lround(0.0);
62372 + lroundf(0.0f);
62373 + lroundl(0.0l);
62374 + nan(0);
62375 + nanf(0);
62376 + nanl(0);
62377 + nearbyint(0.0);
62378 + nearbyintf(0.0f);
62379 + nearbyintl(0.0l);
62380 + nextafter(0.0, 0.0);
62381 + nextafterf(0.0f, 0.0f);
62382 + nextafterl(0.0l, 0.0l);
62383 + nexttoward(0.0, 0.0);
62384 + nexttowardf(0.0f, 0.0f);
62385 + nexttowardl(0.0l, 0.0l);
62386 + remainder(0.0, 0.0);
62387 + remainderf(0.0f, 0.0f);
62388 + remainderl(0.0l, 0.0l);
62389 + remquo(0.0, 0.0, 0);
62390 + remquof(0.0f, 0.0f, 0);
62391 + remquol(0.0l, 0.0l, 0);
62392 + rint(0.0);
62393 + rintf(0.0f);
62394 + rintl(0.0l);
62395 + round(0.0);
62396 + roundf(0.0f);
62397 + roundl(0.0l);
62398 + scalbln(0.0, 0l);
62399 + scalblnf(0.0f, 0l);
62400 + scalblnl(0.0l, 0l);
62401 + scalbn(0.0, 0);
62402 + scalbnf(0.0f, 0);
62403 + scalbnl(0.0l, 0);
62404 + tgamma(0.0);
62405 + tgammaf(0.0f);
62406 + tgammal(0.0l);
62407 + trunc(0.0);
62408 + truncf(0.0f);
62409 + truncl(0.0l);
62412 + return 0;
62414 +_ACEOF
62415 +if ac_fn_cxx_try_compile "$LINENO"; then :
62416 + glibcxx_cv_c99_math_tr1=yes
62417 +else
62418 + glibcxx_cv_c99_math_tr1=no
62420 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62424 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_math_tr1" >&5
62425 +$as_echo "$glibcxx_cv_c99_math_tr1" >&6; }
62426 + if test x"$glibcxx_cv_c99_math_tr1" = x"yes"; then
62428 +$as_echo "#define _GLIBCXX_USE_C99_MATH_TR1 1" >>confdefs.h
62430 + fi
62432 + # Check for the existence of <inttypes.h> functions (NB: doesn't make
62433 + # sense if the glibcxx_cv_c99_stdint_tr1 check fails, per C99, 7.8/1).
62434 + ac_c99_inttypes_tr1=no;
62435 + if test x"$glibcxx_cv_c99_stdint_tr1" = x"yes"; then
62436 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support to TR1 in <inttypes.h>" >&5
62437 +$as_echo_n "checking for ISO C99 support to TR1 in <inttypes.h>... " >&6; }
62438 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62439 +/* end confdefs.h. */
62440 +#include <inttypes.h>
62441 +int
62442 +main ()
62444 +intmax_t i, numer, denom, base;
62445 + const char* s;
62446 + char** endptr;
62447 + intmax_t ret = imaxabs(i);
62448 + imaxdiv_t dret = imaxdiv(numer, denom);
62449 + ret = strtoimax(s, endptr, base);
62450 + uintmax_t uret = strtoumax(s, endptr, base);
62453 + return 0;
62455 +_ACEOF
62456 +if ac_fn_cxx_try_compile "$LINENO"; then :
62457 + ac_c99_inttypes_tr1=yes
62458 +else
62459 + ac_c99_inttypes_tr1=no
62461 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62462 + fi
62463 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_c99_inttypes_tr1" >&5
62464 +$as_echo "$ac_c99_inttypes_tr1" >&6; }
62465 + if test x"$ac_c99_inttypes_tr1" = x"yes"; then
62467 +$as_echo "#define _GLIBCXX_USE_C99_INTTYPES_TR1 1" >>confdefs.h
62469 + fi
62471 + # Check for the existence of wchar_t <inttypes.h> functions (NB: doesn't
62472 + # make sense if the glibcxx_cv_c99_stdint_tr1 check fails, per C99, 7.8/1).
62473 + ac_c99_inttypes_wchar_t_tr1=no;
62474 + if test x"$glibcxx_cv_c99_stdint_tr1" = x"yes"; then
62475 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t ISO C99 support to TR1 in <inttypes.h>" >&5
62476 +$as_echo_n "checking for wchar_t ISO C99 support to TR1 in <inttypes.h>... " >&6; }
62477 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62478 +/* end confdefs.h. */
62479 +#include <inttypes.h>
62480 +int
62481 +main ()
62483 +intmax_t base;
62484 + const wchar_t* s;
62485 + wchar_t** endptr;
62486 + intmax_t ret = wcstoimax(s, endptr, base);
62487 + uintmax_t uret = wcstoumax(s, endptr, base);
62490 + return 0;
62492 +_ACEOF
62493 +if ac_fn_cxx_try_compile "$LINENO"; then :
62494 + ac_c99_inttypes_wchar_t_tr1=yes
62495 +else
62496 + ac_c99_inttypes_wchar_t_tr1=no
62498 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62499 + fi
62500 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_c99_inttypes_wchar_t_tr1" >&5
62501 +$as_echo "$ac_c99_inttypes_wchar_t_tr1" >&6; }
62502 + if test x"$ac_c99_inttypes_wchar_t_tr1" = x"yes"; then
62504 +$as_echo "#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1" >>confdefs.h
62506 + fi
62508 + # Check for the existence of the <stdbool.h> header.
62509 + for ac_header in stdbool.h
62510 +do :
62511 + ac_fn_cxx_check_header_mongrel "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default"
62512 +if test "x$ac_cv_header_stdbool_h" = x""yes; then :
62513 + cat >>confdefs.h <<_ACEOF
62514 +#define HAVE_STDBOOL_H 1
62515 +_ACEOF
62519 +done
62522 + # Check for the existence of the <stdalign.h> header.
62523 + for ac_header in stdalign.h
62524 +do :
62525 + ac_fn_cxx_check_header_mongrel "$LINENO" "stdalign.h" "ac_cv_header_stdalign_h" "$ac_includes_default"
62526 +if test "x$ac_cv_header_stdalign_h" = x""yes; then :
62527 + cat >>confdefs.h <<_ACEOF
62528 +#define HAVE_STDALIGN_H 1
62529 +_ACEOF
62533 +done
62536 + CXXFLAGS="$ac_save_CXXFLAGS"
62537 + ac_ext=c
62538 +ac_cpp='$CPP $CPPFLAGS'
62539 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
62540 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
62541 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
62545 +# For the EOF, SEEK_CUR, and SEEK_END integer constants.
62548 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the value of EOF" >&5
62549 +$as_echo_n "checking for the value of EOF... " >&6; }
62550 +if test "${glibcxx_cv_stdio_eof+set}" = set; then :
62551 + $as_echo_n "(cached) " >&6
62552 +else
62554 + if ac_fn_c_compute_int "$LINENO" "EOF" "glibcxx_cv_stdio_eof" "#include <stdio.h>"; then :
62556 +else
62557 + as_fn_error "computing EOF failed" "$LINENO" 5
62562 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_stdio_eof" >&5
62563 +$as_echo "$glibcxx_cv_stdio_eof" >&6; }
62565 +cat >>confdefs.h <<_ACEOF
62566 +#define _GLIBCXX_STDIO_EOF $glibcxx_cv_stdio_eof
62567 +_ACEOF
62570 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the value of SEEK_CUR" >&5
62571 +$as_echo_n "checking for the value of SEEK_CUR... " >&6; }
62572 +if test "${glibcxx_cv_stdio_seek_cur+set}" = set; then :
62573 + $as_echo_n "(cached) " >&6
62574 +else
62576 + if ac_fn_c_compute_int "$LINENO" "SEEK_CUR" "glibcxx_cv_stdio_seek_cur" "#include <stdio.h>"; then :
62578 +else
62579 + as_fn_error "computing SEEK_CUR failed" "$LINENO" 5
62584 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_stdio_seek_cur" >&5
62585 +$as_echo "$glibcxx_cv_stdio_seek_cur" >&6; }
62587 +cat >>confdefs.h <<_ACEOF
62588 +#define _GLIBCXX_STDIO_SEEK_CUR $glibcxx_cv_stdio_seek_cur
62589 +_ACEOF
62592 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the value of SEEK_END" >&5
62593 +$as_echo_n "checking for the value of SEEK_END... " >&6; }
62594 +if test "${glibcxx_cv_stdio_seek_end+set}" = set; then :
62595 + $as_echo_n "(cached) " >&6
62596 +else
62598 + if ac_fn_c_compute_int "$LINENO" "SEEK_END" "glibcxx_cv_stdio_seek_end" "#include <stdio.h>"; then :
62600 +else
62601 + as_fn_error "computing SEEK_END failed" "$LINENO" 5
62606 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_stdio_seek_end" >&5
62607 +$as_echo "$glibcxx_cv_stdio_seek_end" >&6; }
62609 +cat >>confdefs.h <<_ACEOF
62610 +#define _GLIBCXX_STDIO_SEEK_END $glibcxx_cv_stdio_seek_end
62611 +_ACEOF
62615 +# For gettimeofday support.
62618 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday" >&5
62619 +$as_echo_n "checking for gettimeofday... " >&6; }
62622 + ac_ext=cpp
62623 +ac_cpp='$CXXCPP $CPPFLAGS'
62624 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
62625 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
62626 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
62628 + ac_save_CXXFLAGS="$CXXFLAGS"
62629 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
62631 + ac_has_gettimeofday=no;
62632 + for ac_header in sys/time.h
62633 +do :
62634 + ac_fn_cxx_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
62635 +if test "x$ac_cv_header_sys_time_h" = x""yes; then :
62636 + cat >>confdefs.h <<_ACEOF
62637 +#define HAVE_SYS_TIME_H 1
62638 +_ACEOF
62639 + ac_has_sys_time_h=yes
62640 +else
62641 + ac_has_sys_time_h=no
62644 +done
62646 + if test x"$ac_has_sys_time_h" = x"yes"; then
62647 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday" >&5
62648 +$as_echo_n "checking for gettimeofday... " >&6; }
62649 + if test x$gcc_no_link = xyes; then
62650 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62651 +/* end confdefs.h. */
62652 +#include <sys/time.h>
62653 +int
62654 +main ()
62656 +timeval tv; gettimeofday(&tv, 0);
62658 + return 0;
62660 +_ACEOF
62661 +if ac_fn_cxx_try_compile "$LINENO"; then :
62662 + ac_has_gettimeofday=yes
62663 +else
62664 + ac_has_gettimeofday=no
62666 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62667 +else
62668 + if test x$gcc_no_link = xyes; then
62669 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
62671 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62672 +/* end confdefs.h. */
62673 +#include <sys/time.h>
62674 +int
62675 +main ()
62677 +timeval tv; gettimeofday(&tv, 0);
62679 + return 0;
62681 +_ACEOF
62682 +if ac_fn_cxx_try_link "$LINENO"; then :
62683 + ac_has_gettimeofday=yes
62684 +else
62685 + ac_has_gettimeofday=no
62687 +rm -f core conftest.err conftest.$ac_objext \
62688 + conftest$ac_exeext conftest.$ac_ext
62691 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_gettimeofday" >&5
62692 +$as_echo "$ac_has_gettimeofday" >&6; }
62693 + fi
62695 + if test x"$ac_has_gettimeofday" = x"yes"; then
62697 +$as_echo "#define _GLIBCXX_USE_GETTIMEOFDAY 1" >>confdefs.h
62699 + fi
62701 + CXXFLAGS="$ac_save_CXXFLAGS"
62702 + ac_ext=c
62703 +ac_cpp='$CPP $CPPFLAGS'
62704 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
62705 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
62706 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
62710 +# For clock_gettime, nanosleep and sched_yield support.
62713 + # Check whether --enable-libstdcxx-time was given.
62714 +if test "${enable_libstdcxx_time+set}" = set; then :
62715 + enableval=$enable_libstdcxx_time;
62716 + case "$enableval" in
62717 + yes|no|rt) ;;
62718 + *) as_fn_error "Unknown argument to enable/disable libstdcxx-time" "$LINENO" 5 ;;
62719 + esac
62721 +else
62722 + enable_libstdcxx_time=auto
62728 + ac_ext=cpp
62729 +ac_cpp='$CXXCPP $CPPFLAGS'
62730 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
62731 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
62732 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
62734 + ac_save_CXXFLAGS="$CXXFLAGS"
62735 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
62736 + ac_save_LIBS="$LIBS"
62738 + ac_has_clock_monotonic=no
62739 + ac_has_clock_realtime=no
62740 + ac_has_nanosleep=no
62741 + ac_has_sched_yield=no
62743 + if test x"$enable_libstdcxx_time" = x"auto"; then
62745 + case "${target_os}" in
62746 + cygwin*)
62747 + ac_has_nanosleep=yes
62748 + ;;
62749 + darwin*)
62750 + ac_has_nanosleep=yes
62751 + ac_has_sched_yield=yes
62752 + ;;
62753 + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
62754 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at least GNU libc 2.17" >&5
62755 +$as_echo_n "checking for at least GNU libc 2.17... " >&6; }
62756 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62757 +/* end confdefs.h. */
62758 +#include <features.h>
62759 +int
62760 +main ()
62763 + #if ! __GLIBC_PREREQ(2, 17)
62764 + #error
62765 + #endif
62768 + return 0;
62770 +_ACEOF
62771 +if ac_fn_cxx_try_compile "$LINENO"; then :
62772 + glibcxx_glibc217=yes
62773 +else
62774 + glibcxx_glibc217=no
62776 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
62777 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_glibc217" >&5
62778 +$as_echo "$glibcxx_glibc217" >&6; }
62780 + if test x"$glibcxx_glibc217" = x"yes"; then
62781 + ac_has_clock_monotonic=yes
62782 + ac_has_clock_realtime=yes
62783 + fi
62784 + ac_has_nanosleep=yes
62785 + ac_has_sched_yield=yes
62786 + ;;
62787 + freebsd*|netbsd*)
62788 + ac_has_clock_monotonic=yes
62789 + ac_has_clock_realtime=yes
62790 + ac_has_nanosleep=yes
62791 + ac_has_sched_yield=yes
62792 + ;;
62793 + openbsd*)
62794 + ac_has_clock_monotonic=yes
62795 + ac_has_clock_realtime=yes
62796 + ac_has_nanosleep=yes
62797 + ;;
62798 + solaris*)
62799 + GLIBCXX_LIBS="$GLIBCXX_LIBS -lrt"
62800 + ac_has_clock_monotonic=yes
62801 + ac_has_clock_realtime=yes
62802 + ac_has_nanosleep=yes
62803 + ac_has_sched_yield=yes
62804 + ;;
62805 + esac
62807 + elif test x"$enable_libstdcxx_time" != x"no"; then
62809 + if test x"$enable_libstdcxx_time" = x"rt"; then
62810 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
62811 +$as_echo_n "checking for library containing clock_gettime... " >&6; }
62812 +if test "${ac_cv_search_clock_gettime+set}" = set; then :
62813 + $as_echo_n "(cached) " >&6
62814 +else
62815 + ac_func_search_save_LIBS=$LIBS
62816 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62817 +/* end confdefs.h. */
62819 +/* Override any GCC internal prototype to avoid an error.
62820 + Use char because int might match the return type of a GCC
62821 + builtin and then its argument prototype would still apply. */
62822 +#ifdef __cplusplus
62823 +extern "C"
62824 +#endif
62825 +char clock_gettime ();
62826 +int
62827 +main ()
62829 +return clock_gettime ();
62831 + return 0;
62833 +_ACEOF
62834 +for ac_lib in '' rt posix4; do
62835 + if test -z "$ac_lib"; then
62836 + ac_res="none required"
62837 + else
62838 + ac_res=-l$ac_lib
62839 + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
62840 + fi
62841 + if test x$gcc_no_link = xyes; then
62842 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
62844 +if ac_fn_cxx_try_link "$LINENO"; then :
62845 + ac_cv_search_clock_gettime=$ac_res
62847 +rm -f core conftest.err conftest.$ac_objext \
62848 + conftest$ac_exeext
62849 + if test "${ac_cv_search_clock_gettime+set}" = set; then :
62850 + break
62852 +done
62853 +if test "${ac_cv_search_clock_gettime+set}" = set; then :
62855 +else
62856 + ac_cv_search_clock_gettime=no
62858 +rm conftest.$ac_ext
62859 +LIBS=$ac_func_search_save_LIBS
62861 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
62862 +$as_echo "$ac_cv_search_clock_gettime" >&6; }
62863 +ac_res=$ac_cv_search_clock_gettime
62864 +if test "$ac_res" != no; then :
62865 + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
62869 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
62870 +$as_echo_n "checking for library containing nanosleep... " >&6; }
62871 +if test "${ac_cv_search_nanosleep+set}" = set; then :
62872 + $as_echo_n "(cached) " >&6
62873 +else
62874 + ac_func_search_save_LIBS=$LIBS
62875 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62876 +/* end confdefs.h. */
62878 +/* Override any GCC internal prototype to avoid an error.
62879 + Use char because int might match the return type of a GCC
62880 + builtin and then its argument prototype would still apply. */
62881 +#ifdef __cplusplus
62882 +extern "C"
62883 +#endif
62884 +char nanosleep ();
62885 +int
62886 +main ()
62888 +return nanosleep ();
62890 + return 0;
62892 +_ACEOF
62893 +for ac_lib in '' rt posix4; do
62894 + if test -z "$ac_lib"; then
62895 + ac_res="none required"
62896 + else
62897 + ac_res=-l$ac_lib
62898 + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
62899 + fi
62900 + if test x$gcc_no_link = xyes; then
62901 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
62903 +if ac_fn_cxx_try_link "$LINENO"; then :
62904 + ac_cv_search_nanosleep=$ac_res
62906 +rm -f core conftest.err conftest.$ac_objext \
62907 + conftest$ac_exeext
62908 + if test "${ac_cv_search_nanosleep+set}" = set; then :
62909 + break
62911 +done
62912 +if test "${ac_cv_search_nanosleep+set}" = set; then :
62914 +else
62915 + ac_cv_search_nanosleep=no
62917 +rm conftest.$ac_ext
62918 +LIBS=$ac_func_search_save_LIBS
62920 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
62921 +$as_echo "$ac_cv_search_nanosleep" >&6; }
62922 +ac_res=$ac_cv_search_nanosleep
62923 +if test "$ac_res" != no; then :
62924 + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
62928 + else
62929 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
62930 +$as_echo_n "checking for library containing clock_gettime... " >&6; }
62931 +if test "${ac_cv_search_clock_gettime+set}" = set; then :
62932 + $as_echo_n "(cached) " >&6
62933 +else
62934 + ac_func_search_save_LIBS=$LIBS
62935 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62936 +/* end confdefs.h. */
62938 +/* Override any GCC internal prototype to avoid an error.
62939 + Use char because int might match the return type of a GCC
62940 + builtin and then its argument prototype would still apply. */
62941 +#ifdef __cplusplus
62942 +extern "C"
62943 +#endif
62944 +char clock_gettime ();
62945 +int
62946 +main ()
62948 +return clock_gettime ();
62950 + return 0;
62952 +_ACEOF
62953 +for ac_lib in '' posix4; do
62954 + if test -z "$ac_lib"; then
62955 + ac_res="none required"
62956 + else
62957 + ac_res=-l$ac_lib
62958 + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
62959 + fi
62960 + if test x$gcc_no_link = xyes; then
62961 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
62963 +if ac_fn_cxx_try_link "$LINENO"; then :
62964 + ac_cv_search_clock_gettime=$ac_res
62966 +rm -f core conftest.err conftest.$ac_objext \
62967 + conftest$ac_exeext
62968 + if test "${ac_cv_search_clock_gettime+set}" = set; then :
62969 + break
62971 +done
62972 +if test "${ac_cv_search_clock_gettime+set}" = set; then :
62974 +else
62975 + ac_cv_search_clock_gettime=no
62977 +rm conftest.$ac_ext
62978 +LIBS=$ac_func_search_save_LIBS
62980 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
62981 +$as_echo "$ac_cv_search_clock_gettime" >&6; }
62982 +ac_res=$ac_cv_search_clock_gettime
62983 +if test "$ac_res" != no; then :
62984 + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
62988 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
62989 +$as_echo_n "checking for library containing nanosleep... " >&6; }
62990 +if test "${ac_cv_search_nanosleep+set}" = set; then :
62991 + $as_echo_n "(cached) " >&6
62992 +else
62993 + ac_func_search_save_LIBS=$LIBS
62994 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
62995 +/* end confdefs.h. */
62997 +/* Override any GCC internal prototype to avoid an error.
62998 + Use char because int might match the return type of a GCC
62999 + builtin and then its argument prototype would still apply. */
63000 +#ifdef __cplusplus
63001 +extern "C"
63002 +#endif
63003 +char nanosleep ();
63004 +int
63005 +main ()
63007 +return nanosleep ();
63009 + return 0;
63011 +_ACEOF
63012 +for ac_lib in '' posix4; do
63013 + if test -z "$ac_lib"; then
63014 + ac_res="none required"
63015 + else
63016 + ac_res=-l$ac_lib
63017 + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
63018 + fi
63019 + if test x$gcc_no_link = xyes; then
63020 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63022 +if ac_fn_cxx_try_link "$LINENO"; then :
63023 + ac_cv_search_nanosleep=$ac_res
63025 +rm -f core conftest.err conftest.$ac_objext \
63026 + conftest$ac_exeext
63027 + if test "${ac_cv_search_nanosleep+set}" = set; then :
63028 + break
63030 +done
63031 +if test "${ac_cv_search_nanosleep+set}" = set; then :
63033 +else
63034 + ac_cv_search_nanosleep=no
63036 +rm conftest.$ac_ext
63037 +LIBS=$ac_func_search_save_LIBS
63039 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
63040 +$as_echo "$ac_cv_search_nanosleep" >&6; }
63041 +ac_res=$ac_cv_search_nanosleep
63042 +if test "$ac_res" != no; then :
63043 + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
63047 + fi
63049 + case "$ac_cv_search_clock_gettime" in
63050 + -l*) GLIBCXX_LIBS=$ac_cv_search_clock_gettime
63051 + ;;
63052 + esac
63053 + case "$ac_cv_search_nanosleep" in
63054 + -l*) GLIBCXX_LIBS="$GLIBCXX_LIBS $ac_cv_search_nanosleep"
63055 + ;;
63056 + esac
63058 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
63059 +$as_echo_n "checking for library containing sched_yield... " >&6; }
63060 +if test "${ac_cv_search_sched_yield+set}" = set; then :
63061 + $as_echo_n "(cached) " >&6
63062 +else
63063 + ac_func_search_save_LIBS=$LIBS
63064 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63065 +/* end confdefs.h. */
63067 +/* Override any GCC internal prototype to avoid an error.
63068 + Use char because int might match the return type of a GCC
63069 + builtin and then its argument prototype would still apply. */
63070 +#ifdef __cplusplus
63071 +extern "C"
63072 +#endif
63073 +char sched_yield ();
63074 +int
63075 +main ()
63077 +return sched_yield ();
63079 + return 0;
63081 +_ACEOF
63082 +for ac_lib in '' rt posix4; do
63083 + if test -z "$ac_lib"; then
63084 + ac_res="none required"
63085 + else
63086 + ac_res=-l$ac_lib
63087 + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
63088 + fi
63089 + if test x$gcc_no_link = xyes; then
63090 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63092 +if ac_fn_cxx_try_link "$LINENO"; then :
63093 + ac_cv_search_sched_yield=$ac_res
63095 +rm -f core conftest.err conftest.$ac_objext \
63096 + conftest$ac_exeext
63097 + if test "${ac_cv_search_sched_yield+set}" = set; then :
63098 + break
63100 +done
63101 +if test "${ac_cv_search_sched_yield+set}" = set; then :
63103 +else
63104 + ac_cv_search_sched_yield=no
63106 +rm conftest.$ac_ext
63107 +LIBS=$ac_func_search_save_LIBS
63109 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sched_yield" >&5
63110 +$as_echo "$ac_cv_search_sched_yield" >&6; }
63111 +ac_res=$ac_cv_search_sched_yield
63112 +if test "$ac_res" != no; then :
63113 + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
63118 + case "$ac_cv_search_sched_yield" in
63119 + -lposix4*)
63120 + GLIBCXX_LIBS="$GLIBCXX_LIBS $ac_cv_search_sched_yield"
63121 + ac_has_sched_yield=yes
63122 + ;;
63123 + -lrt*)
63124 + if test x"$enable_libstdcxx_time" = x"rt"; then
63125 + GLIBCXX_LIBS="$GLIBCXX_LIBS $ac_cv_search_sched_yield"
63126 + ac_has_sched_yield=yes
63127 + fi
63128 + ;;
63129 + *)
63130 + ac_has_sched_yield=yes
63131 + ;;
63132 + esac
63134 + for ac_header in unistd.h
63135 +do :
63136 + ac_fn_cxx_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
63137 +if test "x$ac_cv_header_unistd_h" = x""yes; then :
63138 + cat >>confdefs.h <<_ACEOF
63139 +#define HAVE_UNISTD_H 1
63140 +_ACEOF
63141 + ac_has_unistd_h=yes
63142 +else
63143 + ac_has_unistd_h=no
63146 +done
63149 + if test x"$ac_has_unistd_h" = x"yes"; then
63150 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for monotonic clock" >&5
63151 +$as_echo_n "checking for monotonic clock... " >&6; }
63152 + if test x$gcc_no_link = xyes; then
63153 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63155 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63156 +/* end confdefs.h. */
63157 +#include <unistd.h>
63158 + #include <time.h>
63160 +int
63161 +main ()
63163 +#if _POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)
63164 + timespec tp;
63165 + #endif
63166 + clock_gettime(CLOCK_MONOTONIC, &tp);
63169 + return 0;
63171 +_ACEOF
63172 +if ac_fn_cxx_try_link "$LINENO"; then :
63173 + ac_has_clock_monotonic=yes
63174 +else
63175 + ac_has_clock_monotonic=no
63177 +rm -f core conftest.err conftest.$ac_objext \
63178 + conftest$ac_exeext conftest.$ac_ext
63180 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_clock_monotonic" >&5
63181 +$as_echo "$ac_has_clock_monotonic" >&6; }
63183 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for realtime clock" >&5
63184 +$as_echo_n "checking for realtime clock... " >&6; }
63185 + if test x$gcc_no_link = xyes; then
63186 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63188 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63189 +/* end confdefs.h. */
63190 +#include <unistd.h>
63191 + #include <time.h>
63193 +int
63194 +main ()
63196 +#if _POSIX_TIMERS > 0
63197 + timespec tp;
63198 + #endif
63199 + clock_gettime(CLOCK_REALTIME, &tp);
63202 + return 0;
63204 +_ACEOF
63205 +if ac_fn_cxx_try_link "$LINENO"; then :
63206 + ac_has_clock_realtime=yes
63207 +else
63208 + ac_has_clock_realtime=no
63210 +rm -f core conftest.err conftest.$ac_objext \
63211 + conftest$ac_exeext conftest.$ac_ext
63213 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_clock_realtime" >&5
63214 +$as_echo "$ac_has_clock_realtime" >&6; }
63216 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanosleep" >&5
63217 +$as_echo_n "checking for nanosleep... " >&6; }
63218 + if test x$gcc_no_link = xyes; then
63219 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63221 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63222 +/* end confdefs.h. */
63223 +#include <unistd.h>
63224 + #include <time.h>
63226 +int
63227 +main ()
63229 +#if _POSIX_TIMERS > 0
63230 + timespec tp;
63231 + #endif
63232 + nanosleep(&tp, 0);
63235 + return 0;
63237 +_ACEOF
63238 +if ac_fn_cxx_try_link "$LINENO"; then :
63239 + ac_has_nanosleep=yes
63240 +else
63241 + ac_has_nanosleep=no
63243 +rm -f core conftest.err conftest.$ac_objext \
63244 + conftest$ac_exeext conftest.$ac_ext
63246 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_nanosleep" >&5
63247 +$as_echo "$ac_has_nanosleep" >&6; }
63248 + fi
63249 + fi
63251 + if test x"$ac_has_clock_monotonic" != x"yes"; then
63252 + case ${target_os} in
63253 + linux*)
63254 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5
63255 +$as_echo_n "checking for clock_gettime syscall... " >&6; }
63256 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63257 +/* end confdefs.h. */
63258 +#include <unistd.h>
63259 + #include <time.h>
63260 + #include <sys/syscall.h>
63262 +int
63263 +main ()
63265 +#if _POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)
63266 + timespec tp;
63267 + #endif
63268 + syscall(SYS_clock_gettime, CLOCK_MONOTONIC, &tp);
63269 + syscall(SYS_clock_gettime, CLOCK_REALTIME, &tp);
63272 + return 0;
63274 +_ACEOF
63275 +if ac_fn_cxx_try_compile "$LINENO"; then :
63276 + ac_has_clock_monotonic_syscall=yes
63277 +else
63278 + ac_has_clock_monotonic_syscall=no
63280 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63281 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_clock_monotonic_syscall" >&5
63282 +$as_echo "$ac_has_clock_monotonic_syscall" >&6; }
63283 + if test x"$ac_has_clock_monotonic_syscall" = x"yes"; then
63285 +$as_echo "#define _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL 1" >>confdefs.h
63287 + ac_has_clock_monotonic=yes
63288 + ac_has_clock_realtime=yes
63289 + fi;;
63290 + esac
63291 + fi
63293 + if test x"$ac_has_clock_monotonic" = x"yes"; then
63295 +$as_echo "#define _GLIBCXX_USE_CLOCK_MONOTONIC 1" >>confdefs.h
63297 + fi
63299 + if test x"$ac_has_clock_realtime" = x"yes"; then
63301 +$as_echo "#define _GLIBCXX_USE_CLOCK_REALTIME 1" >>confdefs.h
63303 + fi
63305 + if test x"$ac_has_sched_yield" = x"yes"; then
63307 +$as_echo "#define _GLIBCXX_USE_SCHED_YIELD 1" >>confdefs.h
63309 + fi
63311 + if test x"$ac_has_nanosleep" = x"yes"; then
63313 +$as_echo "#define _GLIBCXX_USE_NANOSLEEP 1" >>confdefs.h
63315 + else
63316 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sleep" >&5
63317 +$as_echo_n "checking for sleep... " >&6; }
63318 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63319 +/* end confdefs.h. */
63320 +#include <unistd.h>
63321 +int
63322 +main ()
63324 +sleep(1)
63326 + return 0;
63328 +_ACEOF
63329 +if ac_fn_cxx_try_compile "$LINENO"; then :
63330 + ac_has_sleep=yes
63331 +else
63332 + ac_has_sleep=no
63334 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63335 + if test x"$ac_has_sleep" = x"yes"; then
63337 +$as_echo "#define HAVE_SLEEP 1" >>confdefs.h
63339 + fi
63340 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_sleep" >&5
63341 +$as_echo "$ac_has_sleep" >&6; }
63342 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usleep" >&5
63343 +$as_echo_n "checking for usleep... " >&6; }
63344 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63345 +/* end confdefs.h. */
63346 +#include <unistd.h>
63347 +int
63348 +main ()
63350 +sleep(1);
63351 + usleep(100);
63353 + return 0;
63355 +_ACEOF
63356 +if ac_fn_cxx_try_compile "$LINENO"; then :
63357 + ac_has_usleep=yes
63358 +else
63359 + ac_has_usleep=no
63361 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63362 + if test x"$ac_has_usleep" = x"yes"; then
63364 +$as_echo "#define HAVE_USLEEP 1" >>confdefs.h
63366 + fi
63367 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_usleep" >&5
63368 +$as_echo "$ac_has_usleep" >&6; }
63369 + fi
63371 + if test x"$ac_has_nanosleep$ac_has_sleep" = x"nono"; then
63372 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Sleep" >&5
63373 +$as_echo_n "checking for Sleep... " >&6; }
63374 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63375 +/* end confdefs.h. */
63376 +#include <windows.h>
63377 +int
63378 +main ()
63380 +Sleep(1)
63382 + return 0;
63384 +_ACEOF
63385 +if ac_fn_cxx_try_compile "$LINENO"; then :
63386 + ac_has_win32_sleep=yes
63387 +else
63388 + ac_has_win32_sleep=no
63390 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63391 + if test x"$ac_has_win32_sleep" = x"yes"; then
63393 +$as_echo "#define HAVE_WIN32_SLEEP 1" >>confdefs.h
63395 + fi
63396 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_win32_sleep" >&5
63397 +$as_echo "$ac_has_win32_sleep" >&6; }
63398 + fi
63402 + CXXFLAGS="$ac_save_CXXFLAGS"
63403 + LIBS="$ac_save_LIBS"
63404 + ac_ext=c
63405 +ac_cpp='$CPP $CPPFLAGS'
63406 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63407 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63408 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63412 +# Check for tmpnam which is obsolescent in POSIX.1-2008
63414 + ac_ext=cpp
63415 +ac_cpp='$CXXCPP $CPPFLAGS'
63416 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63417 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63418 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
63420 + ac_save_CXXFLAGS="$CXXFLAGS"
63421 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
63422 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tmpnam" >&5
63423 +$as_echo_n "checking for tmpnam... " >&6; }
63424 + if test "${glibcxx_cv_TMPNAM+set}" = set; then :
63425 + $as_echo_n "(cached) " >&6
63426 +else
63427 + if test x$gcc_no_link = xyes; then
63428 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63429 +/* end confdefs.h. */
63430 +#include <stdio.h>
63431 +int
63432 +main ()
63434 +char *tmp = tmpnam(NULL);
63436 + return 0;
63438 +_ACEOF
63439 +if ac_fn_cxx_try_compile "$LINENO"; then :
63440 + glibcxx_cv_TMPNAM=yes
63441 +else
63442 + glibcxx_cv_TMPNAM=no
63444 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63445 +else
63446 + if test x$gcc_no_link = xyes; then
63447 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63449 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63450 +/* end confdefs.h. */
63451 +#include <stdio.h>
63452 +int
63453 +main ()
63455 +char *tmp = tmpnam(NULL);
63457 + return 0;
63459 +_ACEOF
63460 +if ac_fn_cxx_try_link "$LINENO"; then :
63461 + glibcxx_cv_TMPNAM=yes
63462 +else
63463 + glibcxx_cv_TMPNAM=no
63465 +rm -f core conftest.err conftest.$ac_objext \
63466 + conftest$ac_exeext conftest.$ac_ext
63471 + if test $glibcxx_cv_TMPNAM = yes; then
63473 +$as_echo "#define _GLIBCXX_USE_TMPNAM 1" >>confdefs.h
63475 + fi
63476 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_TMPNAM" >&5
63477 +$as_echo "$glibcxx_cv_TMPNAM" >&6; }
63478 + CXXFLAGS="$ac_save_CXXFLAGS"
63479 + ac_ext=c
63480 +ac_cpp='$CPP $CPPFLAGS'
63481 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63482 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63483 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63488 + ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
63489 +if test "x$ac_cv_header_locale_h" = x""yes; then :
63491 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
63492 +$as_echo_n "checking for LC_MESSAGES... " >&6; }
63493 +if test "${ac_cv_val_LC_MESSAGES+set}" = set; then :
63494 + $as_echo_n "(cached) " >&6
63495 +else
63496 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63497 +/* end confdefs.h. */
63498 +#include <locale.h>
63499 +int
63500 +main ()
63502 +return LC_MESSAGES
63504 + return 0;
63506 +_ACEOF
63507 +if ac_fn_c_try_compile "$LINENO"; then :
63508 + ac_cv_val_LC_MESSAGES=yes
63509 +else
63510 + ac_cv_val_LC_MESSAGES=no
63512 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63514 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_val_LC_MESSAGES" >&5
63515 +$as_echo "$ac_cv_val_LC_MESSAGES" >&6; }
63516 + if test $ac_cv_val_LC_MESSAGES = yes; then
63518 +$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
63520 + fi
63527 +# For hardware_concurrency
63528 +for ac_header in sys/sysinfo.h
63529 +do :
63530 + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysinfo.h" "ac_cv_header_sys_sysinfo_h" "$ac_includes_default"
63531 +if test "x$ac_cv_header_sys_sysinfo_h" = x""yes; then :
63532 + cat >>confdefs.h <<_ACEOF
63533 +#define HAVE_SYS_SYSINFO_H 1
63534 +_ACEOF
63538 +done
63543 + ac_ext=cpp
63544 +ac_cpp='$CXXCPP $CPPFLAGS'
63545 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63546 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63547 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
63549 + ac_save_CXXFLAGS="$CXXFLAGS"
63550 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
63552 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_nprocs" >&5
63553 +$as_echo_n "checking for get_nprocs... " >&6; }
63554 + if test "${glibcxx_cv_GET_NPROCS+set}" = set; then :
63555 + $as_echo_n "(cached) " >&6
63556 +else
63558 + if test x$gcc_no_link = xyes; then
63559 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63560 +/* end confdefs.h. */
63561 +#include <sys/sysinfo.h>
63562 +int
63563 +main ()
63565 +int n = get_nprocs();
63567 + return 0;
63569 +_ACEOF
63570 +if ac_fn_cxx_try_compile "$LINENO"; then :
63571 + glibcxx_cv_GET_NPROCS=yes
63572 +else
63573 + glibcxx_cv_GET_NPROCS=no
63575 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63576 +else
63577 + if test x$gcc_no_link = xyes; then
63578 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63580 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63581 +/* end confdefs.h. */
63582 +#include <sys/sysinfo.h>
63583 +int
63584 +main ()
63586 +int n = get_nprocs();
63588 + return 0;
63590 +_ACEOF
63591 +if ac_fn_cxx_try_link "$LINENO"; then :
63592 + glibcxx_cv_GET_NPROCS=yes
63593 +else
63594 + glibcxx_cv_GET_NPROCS=no
63596 +rm -f core conftest.err conftest.$ac_objext \
63597 + conftest$ac_exeext conftest.$ac_ext
63602 + if test $glibcxx_cv_GET_NPROCS = yes; then
63604 +$as_echo "#define _GLIBCXX_USE_GET_NPROCS 1" >>confdefs.h
63606 + fi
63607 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_GET_NPROCS" >&5
63608 +$as_echo "$glibcxx_cv_GET_NPROCS" >&6; }
63610 + CXXFLAGS="$ac_save_CXXFLAGS"
63611 + ac_ext=c
63612 +ac_cpp='$CPP $CPPFLAGS'
63613 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63614 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63615 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63618 +for ac_header in unistd.h
63619 +do :
63620 + ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
63621 +if test "x$ac_cv_header_unistd_h" = x""yes; then :
63622 + cat >>confdefs.h <<_ACEOF
63623 +#define HAVE_UNISTD_H 1
63624 +_ACEOF
63628 +done
63633 + ac_ext=cpp
63634 +ac_cpp='$CXXCPP $CPPFLAGS'
63635 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63636 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63637 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
63639 + ac_save_CXXFLAGS="$CXXFLAGS"
63640 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
63642 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _SC_NPROCESSORS_ONLN" >&5
63643 +$as_echo_n "checking for _SC_NPROCESSORS_ONLN... " >&6; }
63644 + if test "${glibcxx_cv_SC_NPROCESSORS_ONLN+set}" = set; then :
63645 + $as_echo_n "(cached) " >&6
63646 +else
63648 + if test x$gcc_no_link = xyes; then
63649 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63650 +/* end confdefs.h. */
63651 +#include <unistd.h>
63652 +int
63653 +main ()
63655 +int n = sysconf(_SC_NPROCESSORS_ONLN);
63657 + return 0;
63659 +_ACEOF
63660 +if ac_fn_cxx_try_compile "$LINENO"; then :
63661 + glibcxx_cv_SC_NPROCESSORS_ONLN=yes
63662 +else
63663 + glibcxx_cv_SC_NPROCESSORS_ONLN=no
63665 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63666 +else
63667 + if test x$gcc_no_link = xyes; then
63668 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63670 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63671 +/* end confdefs.h. */
63672 +#include <unistd.h>
63673 +int
63674 +main ()
63676 +int n = sysconf(_SC_NPROCESSORS_ONLN);
63678 + return 0;
63680 +_ACEOF
63681 +if ac_fn_cxx_try_link "$LINENO"; then :
63682 + glibcxx_cv_SC_NPROCESSORS_ONLN=yes
63683 +else
63684 + glibcxx_cv_SC_NPROCESSORS_ONLN=no
63686 +rm -f core conftest.err conftest.$ac_objext \
63687 + conftest$ac_exeext conftest.$ac_ext
63692 + if test $glibcxx_cv_SC_NPROCESSORS_ONLN = yes; then
63694 +$as_echo "#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1" >>confdefs.h
63696 + fi
63697 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_SC_NPROCESSORS_ONLN" >&5
63698 +$as_echo "$glibcxx_cv_SC_NPROCESSORS_ONLN" >&6; }
63700 + CXXFLAGS="$ac_save_CXXFLAGS"
63701 + ac_ext=c
63702 +ac_cpp='$CPP $CPPFLAGS'
63703 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63704 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63705 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63711 + ac_ext=cpp
63712 +ac_cpp='$CXXCPP $CPPFLAGS'
63713 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63714 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63715 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
63717 + ac_save_CXXFLAGS="$CXXFLAGS"
63718 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
63720 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _SC_NPROC_ONLN" >&5
63721 +$as_echo_n "checking for _SC_NPROC_ONLN... " >&6; }
63722 + if test "${glibcxx_cv_SC_NPROC_ONLN+set}" = set; then :
63723 + $as_echo_n "(cached) " >&6
63724 +else
63726 + if test x$gcc_no_link = xyes; then
63727 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63728 +/* end confdefs.h. */
63729 +#include <unistd.h>
63730 +int
63731 +main ()
63733 +int n = sysconf(_SC_NPROC_ONLN);
63735 + return 0;
63737 +_ACEOF
63738 +if ac_fn_cxx_try_compile "$LINENO"; then :
63739 + glibcxx_cv_SC_NPROC_ONLN=yes
63740 +else
63741 + glibcxx_cv_SC_NPROC_ONLN=no
63743 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63744 +else
63745 + if test x$gcc_no_link = xyes; then
63746 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63748 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63749 +/* end confdefs.h. */
63750 +#include <unistd.h>
63751 +int
63752 +main ()
63754 +int n = sysconf(_SC_NPROC_ONLN);
63756 + return 0;
63758 +_ACEOF
63759 +if ac_fn_cxx_try_link "$LINENO"; then :
63760 + glibcxx_cv_SC_NPROC_ONLN=yes
63761 +else
63762 + glibcxx_cv_SC_NPROC_ONLN=no
63764 +rm -f core conftest.err conftest.$ac_objext \
63765 + conftest$ac_exeext conftest.$ac_ext
63770 + if test $glibcxx_cv_SC_NPROC_ONLN = yes; then
63772 +$as_echo "#define _GLIBCXX_USE_SC_NPROC_ONLN 1" >>confdefs.h
63774 + fi
63775 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_SC_NPROC_ONLN" >&5
63776 +$as_echo "$glibcxx_cv_SC_NPROC_ONLN" >&6; }
63778 + CXXFLAGS="$ac_save_CXXFLAGS"
63779 + ac_ext=c
63780 +ac_cpp='$CPP $CPPFLAGS'
63781 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63782 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63783 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63789 + ac_ext=cpp
63790 +ac_cpp='$CXXCPP $CPPFLAGS'
63791 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63792 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63793 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
63795 + ac_save_CXXFLAGS="$CXXFLAGS"
63796 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
63798 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthreads_num_processors_np" >&5
63799 +$as_echo_n "checking for pthreads_num_processors_np... " >&6; }
63800 + if test "${glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP+set}" = set; then :
63801 + $as_echo_n "(cached) " >&6
63802 +else
63804 + if test x$gcc_no_link = xyes; then
63805 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63806 +/* end confdefs.h. */
63807 +#include <pthread.h>
63808 +int
63809 +main ()
63811 +int n = pthread_num_processors_np();
63813 + return 0;
63815 +_ACEOF
63816 +if ac_fn_cxx_try_compile "$LINENO"; then :
63817 + glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP=yes
63818 +else
63819 + glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP=no
63821 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63822 +else
63823 + if test x$gcc_no_link = xyes; then
63824 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63826 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63827 +/* end confdefs.h. */
63828 +#include <pthread.h>
63829 +int
63830 +main ()
63832 +int n = pthread_num_processors_np();
63834 + return 0;
63836 +_ACEOF
63837 +if ac_fn_cxx_try_link "$LINENO"; then :
63838 + glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP=yes
63839 +else
63840 + glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP=no
63842 +rm -f core conftest.err conftest.$ac_objext \
63843 + conftest$ac_exeext conftest.$ac_ext
63848 + if test $glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP = yes; then
63850 +$as_echo "#define _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP 1" >>confdefs.h
63852 + fi
63853 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP" >&5
63854 +$as_echo "$glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP" >&6; }
63856 + CXXFLAGS="$ac_save_CXXFLAGS"
63857 + ac_ext=c
63858 +ac_cpp='$CPP $CPPFLAGS'
63859 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63860 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63861 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63867 + ac_ext=cpp
63868 +ac_cpp='$CXXCPP $CPPFLAGS'
63869 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63870 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63871 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
63873 + ac_save_CXXFLAGS="$CXXFLAGS"
63874 + CXXFLAGS="$CXXFLAGS -fno-exceptions"
63876 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hw.ncpu sysctl" >&5
63877 +$as_echo_n "checking for hw.ncpu sysctl... " >&6; }
63878 + if test "${glibcxx_cv_SYSCTL_HW_NCPU+set}" = set; then :
63879 + $as_echo_n "(cached) " >&6
63880 +else
63882 + if test x$gcc_no_link = xyes; then
63883 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63884 +/* end confdefs.h. */
63886 + #include <stddef.h>
63887 + #include <sys/sysctl.h>
63889 +int
63890 +main ()
63893 + int count;
63894 + size_t size = sizeof(count);
63895 + int mib[] = { CTL_HW, HW_NCPU };
63896 + sysctl(mib, 2, &count, &size, NULL, 0);
63899 + return 0;
63901 +_ACEOF
63902 +if ac_fn_cxx_try_compile "$LINENO"; then :
63903 + glibcxx_cv_SYSCTL_HW_NCPU=yes
63904 +else
63905 + glibcxx_cv_SYSCTL_HW_NCPU=no
63907 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
63908 +else
63909 + if test x$gcc_no_link = xyes; then
63910 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
63912 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63913 +/* end confdefs.h. */
63915 + #include <stddef.h>
63916 + #include <sys/sysctl.h>
63918 +int
63919 +main ()
63922 + int count;
63923 + size_t size = sizeof(count);
63924 + int mib[] = { CTL_HW, HW_NCPU };
63925 + sysctl(mib, 2, &count, &size, NULL, 0);
63928 + return 0;
63930 +_ACEOF
63931 +if ac_fn_cxx_try_link "$LINENO"; then :
63932 + glibcxx_cv_SYSCTL_HW_NCPU=yes
63933 +else
63934 + glibcxx_cv_SYSCTL_HW_NCPU=no
63936 +rm -f core conftest.err conftest.$ac_objext \
63937 + conftest$ac_exeext conftest.$ac_ext
63942 + if test $glibcxx_cv_SYSCTL_HW_NCPU = yes; then
63944 +$as_echo "#define _GLIBCXX_USE_SYSCTL_HW_NCPU 1" >>confdefs.h
63946 + fi
63947 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_SYSCTL_HW_NCPU" >&5
63948 +$as_echo "$glibcxx_cv_SYSCTL_HW_NCPU" >&6; }
63950 + CXXFLAGS="$ac_save_CXXFLAGS"
63951 + ac_ext=c
63952 +ac_cpp='$CPP $CPPFLAGS'
63953 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63954 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63955 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63959 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suitable sys/sdt.h" >&5
63960 +$as_echo_n "checking for suitable sys/sdt.h... " >&6; }
63961 + # Note that this test has to be run with the C language.
63962 + # Otherwise, sdt.h will try to include some headers from
63963 + # libstdc++ itself.
63965 + ac_ext=c
63966 +ac_cpp='$CPP $CPPFLAGS'
63967 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
63968 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
63969 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
63971 + if test "${glibcxx_cv_sys_sdt_h+set}" = set; then :
63972 + $as_echo_n "(cached) " >&6
63973 +else
63975 + # Because we have to run the test in C, we use grep rather
63976 + # than the compiler to check for the bug. The bug is that
63977 + # were strings without trailing whitespace, causing g++
63978 + # to look for operator"". The pattern searches for the fixed
63979 + # output.
63980 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
63981 +/* end confdefs.h. */
63983 + #include <sys/sdt.h>
63984 + int f() { STAP_PROBE(hi, bob); }
63986 +_ACEOF
63987 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
63988 + $EGREP " \",\" " >/dev/null 2>&1; then :
63989 + glibcxx_cv_sys_sdt_h=yes
63990 +else
63991 + glibcxx_cv_sys_sdt_h=no
63993 +rm -f conftest*
63998 + ac_ext=c
63999 +ac_cpp='$CPP $CPPFLAGS'
64000 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64001 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64002 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64004 + if test $glibcxx_cv_sys_sdt_h = yes; then
64006 +$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
64008 + fi
64009 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
64010 +$as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
64013 +# Check for available headers.
64014 +for ac_header in endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
64015 +locale.h machine/endian.h machine/param.h nan.h stdint.h stdlib.h string.h \
64016 +strings.h sys/ipc.h sys/isa_defs.h sys/machine.h sys/param.h \
64017 +sys/resource.h sys/sem.h sys/stat.h sys/time.h sys/types.h unistd.h \
64018 +wchar.h wctype.h
64019 +do :
64020 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
64021 +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
64022 +eval as_val=\$$as_ac_Header
64023 + if test "x$as_val" = x""yes; then :
64024 + cat >>confdefs.h <<_ACEOF
64025 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
64026 +_ACEOF
64030 +done
64033 +# Only do link tests if native. Else, hardcode.
64034 +if $GLIBCXX_IS_NATIVE; then
64036 + # We can do more elaborate tests that assume a working linker.
64037 + CANADIAN=no
64041 +# Check whether --with-gnu-ld was given.
64042 +if test "${with_gnu_ld+set}" = set; then :
64043 + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
64044 +else
64045 + with_gnu_ld=no
64048 +ac_prog=ld
64049 +if test "$GCC" = yes; then
64050 + # Check if gcc -print-prog-name=ld gives a path.
64051 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
64052 +$as_echo_n "checking for ld used by $CC... " >&6; }
64053 + case $host in
64054 + *-*-mingw*)
64055 + # gcc leaves a trailing carriage return which upsets mingw
64056 + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
64057 + *)
64058 + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
64059 + esac
64060 + case $ac_prog in
64061 + # Accept absolute paths.
64062 + [\\/]* | ?:[\\/]*)
64063 + re_direlt='/[^/][^/]*/\.\./'
64064 + # Canonicalize the pathname of ld
64065 + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
64066 + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
64067 + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
64068 + done
64069 + test -z "$LD" && LD="$ac_prog"
64070 + ;;
64071 + "")
64072 + # If it fails, then pretend we aren't using GCC.
64073 + ac_prog=ld
64074 + ;;
64075 + *)
64076 + # If it is relative, then search for the first ld in PATH.
64077 + with_gnu_ld=unknown
64078 + ;;
64079 + esac
64080 +elif test "$with_gnu_ld" = yes; then
64081 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
64082 +$as_echo_n "checking for GNU ld... " >&6; }
64083 +else
64084 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
64085 +$as_echo_n "checking for non-GNU ld... " >&6; }
64087 +if test "${lt_cv_path_LD+set}" = set; then :
64088 + $as_echo_n "(cached) " >&6
64089 +else
64090 + if test -z "$LD"; then
64091 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
64092 + for ac_dir in $PATH; do
64093 + IFS="$lt_save_ifs"
64094 + test -z "$ac_dir" && ac_dir=.
64095 + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
64096 + lt_cv_path_LD="$ac_dir/$ac_prog"
64097 + # Check to see if the program is GNU ld. I'd rather use --version,
64098 + # but apparently some variants of GNU ld only accept -v.
64099 + # Break only if it was the GNU/non-GNU ld that we prefer.
64100 + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
64101 + *GNU* | *'with BFD'*)
64102 + test "$with_gnu_ld" != no && break
64103 + ;;
64104 + *)
64105 + test "$with_gnu_ld" != yes && break
64106 + ;;
64107 + esac
64108 + fi
64109 + done
64110 + IFS="$lt_save_ifs"
64111 +else
64112 + lt_cv_path_LD="$LD" # Let the user override the test with a path.
64116 +LD="$lt_cv_path_LD"
64117 +if test -n "$LD"; then
64118 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
64119 +$as_echo "$LD" >&6; }
64120 +else
64121 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
64122 +$as_echo "no" >&6; }
64124 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
64125 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
64126 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
64127 +if test "${lt_cv_prog_gnu_ld+set}" = set; then :
64128 + $as_echo_n "(cached) " >&6
64129 +else
64130 + # I'd rather use --version here, but apparently some GNU lds only accept -v.
64131 +case `$LD -v 2>&1 </dev/null` in
64132 +*GNU* | *'with BFD'*)
64133 + lt_cv_prog_gnu_ld=yes
64134 + ;;
64136 + lt_cv_prog_gnu_ld=no
64137 + ;;
64138 +esac
64140 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
64141 +$as_echo "$lt_cv_prog_gnu_ld" >&6; }
64142 +with_gnu_ld=$lt_cv_prog_gnu_ld
64150 + # If we're not using GNU ld, then there's no point in even trying these
64151 + # tests. Check for that first. We should have already tested for gld
64152 + # by now (in libtool), but require it now just to be safe...
64153 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
64154 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
64158 + # The name set by libtool depends on the version of libtool. Shame on us
64159 + # for depending on an impl detail, but c'est la vie. Older versions used
64160 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
64161 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
64162 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
64163 + # set (hence we're using an older libtool), then set it.
64164 + if test x${with_gnu_ld+set} != xset; then
64165 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
64166 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
64167 + with_gnu_ld=no
64168 + else
64169 + with_gnu_ld=$ac_cv_prog_gnu_ld
64170 + fi
64171 + fi
64173 + # Start by getting the version number. I think the libtool test already
64174 + # does some of this, but throws away the result.
64175 + glibcxx_ld_is_gold=no
64176 + if test x"$with_gnu_ld" = x"yes"; then
64177 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
64178 +$as_echo_n "checking for ld version... " >&6; }
64180 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
64181 + glibcxx_ld_is_gold=yes
64182 + fi
64183 + ldver=`$LD --version 2>/dev/null |
64184 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
64186 + glibcxx_gnu_ld_version=`echo $ldver | \
64187 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
64188 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
64189 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
64190 + fi
64192 + # Set --gc-sections.
64193 + glibcxx_have_gc_sections=no
64194 + if test "$glibcxx_ld_is_gold" = "yes"; then
64195 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
64196 + glibcxx_have_gc_sections=yes
64197 + fi
64198 + else
64199 + glibcxx_gcsections_min_ld=21602
64200 + if test x"$with_gnu_ld" = x"yes" &&
64201 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
64202 + glibcxx_have_gc_sections=yes
64203 + fi
64204 + fi
64205 + if test "$glibcxx_have_gc_sections" = "yes"; then
64206 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
64207 + # NB: This flag only works reliably after 2.16.1. Configure tests
64208 + # for this are difficult, so hard wire a value that should work.
64210 + ac_test_CFLAGS="${CFLAGS+set}"
64211 + ac_save_CFLAGS="$CFLAGS"
64212 + CFLAGS='-Wl,--gc-sections'
64214 + # Check for -Wl,--gc-sections
64215 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
64216 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
64217 + if test x$gcc_no_link = xyes; then
64218 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
64220 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64221 +/* end confdefs.h. */
64222 + int one(void) { return 1; }
64223 + int two(void) { return 2; }
64225 +int
64226 +main ()
64228 + two();
64230 + return 0;
64232 +_ACEOF
64233 +if ac_fn_c_try_link "$LINENO"; then :
64234 + ac_gcsections=yes
64235 +else
64236 + ac_gcsections=no
64238 +rm -f core conftest.err conftest.$ac_objext \
64239 + conftest$ac_exeext conftest.$ac_ext
64240 + if test "$ac_gcsections" = "yes"; then
64241 + rm -f conftest.c
64242 + touch conftest.c
64243 + if $CC -c conftest.c; then
64244 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
64245 + grep "Warning: gc-sections option ignored" > /dev/null; then
64246 + ac_gcsections=no
64247 + fi
64248 + fi
64249 + rm -f conftest.c conftest.o conftest
64250 + fi
64251 + if test "$ac_gcsections" = "yes"; then
64252 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
64253 + fi
64254 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
64255 +$as_echo "$ac_gcsections" >&6; }
64257 + if test "$ac_test_CFLAGS" = set; then
64258 + CFLAGS="$ac_save_CFLAGS"
64259 + else
64260 + # this is the suspicious part
64261 + CFLAGS=''
64262 + fi
64263 + fi
64265 + # Set -z,relro.
64266 + # Note this is only for shared objects.
64267 + ac_ld_relro=no
64268 + if test x"$with_gnu_ld" = x"yes"; then
64269 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
64270 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
64271 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
64272 + if test -n "$cxx_z_relo"; then
64273 + OPT_LDFLAGS="-Wl,-z,relro"
64274 + ac_ld_relro=yes
64275 + fi
64276 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
64277 +$as_echo "$ac_ld_relro" >&6; }
64278 + fi
64280 + # Set linker optimization flags.
64281 + if test x"$with_gnu_ld" = x"yes"; then
64282 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
64283 + fi
64289 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
64290 + ac_save_CXXFLAGS="$CXXFLAGS"
64291 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
64293 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
64294 +$as_echo_n "checking for sin in -lm... " >&6; }
64295 +if test "${ac_cv_lib_m_sin+set}" = set; then :
64296 + $as_echo_n "(cached) " >&6
64297 +else
64298 + ac_check_lib_save_LIBS=$LIBS
64299 +LIBS="-lm $LIBS"
64300 +if test x$gcc_no_link = xyes; then
64301 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
64303 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64304 +/* end confdefs.h. */
64306 +/* Override any GCC internal prototype to avoid an error.
64307 + Use char because int might match the return type of a GCC
64308 + builtin and then its argument prototype would still apply. */
64309 +#ifdef __cplusplus
64310 +extern "C"
64311 +#endif
64312 +char sin ();
64313 +int
64314 +main ()
64316 +return sin ();
64318 + return 0;
64320 +_ACEOF
64321 +if ac_fn_c_try_link "$LINENO"; then :
64322 + ac_cv_lib_m_sin=yes
64323 +else
64324 + ac_cv_lib_m_sin=no
64326 +rm -f core conftest.err conftest.$ac_objext \
64327 + conftest$ac_exeext conftest.$ac_ext
64328 +LIBS=$ac_check_lib_save_LIBS
64330 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
64331 +$as_echo "$ac_cv_lib_m_sin" >&6; }
64332 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
64333 + libm="-lm"
64336 + ac_save_LIBS="$LIBS"
64337 + LIBS="$LIBS $libm"
64341 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
64342 +$as_echo_n "checking for isinf declaration... " >&6; }
64343 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
64344 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
64345 + $as_echo_n "(cached) " >&6
64346 +else
64349 + ac_ext=cpp
64350 +ac_cpp='$CXXCPP $CPPFLAGS'
64351 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64352 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64353 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64355 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64356 +/* end confdefs.h. */
64357 +#include <math.h>
64358 + #ifdef HAVE_IEEEFP_H
64359 + #include <ieeefp.h>
64360 + #endif
64362 +int
64363 +main ()
64365 + isinf(0);
64367 + return 0;
64369 +_ACEOF
64370 +if ac_fn_cxx_try_compile "$LINENO"; then :
64371 + glibcxx_cv_func_isinf_use=yes
64372 +else
64373 + glibcxx_cv_func_isinf_use=no
64375 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64376 + ac_ext=c
64377 +ac_cpp='$CPP $CPPFLAGS'
64378 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64379 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64380 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64385 + fi
64386 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
64387 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
64389 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
64390 + for ac_func in isinf
64391 +do :
64392 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
64393 +if test "x$ac_cv_func_isinf" = x""yes; then :
64394 + cat >>confdefs.h <<_ACEOF
64395 +#define HAVE_ISINF 1
64396 +_ACEOF
64399 +done
64401 + else
64403 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
64404 +$as_echo_n "checking for _isinf declaration... " >&6; }
64405 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
64406 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
64407 + $as_echo_n "(cached) " >&6
64408 +else
64411 + ac_ext=cpp
64412 +ac_cpp='$CXXCPP $CPPFLAGS'
64413 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64414 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64415 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64417 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64418 +/* end confdefs.h. */
64419 +#include <math.h>
64420 + #ifdef HAVE_IEEEFP_H
64421 + #include <ieeefp.h>
64422 + #endif
64424 +int
64425 +main ()
64427 + _isinf(0);
64429 + return 0;
64431 +_ACEOF
64432 +if ac_fn_cxx_try_compile "$LINENO"; then :
64433 + glibcxx_cv_func__isinf_use=yes
64434 +else
64435 + glibcxx_cv_func__isinf_use=no
64437 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64438 + ac_ext=c
64439 +ac_cpp='$CPP $CPPFLAGS'
64440 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64441 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64442 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64447 + fi
64448 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
64449 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
64451 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
64452 + for ac_func in _isinf
64453 +do :
64454 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
64455 +if test "x$ac_cv_func__isinf" = x""yes; then :
64456 + cat >>confdefs.h <<_ACEOF
64457 +#define HAVE__ISINF 1
64458 +_ACEOF
64461 +done
64463 + fi
64464 + fi
64470 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
64471 +$as_echo_n "checking for isnan declaration... " >&6; }
64472 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
64473 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
64474 + $as_echo_n "(cached) " >&6
64475 +else
64478 + ac_ext=cpp
64479 +ac_cpp='$CXXCPP $CPPFLAGS'
64480 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64481 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64482 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64484 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64485 +/* end confdefs.h. */
64486 +#include <math.h>
64487 + #ifdef HAVE_IEEEFP_H
64488 + #include <ieeefp.h>
64489 + #endif
64491 +int
64492 +main ()
64494 + isnan(0);
64496 + return 0;
64498 +_ACEOF
64499 +if ac_fn_cxx_try_compile "$LINENO"; then :
64500 + glibcxx_cv_func_isnan_use=yes
64501 +else
64502 + glibcxx_cv_func_isnan_use=no
64504 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64505 + ac_ext=c
64506 +ac_cpp='$CPP $CPPFLAGS'
64507 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64508 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64509 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64514 + fi
64515 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
64516 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
64518 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
64519 + for ac_func in isnan
64520 +do :
64521 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
64522 +if test "x$ac_cv_func_isnan" = x""yes; then :
64523 + cat >>confdefs.h <<_ACEOF
64524 +#define HAVE_ISNAN 1
64525 +_ACEOF
64528 +done
64530 + else
64532 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
64533 +$as_echo_n "checking for _isnan declaration... " >&6; }
64534 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
64535 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
64536 + $as_echo_n "(cached) " >&6
64537 +else
64540 + ac_ext=cpp
64541 +ac_cpp='$CXXCPP $CPPFLAGS'
64542 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64543 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64544 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64546 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64547 +/* end confdefs.h. */
64548 +#include <math.h>
64549 + #ifdef HAVE_IEEEFP_H
64550 + #include <ieeefp.h>
64551 + #endif
64553 +int
64554 +main ()
64556 + _isnan(0);
64558 + return 0;
64560 +_ACEOF
64561 +if ac_fn_cxx_try_compile "$LINENO"; then :
64562 + glibcxx_cv_func__isnan_use=yes
64563 +else
64564 + glibcxx_cv_func__isnan_use=no
64566 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64567 + ac_ext=c
64568 +ac_cpp='$CPP $CPPFLAGS'
64569 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64570 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64571 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64576 + fi
64577 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
64578 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
64580 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
64581 + for ac_func in _isnan
64582 +do :
64583 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
64584 +if test "x$ac_cv_func__isnan" = x""yes; then :
64585 + cat >>confdefs.h <<_ACEOF
64586 +#define HAVE__ISNAN 1
64587 +_ACEOF
64590 +done
64592 + fi
64593 + fi
64599 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
64600 +$as_echo_n "checking for finite declaration... " >&6; }
64601 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
64602 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
64603 + $as_echo_n "(cached) " >&6
64604 +else
64607 + ac_ext=cpp
64608 +ac_cpp='$CXXCPP $CPPFLAGS'
64609 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64610 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64611 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64613 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64614 +/* end confdefs.h. */
64615 +#include <math.h>
64616 + #ifdef HAVE_IEEEFP_H
64617 + #include <ieeefp.h>
64618 + #endif
64620 +int
64621 +main ()
64623 + finite(0);
64625 + return 0;
64627 +_ACEOF
64628 +if ac_fn_cxx_try_compile "$LINENO"; then :
64629 + glibcxx_cv_func_finite_use=yes
64630 +else
64631 + glibcxx_cv_func_finite_use=no
64633 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64634 + ac_ext=c
64635 +ac_cpp='$CPP $CPPFLAGS'
64636 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64637 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64638 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64643 + fi
64644 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
64645 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
64647 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
64648 + for ac_func in finite
64649 +do :
64650 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
64651 +if test "x$ac_cv_func_finite" = x""yes; then :
64652 + cat >>confdefs.h <<_ACEOF
64653 +#define HAVE_FINITE 1
64654 +_ACEOF
64657 +done
64659 + else
64661 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
64662 +$as_echo_n "checking for _finite declaration... " >&6; }
64663 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
64664 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
64665 + $as_echo_n "(cached) " >&6
64666 +else
64669 + ac_ext=cpp
64670 +ac_cpp='$CXXCPP $CPPFLAGS'
64671 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64672 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64673 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64675 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64676 +/* end confdefs.h. */
64677 +#include <math.h>
64678 + #ifdef HAVE_IEEEFP_H
64679 + #include <ieeefp.h>
64680 + #endif
64682 +int
64683 +main ()
64685 + _finite(0);
64687 + return 0;
64689 +_ACEOF
64690 +if ac_fn_cxx_try_compile "$LINENO"; then :
64691 + glibcxx_cv_func__finite_use=yes
64692 +else
64693 + glibcxx_cv_func__finite_use=no
64695 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64696 + ac_ext=c
64697 +ac_cpp='$CPP $CPPFLAGS'
64698 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64699 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64700 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64705 + fi
64706 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
64707 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
64709 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
64710 + for ac_func in _finite
64711 +do :
64712 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
64713 +if test "x$ac_cv_func__finite" = x""yes; then :
64714 + cat >>confdefs.h <<_ACEOF
64715 +#define HAVE__FINITE 1
64716 +_ACEOF
64719 +done
64721 + fi
64722 + fi
64728 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
64729 +$as_echo_n "checking for sincos declaration... " >&6; }
64730 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
64731 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
64732 + $as_echo_n "(cached) " >&6
64733 +else
64736 + ac_ext=cpp
64737 +ac_cpp='$CXXCPP $CPPFLAGS'
64738 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64739 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64740 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64742 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64743 +/* end confdefs.h. */
64744 +#include <math.h>
64745 +int
64746 +main ()
64748 + sincos(0, 0, 0);
64750 + return 0;
64752 +_ACEOF
64753 +if ac_fn_cxx_try_compile "$LINENO"; then :
64754 + glibcxx_cv_func_sincos_use=yes
64755 +else
64756 + glibcxx_cv_func_sincos_use=no
64758 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64759 + ac_ext=c
64760 +ac_cpp='$CPP $CPPFLAGS'
64761 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64762 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64763 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64768 + fi
64769 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
64770 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
64772 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
64773 + for ac_func in sincos
64774 +do :
64775 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
64776 +if test "x$ac_cv_func_sincos" = x""yes; then :
64777 + cat >>confdefs.h <<_ACEOF
64778 +#define HAVE_SINCOS 1
64779 +_ACEOF
64782 +done
64784 + else
64786 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
64787 +$as_echo_n "checking for _sincos declaration... " >&6; }
64788 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
64789 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
64790 + $as_echo_n "(cached) " >&6
64791 +else
64794 + ac_ext=cpp
64795 +ac_cpp='$CXXCPP $CPPFLAGS'
64796 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64797 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64798 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64800 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64801 +/* end confdefs.h. */
64802 +#include <math.h>
64803 +int
64804 +main ()
64806 + _sincos(0, 0, 0);
64808 + return 0;
64810 +_ACEOF
64811 +if ac_fn_cxx_try_compile "$LINENO"; then :
64812 + glibcxx_cv_func__sincos_use=yes
64813 +else
64814 + glibcxx_cv_func__sincos_use=no
64816 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64817 + ac_ext=c
64818 +ac_cpp='$CPP $CPPFLAGS'
64819 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64820 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64821 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64826 + fi
64827 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
64828 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
64830 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
64831 + for ac_func in _sincos
64832 +do :
64833 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
64834 +if test "x$ac_cv_func__sincos" = x""yes; then :
64835 + cat >>confdefs.h <<_ACEOF
64836 +#define HAVE__SINCOS 1
64837 +_ACEOF
64840 +done
64842 + fi
64843 + fi
64849 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
64850 +$as_echo_n "checking for fpclass declaration... " >&6; }
64851 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
64852 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
64853 + $as_echo_n "(cached) " >&6
64854 +else
64857 + ac_ext=cpp
64858 +ac_cpp='$CXXCPP $CPPFLAGS'
64859 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64860 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64861 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64863 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64864 +/* end confdefs.h. */
64865 +#include <math.h>
64866 + #ifdef HAVE_IEEEFP_H
64867 + #include <ieeefp.h>
64868 + #endif
64870 +int
64871 +main ()
64873 + fpclass(0);
64875 + return 0;
64877 +_ACEOF
64878 +if ac_fn_cxx_try_compile "$LINENO"; then :
64879 + glibcxx_cv_func_fpclass_use=yes
64880 +else
64881 + glibcxx_cv_func_fpclass_use=no
64883 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64884 + ac_ext=c
64885 +ac_cpp='$CPP $CPPFLAGS'
64886 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64887 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64888 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64893 + fi
64894 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
64895 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
64897 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
64898 + for ac_func in fpclass
64899 +do :
64900 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
64901 +if test "x$ac_cv_func_fpclass" = x""yes; then :
64902 + cat >>confdefs.h <<_ACEOF
64903 +#define HAVE_FPCLASS 1
64904 +_ACEOF
64907 +done
64909 + else
64911 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
64912 +$as_echo_n "checking for _fpclass declaration... " >&6; }
64913 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
64914 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
64915 + $as_echo_n "(cached) " >&6
64916 +else
64919 + ac_ext=cpp
64920 +ac_cpp='$CXXCPP $CPPFLAGS'
64921 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64922 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64923 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64925 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64926 +/* end confdefs.h. */
64927 +#include <math.h>
64928 + #ifdef HAVE_IEEEFP_H
64929 + #include <ieeefp.h>
64930 + #endif
64932 +int
64933 +main ()
64935 + _fpclass(0);
64937 + return 0;
64939 +_ACEOF
64940 +if ac_fn_cxx_try_compile "$LINENO"; then :
64941 + glibcxx_cv_func__fpclass_use=yes
64942 +else
64943 + glibcxx_cv_func__fpclass_use=no
64945 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
64946 + ac_ext=c
64947 +ac_cpp='$CPP $CPPFLAGS'
64948 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64949 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64950 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
64955 + fi
64956 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
64957 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
64959 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
64960 + for ac_func in _fpclass
64961 +do :
64962 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
64963 +if test "x$ac_cv_func__fpclass" = x""yes; then :
64964 + cat >>confdefs.h <<_ACEOF
64965 +#define HAVE__FPCLASS 1
64966 +_ACEOF
64969 +done
64971 + fi
64972 + fi
64978 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
64979 +$as_echo_n "checking for qfpclass declaration... " >&6; }
64980 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
64981 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
64982 + $as_echo_n "(cached) " >&6
64983 +else
64986 + ac_ext=cpp
64987 +ac_cpp='$CXXCPP $CPPFLAGS'
64988 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64989 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64990 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64992 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64993 +/* end confdefs.h. */
64994 +#include <math.h>
64995 + #ifdef HAVE_IEEEFP_H
64996 + #include <ieeefp.h>
64997 + #endif
64999 +int
65000 +main ()
65002 + qfpclass(0);
65004 + return 0;
65006 +_ACEOF
65007 +if ac_fn_cxx_try_compile "$LINENO"; then :
65008 + glibcxx_cv_func_qfpclass_use=yes
65009 +else
65010 + glibcxx_cv_func_qfpclass_use=no
65012 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65013 + ac_ext=c
65014 +ac_cpp='$CPP $CPPFLAGS'
65015 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65016 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65017 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65022 + fi
65023 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
65024 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
65026 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
65027 + for ac_func in qfpclass
65028 +do :
65029 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
65030 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
65031 + cat >>confdefs.h <<_ACEOF
65032 +#define HAVE_QFPCLASS 1
65033 +_ACEOF
65036 +done
65038 + else
65040 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
65041 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
65042 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
65043 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
65044 + $as_echo_n "(cached) " >&6
65045 +else
65048 + ac_ext=cpp
65049 +ac_cpp='$CXXCPP $CPPFLAGS'
65050 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65051 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65052 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65054 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65055 +/* end confdefs.h. */
65056 +#include <math.h>
65057 + #ifdef HAVE_IEEEFP_H
65058 + #include <ieeefp.h>
65059 + #endif
65061 +int
65062 +main ()
65064 + _qfpclass(0);
65066 + return 0;
65068 +_ACEOF
65069 +if ac_fn_cxx_try_compile "$LINENO"; then :
65070 + glibcxx_cv_func__qfpclass_use=yes
65071 +else
65072 + glibcxx_cv_func__qfpclass_use=no
65074 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65075 + ac_ext=c
65076 +ac_cpp='$CPP $CPPFLAGS'
65077 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65078 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65079 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65084 + fi
65085 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
65086 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
65088 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
65089 + for ac_func in _qfpclass
65090 +do :
65091 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
65092 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
65093 + cat >>confdefs.h <<_ACEOF
65094 +#define HAVE__QFPCLASS 1
65095 +_ACEOF
65098 +done
65100 + fi
65101 + fi
65107 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
65108 +$as_echo_n "checking for hypot declaration... " >&6; }
65109 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
65110 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
65111 + $as_echo_n "(cached) " >&6
65112 +else
65115 + ac_ext=cpp
65116 +ac_cpp='$CXXCPP $CPPFLAGS'
65117 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65118 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65119 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65121 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65122 +/* end confdefs.h. */
65123 +#include <math.h>
65124 +int
65125 +main ()
65127 + hypot(0, 0);
65129 + return 0;
65131 +_ACEOF
65132 +if ac_fn_cxx_try_compile "$LINENO"; then :
65133 + glibcxx_cv_func_hypot_use=yes
65134 +else
65135 + glibcxx_cv_func_hypot_use=no
65137 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65138 + ac_ext=c
65139 +ac_cpp='$CPP $CPPFLAGS'
65140 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65141 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65142 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65147 + fi
65148 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
65149 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
65151 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
65152 + for ac_func in hypot
65153 +do :
65154 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
65155 +if test "x$ac_cv_func_hypot" = x""yes; then :
65156 + cat >>confdefs.h <<_ACEOF
65157 +#define HAVE_HYPOT 1
65158 +_ACEOF
65161 +done
65163 + else
65165 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
65166 +$as_echo_n "checking for _hypot declaration... " >&6; }
65167 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
65168 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
65169 + $as_echo_n "(cached) " >&6
65170 +else
65173 + ac_ext=cpp
65174 +ac_cpp='$CXXCPP $CPPFLAGS'
65175 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65176 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65177 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65179 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65180 +/* end confdefs.h. */
65181 +#include <math.h>
65182 +int
65183 +main ()
65185 + _hypot(0, 0);
65187 + return 0;
65189 +_ACEOF
65190 +if ac_fn_cxx_try_compile "$LINENO"; then :
65191 + glibcxx_cv_func__hypot_use=yes
65192 +else
65193 + glibcxx_cv_func__hypot_use=no
65195 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65196 + ac_ext=c
65197 +ac_cpp='$CPP $CPPFLAGS'
65198 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65199 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65200 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65205 + fi
65206 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
65207 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
65209 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
65210 + for ac_func in _hypot
65211 +do :
65212 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
65213 +if test "x$ac_cv_func__hypot" = x""yes; then :
65214 + cat >>confdefs.h <<_ACEOF
65215 +#define HAVE__HYPOT 1
65216 +_ACEOF
65219 +done
65221 + fi
65222 + fi
65228 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
65229 +$as_echo_n "checking for float trig functions... " >&6; }
65230 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
65231 + $as_echo_n "(cached) " >&6
65232 +else
65235 + ac_ext=cpp
65236 +ac_cpp='$CXXCPP $CPPFLAGS'
65237 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65238 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65239 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65241 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65242 +/* end confdefs.h. */
65243 +#include <math.h>
65244 +int
65245 +main ()
65247 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
65249 + return 0;
65251 +_ACEOF
65252 +if ac_fn_cxx_try_compile "$LINENO"; then :
65253 + glibcxx_cv_func_float_trig_use=yes
65254 +else
65255 + glibcxx_cv_func_float_trig_use=no
65257 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65258 + ac_ext=c
65259 +ac_cpp='$CPP $CPPFLAGS'
65260 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65261 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65262 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65266 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
65267 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
65268 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
65269 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
65270 +do :
65271 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
65272 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
65273 +eval as_val=\$$as_ac_var
65274 + if test "x$as_val" = x""yes; then :
65275 + cat >>confdefs.h <<_ACEOF
65276 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
65277 +_ACEOF
65280 +done
65282 + else
65283 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
65284 +$as_echo_n "checking for _float trig functions... " >&6; }
65285 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
65286 + $as_echo_n "(cached) " >&6
65287 +else
65290 + ac_ext=cpp
65291 +ac_cpp='$CXXCPP $CPPFLAGS'
65292 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65293 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65294 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65296 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65297 +/* end confdefs.h. */
65298 +#include <math.h>
65299 +int
65300 +main ()
65302 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
65304 + return 0;
65306 +_ACEOF
65307 +if ac_fn_cxx_try_compile "$LINENO"; then :
65308 + glibcxx_cv_func__float_trig_use=yes
65309 +else
65310 + glibcxx_cv_func__float_trig_use=no
65312 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65313 + ac_ext=c
65314 +ac_cpp='$CPP $CPPFLAGS'
65315 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65316 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65317 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65321 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
65322 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
65323 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
65324 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
65325 +do :
65326 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
65327 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
65328 +eval as_val=\$$as_ac_var
65329 + if test "x$as_val" = x""yes; then :
65330 + cat >>confdefs.h <<_ACEOF
65331 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
65332 +_ACEOF
65335 +done
65337 + fi
65338 + fi
65344 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
65345 +$as_echo_n "checking for float round functions... " >&6; }
65346 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
65347 + $as_echo_n "(cached) " >&6
65348 +else
65351 + ac_ext=cpp
65352 +ac_cpp='$CXXCPP $CPPFLAGS'
65353 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65354 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65355 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65357 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65358 +/* end confdefs.h. */
65359 +#include <math.h>
65360 +int
65361 +main ()
65363 +ceilf (0); floorf (0);
65365 + return 0;
65367 +_ACEOF
65368 +if ac_fn_cxx_try_compile "$LINENO"; then :
65369 + glibcxx_cv_func_float_round_use=yes
65370 +else
65371 + glibcxx_cv_func_float_round_use=no
65373 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65374 + ac_ext=c
65375 +ac_cpp='$CPP $CPPFLAGS'
65376 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65377 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65378 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65382 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
65383 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
65384 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
65385 + for ac_func in ceilf floorf
65386 +do :
65387 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
65388 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
65389 +eval as_val=\$$as_ac_var
65390 + if test "x$as_val" = x""yes; then :
65391 + cat >>confdefs.h <<_ACEOF
65392 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
65393 +_ACEOF
65396 +done
65398 + else
65399 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
65400 +$as_echo_n "checking for _float round functions... " >&6; }
65401 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
65402 + $as_echo_n "(cached) " >&6
65403 +else
65406 + ac_ext=cpp
65407 +ac_cpp='$CXXCPP $CPPFLAGS'
65408 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65409 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65410 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65412 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65413 +/* end confdefs.h. */
65414 +#include <math.h>
65415 +int
65416 +main ()
65418 +_ceilf (0); _floorf (0);
65420 + return 0;
65422 +_ACEOF
65423 +if ac_fn_cxx_try_compile "$LINENO"; then :
65424 + glibcxx_cv_func__float_round_use=yes
65425 +else
65426 + glibcxx_cv_func__float_round_use=no
65428 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65429 + ac_ext=c
65430 +ac_cpp='$CPP $CPPFLAGS'
65431 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65432 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65433 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65437 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
65438 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
65439 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
65440 + for ac_func in _ceilf _floorf
65441 +do :
65442 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
65443 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
65444 +eval as_val=\$$as_ac_var
65445 + if test "x$as_val" = x""yes; then :
65446 + cat >>confdefs.h <<_ACEOF
65447 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
65448 +_ACEOF
65451 +done
65453 + fi
65454 + fi
65461 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
65462 +$as_echo_n "checking for expf declaration... " >&6; }
65463 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
65464 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
65465 + $as_echo_n "(cached) " >&6
65466 +else
65469 + ac_ext=cpp
65470 +ac_cpp='$CXXCPP $CPPFLAGS'
65471 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65472 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65473 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65475 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65476 +/* end confdefs.h. */
65477 +#include <math.h>
65478 + #ifdef HAVE_IEEEFP_H
65479 + #include <ieeefp.h>
65480 + #endif
65482 +int
65483 +main ()
65485 + expf(0);
65487 + return 0;
65489 +_ACEOF
65490 +if ac_fn_cxx_try_compile "$LINENO"; then :
65491 + glibcxx_cv_func_expf_use=yes
65492 +else
65493 + glibcxx_cv_func_expf_use=no
65495 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65496 + ac_ext=c
65497 +ac_cpp='$CPP $CPPFLAGS'
65498 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65499 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65500 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65505 + fi
65506 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
65507 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
65509 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
65510 + for ac_func in expf
65511 +do :
65512 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
65513 +if test "x$ac_cv_func_expf" = x""yes; then :
65514 + cat >>confdefs.h <<_ACEOF
65515 +#define HAVE_EXPF 1
65516 +_ACEOF
65519 +done
65521 + else
65523 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
65524 +$as_echo_n "checking for _expf declaration... " >&6; }
65525 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
65526 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
65527 + $as_echo_n "(cached) " >&6
65528 +else
65531 + ac_ext=cpp
65532 +ac_cpp='$CXXCPP $CPPFLAGS'
65533 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65534 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65535 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65537 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65538 +/* end confdefs.h. */
65539 +#include <math.h>
65540 + #ifdef HAVE_IEEEFP_H
65541 + #include <ieeefp.h>
65542 + #endif
65544 +int
65545 +main ()
65547 + _expf(0);
65549 + return 0;
65551 +_ACEOF
65552 +if ac_fn_cxx_try_compile "$LINENO"; then :
65553 + glibcxx_cv_func__expf_use=yes
65554 +else
65555 + glibcxx_cv_func__expf_use=no
65557 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65558 + ac_ext=c
65559 +ac_cpp='$CPP $CPPFLAGS'
65560 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65561 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65562 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65567 + fi
65568 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
65569 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
65571 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
65572 + for ac_func in _expf
65573 +do :
65574 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
65575 +if test "x$ac_cv_func__expf" = x""yes; then :
65576 + cat >>confdefs.h <<_ACEOF
65577 +#define HAVE__EXPF 1
65578 +_ACEOF
65581 +done
65583 + fi
65584 + fi
65590 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
65591 +$as_echo_n "checking for isnanf declaration... " >&6; }
65592 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
65593 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
65594 + $as_echo_n "(cached) " >&6
65595 +else
65598 + ac_ext=cpp
65599 +ac_cpp='$CXXCPP $CPPFLAGS'
65600 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65601 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65602 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65604 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65605 +/* end confdefs.h. */
65606 +#include <math.h>
65607 + #ifdef HAVE_IEEEFP_H
65608 + #include <ieeefp.h>
65609 + #endif
65611 +int
65612 +main ()
65614 + isnanf(0);
65616 + return 0;
65618 +_ACEOF
65619 +if ac_fn_cxx_try_compile "$LINENO"; then :
65620 + glibcxx_cv_func_isnanf_use=yes
65621 +else
65622 + glibcxx_cv_func_isnanf_use=no
65624 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65625 + ac_ext=c
65626 +ac_cpp='$CPP $CPPFLAGS'
65627 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65628 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65629 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65634 + fi
65635 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
65636 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
65638 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
65639 + for ac_func in isnanf
65640 +do :
65641 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
65642 +if test "x$ac_cv_func_isnanf" = x""yes; then :
65643 + cat >>confdefs.h <<_ACEOF
65644 +#define HAVE_ISNANF 1
65645 +_ACEOF
65648 +done
65650 + else
65652 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
65653 +$as_echo_n "checking for _isnanf declaration... " >&6; }
65654 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
65655 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
65656 + $as_echo_n "(cached) " >&6
65657 +else
65660 + ac_ext=cpp
65661 +ac_cpp='$CXXCPP $CPPFLAGS'
65662 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65663 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65664 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65666 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65667 +/* end confdefs.h. */
65668 +#include <math.h>
65669 + #ifdef HAVE_IEEEFP_H
65670 + #include <ieeefp.h>
65671 + #endif
65673 +int
65674 +main ()
65676 + _isnanf(0);
65678 + return 0;
65680 +_ACEOF
65681 +if ac_fn_cxx_try_compile "$LINENO"; then :
65682 + glibcxx_cv_func__isnanf_use=yes
65683 +else
65684 + glibcxx_cv_func__isnanf_use=no
65686 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65687 + ac_ext=c
65688 +ac_cpp='$CPP $CPPFLAGS'
65689 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65690 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65691 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65696 + fi
65697 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
65698 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
65700 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
65701 + for ac_func in _isnanf
65702 +do :
65703 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
65704 +if test "x$ac_cv_func__isnanf" = x""yes; then :
65705 + cat >>confdefs.h <<_ACEOF
65706 +#define HAVE__ISNANF 1
65707 +_ACEOF
65710 +done
65712 + fi
65713 + fi
65719 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
65720 +$as_echo_n "checking for isinff declaration... " >&6; }
65721 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
65722 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
65723 + $as_echo_n "(cached) " >&6
65724 +else
65727 + ac_ext=cpp
65728 +ac_cpp='$CXXCPP $CPPFLAGS'
65729 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65730 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65731 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65733 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65734 +/* end confdefs.h. */
65735 +#include <math.h>
65736 + #ifdef HAVE_IEEEFP_H
65737 + #include <ieeefp.h>
65738 + #endif
65740 +int
65741 +main ()
65743 + isinff(0);
65745 + return 0;
65747 +_ACEOF
65748 +if ac_fn_cxx_try_compile "$LINENO"; then :
65749 + glibcxx_cv_func_isinff_use=yes
65750 +else
65751 + glibcxx_cv_func_isinff_use=no
65753 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65754 + ac_ext=c
65755 +ac_cpp='$CPP $CPPFLAGS'
65756 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65757 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65758 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65763 + fi
65764 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
65765 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
65767 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
65768 + for ac_func in isinff
65769 +do :
65770 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
65771 +if test "x$ac_cv_func_isinff" = x""yes; then :
65772 + cat >>confdefs.h <<_ACEOF
65773 +#define HAVE_ISINFF 1
65774 +_ACEOF
65777 +done
65779 + else
65781 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
65782 +$as_echo_n "checking for _isinff declaration... " >&6; }
65783 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
65784 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
65785 + $as_echo_n "(cached) " >&6
65786 +else
65789 + ac_ext=cpp
65790 +ac_cpp='$CXXCPP $CPPFLAGS'
65791 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65792 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65793 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65795 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65796 +/* end confdefs.h. */
65797 +#include <math.h>
65798 + #ifdef HAVE_IEEEFP_H
65799 + #include <ieeefp.h>
65800 + #endif
65802 +int
65803 +main ()
65805 + _isinff(0);
65807 + return 0;
65809 +_ACEOF
65810 +if ac_fn_cxx_try_compile "$LINENO"; then :
65811 + glibcxx_cv_func__isinff_use=yes
65812 +else
65813 + glibcxx_cv_func__isinff_use=no
65815 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65816 + ac_ext=c
65817 +ac_cpp='$CPP $CPPFLAGS'
65818 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65819 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65820 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65825 + fi
65826 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
65827 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
65829 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
65830 + for ac_func in _isinff
65831 +do :
65832 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
65833 +if test "x$ac_cv_func__isinff" = x""yes; then :
65834 + cat >>confdefs.h <<_ACEOF
65835 +#define HAVE__ISINFF 1
65836 +_ACEOF
65839 +done
65841 + fi
65842 + fi
65848 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
65849 +$as_echo_n "checking for atan2f declaration... " >&6; }
65850 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
65851 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
65852 + $as_echo_n "(cached) " >&6
65853 +else
65856 + ac_ext=cpp
65857 +ac_cpp='$CXXCPP $CPPFLAGS'
65858 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65859 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65860 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65862 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65863 +/* end confdefs.h. */
65864 +#include <math.h>
65865 +int
65866 +main ()
65868 + atan2f(0, 0);
65870 + return 0;
65872 +_ACEOF
65873 +if ac_fn_cxx_try_compile "$LINENO"; then :
65874 + glibcxx_cv_func_atan2f_use=yes
65875 +else
65876 + glibcxx_cv_func_atan2f_use=no
65878 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65879 + ac_ext=c
65880 +ac_cpp='$CPP $CPPFLAGS'
65881 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65882 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65883 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65888 + fi
65889 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
65890 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
65892 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
65893 + for ac_func in atan2f
65894 +do :
65895 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
65896 +if test "x$ac_cv_func_atan2f" = x""yes; then :
65897 + cat >>confdefs.h <<_ACEOF
65898 +#define HAVE_ATAN2F 1
65899 +_ACEOF
65902 +done
65904 + else
65906 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
65907 +$as_echo_n "checking for _atan2f declaration... " >&6; }
65908 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
65909 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
65910 + $as_echo_n "(cached) " >&6
65911 +else
65914 + ac_ext=cpp
65915 +ac_cpp='$CXXCPP $CPPFLAGS'
65916 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65917 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65918 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65920 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65921 +/* end confdefs.h. */
65922 +#include <math.h>
65923 +int
65924 +main ()
65926 + _atan2f(0, 0);
65928 + return 0;
65930 +_ACEOF
65931 +if ac_fn_cxx_try_compile "$LINENO"; then :
65932 + glibcxx_cv_func__atan2f_use=yes
65933 +else
65934 + glibcxx_cv_func__atan2f_use=no
65936 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
65937 + ac_ext=c
65938 +ac_cpp='$CPP $CPPFLAGS'
65939 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65940 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65941 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
65946 + fi
65947 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
65948 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
65950 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
65951 + for ac_func in _atan2f
65952 +do :
65953 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
65954 +if test "x$ac_cv_func__atan2f" = x""yes; then :
65955 + cat >>confdefs.h <<_ACEOF
65956 +#define HAVE__ATAN2F 1
65957 +_ACEOF
65960 +done
65962 + fi
65963 + fi
65969 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
65970 +$as_echo_n "checking for fabsf declaration... " >&6; }
65971 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
65972 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
65973 + $as_echo_n "(cached) " >&6
65974 +else
65977 + ac_ext=cpp
65978 +ac_cpp='$CXXCPP $CPPFLAGS'
65979 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
65980 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
65981 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
65983 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65984 +/* end confdefs.h. */
65985 +#include <math.h>
65986 + #ifdef HAVE_IEEEFP_H
65987 + #include <ieeefp.h>
65988 + #endif
65990 +int
65991 +main ()
65993 + fabsf(0);
65995 + return 0;
65997 +_ACEOF
65998 +if ac_fn_cxx_try_compile "$LINENO"; then :
65999 + glibcxx_cv_func_fabsf_use=yes
66000 +else
66001 + glibcxx_cv_func_fabsf_use=no
66003 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66004 + ac_ext=c
66005 +ac_cpp='$CPP $CPPFLAGS'
66006 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66007 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66008 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66013 + fi
66014 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
66015 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
66017 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
66018 + for ac_func in fabsf
66019 +do :
66020 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
66021 +if test "x$ac_cv_func_fabsf" = x""yes; then :
66022 + cat >>confdefs.h <<_ACEOF
66023 +#define HAVE_FABSF 1
66024 +_ACEOF
66027 +done
66029 + else
66031 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
66032 +$as_echo_n "checking for _fabsf declaration... " >&6; }
66033 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
66034 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
66035 + $as_echo_n "(cached) " >&6
66036 +else
66039 + ac_ext=cpp
66040 +ac_cpp='$CXXCPP $CPPFLAGS'
66041 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66042 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66043 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66045 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66046 +/* end confdefs.h. */
66047 +#include <math.h>
66048 + #ifdef HAVE_IEEEFP_H
66049 + #include <ieeefp.h>
66050 + #endif
66052 +int
66053 +main ()
66055 + _fabsf(0);
66057 + return 0;
66059 +_ACEOF
66060 +if ac_fn_cxx_try_compile "$LINENO"; then :
66061 + glibcxx_cv_func__fabsf_use=yes
66062 +else
66063 + glibcxx_cv_func__fabsf_use=no
66065 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66066 + ac_ext=c
66067 +ac_cpp='$CPP $CPPFLAGS'
66068 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66069 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66070 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66075 + fi
66076 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
66077 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
66079 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
66080 + for ac_func in _fabsf
66081 +do :
66082 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
66083 +if test "x$ac_cv_func__fabsf" = x""yes; then :
66084 + cat >>confdefs.h <<_ACEOF
66085 +#define HAVE__FABSF 1
66086 +_ACEOF
66089 +done
66091 + fi
66092 + fi
66098 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
66099 +$as_echo_n "checking for fmodf declaration... " >&6; }
66100 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
66101 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
66102 + $as_echo_n "(cached) " >&6
66103 +else
66106 + ac_ext=cpp
66107 +ac_cpp='$CXXCPP $CPPFLAGS'
66108 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66109 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66110 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66112 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66113 +/* end confdefs.h. */
66114 +#include <math.h>
66115 +int
66116 +main ()
66118 + fmodf(0, 0);
66120 + return 0;
66122 +_ACEOF
66123 +if ac_fn_cxx_try_compile "$LINENO"; then :
66124 + glibcxx_cv_func_fmodf_use=yes
66125 +else
66126 + glibcxx_cv_func_fmodf_use=no
66128 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66129 + ac_ext=c
66130 +ac_cpp='$CPP $CPPFLAGS'
66131 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66132 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66133 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66138 + fi
66139 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
66140 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
66142 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
66143 + for ac_func in fmodf
66144 +do :
66145 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
66146 +if test "x$ac_cv_func_fmodf" = x""yes; then :
66147 + cat >>confdefs.h <<_ACEOF
66148 +#define HAVE_FMODF 1
66149 +_ACEOF
66152 +done
66154 + else
66156 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
66157 +$as_echo_n "checking for _fmodf declaration... " >&6; }
66158 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
66159 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
66160 + $as_echo_n "(cached) " >&6
66161 +else
66164 + ac_ext=cpp
66165 +ac_cpp='$CXXCPP $CPPFLAGS'
66166 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66167 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66168 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66170 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66171 +/* end confdefs.h. */
66172 +#include <math.h>
66173 +int
66174 +main ()
66176 + _fmodf(0, 0);
66178 + return 0;
66180 +_ACEOF
66181 +if ac_fn_cxx_try_compile "$LINENO"; then :
66182 + glibcxx_cv_func__fmodf_use=yes
66183 +else
66184 + glibcxx_cv_func__fmodf_use=no
66186 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66187 + ac_ext=c
66188 +ac_cpp='$CPP $CPPFLAGS'
66189 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66190 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66191 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66196 + fi
66197 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
66198 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
66200 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
66201 + for ac_func in _fmodf
66202 +do :
66203 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
66204 +if test "x$ac_cv_func__fmodf" = x""yes; then :
66205 + cat >>confdefs.h <<_ACEOF
66206 +#define HAVE__FMODF 1
66207 +_ACEOF
66210 +done
66212 + fi
66213 + fi
66219 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
66220 +$as_echo_n "checking for frexpf declaration... " >&6; }
66221 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
66222 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
66223 + $as_echo_n "(cached) " >&6
66224 +else
66227 + ac_ext=cpp
66228 +ac_cpp='$CXXCPP $CPPFLAGS'
66229 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66230 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66231 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66233 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66234 +/* end confdefs.h. */
66235 +#include <math.h>
66236 +int
66237 +main ()
66239 + frexpf(0, 0);
66241 + return 0;
66243 +_ACEOF
66244 +if ac_fn_cxx_try_compile "$LINENO"; then :
66245 + glibcxx_cv_func_frexpf_use=yes
66246 +else
66247 + glibcxx_cv_func_frexpf_use=no
66249 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66250 + ac_ext=c
66251 +ac_cpp='$CPP $CPPFLAGS'
66252 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66253 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66254 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66259 + fi
66260 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
66261 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
66263 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
66264 + for ac_func in frexpf
66265 +do :
66266 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
66267 +if test "x$ac_cv_func_frexpf" = x""yes; then :
66268 + cat >>confdefs.h <<_ACEOF
66269 +#define HAVE_FREXPF 1
66270 +_ACEOF
66273 +done
66275 + else
66277 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
66278 +$as_echo_n "checking for _frexpf declaration... " >&6; }
66279 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
66280 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
66281 + $as_echo_n "(cached) " >&6
66282 +else
66285 + ac_ext=cpp
66286 +ac_cpp='$CXXCPP $CPPFLAGS'
66287 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66288 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66289 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66291 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66292 +/* end confdefs.h. */
66293 +#include <math.h>
66294 +int
66295 +main ()
66297 + _frexpf(0, 0);
66299 + return 0;
66301 +_ACEOF
66302 +if ac_fn_cxx_try_compile "$LINENO"; then :
66303 + glibcxx_cv_func__frexpf_use=yes
66304 +else
66305 + glibcxx_cv_func__frexpf_use=no
66307 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66308 + ac_ext=c
66309 +ac_cpp='$CPP $CPPFLAGS'
66310 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66311 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66312 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66317 + fi
66318 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
66319 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
66321 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
66322 + for ac_func in _frexpf
66323 +do :
66324 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
66325 +if test "x$ac_cv_func__frexpf" = x""yes; then :
66326 + cat >>confdefs.h <<_ACEOF
66327 +#define HAVE__FREXPF 1
66328 +_ACEOF
66331 +done
66333 + fi
66334 + fi
66340 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
66341 +$as_echo_n "checking for hypotf declaration... " >&6; }
66342 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
66343 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
66344 + $as_echo_n "(cached) " >&6
66345 +else
66348 + ac_ext=cpp
66349 +ac_cpp='$CXXCPP $CPPFLAGS'
66350 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66351 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66352 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66354 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66355 +/* end confdefs.h. */
66356 +#include <math.h>
66357 +int
66358 +main ()
66360 + hypotf(0, 0);
66362 + return 0;
66364 +_ACEOF
66365 +if ac_fn_cxx_try_compile "$LINENO"; then :
66366 + glibcxx_cv_func_hypotf_use=yes
66367 +else
66368 + glibcxx_cv_func_hypotf_use=no
66370 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66371 + ac_ext=c
66372 +ac_cpp='$CPP $CPPFLAGS'
66373 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66374 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66375 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66380 + fi
66381 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
66382 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
66384 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
66385 + for ac_func in hypotf
66386 +do :
66387 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
66388 +if test "x$ac_cv_func_hypotf" = x""yes; then :
66389 + cat >>confdefs.h <<_ACEOF
66390 +#define HAVE_HYPOTF 1
66391 +_ACEOF
66394 +done
66396 + else
66398 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
66399 +$as_echo_n "checking for _hypotf declaration... " >&6; }
66400 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
66401 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
66402 + $as_echo_n "(cached) " >&6
66403 +else
66406 + ac_ext=cpp
66407 +ac_cpp='$CXXCPP $CPPFLAGS'
66408 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66409 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66410 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66412 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66413 +/* end confdefs.h. */
66414 +#include <math.h>
66415 +int
66416 +main ()
66418 + _hypotf(0, 0);
66420 + return 0;
66422 +_ACEOF
66423 +if ac_fn_cxx_try_compile "$LINENO"; then :
66424 + glibcxx_cv_func__hypotf_use=yes
66425 +else
66426 + glibcxx_cv_func__hypotf_use=no
66428 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66429 + ac_ext=c
66430 +ac_cpp='$CPP $CPPFLAGS'
66431 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66432 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66433 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66438 + fi
66439 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
66440 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
66442 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
66443 + for ac_func in _hypotf
66444 +do :
66445 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
66446 +if test "x$ac_cv_func__hypotf" = x""yes; then :
66447 + cat >>confdefs.h <<_ACEOF
66448 +#define HAVE__HYPOTF 1
66449 +_ACEOF
66452 +done
66454 + fi
66455 + fi
66461 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
66462 +$as_echo_n "checking for ldexpf declaration... " >&6; }
66463 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
66464 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
66465 + $as_echo_n "(cached) " >&6
66466 +else
66469 + ac_ext=cpp
66470 +ac_cpp='$CXXCPP $CPPFLAGS'
66471 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66472 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66473 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66475 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66476 +/* end confdefs.h. */
66477 +#include <math.h>
66478 +int
66479 +main ()
66481 + ldexpf(0, 0);
66483 + return 0;
66485 +_ACEOF
66486 +if ac_fn_cxx_try_compile "$LINENO"; then :
66487 + glibcxx_cv_func_ldexpf_use=yes
66488 +else
66489 + glibcxx_cv_func_ldexpf_use=no
66491 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66492 + ac_ext=c
66493 +ac_cpp='$CPP $CPPFLAGS'
66494 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66495 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66496 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66501 + fi
66502 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
66503 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
66505 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
66506 + for ac_func in ldexpf
66507 +do :
66508 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
66509 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
66510 + cat >>confdefs.h <<_ACEOF
66511 +#define HAVE_LDEXPF 1
66512 +_ACEOF
66515 +done
66517 + else
66519 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
66520 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
66521 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
66522 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
66523 + $as_echo_n "(cached) " >&6
66524 +else
66527 + ac_ext=cpp
66528 +ac_cpp='$CXXCPP $CPPFLAGS'
66529 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66530 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66531 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66533 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66534 +/* end confdefs.h. */
66535 +#include <math.h>
66536 +int
66537 +main ()
66539 + _ldexpf(0, 0);
66541 + return 0;
66543 +_ACEOF
66544 +if ac_fn_cxx_try_compile "$LINENO"; then :
66545 + glibcxx_cv_func__ldexpf_use=yes
66546 +else
66547 + glibcxx_cv_func__ldexpf_use=no
66549 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66550 + ac_ext=c
66551 +ac_cpp='$CPP $CPPFLAGS'
66552 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66553 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66554 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66559 + fi
66560 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
66561 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
66563 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
66564 + for ac_func in _ldexpf
66565 +do :
66566 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
66567 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
66568 + cat >>confdefs.h <<_ACEOF
66569 +#define HAVE__LDEXPF 1
66570 +_ACEOF
66573 +done
66575 + fi
66576 + fi
66582 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
66583 +$as_echo_n "checking for logf declaration... " >&6; }
66584 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
66585 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
66586 + $as_echo_n "(cached) " >&6
66587 +else
66590 + ac_ext=cpp
66591 +ac_cpp='$CXXCPP $CPPFLAGS'
66592 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66593 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66594 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66596 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66597 +/* end confdefs.h. */
66598 +#include <math.h>
66599 + #ifdef HAVE_IEEEFP_H
66600 + #include <ieeefp.h>
66601 + #endif
66603 +int
66604 +main ()
66606 + logf(0);
66608 + return 0;
66610 +_ACEOF
66611 +if ac_fn_cxx_try_compile "$LINENO"; then :
66612 + glibcxx_cv_func_logf_use=yes
66613 +else
66614 + glibcxx_cv_func_logf_use=no
66616 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66617 + ac_ext=c
66618 +ac_cpp='$CPP $CPPFLAGS'
66619 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66620 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66621 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66626 + fi
66627 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
66628 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
66630 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
66631 + for ac_func in logf
66632 +do :
66633 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
66634 +if test "x$ac_cv_func_logf" = x""yes; then :
66635 + cat >>confdefs.h <<_ACEOF
66636 +#define HAVE_LOGF 1
66637 +_ACEOF
66640 +done
66642 + else
66644 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
66645 +$as_echo_n "checking for _logf declaration... " >&6; }
66646 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
66647 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
66648 + $as_echo_n "(cached) " >&6
66649 +else
66652 + ac_ext=cpp
66653 +ac_cpp='$CXXCPP $CPPFLAGS'
66654 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66655 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66656 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66658 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66659 +/* end confdefs.h. */
66660 +#include <math.h>
66661 + #ifdef HAVE_IEEEFP_H
66662 + #include <ieeefp.h>
66663 + #endif
66665 +int
66666 +main ()
66668 + _logf(0);
66670 + return 0;
66672 +_ACEOF
66673 +if ac_fn_cxx_try_compile "$LINENO"; then :
66674 + glibcxx_cv_func__logf_use=yes
66675 +else
66676 + glibcxx_cv_func__logf_use=no
66678 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66679 + ac_ext=c
66680 +ac_cpp='$CPP $CPPFLAGS'
66681 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66682 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66683 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66688 + fi
66689 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
66690 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
66692 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
66693 + for ac_func in _logf
66694 +do :
66695 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
66696 +if test "x$ac_cv_func__logf" = x""yes; then :
66697 + cat >>confdefs.h <<_ACEOF
66698 +#define HAVE__LOGF 1
66699 +_ACEOF
66702 +done
66704 + fi
66705 + fi
66711 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
66712 +$as_echo_n "checking for log10f declaration... " >&6; }
66713 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
66714 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
66715 + $as_echo_n "(cached) " >&6
66716 +else
66719 + ac_ext=cpp
66720 +ac_cpp='$CXXCPP $CPPFLAGS'
66721 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66722 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66723 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66725 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66726 +/* end confdefs.h. */
66727 +#include <math.h>
66728 + #ifdef HAVE_IEEEFP_H
66729 + #include <ieeefp.h>
66730 + #endif
66732 +int
66733 +main ()
66735 + log10f(0);
66737 + return 0;
66739 +_ACEOF
66740 +if ac_fn_cxx_try_compile "$LINENO"; then :
66741 + glibcxx_cv_func_log10f_use=yes
66742 +else
66743 + glibcxx_cv_func_log10f_use=no
66745 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66746 + ac_ext=c
66747 +ac_cpp='$CPP $CPPFLAGS'
66748 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66749 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66750 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66755 + fi
66756 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
66757 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
66759 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
66760 + for ac_func in log10f
66761 +do :
66762 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
66763 +if test "x$ac_cv_func_log10f" = x""yes; then :
66764 + cat >>confdefs.h <<_ACEOF
66765 +#define HAVE_LOG10F 1
66766 +_ACEOF
66769 +done
66771 + else
66773 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
66774 +$as_echo_n "checking for _log10f declaration... " >&6; }
66775 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
66776 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
66777 + $as_echo_n "(cached) " >&6
66778 +else
66781 + ac_ext=cpp
66782 +ac_cpp='$CXXCPP $CPPFLAGS'
66783 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66784 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66785 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66787 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66788 +/* end confdefs.h. */
66789 +#include <math.h>
66790 + #ifdef HAVE_IEEEFP_H
66791 + #include <ieeefp.h>
66792 + #endif
66794 +int
66795 +main ()
66797 + _log10f(0);
66799 + return 0;
66801 +_ACEOF
66802 +if ac_fn_cxx_try_compile "$LINENO"; then :
66803 + glibcxx_cv_func__log10f_use=yes
66804 +else
66805 + glibcxx_cv_func__log10f_use=no
66807 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66808 + ac_ext=c
66809 +ac_cpp='$CPP $CPPFLAGS'
66810 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66811 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66812 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66817 + fi
66818 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
66819 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
66821 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
66822 + for ac_func in _log10f
66823 +do :
66824 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
66825 +if test "x$ac_cv_func__log10f" = x""yes; then :
66826 + cat >>confdefs.h <<_ACEOF
66827 +#define HAVE__LOG10F 1
66828 +_ACEOF
66831 +done
66833 + fi
66834 + fi
66840 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
66841 +$as_echo_n "checking for modff declaration... " >&6; }
66842 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
66843 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
66844 + $as_echo_n "(cached) " >&6
66845 +else
66848 + ac_ext=cpp
66849 +ac_cpp='$CXXCPP $CPPFLAGS'
66850 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66851 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66852 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66854 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66855 +/* end confdefs.h. */
66856 +#include <math.h>
66857 +int
66858 +main ()
66860 + modff(0, 0);
66862 + return 0;
66864 +_ACEOF
66865 +if ac_fn_cxx_try_compile "$LINENO"; then :
66866 + glibcxx_cv_func_modff_use=yes
66867 +else
66868 + glibcxx_cv_func_modff_use=no
66870 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66871 + ac_ext=c
66872 +ac_cpp='$CPP $CPPFLAGS'
66873 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66874 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66875 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66880 + fi
66881 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
66882 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
66884 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
66885 + for ac_func in modff
66886 +do :
66887 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
66888 +if test "x$ac_cv_func_modff" = x""yes; then :
66889 + cat >>confdefs.h <<_ACEOF
66890 +#define HAVE_MODFF 1
66891 +_ACEOF
66894 +done
66896 + else
66898 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
66899 +$as_echo_n "checking for _modff declaration... " >&6; }
66900 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
66901 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
66902 + $as_echo_n "(cached) " >&6
66903 +else
66906 + ac_ext=cpp
66907 +ac_cpp='$CXXCPP $CPPFLAGS'
66908 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66909 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66910 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66912 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66913 +/* end confdefs.h. */
66914 +#include <math.h>
66915 +int
66916 +main ()
66918 + _modff(0, 0);
66920 + return 0;
66922 +_ACEOF
66923 +if ac_fn_cxx_try_compile "$LINENO"; then :
66924 + glibcxx_cv_func__modff_use=yes
66925 +else
66926 + glibcxx_cv_func__modff_use=no
66928 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66929 + ac_ext=c
66930 +ac_cpp='$CPP $CPPFLAGS'
66931 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66932 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66933 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
66938 + fi
66939 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
66940 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
66942 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
66943 + for ac_func in _modff
66944 +do :
66945 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
66946 +if test "x$ac_cv_func__modff" = x""yes; then :
66947 + cat >>confdefs.h <<_ACEOF
66948 +#define HAVE__MODFF 1
66949 +_ACEOF
66952 +done
66954 + fi
66955 + fi
66961 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
66962 +$as_echo_n "checking for modf declaration... " >&6; }
66963 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
66964 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
66965 + $as_echo_n "(cached) " >&6
66966 +else
66969 + ac_ext=cpp
66970 +ac_cpp='$CXXCPP $CPPFLAGS'
66971 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66972 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66973 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
66975 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
66976 +/* end confdefs.h. */
66977 +#include <math.h>
66978 +int
66979 +main ()
66981 + modf(0, 0);
66983 + return 0;
66985 +_ACEOF
66986 +if ac_fn_cxx_try_compile "$LINENO"; then :
66987 + glibcxx_cv_func_modf_use=yes
66988 +else
66989 + glibcxx_cv_func_modf_use=no
66991 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
66992 + ac_ext=c
66993 +ac_cpp='$CPP $CPPFLAGS'
66994 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
66995 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
66996 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67001 + fi
67002 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
67003 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
67005 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
67006 + for ac_func in modf
67007 +do :
67008 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
67009 +if test "x$ac_cv_func_modf" = x""yes; then :
67010 + cat >>confdefs.h <<_ACEOF
67011 +#define HAVE_MODF 1
67012 +_ACEOF
67015 +done
67017 + else
67019 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
67020 +$as_echo_n "checking for _modf declaration... " >&6; }
67021 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
67022 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
67023 + $as_echo_n "(cached) " >&6
67024 +else
67027 + ac_ext=cpp
67028 +ac_cpp='$CXXCPP $CPPFLAGS'
67029 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67030 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67031 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67033 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67034 +/* end confdefs.h. */
67035 +#include <math.h>
67036 +int
67037 +main ()
67039 + _modf(0, 0);
67041 + return 0;
67043 +_ACEOF
67044 +if ac_fn_cxx_try_compile "$LINENO"; then :
67045 + glibcxx_cv_func__modf_use=yes
67046 +else
67047 + glibcxx_cv_func__modf_use=no
67049 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67050 + ac_ext=c
67051 +ac_cpp='$CPP $CPPFLAGS'
67052 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67053 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67054 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67059 + fi
67060 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
67061 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
67063 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
67064 + for ac_func in _modf
67065 +do :
67066 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
67067 +if test "x$ac_cv_func__modf" = x""yes; then :
67068 + cat >>confdefs.h <<_ACEOF
67069 +#define HAVE__MODF 1
67070 +_ACEOF
67073 +done
67075 + fi
67076 + fi
67082 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
67083 +$as_echo_n "checking for powf declaration... " >&6; }
67084 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
67085 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
67086 + $as_echo_n "(cached) " >&6
67087 +else
67090 + ac_ext=cpp
67091 +ac_cpp='$CXXCPP $CPPFLAGS'
67092 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67093 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67094 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67096 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67097 +/* end confdefs.h. */
67098 +#include <math.h>
67099 +int
67100 +main ()
67102 + powf(0, 0);
67104 + return 0;
67106 +_ACEOF
67107 +if ac_fn_cxx_try_compile "$LINENO"; then :
67108 + glibcxx_cv_func_powf_use=yes
67109 +else
67110 + glibcxx_cv_func_powf_use=no
67112 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67113 + ac_ext=c
67114 +ac_cpp='$CPP $CPPFLAGS'
67115 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67116 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67117 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67122 + fi
67123 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
67124 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
67126 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
67127 + for ac_func in powf
67128 +do :
67129 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
67130 +if test "x$ac_cv_func_powf" = x""yes; then :
67131 + cat >>confdefs.h <<_ACEOF
67132 +#define HAVE_POWF 1
67133 +_ACEOF
67136 +done
67138 + else
67140 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
67141 +$as_echo_n "checking for _powf declaration... " >&6; }
67142 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
67143 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
67144 + $as_echo_n "(cached) " >&6
67145 +else
67148 + ac_ext=cpp
67149 +ac_cpp='$CXXCPP $CPPFLAGS'
67150 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67151 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67152 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67154 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67155 +/* end confdefs.h. */
67156 +#include <math.h>
67157 +int
67158 +main ()
67160 + _powf(0, 0);
67162 + return 0;
67164 +_ACEOF
67165 +if ac_fn_cxx_try_compile "$LINENO"; then :
67166 + glibcxx_cv_func__powf_use=yes
67167 +else
67168 + glibcxx_cv_func__powf_use=no
67170 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67171 + ac_ext=c
67172 +ac_cpp='$CPP $CPPFLAGS'
67173 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67174 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67175 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67180 + fi
67181 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
67182 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
67184 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
67185 + for ac_func in _powf
67186 +do :
67187 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
67188 +if test "x$ac_cv_func__powf" = x""yes; then :
67189 + cat >>confdefs.h <<_ACEOF
67190 +#define HAVE__POWF 1
67191 +_ACEOF
67194 +done
67196 + fi
67197 + fi
67203 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
67204 +$as_echo_n "checking for sqrtf declaration... " >&6; }
67205 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
67206 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
67207 + $as_echo_n "(cached) " >&6
67208 +else
67211 + ac_ext=cpp
67212 +ac_cpp='$CXXCPP $CPPFLAGS'
67213 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67214 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67215 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67217 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67218 +/* end confdefs.h. */
67219 +#include <math.h>
67220 + #ifdef HAVE_IEEEFP_H
67221 + #include <ieeefp.h>
67222 + #endif
67224 +int
67225 +main ()
67227 + sqrtf(0);
67229 + return 0;
67231 +_ACEOF
67232 +if ac_fn_cxx_try_compile "$LINENO"; then :
67233 + glibcxx_cv_func_sqrtf_use=yes
67234 +else
67235 + glibcxx_cv_func_sqrtf_use=no
67237 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67238 + ac_ext=c
67239 +ac_cpp='$CPP $CPPFLAGS'
67240 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67241 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67242 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67247 + fi
67248 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
67249 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
67251 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
67252 + for ac_func in sqrtf
67253 +do :
67254 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
67255 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
67256 + cat >>confdefs.h <<_ACEOF
67257 +#define HAVE_SQRTF 1
67258 +_ACEOF
67261 +done
67263 + else
67265 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
67266 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
67267 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
67268 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
67269 + $as_echo_n "(cached) " >&6
67270 +else
67273 + ac_ext=cpp
67274 +ac_cpp='$CXXCPP $CPPFLAGS'
67275 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67276 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67277 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67279 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67280 +/* end confdefs.h. */
67281 +#include <math.h>
67282 + #ifdef HAVE_IEEEFP_H
67283 + #include <ieeefp.h>
67284 + #endif
67286 +int
67287 +main ()
67289 + _sqrtf(0);
67291 + return 0;
67293 +_ACEOF
67294 +if ac_fn_cxx_try_compile "$LINENO"; then :
67295 + glibcxx_cv_func__sqrtf_use=yes
67296 +else
67297 + glibcxx_cv_func__sqrtf_use=no
67299 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67300 + ac_ext=c
67301 +ac_cpp='$CPP $CPPFLAGS'
67302 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67303 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67304 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67309 + fi
67310 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
67311 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
67313 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
67314 + for ac_func in _sqrtf
67315 +do :
67316 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
67317 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
67318 + cat >>confdefs.h <<_ACEOF
67319 +#define HAVE__SQRTF 1
67320 +_ACEOF
67323 +done
67325 + fi
67326 + fi
67332 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
67333 +$as_echo_n "checking for sincosf declaration... " >&6; }
67334 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
67335 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
67336 + $as_echo_n "(cached) " >&6
67337 +else
67340 + ac_ext=cpp
67341 +ac_cpp='$CXXCPP $CPPFLAGS'
67342 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67343 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67344 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67346 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67347 +/* end confdefs.h. */
67348 +#include <math.h>
67349 +int
67350 +main ()
67352 + sincosf(0, 0, 0);
67354 + return 0;
67356 +_ACEOF
67357 +if ac_fn_cxx_try_compile "$LINENO"; then :
67358 + glibcxx_cv_func_sincosf_use=yes
67359 +else
67360 + glibcxx_cv_func_sincosf_use=no
67362 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67363 + ac_ext=c
67364 +ac_cpp='$CPP $CPPFLAGS'
67365 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67366 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67367 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67372 + fi
67373 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
67374 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
67376 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
67377 + for ac_func in sincosf
67378 +do :
67379 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
67380 +if test "x$ac_cv_func_sincosf" = x""yes; then :
67381 + cat >>confdefs.h <<_ACEOF
67382 +#define HAVE_SINCOSF 1
67383 +_ACEOF
67386 +done
67388 + else
67390 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
67391 +$as_echo_n "checking for _sincosf declaration... " >&6; }
67392 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
67393 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
67394 + $as_echo_n "(cached) " >&6
67395 +else
67398 + ac_ext=cpp
67399 +ac_cpp='$CXXCPP $CPPFLAGS'
67400 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67401 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67402 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67404 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67405 +/* end confdefs.h. */
67406 +#include <math.h>
67407 +int
67408 +main ()
67410 + _sincosf(0, 0, 0);
67412 + return 0;
67414 +_ACEOF
67415 +if ac_fn_cxx_try_compile "$LINENO"; then :
67416 + glibcxx_cv_func__sincosf_use=yes
67417 +else
67418 + glibcxx_cv_func__sincosf_use=no
67420 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67421 + ac_ext=c
67422 +ac_cpp='$CPP $CPPFLAGS'
67423 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67424 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67425 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67430 + fi
67431 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
67432 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
67434 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
67435 + for ac_func in _sincosf
67436 +do :
67437 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
67438 +if test "x$ac_cv_func__sincosf" = x""yes; then :
67439 + cat >>confdefs.h <<_ACEOF
67440 +#define HAVE__SINCOSF 1
67441 +_ACEOF
67444 +done
67446 + fi
67447 + fi
67453 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
67454 +$as_echo_n "checking for finitef declaration... " >&6; }
67455 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
67456 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
67457 + $as_echo_n "(cached) " >&6
67458 +else
67461 + ac_ext=cpp
67462 +ac_cpp='$CXXCPP $CPPFLAGS'
67463 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67464 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67465 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67467 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67468 +/* end confdefs.h. */
67469 +#include <math.h>
67470 + #ifdef HAVE_IEEEFP_H
67471 + #include <ieeefp.h>
67472 + #endif
67474 +int
67475 +main ()
67477 + finitef(0);
67479 + return 0;
67481 +_ACEOF
67482 +if ac_fn_cxx_try_compile "$LINENO"; then :
67483 + glibcxx_cv_func_finitef_use=yes
67484 +else
67485 + glibcxx_cv_func_finitef_use=no
67487 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67488 + ac_ext=c
67489 +ac_cpp='$CPP $CPPFLAGS'
67490 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67491 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67492 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67497 + fi
67498 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
67499 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
67501 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
67502 + for ac_func in finitef
67503 +do :
67504 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
67505 +if test "x$ac_cv_func_finitef" = x""yes; then :
67506 + cat >>confdefs.h <<_ACEOF
67507 +#define HAVE_FINITEF 1
67508 +_ACEOF
67511 +done
67513 + else
67515 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
67516 +$as_echo_n "checking for _finitef declaration... " >&6; }
67517 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
67518 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
67519 + $as_echo_n "(cached) " >&6
67520 +else
67523 + ac_ext=cpp
67524 +ac_cpp='$CXXCPP $CPPFLAGS'
67525 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67526 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67527 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67529 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67530 +/* end confdefs.h. */
67531 +#include <math.h>
67532 + #ifdef HAVE_IEEEFP_H
67533 + #include <ieeefp.h>
67534 + #endif
67536 +int
67537 +main ()
67539 + _finitef(0);
67541 + return 0;
67543 +_ACEOF
67544 +if ac_fn_cxx_try_compile "$LINENO"; then :
67545 + glibcxx_cv_func__finitef_use=yes
67546 +else
67547 + glibcxx_cv_func__finitef_use=no
67549 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67550 + ac_ext=c
67551 +ac_cpp='$CPP $CPPFLAGS'
67552 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67553 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67554 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67559 + fi
67560 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
67561 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
67563 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
67564 + for ac_func in _finitef
67565 +do :
67566 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
67567 +if test "x$ac_cv_func__finitef" = x""yes; then :
67568 + cat >>confdefs.h <<_ACEOF
67569 +#define HAVE__FINITEF 1
67570 +_ACEOF
67573 +done
67575 + fi
67576 + fi
67582 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
67583 +$as_echo_n "checking for long double trig functions... " >&6; }
67584 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
67585 + $as_echo_n "(cached) " >&6
67586 +else
67589 + ac_ext=cpp
67590 +ac_cpp='$CXXCPP $CPPFLAGS'
67591 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67592 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67593 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67595 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67596 +/* end confdefs.h. */
67597 +#include <math.h>
67598 +int
67599 +main ()
67601 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
67603 + return 0;
67605 +_ACEOF
67606 +if ac_fn_cxx_try_compile "$LINENO"; then :
67607 + glibcxx_cv_func_long_double_trig_use=yes
67608 +else
67609 + glibcxx_cv_func_long_double_trig_use=no
67611 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67612 + ac_ext=c
67613 +ac_cpp='$CPP $CPPFLAGS'
67614 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67615 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67616 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67620 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
67621 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
67622 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
67623 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
67624 +do :
67625 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
67626 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
67627 +eval as_val=\$$as_ac_var
67628 + if test "x$as_val" = x""yes; then :
67629 + cat >>confdefs.h <<_ACEOF
67630 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
67631 +_ACEOF
67634 +done
67636 + else
67637 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
67638 +$as_echo_n "checking for _long double trig functions... " >&6; }
67639 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
67640 + $as_echo_n "(cached) " >&6
67641 +else
67644 + ac_ext=cpp
67645 +ac_cpp='$CXXCPP $CPPFLAGS'
67646 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67647 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67648 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67650 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67651 +/* end confdefs.h. */
67652 +#include <math.h>
67653 +int
67654 +main ()
67656 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
67658 + return 0;
67660 +_ACEOF
67661 +if ac_fn_cxx_try_compile "$LINENO"; then :
67662 + glibcxx_cv_func__long_double_trig_use=yes
67663 +else
67664 + glibcxx_cv_func__long_double_trig_use=no
67666 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67667 + ac_ext=c
67668 +ac_cpp='$CPP $CPPFLAGS'
67669 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67670 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67671 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67675 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
67676 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
67677 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
67678 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
67679 +do :
67680 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
67681 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
67682 +eval as_val=\$$as_ac_var
67683 + if test "x$as_val" = x""yes; then :
67684 + cat >>confdefs.h <<_ACEOF
67685 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
67686 +_ACEOF
67689 +done
67691 + fi
67692 + fi
67698 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
67699 +$as_echo_n "checking for long double round functions... " >&6; }
67700 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
67701 + $as_echo_n "(cached) " >&6
67702 +else
67705 + ac_ext=cpp
67706 +ac_cpp='$CXXCPP $CPPFLAGS'
67707 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67708 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67709 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67711 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67712 +/* end confdefs.h. */
67713 +#include <math.h>
67714 +int
67715 +main ()
67717 +ceill (0); floorl (0);
67719 + return 0;
67721 +_ACEOF
67722 +if ac_fn_cxx_try_compile "$LINENO"; then :
67723 + glibcxx_cv_func_long_double_round_use=yes
67724 +else
67725 + glibcxx_cv_func_long_double_round_use=no
67727 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67728 + ac_ext=c
67729 +ac_cpp='$CPP $CPPFLAGS'
67730 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67731 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67732 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67736 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
67737 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
67738 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
67739 + for ac_func in ceill floorl
67740 +do :
67741 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
67742 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
67743 +eval as_val=\$$as_ac_var
67744 + if test "x$as_val" = x""yes; then :
67745 + cat >>confdefs.h <<_ACEOF
67746 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
67747 +_ACEOF
67750 +done
67752 + else
67753 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
67754 +$as_echo_n "checking for _long double round functions... " >&6; }
67755 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
67756 + $as_echo_n "(cached) " >&6
67757 +else
67760 + ac_ext=cpp
67761 +ac_cpp='$CXXCPP $CPPFLAGS'
67762 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67763 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67764 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67766 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67767 +/* end confdefs.h. */
67768 +#include <math.h>
67769 +int
67770 +main ()
67772 +_ceill (0); _floorl (0);
67774 + return 0;
67776 +_ACEOF
67777 +if ac_fn_cxx_try_compile "$LINENO"; then :
67778 + glibcxx_cv_func__long_double_round_use=yes
67779 +else
67780 + glibcxx_cv_func__long_double_round_use=no
67782 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67783 + ac_ext=c
67784 +ac_cpp='$CPP $CPPFLAGS'
67785 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67786 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67787 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67791 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
67792 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
67793 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
67794 + for ac_func in _ceill _floorl
67795 +do :
67796 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
67797 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
67798 +eval as_val=\$$as_ac_var
67799 + if test "x$as_val" = x""yes; then :
67800 + cat >>confdefs.h <<_ACEOF
67801 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
67802 +_ACEOF
67805 +done
67807 + fi
67808 + fi
67815 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
67816 +$as_echo_n "checking for isnanl declaration... " >&6; }
67817 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
67818 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
67819 + $as_echo_n "(cached) " >&6
67820 +else
67823 + ac_ext=cpp
67824 +ac_cpp='$CXXCPP $CPPFLAGS'
67825 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67826 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67827 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67829 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67830 +/* end confdefs.h. */
67831 +#include <math.h>
67832 + #ifdef HAVE_IEEEFP_H
67833 + #include <ieeefp.h>
67834 + #endif
67836 +int
67837 +main ()
67839 + isnanl(0);
67841 + return 0;
67843 +_ACEOF
67844 +if ac_fn_cxx_try_compile "$LINENO"; then :
67845 + glibcxx_cv_func_isnanl_use=yes
67846 +else
67847 + glibcxx_cv_func_isnanl_use=no
67849 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67850 + ac_ext=c
67851 +ac_cpp='$CPP $CPPFLAGS'
67852 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67853 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67854 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67859 + fi
67860 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
67861 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
67863 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
67864 + for ac_func in isnanl
67865 +do :
67866 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
67867 +if test "x$ac_cv_func_isnanl" = x""yes; then :
67868 + cat >>confdefs.h <<_ACEOF
67869 +#define HAVE_ISNANL 1
67870 +_ACEOF
67873 +done
67875 + else
67877 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
67878 +$as_echo_n "checking for _isnanl declaration... " >&6; }
67879 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
67880 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
67881 + $as_echo_n "(cached) " >&6
67882 +else
67885 + ac_ext=cpp
67886 +ac_cpp='$CXXCPP $CPPFLAGS'
67887 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67888 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67889 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67891 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67892 +/* end confdefs.h. */
67893 +#include <math.h>
67894 + #ifdef HAVE_IEEEFP_H
67895 + #include <ieeefp.h>
67896 + #endif
67898 +int
67899 +main ()
67901 + _isnanl(0);
67903 + return 0;
67905 +_ACEOF
67906 +if ac_fn_cxx_try_compile "$LINENO"; then :
67907 + glibcxx_cv_func__isnanl_use=yes
67908 +else
67909 + glibcxx_cv_func__isnanl_use=no
67911 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67912 + ac_ext=c
67913 +ac_cpp='$CPP $CPPFLAGS'
67914 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67915 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67916 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67921 + fi
67922 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
67923 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
67925 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
67926 + for ac_func in _isnanl
67927 +do :
67928 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
67929 +if test "x$ac_cv_func__isnanl" = x""yes; then :
67930 + cat >>confdefs.h <<_ACEOF
67931 +#define HAVE__ISNANL 1
67932 +_ACEOF
67935 +done
67937 + fi
67938 + fi
67944 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
67945 +$as_echo_n "checking for isinfl declaration... " >&6; }
67946 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
67947 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
67948 + $as_echo_n "(cached) " >&6
67949 +else
67952 + ac_ext=cpp
67953 +ac_cpp='$CXXCPP $CPPFLAGS'
67954 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67955 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67956 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
67958 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
67959 +/* end confdefs.h. */
67960 +#include <math.h>
67961 + #ifdef HAVE_IEEEFP_H
67962 + #include <ieeefp.h>
67963 + #endif
67965 +int
67966 +main ()
67968 + isinfl(0);
67970 + return 0;
67972 +_ACEOF
67973 +if ac_fn_cxx_try_compile "$LINENO"; then :
67974 + glibcxx_cv_func_isinfl_use=yes
67975 +else
67976 + glibcxx_cv_func_isinfl_use=no
67978 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
67979 + ac_ext=c
67980 +ac_cpp='$CPP $CPPFLAGS'
67981 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
67982 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
67983 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
67988 + fi
67989 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
67990 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
67992 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
67993 + for ac_func in isinfl
67994 +do :
67995 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
67996 +if test "x$ac_cv_func_isinfl" = x""yes; then :
67997 + cat >>confdefs.h <<_ACEOF
67998 +#define HAVE_ISINFL 1
67999 +_ACEOF
68002 +done
68004 + else
68006 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
68007 +$as_echo_n "checking for _isinfl declaration... " >&6; }
68008 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
68009 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
68010 + $as_echo_n "(cached) " >&6
68011 +else
68014 + ac_ext=cpp
68015 +ac_cpp='$CXXCPP $CPPFLAGS'
68016 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68017 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68018 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68020 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68021 +/* end confdefs.h. */
68022 +#include <math.h>
68023 + #ifdef HAVE_IEEEFP_H
68024 + #include <ieeefp.h>
68025 + #endif
68027 +int
68028 +main ()
68030 + _isinfl(0);
68032 + return 0;
68034 +_ACEOF
68035 +if ac_fn_cxx_try_compile "$LINENO"; then :
68036 + glibcxx_cv_func__isinfl_use=yes
68037 +else
68038 + glibcxx_cv_func__isinfl_use=no
68040 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68041 + ac_ext=c
68042 +ac_cpp='$CPP $CPPFLAGS'
68043 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68044 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68045 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68050 + fi
68051 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
68052 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
68054 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
68055 + for ac_func in _isinfl
68056 +do :
68057 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
68058 +if test "x$ac_cv_func__isinfl" = x""yes; then :
68059 + cat >>confdefs.h <<_ACEOF
68060 +#define HAVE__ISINFL 1
68061 +_ACEOF
68064 +done
68066 + fi
68067 + fi
68073 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
68074 +$as_echo_n "checking for atan2l declaration... " >&6; }
68075 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
68076 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
68077 + $as_echo_n "(cached) " >&6
68078 +else
68081 + ac_ext=cpp
68082 +ac_cpp='$CXXCPP $CPPFLAGS'
68083 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68084 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68085 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68087 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68088 +/* end confdefs.h. */
68089 +#include <math.h>
68090 +int
68091 +main ()
68093 + atan2l(0, 0);
68095 + return 0;
68097 +_ACEOF
68098 +if ac_fn_cxx_try_compile "$LINENO"; then :
68099 + glibcxx_cv_func_atan2l_use=yes
68100 +else
68101 + glibcxx_cv_func_atan2l_use=no
68103 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68104 + ac_ext=c
68105 +ac_cpp='$CPP $CPPFLAGS'
68106 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68107 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68108 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68113 + fi
68114 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
68115 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
68117 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
68118 + for ac_func in atan2l
68119 +do :
68120 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
68121 +if test "x$ac_cv_func_atan2l" = x""yes; then :
68122 + cat >>confdefs.h <<_ACEOF
68123 +#define HAVE_ATAN2L 1
68124 +_ACEOF
68127 +done
68129 + else
68131 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
68132 +$as_echo_n "checking for _atan2l declaration... " >&6; }
68133 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
68134 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
68135 + $as_echo_n "(cached) " >&6
68136 +else
68139 + ac_ext=cpp
68140 +ac_cpp='$CXXCPP $CPPFLAGS'
68141 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68142 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68143 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68145 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68146 +/* end confdefs.h. */
68147 +#include <math.h>
68148 +int
68149 +main ()
68151 + _atan2l(0, 0);
68153 + return 0;
68155 +_ACEOF
68156 +if ac_fn_cxx_try_compile "$LINENO"; then :
68157 + glibcxx_cv_func__atan2l_use=yes
68158 +else
68159 + glibcxx_cv_func__atan2l_use=no
68161 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68162 + ac_ext=c
68163 +ac_cpp='$CPP $CPPFLAGS'
68164 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68165 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68166 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68171 + fi
68172 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
68173 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
68175 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
68176 + for ac_func in _atan2l
68177 +do :
68178 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
68179 +if test "x$ac_cv_func__atan2l" = x""yes; then :
68180 + cat >>confdefs.h <<_ACEOF
68181 +#define HAVE__ATAN2L 1
68182 +_ACEOF
68185 +done
68187 + fi
68188 + fi
68194 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
68195 +$as_echo_n "checking for expl declaration... " >&6; }
68196 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
68197 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
68198 + $as_echo_n "(cached) " >&6
68199 +else
68202 + ac_ext=cpp
68203 +ac_cpp='$CXXCPP $CPPFLAGS'
68204 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68205 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68206 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68208 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68209 +/* end confdefs.h. */
68210 +#include <math.h>
68211 + #ifdef HAVE_IEEEFP_H
68212 + #include <ieeefp.h>
68213 + #endif
68215 +int
68216 +main ()
68218 + expl(0);
68220 + return 0;
68222 +_ACEOF
68223 +if ac_fn_cxx_try_compile "$LINENO"; then :
68224 + glibcxx_cv_func_expl_use=yes
68225 +else
68226 + glibcxx_cv_func_expl_use=no
68228 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68229 + ac_ext=c
68230 +ac_cpp='$CPP $CPPFLAGS'
68231 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68232 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68233 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68238 + fi
68239 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
68240 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
68242 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
68243 + for ac_func in expl
68244 +do :
68245 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
68246 +if test "x$ac_cv_func_expl" = x""yes; then :
68247 + cat >>confdefs.h <<_ACEOF
68248 +#define HAVE_EXPL 1
68249 +_ACEOF
68252 +done
68254 + else
68256 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
68257 +$as_echo_n "checking for _expl declaration... " >&6; }
68258 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
68259 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
68260 + $as_echo_n "(cached) " >&6
68261 +else
68264 + ac_ext=cpp
68265 +ac_cpp='$CXXCPP $CPPFLAGS'
68266 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68267 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68268 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68270 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68271 +/* end confdefs.h. */
68272 +#include <math.h>
68273 + #ifdef HAVE_IEEEFP_H
68274 + #include <ieeefp.h>
68275 + #endif
68277 +int
68278 +main ()
68280 + _expl(0);
68282 + return 0;
68284 +_ACEOF
68285 +if ac_fn_cxx_try_compile "$LINENO"; then :
68286 + glibcxx_cv_func__expl_use=yes
68287 +else
68288 + glibcxx_cv_func__expl_use=no
68290 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68291 + ac_ext=c
68292 +ac_cpp='$CPP $CPPFLAGS'
68293 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68294 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68295 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68300 + fi
68301 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
68302 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
68304 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
68305 + for ac_func in _expl
68306 +do :
68307 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
68308 +if test "x$ac_cv_func__expl" = x""yes; then :
68309 + cat >>confdefs.h <<_ACEOF
68310 +#define HAVE__EXPL 1
68311 +_ACEOF
68314 +done
68316 + fi
68317 + fi
68323 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
68324 +$as_echo_n "checking for fabsl declaration... " >&6; }
68325 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
68326 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
68327 + $as_echo_n "(cached) " >&6
68328 +else
68331 + ac_ext=cpp
68332 +ac_cpp='$CXXCPP $CPPFLAGS'
68333 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68334 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68335 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68337 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68338 +/* end confdefs.h. */
68339 +#include <math.h>
68340 + #ifdef HAVE_IEEEFP_H
68341 + #include <ieeefp.h>
68342 + #endif
68344 +int
68345 +main ()
68347 + fabsl(0);
68349 + return 0;
68351 +_ACEOF
68352 +if ac_fn_cxx_try_compile "$LINENO"; then :
68353 + glibcxx_cv_func_fabsl_use=yes
68354 +else
68355 + glibcxx_cv_func_fabsl_use=no
68357 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68358 + ac_ext=c
68359 +ac_cpp='$CPP $CPPFLAGS'
68360 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68361 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68362 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68367 + fi
68368 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
68369 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
68371 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
68372 + for ac_func in fabsl
68373 +do :
68374 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
68375 +if test "x$ac_cv_func_fabsl" = x""yes; then :
68376 + cat >>confdefs.h <<_ACEOF
68377 +#define HAVE_FABSL 1
68378 +_ACEOF
68381 +done
68383 + else
68385 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
68386 +$as_echo_n "checking for _fabsl declaration... " >&6; }
68387 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
68388 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
68389 + $as_echo_n "(cached) " >&6
68390 +else
68393 + ac_ext=cpp
68394 +ac_cpp='$CXXCPP $CPPFLAGS'
68395 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68396 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68397 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68399 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68400 +/* end confdefs.h. */
68401 +#include <math.h>
68402 + #ifdef HAVE_IEEEFP_H
68403 + #include <ieeefp.h>
68404 + #endif
68406 +int
68407 +main ()
68409 + _fabsl(0);
68411 + return 0;
68413 +_ACEOF
68414 +if ac_fn_cxx_try_compile "$LINENO"; then :
68415 + glibcxx_cv_func__fabsl_use=yes
68416 +else
68417 + glibcxx_cv_func__fabsl_use=no
68419 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68420 + ac_ext=c
68421 +ac_cpp='$CPP $CPPFLAGS'
68422 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68423 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68424 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68429 + fi
68430 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
68431 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
68433 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
68434 + for ac_func in _fabsl
68435 +do :
68436 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
68437 +if test "x$ac_cv_func__fabsl" = x""yes; then :
68438 + cat >>confdefs.h <<_ACEOF
68439 +#define HAVE__FABSL 1
68440 +_ACEOF
68443 +done
68445 + fi
68446 + fi
68452 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
68453 +$as_echo_n "checking for fmodl declaration... " >&6; }
68454 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
68455 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
68456 + $as_echo_n "(cached) " >&6
68457 +else
68460 + ac_ext=cpp
68461 +ac_cpp='$CXXCPP $CPPFLAGS'
68462 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68463 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68464 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68466 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68467 +/* end confdefs.h. */
68468 +#include <math.h>
68469 +int
68470 +main ()
68472 + fmodl(0, 0);
68474 + return 0;
68476 +_ACEOF
68477 +if ac_fn_cxx_try_compile "$LINENO"; then :
68478 + glibcxx_cv_func_fmodl_use=yes
68479 +else
68480 + glibcxx_cv_func_fmodl_use=no
68482 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68483 + ac_ext=c
68484 +ac_cpp='$CPP $CPPFLAGS'
68485 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68486 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68487 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68492 + fi
68493 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
68494 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
68496 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
68497 + for ac_func in fmodl
68498 +do :
68499 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
68500 +if test "x$ac_cv_func_fmodl" = x""yes; then :
68501 + cat >>confdefs.h <<_ACEOF
68502 +#define HAVE_FMODL 1
68503 +_ACEOF
68506 +done
68508 + else
68510 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
68511 +$as_echo_n "checking for _fmodl declaration... " >&6; }
68512 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
68513 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
68514 + $as_echo_n "(cached) " >&6
68515 +else
68518 + ac_ext=cpp
68519 +ac_cpp='$CXXCPP $CPPFLAGS'
68520 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68521 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68522 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68524 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68525 +/* end confdefs.h. */
68526 +#include <math.h>
68527 +int
68528 +main ()
68530 + _fmodl(0, 0);
68532 + return 0;
68534 +_ACEOF
68535 +if ac_fn_cxx_try_compile "$LINENO"; then :
68536 + glibcxx_cv_func__fmodl_use=yes
68537 +else
68538 + glibcxx_cv_func__fmodl_use=no
68540 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68541 + ac_ext=c
68542 +ac_cpp='$CPP $CPPFLAGS'
68543 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68544 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68545 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68550 + fi
68551 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
68552 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
68554 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
68555 + for ac_func in _fmodl
68556 +do :
68557 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
68558 +if test "x$ac_cv_func__fmodl" = x""yes; then :
68559 + cat >>confdefs.h <<_ACEOF
68560 +#define HAVE__FMODL 1
68561 +_ACEOF
68564 +done
68566 + fi
68567 + fi
68573 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
68574 +$as_echo_n "checking for frexpl declaration... " >&6; }
68575 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
68576 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
68577 + $as_echo_n "(cached) " >&6
68578 +else
68581 + ac_ext=cpp
68582 +ac_cpp='$CXXCPP $CPPFLAGS'
68583 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68584 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68585 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68587 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68588 +/* end confdefs.h. */
68589 +#include <math.h>
68590 +int
68591 +main ()
68593 + frexpl(0, 0);
68595 + return 0;
68597 +_ACEOF
68598 +if ac_fn_cxx_try_compile "$LINENO"; then :
68599 + glibcxx_cv_func_frexpl_use=yes
68600 +else
68601 + glibcxx_cv_func_frexpl_use=no
68603 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68604 + ac_ext=c
68605 +ac_cpp='$CPP $CPPFLAGS'
68606 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68607 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68608 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68613 + fi
68614 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
68615 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
68617 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
68618 + for ac_func in frexpl
68619 +do :
68620 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
68621 +if test "x$ac_cv_func_frexpl" = x""yes; then :
68622 + cat >>confdefs.h <<_ACEOF
68623 +#define HAVE_FREXPL 1
68624 +_ACEOF
68627 +done
68629 + else
68631 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
68632 +$as_echo_n "checking for _frexpl declaration... " >&6; }
68633 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
68634 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
68635 + $as_echo_n "(cached) " >&6
68636 +else
68639 + ac_ext=cpp
68640 +ac_cpp='$CXXCPP $CPPFLAGS'
68641 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68642 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68643 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68645 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68646 +/* end confdefs.h. */
68647 +#include <math.h>
68648 +int
68649 +main ()
68651 + _frexpl(0, 0);
68653 + return 0;
68655 +_ACEOF
68656 +if ac_fn_cxx_try_compile "$LINENO"; then :
68657 + glibcxx_cv_func__frexpl_use=yes
68658 +else
68659 + glibcxx_cv_func__frexpl_use=no
68661 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68662 + ac_ext=c
68663 +ac_cpp='$CPP $CPPFLAGS'
68664 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68665 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68666 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68671 + fi
68672 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
68673 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
68675 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
68676 + for ac_func in _frexpl
68677 +do :
68678 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
68679 +if test "x$ac_cv_func__frexpl" = x""yes; then :
68680 + cat >>confdefs.h <<_ACEOF
68681 +#define HAVE__FREXPL 1
68682 +_ACEOF
68685 +done
68687 + fi
68688 + fi
68694 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
68695 +$as_echo_n "checking for hypotl declaration... " >&6; }
68696 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
68697 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
68698 + $as_echo_n "(cached) " >&6
68699 +else
68702 + ac_ext=cpp
68703 +ac_cpp='$CXXCPP $CPPFLAGS'
68704 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68705 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68706 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68708 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68709 +/* end confdefs.h. */
68710 +#include <math.h>
68711 +int
68712 +main ()
68714 + hypotl(0, 0);
68716 + return 0;
68718 +_ACEOF
68719 +if ac_fn_cxx_try_compile "$LINENO"; then :
68720 + glibcxx_cv_func_hypotl_use=yes
68721 +else
68722 + glibcxx_cv_func_hypotl_use=no
68724 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68725 + ac_ext=c
68726 +ac_cpp='$CPP $CPPFLAGS'
68727 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68728 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68729 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68734 + fi
68735 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
68736 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
68738 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
68739 + for ac_func in hypotl
68740 +do :
68741 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
68742 +if test "x$ac_cv_func_hypotl" = x""yes; then :
68743 + cat >>confdefs.h <<_ACEOF
68744 +#define HAVE_HYPOTL 1
68745 +_ACEOF
68748 +done
68750 + else
68752 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
68753 +$as_echo_n "checking for _hypotl declaration... " >&6; }
68754 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
68755 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
68756 + $as_echo_n "(cached) " >&6
68757 +else
68760 + ac_ext=cpp
68761 +ac_cpp='$CXXCPP $CPPFLAGS'
68762 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68763 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68764 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68766 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68767 +/* end confdefs.h. */
68768 +#include <math.h>
68769 +int
68770 +main ()
68772 + _hypotl(0, 0);
68774 + return 0;
68776 +_ACEOF
68777 +if ac_fn_cxx_try_compile "$LINENO"; then :
68778 + glibcxx_cv_func__hypotl_use=yes
68779 +else
68780 + glibcxx_cv_func__hypotl_use=no
68782 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68783 + ac_ext=c
68784 +ac_cpp='$CPP $CPPFLAGS'
68785 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68786 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68787 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68792 + fi
68793 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
68794 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
68796 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
68797 + for ac_func in _hypotl
68798 +do :
68799 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
68800 +if test "x$ac_cv_func__hypotl" = x""yes; then :
68801 + cat >>confdefs.h <<_ACEOF
68802 +#define HAVE__HYPOTL 1
68803 +_ACEOF
68806 +done
68808 + fi
68809 + fi
68815 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
68816 +$as_echo_n "checking for ldexpl declaration... " >&6; }
68817 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
68818 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
68819 + $as_echo_n "(cached) " >&6
68820 +else
68823 + ac_ext=cpp
68824 +ac_cpp='$CXXCPP $CPPFLAGS'
68825 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68826 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68827 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68829 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68830 +/* end confdefs.h. */
68831 +#include <math.h>
68832 +int
68833 +main ()
68835 + ldexpl(0, 0);
68837 + return 0;
68839 +_ACEOF
68840 +if ac_fn_cxx_try_compile "$LINENO"; then :
68841 + glibcxx_cv_func_ldexpl_use=yes
68842 +else
68843 + glibcxx_cv_func_ldexpl_use=no
68845 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68846 + ac_ext=c
68847 +ac_cpp='$CPP $CPPFLAGS'
68848 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68849 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68850 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68855 + fi
68856 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
68857 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
68859 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
68860 + for ac_func in ldexpl
68861 +do :
68862 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
68863 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
68864 + cat >>confdefs.h <<_ACEOF
68865 +#define HAVE_LDEXPL 1
68866 +_ACEOF
68869 +done
68871 + else
68873 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
68874 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
68875 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
68876 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
68877 + $as_echo_n "(cached) " >&6
68878 +else
68881 + ac_ext=cpp
68882 +ac_cpp='$CXXCPP $CPPFLAGS'
68883 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68884 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68885 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68887 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68888 +/* end confdefs.h. */
68889 +#include <math.h>
68890 +int
68891 +main ()
68893 + _ldexpl(0, 0);
68895 + return 0;
68897 +_ACEOF
68898 +if ac_fn_cxx_try_compile "$LINENO"; then :
68899 + glibcxx_cv_func__ldexpl_use=yes
68900 +else
68901 + glibcxx_cv_func__ldexpl_use=no
68903 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68904 + ac_ext=c
68905 +ac_cpp='$CPP $CPPFLAGS'
68906 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68907 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68908 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68913 + fi
68914 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
68915 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
68917 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
68918 + for ac_func in _ldexpl
68919 +do :
68920 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
68921 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
68922 + cat >>confdefs.h <<_ACEOF
68923 +#define HAVE__LDEXPL 1
68924 +_ACEOF
68927 +done
68929 + fi
68930 + fi
68936 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
68937 +$as_echo_n "checking for logl declaration... " >&6; }
68938 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
68939 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
68940 + $as_echo_n "(cached) " >&6
68941 +else
68944 + ac_ext=cpp
68945 +ac_cpp='$CXXCPP $CPPFLAGS'
68946 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68947 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68948 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
68950 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
68951 +/* end confdefs.h. */
68952 +#include <math.h>
68953 + #ifdef HAVE_IEEEFP_H
68954 + #include <ieeefp.h>
68955 + #endif
68957 +int
68958 +main ()
68960 + logl(0);
68962 + return 0;
68964 +_ACEOF
68965 +if ac_fn_cxx_try_compile "$LINENO"; then :
68966 + glibcxx_cv_func_logl_use=yes
68967 +else
68968 + glibcxx_cv_func_logl_use=no
68970 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
68971 + ac_ext=c
68972 +ac_cpp='$CPP $CPPFLAGS'
68973 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
68974 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
68975 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
68980 + fi
68981 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
68982 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
68984 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
68985 + for ac_func in logl
68986 +do :
68987 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
68988 +if test "x$ac_cv_func_logl" = x""yes; then :
68989 + cat >>confdefs.h <<_ACEOF
68990 +#define HAVE_LOGL 1
68991 +_ACEOF
68994 +done
68996 + else
68998 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
68999 +$as_echo_n "checking for _logl declaration... " >&6; }
69000 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
69001 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
69002 + $as_echo_n "(cached) " >&6
69003 +else
69006 + ac_ext=cpp
69007 +ac_cpp='$CXXCPP $CPPFLAGS'
69008 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69009 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69010 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69012 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69013 +/* end confdefs.h. */
69014 +#include <math.h>
69015 + #ifdef HAVE_IEEEFP_H
69016 + #include <ieeefp.h>
69017 + #endif
69019 +int
69020 +main ()
69022 + _logl(0);
69024 + return 0;
69026 +_ACEOF
69027 +if ac_fn_cxx_try_compile "$LINENO"; then :
69028 + glibcxx_cv_func__logl_use=yes
69029 +else
69030 + glibcxx_cv_func__logl_use=no
69032 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69033 + ac_ext=c
69034 +ac_cpp='$CPP $CPPFLAGS'
69035 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69036 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69037 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69042 + fi
69043 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
69044 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
69046 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
69047 + for ac_func in _logl
69048 +do :
69049 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
69050 +if test "x$ac_cv_func__logl" = x""yes; then :
69051 + cat >>confdefs.h <<_ACEOF
69052 +#define HAVE__LOGL 1
69053 +_ACEOF
69056 +done
69058 + fi
69059 + fi
69065 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
69066 +$as_echo_n "checking for log10l declaration... " >&6; }
69067 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
69068 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
69069 + $as_echo_n "(cached) " >&6
69070 +else
69073 + ac_ext=cpp
69074 +ac_cpp='$CXXCPP $CPPFLAGS'
69075 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69076 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69077 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69079 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69080 +/* end confdefs.h. */
69081 +#include <math.h>
69082 + #ifdef HAVE_IEEEFP_H
69083 + #include <ieeefp.h>
69084 + #endif
69086 +int
69087 +main ()
69089 + log10l(0);
69091 + return 0;
69093 +_ACEOF
69094 +if ac_fn_cxx_try_compile "$LINENO"; then :
69095 + glibcxx_cv_func_log10l_use=yes
69096 +else
69097 + glibcxx_cv_func_log10l_use=no
69099 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69100 + ac_ext=c
69101 +ac_cpp='$CPP $CPPFLAGS'
69102 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69103 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69104 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69109 + fi
69110 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
69111 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
69113 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
69114 + for ac_func in log10l
69115 +do :
69116 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
69117 +if test "x$ac_cv_func_log10l" = x""yes; then :
69118 + cat >>confdefs.h <<_ACEOF
69119 +#define HAVE_LOG10L 1
69120 +_ACEOF
69123 +done
69125 + else
69127 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
69128 +$as_echo_n "checking for _log10l declaration... " >&6; }
69129 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
69130 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
69131 + $as_echo_n "(cached) " >&6
69132 +else
69135 + ac_ext=cpp
69136 +ac_cpp='$CXXCPP $CPPFLAGS'
69137 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69138 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69139 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69141 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69142 +/* end confdefs.h. */
69143 +#include <math.h>
69144 + #ifdef HAVE_IEEEFP_H
69145 + #include <ieeefp.h>
69146 + #endif
69148 +int
69149 +main ()
69151 + _log10l(0);
69153 + return 0;
69155 +_ACEOF
69156 +if ac_fn_cxx_try_compile "$LINENO"; then :
69157 + glibcxx_cv_func__log10l_use=yes
69158 +else
69159 + glibcxx_cv_func__log10l_use=no
69161 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69162 + ac_ext=c
69163 +ac_cpp='$CPP $CPPFLAGS'
69164 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69165 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69166 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69171 + fi
69172 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
69173 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
69175 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
69176 + for ac_func in _log10l
69177 +do :
69178 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
69179 +if test "x$ac_cv_func__log10l" = x""yes; then :
69180 + cat >>confdefs.h <<_ACEOF
69181 +#define HAVE__LOG10L 1
69182 +_ACEOF
69185 +done
69187 + fi
69188 + fi
69194 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
69195 +$as_echo_n "checking for modfl declaration... " >&6; }
69196 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
69197 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
69198 + $as_echo_n "(cached) " >&6
69199 +else
69202 + ac_ext=cpp
69203 +ac_cpp='$CXXCPP $CPPFLAGS'
69204 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69205 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69206 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69208 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69209 +/* end confdefs.h. */
69210 +#include <math.h>
69211 +int
69212 +main ()
69214 + modfl(0, 0);
69216 + return 0;
69218 +_ACEOF
69219 +if ac_fn_cxx_try_compile "$LINENO"; then :
69220 + glibcxx_cv_func_modfl_use=yes
69221 +else
69222 + glibcxx_cv_func_modfl_use=no
69224 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69225 + ac_ext=c
69226 +ac_cpp='$CPP $CPPFLAGS'
69227 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69228 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69229 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69234 + fi
69235 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
69236 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
69238 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
69239 + for ac_func in modfl
69240 +do :
69241 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
69242 +if test "x$ac_cv_func_modfl" = x""yes; then :
69243 + cat >>confdefs.h <<_ACEOF
69244 +#define HAVE_MODFL 1
69245 +_ACEOF
69248 +done
69250 + else
69252 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
69253 +$as_echo_n "checking for _modfl declaration... " >&6; }
69254 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
69255 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
69256 + $as_echo_n "(cached) " >&6
69257 +else
69260 + ac_ext=cpp
69261 +ac_cpp='$CXXCPP $CPPFLAGS'
69262 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69263 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69264 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69266 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69267 +/* end confdefs.h. */
69268 +#include <math.h>
69269 +int
69270 +main ()
69272 + _modfl(0, 0);
69274 + return 0;
69276 +_ACEOF
69277 +if ac_fn_cxx_try_compile "$LINENO"; then :
69278 + glibcxx_cv_func__modfl_use=yes
69279 +else
69280 + glibcxx_cv_func__modfl_use=no
69282 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69283 + ac_ext=c
69284 +ac_cpp='$CPP $CPPFLAGS'
69285 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69286 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69287 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69292 + fi
69293 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
69294 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
69296 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
69297 + for ac_func in _modfl
69298 +do :
69299 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
69300 +if test "x$ac_cv_func__modfl" = x""yes; then :
69301 + cat >>confdefs.h <<_ACEOF
69302 +#define HAVE__MODFL 1
69303 +_ACEOF
69306 +done
69308 + fi
69309 + fi
69315 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
69316 +$as_echo_n "checking for powl declaration... " >&6; }
69317 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
69318 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
69319 + $as_echo_n "(cached) " >&6
69320 +else
69323 + ac_ext=cpp
69324 +ac_cpp='$CXXCPP $CPPFLAGS'
69325 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69326 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69327 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69329 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69330 +/* end confdefs.h. */
69331 +#include <math.h>
69332 +int
69333 +main ()
69335 + powl(0, 0);
69337 + return 0;
69339 +_ACEOF
69340 +if ac_fn_cxx_try_compile "$LINENO"; then :
69341 + glibcxx_cv_func_powl_use=yes
69342 +else
69343 + glibcxx_cv_func_powl_use=no
69345 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69346 + ac_ext=c
69347 +ac_cpp='$CPP $CPPFLAGS'
69348 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69349 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69350 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69355 + fi
69356 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
69357 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
69359 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
69360 + for ac_func in powl
69361 +do :
69362 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
69363 +if test "x$ac_cv_func_powl" = x""yes; then :
69364 + cat >>confdefs.h <<_ACEOF
69365 +#define HAVE_POWL 1
69366 +_ACEOF
69369 +done
69371 + else
69373 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
69374 +$as_echo_n "checking for _powl declaration... " >&6; }
69375 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
69376 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
69377 + $as_echo_n "(cached) " >&6
69378 +else
69381 + ac_ext=cpp
69382 +ac_cpp='$CXXCPP $CPPFLAGS'
69383 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69384 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69385 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69387 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69388 +/* end confdefs.h. */
69389 +#include <math.h>
69390 +int
69391 +main ()
69393 + _powl(0, 0);
69395 + return 0;
69397 +_ACEOF
69398 +if ac_fn_cxx_try_compile "$LINENO"; then :
69399 + glibcxx_cv_func__powl_use=yes
69400 +else
69401 + glibcxx_cv_func__powl_use=no
69403 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69404 + ac_ext=c
69405 +ac_cpp='$CPP $CPPFLAGS'
69406 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69407 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69408 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69413 + fi
69414 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
69415 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
69417 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
69418 + for ac_func in _powl
69419 +do :
69420 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
69421 +if test "x$ac_cv_func__powl" = x""yes; then :
69422 + cat >>confdefs.h <<_ACEOF
69423 +#define HAVE__POWL 1
69424 +_ACEOF
69427 +done
69429 + fi
69430 + fi
69436 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
69437 +$as_echo_n "checking for sqrtl declaration... " >&6; }
69438 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
69439 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
69440 + $as_echo_n "(cached) " >&6
69441 +else
69444 + ac_ext=cpp
69445 +ac_cpp='$CXXCPP $CPPFLAGS'
69446 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69447 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69448 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69450 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69451 +/* end confdefs.h. */
69452 +#include <math.h>
69453 + #ifdef HAVE_IEEEFP_H
69454 + #include <ieeefp.h>
69455 + #endif
69457 +int
69458 +main ()
69460 + sqrtl(0);
69462 + return 0;
69464 +_ACEOF
69465 +if ac_fn_cxx_try_compile "$LINENO"; then :
69466 + glibcxx_cv_func_sqrtl_use=yes
69467 +else
69468 + glibcxx_cv_func_sqrtl_use=no
69470 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69471 + ac_ext=c
69472 +ac_cpp='$CPP $CPPFLAGS'
69473 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69474 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69475 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69480 + fi
69481 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
69482 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
69484 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
69485 + for ac_func in sqrtl
69486 +do :
69487 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
69488 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
69489 + cat >>confdefs.h <<_ACEOF
69490 +#define HAVE_SQRTL 1
69491 +_ACEOF
69494 +done
69496 + else
69498 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
69499 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
69500 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
69501 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
69502 + $as_echo_n "(cached) " >&6
69503 +else
69506 + ac_ext=cpp
69507 +ac_cpp='$CXXCPP $CPPFLAGS'
69508 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69509 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69510 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69512 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69513 +/* end confdefs.h. */
69514 +#include <math.h>
69515 + #ifdef HAVE_IEEEFP_H
69516 + #include <ieeefp.h>
69517 + #endif
69519 +int
69520 +main ()
69522 + _sqrtl(0);
69524 + return 0;
69526 +_ACEOF
69527 +if ac_fn_cxx_try_compile "$LINENO"; then :
69528 + glibcxx_cv_func__sqrtl_use=yes
69529 +else
69530 + glibcxx_cv_func__sqrtl_use=no
69532 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69533 + ac_ext=c
69534 +ac_cpp='$CPP $CPPFLAGS'
69535 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69536 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69537 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69542 + fi
69543 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
69544 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
69546 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
69547 + for ac_func in _sqrtl
69548 +do :
69549 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
69550 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
69551 + cat >>confdefs.h <<_ACEOF
69552 +#define HAVE__SQRTL 1
69553 +_ACEOF
69556 +done
69558 + fi
69559 + fi
69565 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
69566 +$as_echo_n "checking for sincosl declaration... " >&6; }
69567 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
69568 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
69569 + $as_echo_n "(cached) " >&6
69570 +else
69573 + ac_ext=cpp
69574 +ac_cpp='$CXXCPP $CPPFLAGS'
69575 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69576 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69577 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69579 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69580 +/* end confdefs.h. */
69581 +#include <math.h>
69582 +int
69583 +main ()
69585 + sincosl(0, 0, 0);
69587 + return 0;
69589 +_ACEOF
69590 +if ac_fn_cxx_try_compile "$LINENO"; then :
69591 + glibcxx_cv_func_sincosl_use=yes
69592 +else
69593 + glibcxx_cv_func_sincosl_use=no
69595 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69596 + ac_ext=c
69597 +ac_cpp='$CPP $CPPFLAGS'
69598 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69599 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69600 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69605 + fi
69606 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
69607 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
69609 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
69610 + for ac_func in sincosl
69611 +do :
69612 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
69613 +if test "x$ac_cv_func_sincosl" = x""yes; then :
69614 + cat >>confdefs.h <<_ACEOF
69615 +#define HAVE_SINCOSL 1
69616 +_ACEOF
69619 +done
69621 + else
69623 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
69624 +$as_echo_n "checking for _sincosl declaration... " >&6; }
69625 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
69626 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
69627 + $as_echo_n "(cached) " >&6
69628 +else
69631 + ac_ext=cpp
69632 +ac_cpp='$CXXCPP $CPPFLAGS'
69633 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69634 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69635 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69637 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69638 +/* end confdefs.h. */
69639 +#include <math.h>
69640 +int
69641 +main ()
69643 + _sincosl(0, 0, 0);
69645 + return 0;
69647 +_ACEOF
69648 +if ac_fn_cxx_try_compile "$LINENO"; then :
69649 + glibcxx_cv_func__sincosl_use=yes
69650 +else
69651 + glibcxx_cv_func__sincosl_use=no
69653 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69654 + ac_ext=c
69655 +ac_cpp='$CPP $CPPFLAGS'
69656 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69657 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69658 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69663 + fi
69664 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
69665 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
69667 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
69668 + for ac_func in _sincosl
69669 +do :
69670 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
69671 +if test "x$ac_cv_func__sincosl" = x""yes; then :
69672 + cat >>confdefs.h <<_ACEOF
69673 +#define HAVE__SINCOSL 1
69674 +_ACEOF
69677 +done
69679 + fi
69680 + fi
69686 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
69687 +$as_echo_n "checking for finitel declaration... " >&6; }
69688 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
69689 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
69690 + $as_echo_n "(cached) " >&6
69691 +else
69694 + ac_ext=cpp
69695 +ac_cpp='$CXXCPP $CPPFLAGS'
69696 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69697 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69698 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69700 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69701 +/* end confdefs.h. */
69702 +#include <math.h>
69703 + #ifdef HAVE_IEEEFP_H
69704 + #include <ieeefp.h>
69705 + #endif
69707 +int
69708 +main ()
69710 + finitel(0);
69712 + return 0;
69714 +_ACEOF
69715 +if ac_fn_cxx_try_compile "$LINENO"; then :
69716 + glibcxx_cv_func_finitel_use=yes
69717 +else
69718 + glibcxx_cv_func_finitel_use=no
69720 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69721 + ac_ext=c
69722 +ac_cpp='$CPP $CPPFLAGS'
69723 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69724 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69725 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69730 + fi
69731 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
69732 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
69734 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
69735 + for ac_func in finitel
69736 +do :
69737 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
69738 +if test "x$ac_cv_func_finitel" = x""yes; then :
69739 + cat >>confdefs.h <<_ACEOF
69740 +#define HAVE_FINITEL 1
69741 +_ACEOF
69744 +done
69746 + else
69748 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
69749 +$as_echo_n "checking for _finitel declaration... " >&6; }
69750 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
69751 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
69752 + $as_echo_n "(cached) " >&6
69753 +else
69756 + ac_ext=cpp
69757 +ac_cpp='$CXXCPP $CPPFLAGS'
69758 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69759 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69760 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69762 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69763 +/* end confdefs.h. */
69764 +#include <math.h>
69765 + #ifdef HAVE_IEEEFP_H
69766 + #include <ieeefp.h>
69767 + #endif
69769 +int
69770 +main ()
69772 + _finitel(0);
69774 + return 0;
69776 +_ACEOF
69777 +if ac_fn_cxx_try_compile "$LINENO"; then :
69778 + glibcxx_cv_func__finitel_use=yes
69779 +else
69780 + glibcxx_cv_func__finitel_use=no
69782 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69783 + ac_ext=c
69784 +ac_cpp='$CPP $CPPFLAGS'
69785 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69786 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69787 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69792 + fi
69793 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
69794 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
69796 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
69797 + for ac_func in _finitel
69798 +do :
69799 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
69800 +if test "x$ac_cv_func__finitel" = x""yes; then :
69801 + cat >>confdefs.h <<_ACEOF
69802 +#define HAVE__FINITEL 1
69803 +_ACEOF
69806 +done
69808 + fi
69809 + fi
69814 + LIBS="$ac_save_LIBS"
69815 + CXXFLAGS="$ac_save_CXXFLAGS"
69818 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
69819 + ac_save_CXXFLAGS="$CXXFLAGS"
69820 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
69823 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
69824 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
69825 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
69826 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
69827 + $as_echo_n "(cached) " >&6
69828 +else
69831 + ac_ext=cpp
69832 +ac_cpp='$CXXCPP $CPPFLAGS'
69833 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69834 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69835 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69837 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69838 +/* end confdefs.h. */
69839 +#include <stdlib.h>
69840 +int
69841 +main ()
69843 + at_quick_exit(0);
69845 + return 0;
69847 +_ACEOF
69848 +if ac_fn_cxx_try_compile "$LINENO"; then :
69849 + glibcxx_cv_func_at_quick_exit_use=yes
69850 +else
69851 + glibcxx_cv_func_at_quick_exit_use=no
69853 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69854 + ac_ext=c
69855 +ac_cpp='$CPP $CPPFLAGS'
69856 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69857 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69858 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69863 + fi
69864 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
69865 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
69866 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
69867 + for ac_func in at_quick_exit
69868 +do :
69869 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
69870 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
69871 + cat >>confdefs.h <<_ACEOF
69872 +#define HAVE_AT_QUICK_EXIT 1
69873 +_ACEOF
69876 +done
69878 + fi
69881 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
69882 +$as_echo_n "checking for quick_exit declaration... " >&6; }
69883 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
69884 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
69885 + $as_echo_n "(cached) " >&6
69886 +else
69889 + ac_ext=cpp
69890 +ac_cpp='$CXXCPP $CPPFLAGS'
69891 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69892 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69893 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69895 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69896 +/* end confdefs.h. */
69897 +#include <stdlib.h>
69898 +int
69899 +main ()
69901 + quick_exit(0);
69903 + return 0;
69905 +_ACEOF
69906 +if ac_fn_cxx_try_compile "$LINENO"; then :
69907 + glibcxx_cv_func_quick_exit_use=yes
69908 +else
69909 + glibcxx_cv_func_quick_exit_use=no
69911 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69912 + ac_ext=c
69913 +ac_cpp='$CPP $CPPFLAGS'
69914 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69915 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69916 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69921 + fi
69922 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
69923 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
69924 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
69925 + for ac_func in quick_exit
69926 +do :
69927 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
69928 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
69929 + cat >>confdefs.h <<_ACEOF
69930 +#define HAVE_QUICK_EXIT 1
69931 +_ACEOF
69934 +done
69936 + fi
69939 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
69940 +$as_echo_n "checking for strtold declaration... " >&6; }
69941 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
69942 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
69943 + $as_echo_n "(cached) " >&6
69944 +else
69947 + ac_ext=cpp
69948 +ac_cpp='$CXXCPP $CPPFLAGS'
69949 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69950 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69951 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
69953 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
69954 +/* end confdefs.h. */
69955 +#include <stdlib.h>
69956 +int
69957 +main ()
69959 + strtold(0, 0);
69961 + return 0;
69963 +_ACEOF
69964 +if ac_fn_cxx_try_compile "$LINENO"; then :
69965 + glibcxx_cv_func_strtold_use=yes
69966 +else
69967 + glibcxx_cv_func_strtold_use=no
69969 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
69970 + ac_ext=c
69971 +ac_cpp='$CPP $CPPFLAGS'
69972 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
69973 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
69974 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
69979 + fi
69980 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
69981 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
69982 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
69983 + for ac_func in strtold
69984 +do :
69985 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
69986 +if test "x$ac_cv_func_strtold" = x""yes; then :
69987 + cat >>confdefs.h <<_ACEOF
69988 +#define HAVE_STRTOLD 1
69989 +_ACEOF
69992 +done
69994 + fi
69999 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
70000 +$as_echo_n "checking for strtof declaration... " >&6; }
70001 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
70002 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
70003 + $as_echo_n "(cached) " >&6
70004 +else
70007 + ac_ext=cpp
70008 +ac_cpp='$CXXCPP $CPPFLAGS'
70009 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
70010 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
70011 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
70013 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70014 +/* end confdefs.h. */
70015 +#include <stdlib.h>
70016 +int
70017 +main ()
70019 + strtof(0, 0);
70021 + return 0;
70023 +_ACEOF
70024 +if ac_fn_cxx_try_compile "$LINENO"; then :
70025 + glibcxx_cv_func_strtof_use=yes
70026 +else
70027 + glibcxx_cv_func_strtof_use=no
70029 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
70030 + ac_ext=c
70031 +ac_cpp='$CPP $CPPFLAGS'
70032 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
70033 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
70034 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
70039 + fi
70040 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
70041 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
70042 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
70043 + for ac_func in strtof
70044 +do :
70045 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
70046 +if test "x$ac_cv_func_strtof" = x""yes; then :
70047 + cat >>confdefs.h <<_ACEOF
70048 +#define HAVE_STRTOF 1
70049 +_ACEOF
70052 +done
70054 + fi
70059 + CXXFLAGS="$ac_save_CXXFLAGS"
70062 + # For /dev/random and /dev/urandom for TR1.
70065 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/random\" and \"/dev/urandom\" for TR1 random_device" >&5
70066 +$as_echo_n "checking for \"/dev/random\" and \"/dev/urandom\" for TR1 random_device... " >&6; }
70067 + if test "${glibcxx_cv_random_tr1+set}" = set; then :
70068 + $as_echo_n "(cached) " >&6
70069 +else
70071 + if test -r /dev/random && test -r /dev/urandom; then
70072 + ## For MSys environment the test above is detect as false-positive
70073 + ## on mingw-targets. So disable it explicit for them.
70074 + case ${target_os} in
70075 + *mingw*) glibcxx_cv_random_tr1=no ;;
70076 + *) glibcxx_cv_random_tr1=yes ;;
70077 + esac
70078 + else
70079 + glibcxx_cv_random_tr1=no;
70080 + fi
70084 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_random_tr1" >&5
70085 +$as_echo "$glibcxx_cv_random_tr1" >&6; }
70087 + if test x"$glibcxx_cv_random_tr1" = x"yes"; then
70089 +$as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
70091 + fi
70095 + # For TLS support.
70098 + # Check whether --enable-tls was given.
70099 +if test "${enable_tls+set}" = set; then :
70100 + enableval=$enable_tls;
70101 + case "$enableval" in
70102 + yes|no) ;;
70103 + *) as_fn_error "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
70104 + esac
70106 +else
70107 + enable_tls=yes
70111 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
70112 +$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
70113 +if test "${gcc_cv_have_tls+set}" = set; then :
70114 + $as_echo_n "(cached) " >&6
70115 +else
70117 + if test "$cross_compiling" = yes; then :
70118 + if test x$gcc_no_link = xyes; then
70119 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70121 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70122 +/* end confdefs.h. */
70123 +__thread int a; int b; int main() { return a = b; }
70124 +_ACEOF
70125 +if ac_fn_c_try_link "$LINENO"; then :
70126 + chktls_save_LDFLAGS="$LDFLAGS"
70127 + case $host in
70128 + *-*-linux*)
70129 + LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
70130 + ;;
70131 + esac
70132 + chktls_save_CFLAGS="$CFLAGS"
70133 + CFLAGS="-fPIC $CFLAGS"
70134 + if test x$gcc_no_link = xyes; then
70135 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70137 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70138 +/* end confdefs.h. */
70139 +int f() { return 0; }
70140 +_ACEOF
70141 +if ac_fn_c_try_link "$LINENO"; then :
70142 + if test x$gcc_no_link = xyes; then
70143 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70145 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70146 +/* end confdefs.h. */
70147 +__thread int a; int b; int f() { return a = b; }
70148 +_ACEOF
70149 +if ac_fn_c_try_link "$LINENO"; then :
70150 + gcc_cv_have_tls=yes
70151 +else
70152 + gcc_cv_have_tls=no
70154 +rm -f core conftest.err conftest.$ac_objext \
70155 + conftest$ac_exeext conftest.$ac_ext
70156 +else
70157 + gcc_cv_have_tls=yes
70159 +rm -f core conftest.err conftest.$ac_objext \
70160 + conftest$ac_exeext conftest.$ac_ext
70161 + CFLAGS="$chktls_save_CFLAGS"
70162 + LDFLAGS="$chktls_save_LDFLAGS"
70163 +else
70164 + gcc_cv_have_tls=no
70166 +rm -f core conftest.err conftest.$ac_objext \
70167 + conftest$ac_exeext conftest.$ac_ext
70170 +else
70171 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70172 +/* end confdefs.h. */
70173 +__thread int a; int b; int main() { return a = b; }
70174 +_ACEOF
70175 +if ac_fn_c_try_run "$LINENO"; then :
70176 + chktls_save_LDFLAGS="$LDFLAGS"
70177 + LDFLAGS="-static $LDFLAGS"
70178 + if test x$gcc_no_link = xyes; then
70179 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70181 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70182 +/* end confdefs.h. */
70183 +int main() { return 0; }
70184 +_ACEOF
70185 +if ac_fn_c_try_link "$LINENO"; then :
70186 + if test "$cross_compiling" = yes; then :
70187 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
70188 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
70189 +as_fn_error "cannot run test program while cross compiling
70190 +See \`config.log' for more details." "$LINENO" 5; }
70191 +else
70192 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70193 +/* end confdefs.h. */
70194 +__thread int a; int b; int main() { return a = b; }
70195 +_ACEOF
70196 +if ac_fn_c_try_run "$LINENO"; then :
70197 + gcc_cv_have_tls=yes
70198 +else
70199 + gcc_cv_have_tls=no
70201 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
70202 + conftest.$ac_objext conftest.beam conftest.$ac_ext
70205 +else
70206 + gcc_cv_have_tls=yes
70208 +rm -f core conftest.err conftest.$ac_objext \
70209 + conftest$ac_exeext conftest.$ac_ext
70210 + LDFLAGS="$chktls_save_LDFLAGS"
70211 + if test $gcc_cv_have_tls = yes; then
70212 + chktls_save_CFLAGS="$CFLAGS"
70213 + thread_CFLAGS=failed
70214 + for flag in '' '-pthread' '-lpthread'; do
70215 + CFLAGS="$flag $chktls_save_CFLAGS"
70216 + if test x$gcc_no_link = xyes; then
70217 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70219 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70220 +/* end confdefs.h. */
70221 +#include <pthread.h>
70222 + void *g(void *d) { return NULL; }
70223 +int
70224 +main ()
70226 +pthread_t t; pthread_create(&t,NULL,g,NULL);
70228 + return 0;
70230 +_ACEOF
70231 +if ac_fn_c_try_link "$LINENO"; then :
70232 + thread_CFLAGS="$flag"
70234 +rm -f core conftest.err conftest.$ac_objext \
70235 + conftest$ac_exeext conftest.$ac_ext
70236 + if test "X$thread_CFLAGS" != Xfailed; then
70237 + break
70238 + fi
70239 + done
70240 + CFLAGS="$chktls_save_CFLAGS"
70241 + if test "X$thread_CFLAGS" != Xfailed; then
70242 + CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
70243 + if test "$cross_compiling" = yes; then :
70244 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
70245 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
70246 +as_fn_error "cannot run test program while cross compiling
70247 +See \`config.log' for more details." "$LINENO" 5; }
70248 +else
70249 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70250 +/* end confdefs.h. */
70251 +#include <pthread.h>
70252 + __thread int a;
70253 + static int *volatile a_in_other_thread;
70254 + static void *
70255 + thread_func (void *arg)
70257 + a_in_other_thread = &a;
70258 + return (void *)0;
70260 +int
70261 +main ()
70263 +pthread_t thread;
70264 + void *thread_retval;
70265 + int *volatile a_in_main_thread;
70266 + a_in_main_thread = &a;
70267 + if (pthread_create (&thread, (pthread_attr_t *)0,
70268 + thread_func, (void *)0))
70269 + return 0;
70270 + if (pthread_join (thread, &thread_retval))
70271 + return 0;
70272 + return (a_in_other_thread == a_in_main_thread);
70274 + return 0;
70276 +_ACEOF
70277 +if ac_fn_c_try_run "$LINENO"; then :
70278 + gcc_cv_have_tls=yes
70279 +else
70280 + gcc_cv_have_tls=no
70282 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
70283 + conftest.$ac_objext conftest.beam conftest.$ac_ext
70286 + CFLAGS="$chktls_save_CFLAGS"
70287 + fi
70288 + fi
70289 +else
70290 + gcc_cv_have_tls=no
70292 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
70293 + conftest.$ac_objext conftest.beam conftest.$ac_ext
70297 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
70298 +$as_echo "$gcc_cv_have_tls" >&6; }
70299 + if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
70301 +$as_echo "#define HAVE_TLS 1" >>confdefs.h
70303 + fi
70305 + for ac_func in __cxa_thread_atexit_impl
70306 +do :
70307 + ac_fn_c_check_func "$LINENO" "__cxa_thread_atexit_impl" "ac_cv_func___cxa_thread_atexit_impl"
70308 +if test "x$ac_cv_func___cxa_thread_atexit_impl" = x""yes; then :
70309 + cat >>confdefs.h <<_ACEOF
70310 +#define HAVE___CXA_THREAD_ATEXIT_IMPL 1
70311 +_ACEOF
70314 +done
70317 + # For iconv support.
70319 + if test "X$prefix" = "XNONE"; then
70320 + acl_final_prefix="$ac_default_prefix"
70321 + else
70322 + acl_final_prefix="$prefix"
70323 + fi
70324 + if test "X$exec_prefix" = "XNONE"; then
70325 + acl_final_exec_prefix='${prefix}'
70326 + else
70327 + acl_final_exec_prefix="$exec_prefix"
70328 + fi
70329 + acl_save_prefix="$prefix"
70330 + prefix="$acl_final_prefix"
70331 + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
70332 + prefix="$acl_save_prefix"
70335 +# Check whether --with-gnu-ld was given.
70336 +if test "${with_gnu_ld+set}" = set; then :
70337 + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
70338 +else
70339 + with_gnu_ld=no
70342 +# Prepare PATH_SEPARATOR.
70343 +# The user is always right.
70344 +if test "${PATH_SEPARATOR+set}" != set; then
70345 + echo "#! /bin/sh" >conf$$.sh
70346 + echo "exit 0" >>conf$$.sh
70347 + chmod +x conf$$.sh
70348 + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
70349 + PATH_SEPARATOR=';'
70350 + else
70351 + PATH_SEPARATOR=:
70352 + fi
70353 + rm -f conf$$.sh
70355 +ac_prog=ld
70356 +if test "$GCC" = yes; then
70357 + # Check if gcc -print-prog-name=ld gives a path.
70358 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
70359 +$as_echo_n "checking for ld used by GCC... " >&6; }
70360 + case $host in
70361 + *-*-mingw*)
70362 + # gcc leaves a trailing carriage return which upsets mingw
70363 + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
70364 + *)
70365 + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
70366 + esac
70367 + case $ac_prog in
70368 + # Accept absolute paths.
70369 + [\\/]* | [A-Za-z]:[\\/]*)
70370 + re_direlt='/[^/][^/]*/\.\./'
70371 + # Canonicalize the path of ld
70372 + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
70373 + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
70374 + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
70375 + done
70376 + test -z "$LD" && LD="$ac_prog"
70377 + ;;
70378 + "")
70379 + # If it fails, then pretend we aren't using GCC.
70380 + ac_prog=ld
70381 + ;;
70382 + *)
70383 + # If it is relative, then search for the first ld in PATH.
70384 + with_gnu_ld=unknown
70385 + ;;
70386 + esac
70387 +elif test "$with_gnu_ld" = yes; then
70388 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
70389 +$as_echo_n "checking for GNU ld... " >&6; }
70390 +else
70391 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
70392 +$as_echo_n "checking for non-GNU ld... " >&6; }
70394 +if test "${acl_cv_path_LD+set}" = set; then :
70395 + $as_echo_n "(cached) " >&6
70396 +else
70397 + if test -z "$LD"; then
70398 + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
70399 + for ac_dir in $PATH; do
70400 + test -z "$ac_dir" && ac_dir=.
70401 + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
70402 + acl_cv_path_LD="$ac_dir/$ac_prog"
70403 + # Check to see if the program is GNU ld. I'd rather use --version,
70404 + # but apparently some GNU ld's only accept -v.
70405 + # Break only if it was the GNU/non-GNU ld that we prefer.
70406 + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
70407 + test "$with_gnu_ld" != no && break
70408 + else
70409 + test "$with_gnu_ld" != yes && break
70410 + fi
70411 + fi
70412 + done
70413 + IFS="$ac_save_ifs"
70414 +else
70415 + acl_cv_path_LD="$LD" # Let the user override the test with a path.
70419 +LD="$acl_cv_path_LD"
70420 +if test -n "$LD"; then
70421 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
70422 +$as_echo "$LD" >&6; }
70423 +else
70424 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
70425 +$as_echo "no" >&6; }
70427 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
70428 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
70429 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
70430 +if test "${acl_cv_prog_gnu_ld+set}" = set; then :
70431 + $as_echo_n "(cached) " >&6
70432 +else
70433 + # I'd rather use --version here, but apparently some GNU ld's only accept -v.
70434 +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
70435 + acl_cv_prog_gnu_ld=yes
70436 +else
70437 + acl_cv_prog_gnu_ld=no
70440 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
70441 +$as_echo "$acl_cv_prog_gnu_ld" >&6; }
70442 +with_gnu_ld=$acl_cv_prog_gnu_ld
70446 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
70447 +$as_echo_n "checking for shared library run path origin... " >&6; }
70448 +if test "${acl_cv_rpath+set}" = set; then :
70449 + $as_echo_n "(cached) " >&6
70450 +else
70452 + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
70453 + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
70454 + . ./conftest.sh
70455 + rm -f ./conftest.sh
70456 + acl_cv_rpath=done
70459 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
70460 +$as_echo "$acl_cv_rpath" >&6; }
70461 + wl="$acl_cv_wl"
70462 + libext="$acl_cv_libext"
70463 + shlibext="$acl_cv_shlibext"
70464 + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
70465 + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
70466 + hardcode_direct="$acl_cv_hardcode_direct"
70467 + hardcode_minus_L="$acl_cv_hardcode_minus_L"
70468 + # Check whether --enable-rpath was given.
70469 +if test "${enable_rpath+set}" = set; then :
70470 + enableval=$enable_rpath; :
70471 +else
70472 + enable_rpath=yes
70482 + use_additional=yes
70484 + acl_save_prefix="$prefix"
70485 + prefix="$acl_final_prefix"
70486 + acl_save_exec_prefix="$exec_prefix"
70487 + exec_prefix="$acl_final_exec_prefix"
70489 + eval additional_includedir=\"$includedir\"
70490 + eval additional_libdir=\"$libdir\"
70492 + exec_prefix="$acl_save_exec_prefix"
70493 + prefix="$acl_save_prefix"
70496 +# Check whether --with-libiconv-prefix was given.
70497 +if test "${with_libiconv_prefix+set}" = set; then :
70498 + withval=$with_libiconv_prefix;
70499 + if test "X$withval" = "Xno"; then
70500 + use_additional=no
70501 + else
70502 + if test "X$withval" = "X"; then
70504 + acl_save_prefix="$prefix"
70505 + prefix="$acl_final_prefix"
70506 + acl_save_exec_prefix="$exec_prefix"
70507 + exec_prefix="$acl_final_exec_prefix"
70509 + eval additional_includedir=\"$includedir\"
70510 + eval additional_libdir=\"$libdir\"
70512 + exec_prefix="$acl_save_exec_prefix"
70513 + prefix="$acl_save_prefix"
70515 + else
70516 + additional_includedir="$withval/include"
70517 + additional_libdir="$withval/lib"
70518 + fi
70519 + fi
70523 + LIBICONV=
70524 + LTLIBICONV=
70525 + INCICONV=
70526 + rpathdirs=
70527 + ltrpathdirs=
70528 + names_already_handled=
70529 + names_next_round='iconv '
70530 + while test -n "$names_next_round"; do
70531 + names_this_round="$names_next_round"
70532 + names_next_round=
70533 + for name in $names_this_round; do
70534 + already_handled=
70535 + for n in $names_already_handled; do
70536 + if test "$n" = "$name"; then
70537 + already_handled=yes
70538 + break
70539 + fi
70540 + done
70541 + if test -z "$already_handled"; then
70542 + names_already_handled="$names_already_handled $name"
70543 + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
70544 + eval value=\"\$HAVE_LIB$uppername\"
70545 + if test -n "$value"; then
70546 + if test "$value" = yes; then
70547 + eval value=\"\$LIB$uppername\"
70548 + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
70549 + eval value=\"\$LTLIB$uppername\"
70550 + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
70551 + else
70553 + fi
70554 + else
70555 + found_dir=
70556 + found_la=
70557 + found_so=
70558 + found_a=
70559 + if test $use_additional = yes; then
70560 + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
70561 + found_dir="$additional_libdir"
70562 + found_so="$additional_libdir/lib$name.$shlibext"
70563 + if test -f "$additional_libdir/lib$name.la"; then
70564 + found_la="$additional_libdir/lib$name.la"
70565 + fi
70566 + else
70567 + if test -f "$additional_libdir/lib$name.$libext"; then
70568 + found_dir="$additional_libdir"
70569 + found_a="$additional_libdir/lib$name.$libext"
70570 + if test -f "$additional_libdir/lib$name.la"; then
70571 + found_la="$additional_libdir/lib$name.la"
70572 + fi
70573 + fi
70574 + fi
70575 + fi
70576 + if test "X$found_dir" = "X"; then
70577 + for x in $LDFLAGS $LTLIBICONV; do
70579 + acl_save_prefix="$prefix"
70580 + prefix="$acl_final_prefix"
70581 + acl_save_exec_prefix="$exec_prefix"
70582 + exec_prefix="$acl_final_exec_prefix"
70583 + eval x=\"$x\"
70584 + exec_prefix="$acl_save_exec_prefix"
70585 + prefix="$acl_save_prefix"
70587 + case "$x" in
70588 + -L*)
70589 + dir=`echo "X$x" | sed -e 's/^X-L//'`
70590 + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
70591 + found_dir="$dir"
70592 + found_so="$dir/lib$name.$shlibext"
70593 + if test -f "$dir/lib$name.la"; then
70594 + found_la="$dir/lib$name.la"
70595 + fi
70596 + else
70597 + if test -f "$dir/lib$name.$libext"; then
70598 + found_dir="$dir"
70599 + found_a="$dir/lib$name.$libext"
70600 + if test -f "$dir/lib$name.la"; then
70601 + found_la="$dir/lib$name.la"
70602 + fi
70603 + fi
70604 + fi
70605 + ;;
70606 + esac
70607 + if test "X$found_dir" != "X"; then
70608 + break
70609 + fi
70610 + done
70611 + fi
70612 + if test "X$found_dir" != "X"; then
70613 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
70614 + if test "X$found_so" != "X"; then
70615 + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
70616 + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
70617 + else
70618 + haveit=
70619 + for x in $ltrpathdirs; do
70620 + if test "X$x" = "X$found_dir"; then
70621 + haveit=yes
70622 + break
70623 + fi
70624 + done
70625 + if test -z "$haveit"; then
70626 + ltrpathdirs="$ltrpathdirs $found_dir"
70627 + fi
70628 + if test "$hardcode_direct" = yes; then
70629 + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
70630 + else
70631 + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
70632 + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
70633 + haveit=
70634 + for x in $rpathdirs; do
70635 + if test "X$x" = "X$found_dir"; then
70636 + haveit=yes
70637 + break
70638 + fi
70639 + done
70640 + if test -z "$haveit"; then
70641 + rpathdirs="$rpathdirs $found_dir"
70642 + fi
70643 + else
70644 + haveit=
70645 + for x in $LDFLAGS $LIBICONV; do
70647 + acl_save_prefix="$prefix"
70648 + prefix="$acl_final_prefix"
70649 + acl_save_exec_prefix="$exec_prefix"
70650 + exec_prefix="$acl_final_exec_prefix"
70651 + eval x=\"$x\"
70652 + exec_prefix="$acl_save_exec_prefix"
70653 + prefix="$acl_save_prefix"
70655 + if test "X$x" = "X-L$found_dir"; then
70656 + haveit=yes
70657 + break
70658 + fi
70659 + done
70660 + if test -z "$haveit"; then
70661 + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
70662 + fi
70663 + if test "$hardcode_minus_L" != no; then
70664 + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
70665 + else
70666 + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
70667 + fi
70668 + fi
70669 + fi
70670 + fi
70671 + else
70672 + if test "X$found_a" != "X"; then
70673 + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
70674 + else
70675 + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
70676 + fi
70677 + fi
70678 + additional_includedir=
70679 + case "$found_dir" in
70680 + */lib | */lib/)
70681 + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
70682 + additional_includedir="$basedir/include"
70683 + ;;
70684 + esac
70685 + if test "X$additional_includedir" != "X"; then
70686 + if test "X$additional_includedir" != "X/usr/include"; then
70687 + haveit=
70688 + if test "X$additional_includedir" = "X/usr/local/include"; then
70689 + if test -n "$GCC"; then
70690 + case $host_os in
70691 + linux*) haveit=yes;;
70692 + esac
70693 + fi
70694 + fi
70695 + if test -z "$haveit"; then
70696 + for x in $CPPFLAGS $INCICONV; do
70698 + acl_save_prefix="$prefix"
70699 + prefix="$acl_final_prefix"
70700 + acl_save_exec_prefix="$exec_prefix"
70701 + exec_prefix="$acl_final_exec_prefix"
70702 + eval x=\"$x\"
70703 + exec_prefix="$acl_save_exec_prefix"
70704 + prefix="$acl_save_prefix"
70706 + if test "X$x" = "X-I$additional_includedir"; then
70707 + haveit=yes
70708 + break
70709 + fi
70710 + done
70711 + if test -z "$haveit"; then
70712 + if test -d "$additional_includedir"; then
70713 + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
70714 + fi
70715 + fi
70716 + fi
70717 + fi
70718 + fi
70719 + if test -n "$found_la"; then
70720 + save_libdir="$libdir"
70721 + case "$found_la" in
70722 + */* | *\\*) . "$found_la" ;;
70723 + *) . "./$found_la" ;;
70724 + esac
70725 + libdir="$save_libdir"
70726 + for dep in $dependency_libs; do
70727 + case "$dep" in
70728 + -L*)
70729 + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
70730 + if test "X$additional_libdir" != "X/usr/lib"; then
70731 + haveit=
70732 + if test "X$additional_libdir" = "X/usr/local/lib"; then
70733 + if test -n "$GCC"; then
70734 + case $host_os in
70735 + linux*) haveit=yes;;
70736 + esac
70737 + fi
70738 + fi
70739 + if test -z "$haveit"; then
70740 + haveit=
70741 + for x in $LDFLAGS $LIBICONV; do
70743 + acl_save_prefix="$prefix"
70744 + prefix="$acl_final_prefix"
70745 + acl_save_exec_prefix="$exec_prefix"
70746 + exec_prefix="$acl_final_exec_prefix"
70747 + eval x=\"$x\"
70748 + exec_prefix="$acl_save_exec_prefix"
70749 + prefix="$acl_save_prefix"
70751 + if test "X$x" = "X-L$additional_libdir"; then
70752 + haveit=yes
70753 + break
70754 + fi
70755 + done
70756 + if test -z "$haveit"; then
70757 + if test -d "$additional_libdir"; then
70758 + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
70759 + fi
70760 + fi
70761 + haveit=
70762 + for x in $LDFLAGS $LTLIBICONV; do
70764 + acl_save_prefix="$prefix"
70765 + prefix="$acl_final_prefix"
70766 + acl_save_exec_prefix="$exec_prefix"
70767 + exec_prefix="$acl_final_exec_prefix"
70768 + eval x=\"$x\"
70769 + exec_prefix="$acl_save_exec_prefix"
70770 + prefix="$acl_save_prefix"
70772 + if test "X$x" = "X-L$additional_libdir"; then
70773 + haveit=yes
70774 + break
70775 + fi
70776 + done
70777 + if test -z "$haveit"; then
70778 + if test -d "$additional_libdir"; then
70779 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
70780 + fi
70781 + fi
70782 + fi
70783 + fi
70784 + ;;
70785 + -R*)
70786 + dir=`echo "X$dep" | sed -e 's/^X-R//'`
70787 + if test "$enable_rpath" != no; then
70788 + haveit=
70789 + for x in $rpathdirs; do
70790 + if test "X$x" = "X$dir"; then
70791 + haveit=yes
70792 + break
70793 + fi
70794 + done
70795 + if test -z "$haveit"; then
70796 + rpathdirs="$rpathdirs $dir"
70797 + fi
70798 + haveit=
70799 + for x in $ltrpathdirs; do
70800 + if test "X$x" = "X$dir"; then
70801 + haveit=yes
70802 + break
70803 + fi
70804 + done
70805 + if test -z "$haveit"; then
70806 + ltrpathdirs="$ltrpathdirs $dir"
70807 + fi
70808 + fi
70809 + ;;
70810 + -l*)
70811 + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
70812 + ;;
70813 + *.la)
70814 + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
70815 + ;;
70816 + *)
70817 + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
70818 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
70819 + ;;
70820 + esac
70821 + done
70822 + fi
70823 + else
70824 + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
70825 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
70826 + fi
70827 + fi
70828 + fi
70829 + done
70830 + done
70831 + if test "X$rpathdirs" != "X"; then
70832 + if test -n "$hardcode_libdir_separator"; then
70833 + alldirs=
70834 + for found_dir in $rpathdirs; do
70835 + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
70836 + done
70837 + acl_save_libdir="$libdir"
70838 + libdir="$alldirs"
70839 + eval flag=\"$hardcode_libdir_flag_spec\"
70840 + libdir="$acl_save_libdir"
70841 + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
70842 + else
70843 + for found_dir in $rpathdirs; do
70844 + acl_save_libdir="$libdir"
70845 + libdir="$found_dir"
70846 + eval flag=\"$hardcode_libdir_flag_spec\"
70847 + libdir="$acl_save_libdir"
70848 + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
70849 + done
70850 + fi
70851 + fi
70852 + if test "X$ltrpathdirs" != "X"; then
70853 + for found_dir in $ltrpathdirs; do
70854 + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
70855 + done
70856 + fi
70864 + am_save_CPPFLAGS="$CPPFLAGS"
70866 + for element in $INCICONV; do
70867 + haveit=
70868 + for x in $CPPFLAGS; do
70870 + acl_save_prefix="$prefix"
70871 + prefix="$acl_final_prefix"
70872 + acl_save_exec_prefix="$exec_prefix"
70873 + exec_prefix="$acl_final_exec_prefix"
70874 + eval x=\"$x\"
70875 + exec_prefix="$acl_save_exec_prefix"
70876 + prefix="$acl_save_prefix"
70878 + if test "X$x" = "X$element"; then
70879 + haveit=yes
70880 + break
70881 + fi
70882 + done
70883 + if test -z "$haveit"; then
70884 + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
70885 + fi
70886 + done
70889 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
70890 +$as_echo_n "checking for iconv... " >&6; }
70891 +if test "${am_cv_func_iconv+set}" = set; then :
70892 + $as_echo_n "(cached) " >&6
70893 +else
70895 + am_cv_func_iconv="no, consider installing GNU libiconv"
70896 + am_cv_lib_iconv=no
70897 + if test x$gcc_no_link = xyes; then
70898 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70900 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70901 +/* end confdefs.h. */
70902 +#include <stdlib.h>
70903 +#include <iconv.h>
70904 +int
70905 +main ()
70907 +iconv_t cd = iconv_open("","");
70908 + iconv(cd,NULL,NULL,NULL,NULL);
70909 + iconv_close(cd);
70911 + return 0;
70913 +_ACEOF
70914 +if ac_fn_c_try_link "$LINENO"; then :
70915 + am_cv_func_iconv=yes
70917 +rm -f core conftest.err conftest.$ac_objext \
70918 + conftest$ac_exeext conftest.$ac_ext
70919 + if test "$am_cv_func_iconv" != yes; then
70920 + am_save_LIBS="$LIBS"
70921 + LIBS="$LIBS $LIBICONV"
70922 + if test x$gcc_no_link = xyes; then
70923 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
70925 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70926 +/* end confdefs.h. */
70927 +#include <stdlib.h>
70928 +#include <iconv.h>
70929 +int
70930 +main ()
70932 +iconv_t cd = iconv_open("","");
70933 + iconv(cd,NULL,NULL,NULL,NULL);
70934 + iconv_close(cd);
70936 + return 0;
70938 +_ACEOF
70939 +if ac_fn_c_try_link "$LINENO"; then :
70940 + am_cv_lib_iconv=yes
70941 + am_cv_func_iconv=yes
70943 +rm -f core conftest.err conftest.$ac_objext \
70944 + conftest$ac_exeext conftest.$ac_ext
70945 + LIBS="$am_save_LIBS"
70946 + fi
70949 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
70950 +$as_echo "$am_cv_func_iconv" >&6; }
70951 + if test "$am_cv_func_iconv" = yes; then
70953 +$as_echo "#define HAVE_ICONV 1" >>confdefs.h
70955 + fi
70956 + if test "$am_cv_lib_iconv" = yes; then
70957 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
70958 +$as_echo_n "checking how to link with libiconv... " >&6; }
70959 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
70960 +$as_echo "$LIBICONV" >&6; }
70961 + else
70962 + CPPFLAGS="$am_save_CPPFLAGS"
70963 + LIBICONV=
70964 + LTLIBICONV=
70965 + fi
70969 + if test "$am_cv_func_iconv" = yes; then
70970 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
70971 +$as_echo_n "checking for iconv declaration... " >&6; }
70972 + if test "${am_cv_proto_iconv+set}" = set; then :
70973 + $as_echo_n "(cached) " >&6
70974 +else
70976 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
70977 +/* end confdefs.h. */
70979 +#include <stdlib.h>
70980 +#include <iconv.h>
70981 +extern
70982 +#ifdef __cplusplus
70983 +"C"
70984 +#endif
70985 +#if defined(__STDC__) || defined(__cplusplus)
70986 +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
70987 +#else
70988 +size_t iconv();
70989 +#endif
70991 +int
70992 +main ()
70996 + return 0;
70998 +_ACEOF
70999 +if ac_fn_c_try_compile "$LINENO"; then :
71000 + am_cv_proto_iconv_arg1=""
71001 +else
71002 + am_cv_proto_iconv_arg1="const"
71004 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71005 + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
71008 + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
71009 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
71010 + }$am_cv_proto_iconv" >&5
71011 +$as_echo "${ac_t:-
71012 + }$am_cv_proto_iconv" >&6; }
71014 +cat >>confdefs.h <<_ACEOF
71015 +#define ICONV_CONST $am_cv_proto_iconv_arg1
71016 +_ACEOF
71018 + fi
71021 +else
71023 + # This lets us hard-code the functionality we know we'll have in the cross
71024 + # target environment. "Let" is a sugar-coated word placed on an especially
71025 + # dull and tedious hack, actually.
71027 + # Here's why GLIBCXX_CHECK_MATH_SUPPORT, and other autoconf macros
71028 + # that involve linking, can't be used:
71029 + # "cannot open sim-crt0.o"
71030 + # "cannot open crt0.o"
71031 + # etc. All this is because there currently exists no unified, consistent
71032 + # way for top level CC information to be passed down to target directories:
71033 + # newlib includes, newlib linking info, libgloss versus newlib crt0.o, etc.
71034 + # When all of that is done, all of this hokey, excessive AC_DEFINE junk for
71035 + # crosses can be removed.
71037 + # If Canadian cross, then don't pick up tools from the build directory.
71038 + # Used only in GLIBCXX_EXPORT_INCLUDES.
71039 + if test -n "$with_cross_host" &&
71040 + test x"$build_alias" != x"$with_cross_host" &&
71041 + test x"$build" != x"$target";
71042 + then
71043 + CANADIAN=yes
71044 + else
71045 + CANADIAN=no
71046 + fi
71048 + # Construct crosses by hand, eliminating bits that need ld...
71049 + # GLIBCXX_CHECK_MATH_SUPPORT
71051 + # First, test for "known" system libraries. We may be using newlib even
71052 + # on a hosted environment.
71053 + if test "x${with_newlib}" = "xyes"; then
71054 + os_include_dir="os/newlib"
71055 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
71058 + # GLIBCXX_CHECK_STDLIB_SUPPORT
71059 + $as_echo "#define HAVE_STRTOF 1" >>confdefs.h
71062 + $as_echo "#define HAVE_ACOSF 1" >>confdefs.h
71064 + $as_echo "#define HAVE_ASINF 1" >>confdefs.h
71066 + $as_echo "#define HAVE_ATAN2F 1" >>confdefs.h
71068 + $as_echo "#define HAVE_ATANF 1" >>confdefs.h
71070 + $as_echo "#define HAVE_CEILF 1" >>confdefs.h
71072 + $as_echo "#define HAVE_COSF 1" >>confdefs.h
71074 + $as_echo "#define HAVE_COSHF 1" >>confdefs.h
71076 + $as_echo "#define HAVE_EXPF 1" >>confdefs.h
71078 + $as_echo "#define HAVE_FABSF 1" >>confdefs.h
71080 + $as_echo "#define HAVE_FLOORF 1" >>confdefs.h
71082 + $as_echo "#define HAVE_FMODF 1" >>confdefs.h
71084 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
71086 + $as_echo "#define HAVE_LDEXPF 1" >>confdefs.h
71088 + $as_echo "#define HAVE_LOG10F 1" >>confdefs.h
71090 + $as_echo "#define HAVE_LOGF 1" >>confdefs.h
71092 + $as_echo "#define HAVE_MODFF 1" >>confdefs.h
71094 + $as_echo "#define HAVE_POWF 1" >>confdefs.h
71096 + $as_echo "#define HAVE_SINF 1" >>confdefs.h
71098 + $as_echo "#define HAVE_SINHF 1" >>confdefs.h
71100 + $as_echo "#define HAVE_SQRTF 1" >>confdefs.h
71102 + $as_echo "#define HAVE_TANF 1" >>confdefs.h
71104 + $as_echo "#define HAVE_TANHF 1" >>confdefs.h
71107 + $as_echo "#define HAVE_ICONV 1" >>confdefs.h
71109 + else
71111 +# Base decisions on target environment.
71112 +case "${host}" in
71113 + arm*-*-symbianelf*)
71114 + # This is a freestanding configuration; there is nothing to do here.
71115 + ;;
71117 + mips*-sde-elf*)
71118 + # These definitions are for the SDE C library rather than newlib.
71119 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
71122 + # All these tests are for C++; save the language and the compiler flags.
71123 + # The CXXFLAGS thing is suspicious, but based on similar bits previously
71124 + # found in GLIBCXX_CONFIGURE.
71126 + ac_ext=cpp
71127 +ac_cpp='$CXXCPP $CPPFLAGS'
71128 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71129 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71130 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71132 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
71133 + ac_save_CXXFLAGS="$CXXFLAGS"
71135 + # Check for maintainer-mode bits.
71136 + if test x"$USE_MAINTAINER_MODE" = xno; then
71137 + WERROR=''
71138 + else
71139 + WERROR='-Werror'
71140 + fi
71142 + # Check for -ffunction-sections -fdata-sections
71143 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
71144 +$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
71145 + CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
71146 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71147 +/* end confdefs.h. */
71148 +int foo; void bar() { };
71149 +int
71150 +main ()
71154 + return 0;
71156 +_ACEOF
71157 +if ac_fn_cxx_try_compile "$LINENO"; then :
71158 + ac_fdsections=yes
71159 +else
71160 + ac_fdsections=no
71162 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71163 + if test "$ac_test_CXXFLAGS" = set; then
71164 + CXXFLAGS="$ac_save_CXXFLAGS"
71165 + else
71166 + # this is the suspicious part
71167 + CXXFLAGS=''
71168 + fi
71169 + if test x"$ac_fdsections" = x"yes"; then
71170 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
71171 + fi
71172 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
71173 +$as_echo "$ac_fdsections" >&6; }
71175 + ac_ext=c
71176 +ac_cpp='$CPP $CPPFLAGS'
71177 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71178 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71179 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71185 + # If we're not using GNU ld, then there's no point in even trying these
71186 + # tests. Check for that first. We should have already tested for gld
71187 + # by now (in libtool), but require it now just to be safe...
71188 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
71189 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
71193 + # The name set by libtool depends on the version of libtool. Shame on us
71194 + # for depending on an impl detail, but c'est la vie. Older versions used
71195 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
71196 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
71197 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
71198 + # set (hence we're using an older libtool), then set it.
71199 + if test x${with_gnu_ld+set} != xset; then
71200 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
71201 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
71202 + with_gnu_ld=no
71203 + else
71204 + with_gnu_ld=$ac_cv_prog_gnu_ld
71205 + fi
71206 + fi
71208 + # Start by getting the version number. I think the libtool test already
71209 + # does some of this, but throws away the result.
71210 + glibcxx_ld_is_gold=no
71211 + if test x"$with_gnu_ld" = x"yes"; then
71212 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
71213 +$as_echo_n "checking for ld version... " >&6; }
71215 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
71216 + glibcxx_ld_is_gold=yes
71217 + fi
71218 + ldver=`$LD --version 2>/dev/null |
71219 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
71221 + glibcxx_gnu_ld_version=`echo $ldver | \
71222 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
71223 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
71224 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
71225 + fi
71227 + # Set --gc-sections.
71228 + glibcxx_have_gc_sections=no
71229 + if test "$glibcxx_ld_is_gold" = "yes"; then
71230 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
71231 + glibcxx_have_gc_sections=yes
71232 + fi
71233 + else
71234 + glibcxx_gcsections_min_ld=21602
71235 + if test x"$with_gnu_ld" = x"yes" &&
71236 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
71237 + glibcxx_have_gc_sections=yes
71238 + fi
71239 + fi
71240 + if test "$glibcxx_have_gc_sections" = "yes"; then
71241 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
71242 + # NB: This flag only works reliably after 2.16.1. Configure tests
71243 + # for this are difficult, so hard wire a value that should work.
71245 + ac_test_CFLAGS="${CFLAGS+set}"
71246 + ac_save_CFLAGS="$CFLAGS"
71247 + CFLAGS='-Wl,--gc-sections'
71249 + # Check for -Wl,--gc-sections
71250 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
71251 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
71252 + if test x$gcc_no_link = xyes; then
71253 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
71255 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71256 +/* end confdefs.h. */
71257 + int one(void) { return 1; }
71258 + int two(void) { return 2; }
71260 +int
71261 +main ()
71263 + two();
71265 + return 0;
71267 +_ACEOF
71268 +if ac_fn_c_try_link "$LINENO"; then :
71269 + ac_gcsections=yes
71270 +else
71271 + ac_gcsections=no
71273 +rm -f core conftest.err conftest.$ac_objext \
71274 + conftest$ac_exeext conftest.$ac_ext
71275 + if test "$ac_gcsections" = "yes"; then
71276 + rm -f conftest.c
71277 + touch conftest.c
71278 + if $CC -c conftest.c; then
71279 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
71280 + grep "Warning: gc-sections option ignored" > /dev/null; then
71281 + ac_gcsections=no
71282 + fi
71283 + fi
71284 + rm -f conftest.c conftest.o conftest
71285 + fi
71286 + if test "$ac_gcsections" = "yes"; then
71287 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
71288 + fi
71289 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
71290 +$as_echo "$ac_gcsections" >&6; }
71292 + if test "$ac_test_CFLAGS" = set; then
71293 + CFLAGS="$ac_save_CFLAGS"
71294 + else
71295 + # this is the suspicious part
71296 + CFLAGS=''
71297 + fi
71298 + fi
71300 + # Set -z,relro.
71301 + # Note this is only for shared objects.
71302 + ac_ld_relro=no
71303 + if test x"$with_gnu_ld" = x"yes"; then
71304 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
71305 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
71306 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
71307 + if test -n "$cxx_z_relo"; then
71308 + OPT_LDFLAGS="-Wl,-z,relro"
71309 + ac_ld_relro=yes
71310 + fi
71311 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
71312 +$as_echo "$ac_ld_relro" >&6; }
71313 + fi
71315 + # Set linker optimization flags.
71316 + if test x"$with_gnu_ld" = x"yes"; then
71317 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
71318 + fi
71324 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
71325 + ac_save_CXXFLAGS="$CXXFLAGS"
71326 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
71328 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
71329 +$as_echo_n "checking for sin in -lm... " >&6; }
71330 +if test "${ac_cv_lib_m_sin+set}" = set; then :
71331 + $as_echo_n "(cached) " >&6
71332 +else
71333 + ac_check_lib_save_LIBS=$LIBS
71334 +LIBS="-lm $LIBS"
71335 +if test x$gcc_no_link = xyes; then
71336 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
71338 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71339 +/* end confdefs.h. */
71341 +/* Override any GCC internal prototype to avoid an error.
71342 + Use char because int might match the return type of a GCC
71343 + builtin and then its argument prototype would still apply. */
71344 +#ifdef __cplusplus
71345 +extern "C"
71346 +#endif
71347 +char sin ();
71348 +int
71349 +main ()
71351 +return sin ();
71353 + return 0;
71355 +_ACEOF
71356 +if ac_fn_c_try_link "$LINENO"; then :
71357 + ac_cv_lib_m_sin=yes
71358 +else
71359 + ac_cv_lib_m_sin=no
71361 +rm -f core conftest.err conftest.$ac_objext \
71362 + conftest$ac_exeext conftest.$ac_ext
71363 +LIBS=$ac_check_lib_save_LIBS
71365 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
71366 +$as_echo "$ac_cv_lib_m_sin" >&6; }
71367 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
71368 + libm="-lm"
71371 + ac_save_LIBS="$LIBS"
71372 + LIBS="$LIBS $libm"
71376 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
71377 +$as_echo_n "checking for isinf declaration... " >&6; }
71378 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
71379 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
71380 + $as_echo_n "(cached) " >&6
71381 +else
71384 + ac_ext=cpp
71385 +ac_cpp='$CXXCPP $CPPFLAGS'
71386 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71387 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71388 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71390 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71391 +/* end confdefs.h. */
71392 +#include <math.h>
71393 + #ifdef HAVE_IEEEFP_H
71394 + #include <ieeefp.h>
71395 + #endif
71397 +int
71398 +main ()
71400 + isinf(0);
71402 + return 0;
71404 +_ACEOF
71405 +if ac_fn_cxx_try_compile "$LINENO"; then :
71406 + glibcxx_cv_func_isinf_use=yes
71407 +else
71408 + glibcxx_cv_func_isinf_use=no
71410 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71411 + ac_ext=c
71412 +ac_cpp='$CPP $CPPFLAGS'
71413 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71414 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71415 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71420 + fi
71421 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
71422 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
71424 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
71425 + for ac_func in isinf
71426 +do :
71427 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
71428 +if test "x$ac_cv_func_isinf" = x""yes; then :
71429 + cat >>confdefs.h <<_ACEOF
71430 +#define HAVE_ISINF 1
71431 +_ACEOF
71434 +done
71436 + else
71438 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
71439 +$as_echo_n "checking for _isinf declaration... " >&6; }
71440 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
71441 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
71442 + $as_echo_n "(cached) " >&6
71443 +else
71446 + ac_ext=cpp
71447 +ac_cpp='$CXXCPP $CPPFLAGS'
71448 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71449 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71450 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71452 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71453 +/* end confdefs.h. */
71454 +#include <math.h>
71455 + #ifdef HAVE_IEEEFP_H
71456 + #include <ieeefp.h>
71457 + #endif
71459 +int
71460 +main ()
71462 + _isinf(0);
71464 + return 0;
71466 +_ACEOF
71467 +if ac_fn_cxx_try_compile "$LINENO"; then :
71468 + glibcxx_cv_func__isinf_use=yes
71469 +else
71470 + glibcxx_cv_func__isinf_use=no
71472 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71473 + ac_ext=c
71474 +ac_cpp='$CPP $CPPFLAGS'
71475 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71476 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71477 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71482 + fi
71483 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
71484 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
71486 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
71487 + for ac_func in _isinf
71488 +do :
71489 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
71490 +if test "x$ac_cv_func__isinf" = x""yes; then :
71491 + cat >>confdefs.h <<_ACEOF
71492 +#define HAVE__ISINF 1
71493 +_ACEOF
71496 +done
71498 + fi
71499 + fi
71505 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
71506 +$as_echo_n "checking for isnan declaration... " >&6; }
71507 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
71508 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
71509 + $as_echo_n "(cached) " >&6
71510 +else
71513 + ac_ext=cpp
71514 +ac_cpp='$CXXCPP $CPPFLAGS'
71515 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71516 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71517 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71519 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71520 +/* end confdefs.h. */
71521 +#include <math.h>
71522 + #ifdef HAVE_IEEEFP_H
71523 + #include <ieeefp.h>
71524 + #endif
71526 +int
71527 +main ()
71529 + isnan(0);
71531 + return 0;
71533 +_ACEOF
71534 +if ac_fn_cxx_try_compile "$LINENO"; then :
71535 + glibcxx_cv_func_isnan_use=yes
71536 +else
71537 + glibcxx_cv_func_isnan_use=no
71539 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71540 + ac_ext=c
71541 +ac_cpp='$CPP $CPPFLAGS'
71542 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71543 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71544 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71549 + fi
71550 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
71551 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
71553 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
71554 + for ac_func in isnan
71555 +do :
71556 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
71557 +if test "x$ac_cv_func_isnan" = x""yes; then :
71558 + cat >>confdefs.h <<_ACEOF
71559 +#define HAVE_ISNAN 1
71560 +_ACEOF
71563 +done
71565 + else
71567 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
71568 +$as_echo_n "checking for _isnan declaration... " >&6; }
71569 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
71570 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
71571 + $as_echo_n "(cached) " >&6
71572 +else
71575 + ac_ext=cpp
71576 +ac_cpp='$CXXCPP $CPPFLAGS'
71577 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71578 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71579 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71581 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71582 +/* end confdefs.h. */
71583 +#include <math.h>
71584 + #ifdef HAVE_IEEEFP_H
71585 + #include <ieeefp.h>
71586 + #endif
71588 +int
71589 +main ()
71591 + _isnan(0);
71593 + return 0;
71595 +_ACEOF
71596 +if ac_fn_cxx_try_compile "$LINENO"; then :
71597 + glibcxx_cv_func__isnan_use=yes
71598 +else
71599 + glibcxx_cv_func__isnan_use=no
71601 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71602 + ac_ext=c
71603 +ac_cpp='$CPP $CPPFLAGS'
71604 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71605 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71606 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71611 + fi
71612 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
71613 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
71615 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
71616 + for ac_func in _isnan
71617 +do :
71618 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
71619 +if test "x$ac_cv_func__isnan" = x""yes; then :
71620 + cat >>confdefs.h <<_ACEOF
71621 +#define HAVE__ISNAN 1
71622 +_ACEOF
71625 +done
71627 + fi
71628 + fi
71634 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
71635 +$as_echo_n "checking for finite declaration... " >&6; }
71636 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
71637 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
71638 + $as_echo_n "(cached) " >&6
71639 +else
71642 + ac_ext=cpp
71643 +ac_cpp='$CXXCPP $CPPFLAGS'
71644 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71645 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71646 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71648 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71649 +/* end confdefs.h. */
71650 +#include <math.h>
71651 + #ifdef HAVE_IEEEFP_H
71652 + #include <ieeefp.h>
71653 + #endif
71655 +int
71656 +main ()
71658 + finite(0);
71660 + return 0;
71662 +_ACEOF
71663 +if ac_fn_cxx_try_compile "$LINENO"; then :
71664 + glibcxx_cv_func_finite_use=yes
71665 +else
71666 + glibcxx_cv_func_finite_use=no
71668 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71669 + ac_ext=c
71670 +ac_cpp='$CPP $CPPFLAGS'
71671 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71672 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71673 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71678 + fi
71679 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
71680 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
71682 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
71683 + for ac_func in finite
71684 +do :
71685 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
71686 +if test "x$ac_cv_func_finite" = x""yes; then :
71687 + cat >>confdefs.h <<_ACEOF
71688 +#define HAVE_FINITE 1
71689 +_ACEOF
71692 +done
71694 + else
71696 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
71697 +$as_echo_n "checking for _finite declaration... " >&6; }
71698 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
71699 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
71700 + $as_echo_n "(cached) " >&6
71701 +else
71704 + ac_ext=cpp
71705 +ac_cpp='$CXXCPP $CPPFLAGS'
71706 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71707 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71708 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71710 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71711 +/* end confdefs.h. */
71712 +#include <math.h>
71713 + #ifdef HAVE_IEEEFP_H
71714 + #include <ieeefp.h>
71715 + #endif
71717 +int
71718 +main ()
71720 + _finite(0);
71722 + return 0;
71724 +_ACEOF
71725 +if ac_fn_cxx_try_compile "$LINENO"; then :
71726 + glibcxx_cv_func__finite_use=yes
71727 +else
71728 + glibcxx_cv_func__finite_use=no
71730 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71731 + ac_ext=c
71732 +ac_cpp='$CPP $CPPFLAGS'
71733 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71734 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71735 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71740 + fi
71741 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
71742 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
71744 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
71745 + for ac_func in _finite
71746 +do :
71747 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
71748 +if test "x$ac_cv_func__finite" = x""yes; then :
71749 + cat >>confdefs.h <<_ACEOF
71750 +#define HAVE__FINITE 1
71751 +_ACEOF
71754 +done
71756 + fi
71757 + fi
71763 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
71764 +$as_echo_n "checking for sincos declaration... " >&6; }
71765 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
71766 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
71767 + $as_echo_n "(cached) " >&6
71768 +else
71771 + ac_ext=cpp
71772 +ac_cpp='$CXXCPP $CPPFLAGS'
71773 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71774 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71775 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71777 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71778 +/* end confdefs.h. */
71779 +#include <math.h>
71780 +int
71781 +main ()
71783 + sincos(0, 0, 0);
71785 + return 0;
71787 +_ACEOF
71788 +if ac_fn_cxx_try_compile "$LINENO"; then :
71789 + glibcxx_cv_func_sincos_use=yes
71790 +else
71791 + glibcxx_cv_func_sincos_use=no
71793 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71794 + ac_ext=c
71795 +ac_cpp='$CPP $CPPFLAGS'
71796 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71797 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71798 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71803 + fi
71804 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
71805 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
71807 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
71808 + for ac_func in sincos
71809 +do :
71810 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
71811 +if test "x$ac_cv_func_sincos" = x""yes; then :
71812 + cat >>confdefs.h <<_ACEOF
71813 +#define HAVE_SINCOS 1
71814 +_ACEOF
71817 +done
71819 + else
71821 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
71822 +$as_echo_n "checking for _sincos declaration... " >&6; }
71823 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
71824 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
71825 + $as_echo_n "(cached) " >&6
71826 +else
71829 + ac_ext=cpp
71830 +ac_cpp='$CXXCPP $CPPFLAGS'
71831 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71832 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71833 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71835 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71836 +/* end confdefs.h. */
71837 +#include <math.h>
71838 +int
71839 +main ()
71841 + _sincos(0, 0, 0);
71843 + return 0;
71845 +_ACEOF
71846 +if ac_fn_cxx_try_compile "$LINENO"; then :
71847 + glibcxx_cv_func__sincos_use=yes
71848 +else
71849 + glibcxx_cv_func__sincos_use=no
71851 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71852 + ac_ext=c
71853 +ac_cpp='$CPP $CPPFLAGS'
71854 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71855 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71856 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71861 + fi
71862 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
71863 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
71865 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
71866 + for ac_func in _sincos
71867 +do :
71868 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
71869 +if test "x$ac_cv_func__sincos" = x""yes; then :
71870 + cat >>confdefs.h <<_ACEOF
71871 +#define HAVE__SINCOS 1
71872 +_ACEOF
71875 +done
71877 + fi
71878 + fi
71884 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
71885 +$as_echo_n "checking for fpclass declaration... " >&6; }
71886 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
71887 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
71888 + $as_echo_n "(cached) " >&6
71889 +else
71892 + ac_ext=cpp
71893 +ac_cpp='$CXXCPP $CPPFLAGS'
71894 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71895 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71896 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71898 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71899 +/* end confdefs.h. */
71900 +#include <math.h>
71901 + #ifdef HAVE_IEEEFP_H
71902 + #include <ieeefp.h>
71903 + #endif
71905 +int
71906 +main ()
71908 + fpclass(0);
71910 + return 0;
71912 +_ACEOF
71913 +if ac_fn_cxx_try_compile "$LINENO"; then :
71914 + glibcxx_cv_func_fpclass_use=yes
71915 +else
71916 + glibcxx_cv_func_fpclass_use=no
71918 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71919 + ac_ext=c
71920 +ac_cpp='$CPP $CPPFLAGS'
71921 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71922 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71923 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71928 + fi
71929 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
71930 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
71932 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
71933 + for ac_func in fpclass
71934 +do :
71935 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
71936 +if test "x$ac_cv_func_fpclass" = x""yes; then :
71937 + cat >>confdefs.h <<_ACEOF
71938 +#define HAVE_FPCLASS 1
71939 +_ACEOF
71942 +done
71944 + else
71946 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
71947 +$as_echo_n "checking for _fpclass declaration... " >&6; }
71948 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
71949 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
71950 + $as_echo_n "(cached) " >&6
71951 +else
71954 + ac_ext=cpp
71955 +ac_cpp='$CXXCPP $CPPFLAGS'
71956 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71957 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71958 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
71960 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
71961 +/* end confdefs.h. */
71962 +#include <math.h>
71963 + #ifdef HAVE_IEEEFP_H
71964 + #include <ieeefp.h>
71965 + #endif
71967 +int
71968 +main ()
71970 + _fpclass(0);
71972 + return 0;
71974 +_ACEOF
71975 +if ac_fn_cxx_try_compile "$LINENO"; then :
71976 + glibcxx_cv_func__fpclass_use=yes
71977 +else
71978 + glibcxx_cv_func__fpclass_use=no
71980 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
71981 + ac_ext=c
71982 +ac_cpp='$CPP $CPPFLAGS'
71983 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
71984 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
71985 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
71990 + fi
71991 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
71992 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
71994 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
71995 + for ac_func in _fpclass
71996 +do :
71997 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
71998 +if test "x$ac_cv_func__fpclass" = x""yes; then :
71999 + cat >>confdefs.h <<_ACEOF
72000 +#define HAVE__FPCLASS 1
72001 +_ACEOF
72004 +done
72006 + fi
72007 + fi
72013 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
72014 +$as_echo_n "checking for qfpclass declaration... " >&6; }
72015 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
72016 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
72017 + $as_echo_n "(cached) " >&6
72018 +else
72021 + ac_ext=cpp
72022 +ac_cpp='$CXXCPP $CPPFLAGS'
72023 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72024 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72025 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72027 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72028 +/* end confdefs.h. */
72029 +#include <math.h>
72030 + #ifdef HAVE_IEEEFP_H
72031 + #include <ieeefp.h>
72032 + #endif
72034 +int
72035 +main ()
72037 + qfpclass(0);
72039 + return 0;
72041 +_ACEOF
72042 +if ac_fn_cxx_try_compile "$LINENO"; then :
72043 + glibcxx_cv_func_qfpclass_use=yes
72044 +else
72045 + glibcxx_cv_func_qfpclass_use=no
72047 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72048 + ac_ext=c
72049 +ac_cpp='$CPP $CPPFLAGS'
72050 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72051 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72052 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72057 + fi
72058 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
72059 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
72061 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
72062 + for ac_func in qfpclass
72063 +do :
72064 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
72065 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
72066 + cat >>confdefs.h <<_ACEOF
72067 +#define HAVE_QFPCLASS 1
72068 +_ACEOF
72071 +done
72073 + else
72075 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
72076 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
72077 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
72078 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
72079 + $as_echo_n "(cached) " >&6
72080 +else
72083 + ac_ext=cpp
72084 +ac_cpp='$CXXCPP $CPPFLAGS'
72085 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72086 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72087 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72089 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72090 +/* end confdefs.h. */
72091 +#include <math.h>
72092 + #ifdef HAVE_IEEEFP_H
72093 + #include <ieeefp.h>
72094 + #endif
72096 +int
72097 +main ()
72099 + _qfpclass(0);
72101 + return 0;
72103 +_ACEOF
72104 +if ac_fn_cxx_try_compile "$LINENO"; then :
72105 + glibcxx_cv_func__qfpclass_use=yes
72106 +else
72107 + glibcxx_cv_func__qfpclass_use=no
72109 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72110 + ac_ext=c
72111 +ac_cpp='$CPP $CPPFLAGS'
72112 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72113 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72114 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72119 + fi
72120 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
72121 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
72123 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
72124 + for ac_func in _qfpclass
72125 +do :
72126 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
72127 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
72128 + cat >>confdefs.h <<_ACEOF
72129 +#define HAVE__QFPCLASS 1
72130 +_ACEOF
72133 +done
72135 + fi
72136 + fi
72142 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
72143 +$as_echo_n "checking for hypot declaration... " >&6; }
72144 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
72145 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
72146 + $as_echo_n "(cached) " >&6
72147 +else
72150 + ac_ext=cpp
72151 +ac_cpp='$CXXCPP $CPPFLAGS'
72152 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72153 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72154 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72156 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72157 +/* end confdefs.h. */
72158 +#include <math.h>
72159 +int
72160 +main ()
72162 + hypot(0, 0);
72164 + return 0;
72166 +_ACEOF
72167 +if ac_fn_cxx_try_compile "$LINENO"; then :
72168 + glibcxx_cv_func_hypot_use=yes
72169 +else
72170 + glibcxx_cv_func_hypot_use=no
72172 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72173 + ac_ext=c
72174 +ac_cpp='$CPP $CPPFLAGS'
72175 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72176 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72177 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72182 + fi
72183 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
72184 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
72186 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
72187 + for ac_func in hypot
72188 +do :
72189 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
72190 +if test "x$ac_cv_func_hypot" = x""yes; then :
72191 + cat >>confdefs.h <<_ACEOF
72192 +#define HAVE_HYPOT 1
72193 +_ACEOF
72196 +done
72198 + else
72200 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
72201 +$as_echo_n "checking for _hypot declaration... " >&6; }
72202 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
72203 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
72204 + $as_echo_n "(cached) " >&6
72205 +else
72208 + ac_ext=cpp
72209 +ac_cpp='$CXXCPP $CPPFLAGS'
72210 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72211 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72212 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72214 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72215 +/* end confdefs.h. */
72216 +#include <math.h>
72217 +int
72218 +main ()
72220 + _hypot(0, 0);
72222 + return 0;
72224 +_ACEOF
72225 +if ac_fn_cxx_try_compile "$LINENO"; then :
72226 + glibcxx_cv_func__hypot_use=yes
72227 +else
72228 + glibcxx_cv_func__hypot_use=no
72230 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72231 + ac_ext=c
72232 +ac_cpp='$CPP $CPPFLAGS'
72233 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72234 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72235 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72240 + fi
72241 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
72242 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
72244 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
72245 + for ac_func in _hypot
72246 +do :
72247 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
72248 +if test "x$ac_cv_func__hypot" = x""yes; then :
72249 + cat >>confdefs.h <<_ACEOF
72250 +#define HAVE__HYPOT 1
72251 +_ACEOF
72254 +done
72256 + fi
72257 + fi
72263 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
72264 +$as_echo_n "checking for float trig functions... " >&6; }
72265 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
72266 + $as_echo_n "(cached) " >&6
72267 +else
72270 + ac_ext=cpp
72271 +ac_cpp='$CXXCPP $CPPFLAGS'
72272 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72273 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72274 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72276 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72277 +/* end confdefs.h. */
72278 +#include <math.h>
72279 +int
72280 +main ()
72282 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
72284 + return 0;
72286 +_ACEOF
72287 +if ac_fn_cxx_try_compile "$LINENO"; then :
72288 + glibcxx_cv_func_float_trig_use=yes
72289 +else
72290 + glibcxx_cv_func_float_trig_use=no
72292 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72293 + ac_ext=c
72294 +ac_cpp='$CPP $CPPFLAGS'
72295 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72296 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72297 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72301 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
72302 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
72303 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
72304 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
72305 +do :
72306 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
72307 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
72308 +eval as_val=\$$as_ac_var
72309 + if test "x$as_val" = x""yes; then :
72310 + cat >>confdefs.h <<_ACEOF
72311 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
72312 +_ACEOF
72315 +done
72317 + else
72318 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
72319 +$as_echo_n "checking for _float trig functions... " >&6; }
72320 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
72321 + $as_echo_n "(cached) " >&6
72322 +else
72325 + ac_ext=cpp
72326 +ac_cpp='$CXXCPP $CPPFLAGS'
72327 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72328 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72329 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72331 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72332 +/* end confdefs.h. */
72333 +#include <math.h>
72334 +int
72335 +main ()
72337 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
72339 + return 0;
72341 +_ACEOF
72342 +if ac_fn_cxx_try_compile "$LINENO"; then :
72343 + glibcxx_cv_func__float_trig_use=yes
72344 +else
72345 + glibcxx_cv_func__float_trig_use=no
72347 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72348 + ac_ext=c
72349 +ac_cpp='$CPP $CPPFLAGS'
72350 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72351 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72352 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72356 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
72357 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
72358 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
72359 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
72360 +do :
72361 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
72362 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
72363 +eval as_val=\$$as_ac_var
72364 + if test "x$as_val" = x""yes; then :
72365 + cat >>confdefs.h <<_ACEOF
72366 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
72367 +_ACEOF
72370 +done
72372 + fi
72373 + fi
72379 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
72380 +$as_echo_n "checking for float round functions... " >&6; }
72381 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
72382 + $as_echo_n "(cached) " >&6
72383 +else
72386 + ac_ext=cpp
72387 +ac_cpp='$CXXCPP $CPPFLAGS'
72388 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72389 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72390 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72392 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72393 +/* end confdefs.h. */
72394 +#include <math.h>
72395 +int
72396 +main ()
72398 +ceilf (0); floorf (0);
72400 + return 0;
72402 +_ACEOF
72403 +if ac_fn_cxx_try_compile "$LINENO"; then :
72404 + glibcxx_cv_func_float_round_use=yes
72405 +else
72406 + glibcxx_cv_func_float_round_use=no
72408 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72409 + ac_ext=c
72410 +ac_cpp='$CPP $CPPFLAGS'
72411 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72412 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72413 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72417 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
72418 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
72419 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
72420 + for ac_func in ceilf floorf
72421 +do :
72422 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
72423 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
72424 +eval as_val=\$$as_ac_var
72425 + if test "x$as_val" = x""yes; then :
72426 + cat >>confdefs.h <<_ACEOF
72427 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
72428 +_ACEOF
72431 +done
72433 + else
72434 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
72435 +$as_echo_n "checking for _float round functions... " >&6; }
72436 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
72437 + $as_echo_n "(cached) " >&6
72438 +else
72441 + ac_ext=cpp
72442 +ac_cpp='$CXXCPP $CPPFLAGS'
72443 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72444 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72445 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72447 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72448 +/* end confdefs.h. */
72449 +#include <math.h>
72450 +int
72451 +main ()
72453 +_ceilf (0); _floorf (0);
72455 + return 0;
72457 +_ACEOF
72458 +if ac_fn_cxx_try_compile "$LINENO"; then :
72459 + glibcxx_cv_func__float_round_use=yes
72460 +else
72461 + glibcxx_cv_func__float_round_use=no
72463 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72464 + ac_ext=c
72465 +ac_cpp='$CPP $CPPFLAGS'
72466 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72467 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72468 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72472 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
72473 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
72474 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
72475 + for ac_func in _ceilf _floorf
72476 +do :
72477 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
72478 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
72479 +eval as_val=\$$as_ac_var
72480 + if test "x$as_val" = x""yes; then :
72481 + cat >>confdefs.h <<_ACEOF
72482 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
72483 +_ACEOF
72486 +done
72488 + fi
72489 + fi
72496 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
72497 +$as_echo_n "checking for expf declaration... " >&6; }
72498 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
72499 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
72500 + $as_echo_n "(cached) " >&6
72501 +else
72504 + ac_ext=cpp
72505 +ac_cpp='$CXXCPP $CPPFLAGS'
72506 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72507 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72508 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72510 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72511 +/* end confdefs.h. */
72512 +#include <math.h>
72513 + #ifdef HAVE_IEEEFP_H
72514 + #include <ieeefp.h>
72515 + #endif
72517 +int
72518 +main ()
72520 + expf(0);
72522 + return 0;
72524 +_ACEOF
72525 +if ac_fn_cxx_try_compile "$LINENO"; then :
72526 + glibcxx_cv_func_expf_use=yes
72527 +else
72528 + glibcxx_cv_func_expf_use=no
72530 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72531 + ac_ext=c
72532 +ac_cpp='$CPP $CPPFLAGS'
72533 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72534 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72535 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72540 + fi
72541 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
72542 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
72544 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
72545 + for ac_func in expf
72546 +do :
72547 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
72548 +if test "x$ac_cv_func_expf" = x""yes; then :
72549 + cat >>confdefs.h <<_ACEOF
72550 +#define HAVE_EXPF 1
72551 +_ACEOF
72554 +done
72556 + else
72558 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
72559 +$as_echo_n "checking for _expf declaration... " >&6; }
72560 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
72561 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
72562 + $as_echo_n "(cached) " >&6
72563 +else
72566 + ac_ext=cpp
72567 +ac_cpp='$CXXCPP $CPPFLAGS'
72568 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72569 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72570 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72572 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72573 +/* end confdefs.h. */
72574 +#include <math.h>
72575 + #ifdef HAVE_IEEEFP_H
72576 + #include <ieeefp.h>
72577 + #endif
72579 +int
72580 +main ()
72582 + _expf(0);
72584 + return 0;
72586 +_ACEOF
72587 +if ac_fn_cxx_try_compile "$LINENO"; then :
72588 + glibcxx_cv_func__expf_use=yes
72589 +else
72590 + glibcxx_cv_func__expf_use=no
72592 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72593 + ac_ext=c
72594 +ac_cpp='$CPP $CPPFLAGS'
72595 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72596 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72597 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72602 + fi
72603 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
72604 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
72606 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
72607 + for ac_func in _expf
72608 +do :
72609 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
72610 +if test "x$ac_cv_func__expf" = x""yes; then :
72611 + cat >>confdefs.h <<_ACEOF
72612 +#define HAVE__EXPF 1
72613 +_ACEOF
72616 +done
72618 + fi
72619 + fi
72625 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
72626 +$as_echo_n "checking for isnanf declaration... " >&6; }
72627 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
72628 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
72629 + $as_echo_n "(cached) " >&6
72630 +else
72633 + ac_ext=cpp
72634 +ac_cpp='$CXXCPP $CPPFLAGS'
72635 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72636 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72637 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72639 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72640 +/* end confdefs.h. */
72641 +#include <math.h>
72642 + #ifdef HAVE_IEEEFP_H
72643 + #include <ieeefp.h>
72644 + #endif
72646 +int
72647 +main ()
72649 + isnanf(0);
72651 + return 0;
72653 +_ACEOF
72654 +if ac_fn_cxx_try_compile "$LINENO"; then :
72655 + glibcxx_cv_func_isnanf_use=yes
72656 +else
72657 + glibcxx_cv_func_isnanf_use=no
72659 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72660 + ac_ext=c
72661 +ac_cpp='$CPP $CPPFLAGS'
72662 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72663 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72664 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72669 + fi
72670 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
72671 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
72673 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
72674 + for ac_func in isnanf
72675 +do :
72676 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
72677 +if test "x$ac_cv_func_isnanf" = x""yes; then :
72678 + cat >>confdefs.h <<_ACEOF
72679 +#define HAVE_ISNANF 1
72680 +_ACEOF
72683 +done
72685 + else
72687 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
72688 +$as_echo_n "checking for _isnanf declaration... " >&6; }
72689 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
72690 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
72691 + $as_echo_n "(cached) " >&6
72692 +else
72695 + ac_ext=cpp
72696 +ac_cpp='$CXXCPP $CPPFLAGS'
72697 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72698 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72699 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72701 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72702 +/* end confdefs.h. */
72703 +#include <math.h>
72704 + #ifdef HAVE_IEEEFP_H
72705 + #include <ieeefp.h>
72706 + #endif
72708 +int
72709 +main ()
72711 + _isnanf(0);
72713 + return 0;
72715 +_ACEOF
72716 +if ac_fn_cxx_try_compile "$LINENO"; then :
72717 + glibcxx_cv_func__isnanf_use=yes
72718 +else
72719 + glibcxx_cv_func__isnanf_use=no
72721 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72722 + ac_ext=c
72723 +ac_cpp='$CPP $CPPFLAGS'
72724 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72725 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72726 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72731 + fi
72732 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
72733 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
72735 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
72736 + for ac_func in _isnanf
72737 +do :
72738 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
72739 +if test "x$ac_cv_func__isnanf" = x""yes; then :
72740 + cat >>confdefs.h <<_ACEOF
72741 +#define HAVE__ISNANF 1
72742 +_ACEOF
72745 +done
72747 + fi
72748 + fi
72754 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
72755 +$as_echo_n "checking for isinff declaration... " >&6; }
72756 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
72757 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
72758 + $as_echo_n "(cached) " >&6
72759 +else
72762 + ac_ext=cpp
72763 +ac_cpp='$CXXCPP $CPPFLAGS'
72764 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72765 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72766 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72768 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72769 +/* end confdefs.h. */
72770 +#include <math.h>
72771 + #ifdef HAVE_IEEEFP_H
72772 + #include <ieeefp.h>
72773 + #endif
72775 +int
72776 +main ()
72778 + isinff(0);
72780 + return 0;
72782 +_ACEOF
72783 +if ac_fn_cxx_try_compile "$LINENO"; then :
72784 + glibcxx_cv_func_isinff_use=yes
72785 +else
72786 + glibcxx_cv_func_isinff_use=no
72788 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72789 + ac_ext=c
72790 +ac_cpp='$CPP $CPPFLAGS'
72791 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72792 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72793 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72798 + fi
72799 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
72800 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
72802 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
72803 + for ac_func in isinff
72804 +do :
72805 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
72806 +if test "x$ac_cv_func_isinff" = x""yes; then :
72807 + cat >>confdefs.h <<_ACEOF
72808 +#define HAVE_ISINFF 1
72809 +_ACEOF
72812 +done
72814 + else
72816 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
72817 +$as_echo_n "checking for _isinff declaration... " >&6; }
72818 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
72819 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
72820 + $as_echo_n "(cached) " >&6
72821 +else
72824 + ac_ext=cpp
72825 +ac_cpp='$CXXCPP $CPPFLAGS'
72826 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72827 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72828 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72830 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72831 +/* end confdefs.h. */
72832 +#include <math.h>
72833 + #ifdef HAVE_IEEEFP_H
72834 + #include <ieeefp.h>
72835 + #endif
72837 +int
72838 +main ()
72840 + _isinff(0);
72842 + return 0;
72844 +_ACEOF
72845 +if ac_fn_cxx_try_compile "$LINENO"; then :
72846 + glibcxx_cv_func__isinff_use=yes
72847 +else
72848 + glibcxx_cv_func__isinff_use=no
72850 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72851 + ac_ext=c
72852 +ac_cpp='$CPP $CPPFLAGS'
72853 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72854 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72855 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72860 + fi
72861 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
72862 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
72864 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
72865 + for ac_func in _isinff
72866 +do :
72867 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
72868 +if test "x$ac_cv_func__isinff" = x""yes; then :
72869 + cat >>confdefs.h <<_ACEOF
72870 +#define HAVE__ISINFF 1
72871 +_ACEOF
72874 +done
72876 + fi
72877 + fi
72883 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
72884 +$as_echo_n "checking for atan2f declaration... " >&6; }
72885 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
72886 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
72887 + $as_echo_n "(cached) " >&6
72888 +else
72891 + ac_ext=cpp
72892 +ac_cpp='$CXXCPP $CPPFLAGS'
72893 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72894 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72895 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72897 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72898 +/* end confdefs.h. */
72899 +#include <math.h>
72900 +int
72901 +main ()
72903 + atan2f(0, 0);
72905 + return 0;
72907 +_ACEOF
72908 +if ac_fn_cxx_try_compile "$LINENO"; then :
72909 + glibcxx_cv_func_atan2f_use=yes
72910 +else
72911 + glibcxx_cv_func_atan2f_use=no
72913 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72914 + ac_ext=c
72915 +ac_cpp='$CPP $CPPFLAGS'
72916 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72917 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72918 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72923 + fi
72924 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
72925 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
72927 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
72928 + for ac_func in atan2f
72929 +do :
72930 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
72931 +if test "x$ac_cv_func_atan2f" = x""yes; then :
72932 + cat >>confdefs.h <<_ACEOF
72933 +#define HAVE_ATAN2F 1
72934 +_ACEOF
72937 +done
72939 + else
72941 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
72942 +$as_echo_n "checking for _atan2f declaration... " >&6; }
72943 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
72944 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
72945 + $as_echo_n "(cached) " >&6
72946 +else
72949 + ac_ext=cpp
72950 +ac_cpp='$CXXCPP $CPPFLAGS'
72951 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72952 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72953 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
72955 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
72956 +/* end confdefs.h. */
72957 +#include <math.h>
72958 +int
72959 +main ()
72961 + _atan2f(0, 0);
72963 + return 0;
72965 +_ACEOF
72966 +if ac_fn_cxx_try_compile "$LINENO"; then :
72967 + glibcxx_cv_func__atan2f_use=yes
72968 +else
72969 + glibcxx_cv_func__atan2f_use=no
72971 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72972 + ac_ext=c
72973 +ac_cpp='$CPP $CPPFLAGS'
72974 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
72975 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
72976 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
72981 + fi
72982 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
72983 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
72985 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
72986 + for ac_func in _atan2f
72987 +do :
72988 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
72989 +if test "x$ac_cv_func__atan2f" = x""yes; then :
72990 + cat >>confdefs.h <<_ACEOF
72991 +#define HAVE__ATAN2F 1
72992 +_ACEOF
72995 +done
72997 + fi
72998 + fi
73004 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
73005 +$as_echo_n "checking for fabsf declaration... " >&6; }
73006 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
73007 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
73008 + $as_echo_n "(cached) " >&6
73009 +else
73012 + ac_ext=cpp
73013 +ac_cpp='$CXXCPP $CPPFLAGS'
73014 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73015 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73016 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73018 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73019 +/* end confdefs.h. */
73020 +#include <math.h>
73021 + #ifdef HAVE_IEEEFP_H
73022 + #include <ieeefp.h>
73023 + #endif
73025 +int
73026 +main ()
73028 + fabsf(0);
73030 + return 0;
73032 +_ACEOF
73033 +if ac_fn_cxx_try_compile "$LINENO"; then :
73034 + glibcxx_cv_func_fabsf_use=yes
73035 +else
73036 + glibcxx_cv_func_fabsf_use=no
73038 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73039 + ac_ext=c
73040 +ac_cpp='$CPP $CPPFLAGS'
73041 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73042 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73043 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73048 + fi
73049 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
73050 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
73052 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
73053 + for ac_func in fabsf
73054 +do :
73055 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
73056 +if test "x$ac_cv_func_fabsf" = x""yes; then :
73057 + cat >>confdefs.h <<_ACEOF
73058 +#define HAVE_FABSF 1
73059 +_ACEOF
73062 +done
73064 + else
73066 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
73067 +$as_echo_n "checking for _fabsf declaration... " >&6; }
73068 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
73069 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
73070 + $as_echo_n "(cached) " >&6
73071 +else
73074 + ac_ext=cpp
73075 +ac_cpp='$CXXCPP $CPPFLAGS'
73076 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73077 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73078 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73080 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73081 +/* end confdefs.h. */
73082 +#include <math.h>
73083 + #ifdef HAVE_IEEEFP_H
73084 + #include <ieeefp.h>
73085 + #endif
73087 +int
73088 +main ()
73090 + _fabsf(0);
73092 + return 0;
73094 +_ACEOF
73095 +if ac_fn_cxx_try_compile "$LINENO"; then :
73096 + glibcxx_cv_func__fabsf_use=yes
73097 +else
73098 + glibcxx_cv_func__fabsf_use=no
73100 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73101 + ac_ext=c
73102 +ac_cpp='$CPP $CPPFLAGS'
73103 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73104 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73105 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73110 + fi
73111 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
73112 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
73114 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
73115 + for ac_func in _fabsf
73116 +do :
73117 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
73118 +if test "x$ac_cv_func__fabsf" = x""yes; then :
73119 + cat >>confdefs.h <<_ACEOF
73120 +#define HAVE__FABSF 1
73121 +_ACEOF
73124 +done
73126 + fi
73127 + fi
73133 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
73134 +$as_echo_n "checking for fmodf declaration... " >&6; }
73135 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
73136 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
73137 + $as_echo_n "(cached) " >&6
73138 +else
73141 + ac_ext=cpp
73142 +ac_cpp='$CXXCPP $CPPFLAGS'
73143 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73144 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73145 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73147 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73148 +/* end confdefs.h. */
73149 +#include <math.h>
73150 +int
73151 +main ()
73153 + fmodf(0, 0);
73155 + return 0;
73157 +_ACEOF
73158 +if ac_fn_cxx_try_compile "$LINENO"; then :
73159 + glibcxx_cv_func_fmodf_use=yes
73160 +else
73161 + glibcxx_cv_func_fmodf_use=no
73163 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73164 + ac_ext=c
73165 +ac_cpp='$CPP $CPPFLAGS'
73166 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73167 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73168 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73173 + fi
73174 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
73175 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
73177 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
73178 + for ac_func in fmodf
73179 +do :
73180 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
73181 +if test "x$ac_cv_func_fmodf" = x""yes; then :
73182 + cat >>confdefs.h <<_ACEOF
73183 +#define HAVE_FMODF 1
73184 +_ACEOF
73187 +done
73189 + else
73191 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
73192 +$as_echo_n "checking for _fmodf declaration... " >&6; }
73193 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
73194 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
73195 + $as_echo_n "(cached) " >&6
73196 +else
73199 + ac_ext=cpp
73200 +ac_cpp='$CXXCPP $CPPFLAGS'
73201 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73202 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73203 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73205 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73206 +/* end confdefs.h. */
73207 +#include <math.h>
73208 +int
73209 +main ()
73211 + _fmodf(0, 0);
73213 + return 0;
73215 +_ACEOF
73216 +if ac_fn_cxx_try_compile "$LINENO"; then :
73217 + glibcxx_cv_func__fmodf_use=yes
73218 +else
73219 + glibcxx_cv_func__fmodf_use=no
73221 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73222 + ac_ext=c
73223 +ac_cpp='$CPP $CPPFLAGS'
73224 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73225 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73226 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73231 + fi
73232 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
73233 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
73235 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
73236 + for ac_func in _fmodf
73237 +do :
73238 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
73239 +if test "x$ac_cv_func__fmodf" = x""yes; then :
73240 + cat >>confdefs.h <<_ACEOF
73241 +#define HAVE__FMODF 1
73242 +_ACEOF
73245 +done
73247 + fi
73248 + fi
73254 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
73255 +$as_echo_n "checking for frexpf declaration... " >&6; }
73256 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
73257 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
73258 + $as_echo_n "(cached) " >&6
73259 +else
73262 + ac_ext=cpp
73263 +ac_cpp='$CXXCPP $CPPFLAGS'
73264 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73265 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73266 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73268 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73269 +/* end confdefs.h. */
73270 +#include <math.h>
73271 +int
73272 +main ()
73274 + frexpf(0, 0);
73276 + return 0;
73278 +_ACEOF
73279 +if ac_fn_cxx_try_compile "$LINENO"; then :
73280 + glibcxx_cv_func_frexpf_use=yes
73281 +else
73282 + glibcxx_cv_func_frexpf_use=no
73284 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73285 + ac_ext=c
73286 +ac_cpp='$CPP $CPPFLAGS'
73287 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73288 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73289 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73294 + fi
73295 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
73296 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
73298 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
73299 + for ac_func in frexpf
73300 +do :
73301 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
73302 +if test "x$ac_cv_func_frexpf" = x""yes; then :
73303 + cat >>confdefs.h <<_ACEOF
73304 +#define HAVE_FREXPF 1
73305 +_ACEOF
73308 +done
73310 + else
73312 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
73313 +$as_echo_n "checking for _frexpf declaration... " >&6; }
73314 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
73315 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
73316 + $as_echo_n "(cached) " >&6
73317 +else
73320 + ac_ext=cpp
73321 +ac_cpp='$CXXCPP $CPPFLAGS'
73322 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73323 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73324 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73326 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73327 +/* end confdefs.h. */
73328 +#include <math.h>
73329 +int
73330 +main ()
73332 + _frexpf(0, 0);
73334 + return 0;
73336 +_ACEOF
73337 +if ac_fn_cxx_try_compile "$LINENO"; then :
73338 + glibcxx_cv_func__frexpf_use=yes
73339 +else
73340 + glibcxx_cv_func__frexpf_use=no
73342 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73343 + ac_ext=c
73344 +ac_cpp='$CPP $CPPFLAGS'
73345 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73346 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73347 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73352 + fi
73353 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
73354 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
73356 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
73357 + for ac_func in _frexpf
73358 +do :
73359 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
73360 +if test "x$ac_cv_func__frexpf" = x""yes; then :
73361 + cat >>confdefs.h <<_ACEOF
73362 +#define HAVE__FREXPF 1
73363 +_ACEOF
73366 +done
73368 + fi
73369 + fi
73375 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
73376 +$as_echo_n "checking for hypotf declaration... " >&6; }
73377 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
73378 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
73379 + $as_echo_n "(cached) " >&6
73380 +else
73383 + ac_ext=cpp
73384 +ac_cpp='$CXXCPP $CPPFLAGS'
73385 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73386 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73387 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73389 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73390 +/* end confdefs.h. */
73391 +#include <math.h>
73392 +int
73393 +main ()
73395 + hypotf(0, 0);
73397 + return 0;
73399 +_ACEOF
73400 +if ac_fn_cxx_try_compile "$LINENO"; then :
73401 + glibcxx_cv_func_hypotf_use=yes
73402 +else
73403 + glibcxx_cv_func_hypotf_use=no
73405 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73406 + ac_ext=c
73407 +ac_cpp='$CPP $CPPFLAGS'
73408 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73409 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73410 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73415 + fi
73416 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
73417 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
73419 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
73420 + for ac_func in hypotf
73421 +do :
73422 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
73423 +if test "x$ac_cv_func_hypotf" = x""yes; then :
73424 + cat >>confdefs.h <<_ACEOF
73425 +#define HAVE_HYPOTF 1
73426 +_ACEOF
73429 +done
73431 + else
73433 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
73434 +$as_echo_n "checking for _hypotf declaration... " >&6; }
73435 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
73436 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
73437 + $as_echo_n "(cached) " >&6
73438 +else
73441 + ac_ext=cpp
73442 +ac_cpp='$CXXCPP $CPPFLAGS'
73443 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73444 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73445 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73447 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73448 +/* end confdefs.h. */
73449 +#include <math.h>
73450 +int
73451 +main ()
73453 + _hypotf(0, 0);
73455 + return 0;
73457 +_ACEOF
73458 +if ac_fn_cxx_try_compile "$LINENO"; then :
73459 + glibcxx_cv_func__hypotf_use=yes
73460 +else
73461 + glibcxx_cv_func__hypotf_use=no
73463 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73464 + ac_ext=c
73465 +ac_cpp='$CPP $CPPFLAGS'
73466 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73467 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73468 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73473 + fi
73474 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
73475 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
73477 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
73478 + for ac_func in _hypotf
73479 +do :
73480 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
73481 +if test "x$ac_cv_func__hypotf" = x""yes; then :
73482 + cat >>confdefs.h <<_ACEOF
73483 +#define HAVE__HYPOTF 1
73484 +_ACEOF
73487 +done
73489 + fi
73490 + fi
73496 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
73497 +$as_echo_n "checking for ldexpf declaration... " >&6; }
73498 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
73499 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
73500 + $as_echo_n "(cached) " >&6
73501 +else
73504 + ac_ext=cpp
73505 +ac_cpp='$CXXCPP $CPPFLAGS'
73506 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73507 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73508 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73510 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73511 +/* end confdefs.h. */
73512 +#include <math.h>
73513 +int
73514 +main ()
73516 + ldexpf(0, 0);
73518 + return 0;
73520 +_ACEOF
73521 +if ac_fn_cxx_try_compile "$LINENO"; then :
73522 + glibcxx_cv_func_ldexpf_use=yes
73523 +else
73524 + glibcxx_cv_func_ldexpf_use=no
73526 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73527 + ac_ext=c
73528 +ac_cpp='$CPP $CPPFLAGS'
73529 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73530 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73531 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73536 + fi
73537 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
73538 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
73540 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
73541 + for ac_func in ldexpf
73542 +do :
73543 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
73544 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
73545 + cat >>confdefs.h <<_ACEOF
73546 +#define HAVE_LDEXPF 1
73547 +_ACEOF
73550 +done
73552 + else
73554 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
73555 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
73556 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
73557 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
73558 + $as_echo_n "(cached) " >&6
73559 +else
73562 + ac_ext=cpp
73563 +ac_cpp='$CXXCPP $CPPFLAGS'
73564 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73565 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73566 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73568 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73569 +/* end confdefs.h. */
73570 +#include <math.h>
73571 +int
73572 +main ()
73574 + _ldexpf(0, 0);
73576 + return 0;
73578 +_ACEOF
73579 +if ac_fn_cxx_try_compile "$LINENO"; then :
73580 + glibcxx_cv_func__ldexpf_use=yes
73581 +else
73582 + glibcxx_cv_func__ldexpf_use=no
73584 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73585 + ac_ext=c
73586 +ac_cpp='$CPP $CPPFLAGS'
73587 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73588 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73589 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73594 + fi
73595 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
73596 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
73598 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
73599 + for ac_func in _ldexpf
73600 +do :
73601 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
73602 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
73603 + cat >>confdefs.h <<_ACEOF
73604 +#define HAVE__LDEXPF 1
73605 +_ACEOF
73608 +done
73610 + fi
73611 + fi
73617 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
73618 +$as_echo_n "checking for logf declaration... " >&6; }
73619 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
73620 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
73621 + $as_echo_n "(cached) " >&6
73622 +else
73625 + ac_ext=cpp
73626 +ac_cpp='$CXXCPP $CPPFLAGS'
73627 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73628 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73629 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73631 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73632 +/* end confdefs.h. */
73633 +#include <math.h>
73634 + #ifdef HAVE_IEEEFP_H
73635 + #include <ieeefp.h>
73636 + #endif
73638 +int
73639 +main ()
73641 + logf(0);
73643 + return 0;
73645 +_ACEOF
73646 +if ac_fn_cxx_try_compile "$LINENO"; then :
73647 + glibcxx_cv_func_logf_use=yes
73648 +else
73649 + glibcxx_cv_func_logf_use=no
73651 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73652 + ac_ext=c
73653 +ac_cpp='$CPP $CPPFLAGS'
73654 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73655 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73656 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73661 + fi
73662 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
73663 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
73665 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
73666 + for ac_func in logf
73667 +do :
73668 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
73669 +if test "x$ac_cv_func_logf" = x""yes; then :
73670 + cat >>confdefs.h <<_ACEOF
73671 +#define HAVE_LOGF 1
73672 +_ACEOF
73675 +done
73677 + else
73679 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
73680 +$as_echo_n "checking for _logf declaration... " >&6; }
73681 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
73682 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
73683 + $as_echo_n "(cached) " >&6
73684 +else
73687 + ac_ext=cpp
73688 +ac_cpp='$CXXCPP $CPPFLAGS'
73689 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73690 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73691 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73693 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73694 +/* end confdefs.h. */
73695 +#include <math.h>
73696 + #ifdef HAVE_IEEEFP_H
73697 + #include <ieeefp.h>
73698 + #endif
73700 +int
73701 +main ()
73703 + _logf(0);
73705 + return 0;
73707 +_ACEOF
73708 +if ac_fn_cxx_try_compile "$LINENO"; then :
73709 + glibcxx_cv_func__logf_use=yes
73710 +else
73711 + glibcxx_cv_func__logf_use=no
73713 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73714 + ac_ext=c
73715 +ac_cpp='$CPP $CPPFLAGS'
73716 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73717 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73718 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73723 + fi
73724 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
73725 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
73727 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
73728 + for ac_func in _logf
73729 +do :
73730 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
73731 +if test "x$ac_cv_func__logf" = x""yes; then :
73732 + cat >>confdefs.h <<_ACEOF
73733 +#define HAVE__LOGF 1
73734 +_ACEOF
73737 +done
73739 + fi
73740 + fi
73746 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
73747 +$as_echo_n "checking for log10f declaration... " >&6; }
73748 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
73749 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
73750 + $as_echo_n "(cached) " >&6
73751 +else
73754 + ac_ext=cpp
73755 +ac_cpp='$CXXCPP $CPPFLAGS'
73756 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73757 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73758 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73760 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73761 +/* end confdefs.h. */
73762 +#include <math.h>
73763 + #ifdef HAVE_IEEEFP_H
73764 + #include <ieeefp.h>
73765 + #endif
73767 +int
73768 +main ()
73770 + log10f(0);
73772 + return 0;
73774 +_ACEOF
73775 +if ac_fn_cxx_try_compile "$LINENO"; then :
73776 + glibcxx_cv_func_log10f_use=yes
73777 +else
73778 + glibcxx_cv_func_log10f_use=no
73780 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73781 + ac_ext=c
73782 +ac_cpp='$CPP $CPPFLAGS'
73783 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73784 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73785 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73790 + fi
73791 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
73792 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
73794 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
73795 + for ac_func in log10f
73796 +do :
73797 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
73798 +if test "x$ac_cv_func_log10f" = x""yes; then :
73799 + cat >>confdefs.h <<_ACEOF
73800 +#define HAVE_LOG10F 1
73801 +_ACEOF
73804 +done
73806 + else
73808 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
73809 +$as_echo_n "checking for _log10f declaration... " >&6; }
73810 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
73811 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
73812 + $as_echo_n "(cached) " >&6
73813 +else
73816 + ac_ext=cpp
73817 +ac_cpp='$CXXCPP $CPPFLAGS'
73818 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73819 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73820 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73822 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73823 +/* end confdefs.h. */
73824 +#include <math.h>
73825 + #ifdef HAVE_IEEEFP_H
73826 + #include <ieeefp.h>
73827 + #endif
73829 +int
73830 +main ()
73832 + _log10f(0);
73834 + return 0;
73836 +_ACEOF
73837 +if ac_fn_cxx_try_compile "$LINENO"; then :
73838 + glibcxx_cv_func__log10f_use=yes
73839 +else
73840 + glibcxx_cv_func__log10f_use=no
73842 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73843 + ac_ext=c
73844 +ac_cpp='$CPP $CPPFLAGS'
73845 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73846 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73847 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73852 + fi
73853 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
73854 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
73856 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
73857 + for ac_func in _log10f
73858 +do :
73859 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
73860 +if test "x$ac_cv_func__log10f" = x""yes; then :
73861 + cat >>confdefs.h <<_ACEOF
73862 +#define HAVE__LOG10F 1
73863 +_ACEOF
73866 +done
73868 + fi
73869 + fi
73875 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
73876 +$as_echo_n "checking for modff declaration... " >&6; }
73877 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
73878 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
73879 + $as_echo_n "(cached) " >&6
73880 +else
73883 + ac_ext=cpp
73884 +ac_cpp='$CXXCPP $CPPFLAGS'
73885 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73886 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73887 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73889 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73890 +/* end confdefs.h. */
73891 +#include <math.h>
73892 +int
73893 +main ()
73895 + modff(0, 0);
73897 + return 0;
73899 +_ACEOF
73900 +if ac_fn_cxx_try_compile "$LINENO"; then :
73901 + glibcxx_cv_func_modff_use=yes
73902 +else
73903 + glibcxx_cv_func_modff_use=no
73905 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73906 + ac_ext=c
73907 +ac_cpp='$CPP $CPPFLAGS'
73908 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73909 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73910 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73915 + fi
73916 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
73917 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
73919 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
73920 + for ac_func in modff
73921 +do :
73922 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
73923 +if test "x$ac_cv_func_modff" = x""yes; then :
73924 + cat >>confdefs.h <<_ACEOF
73925 +#define HAVE_MODFF 1
73926 +_ACEOF
73929 +done
73931 + else
73933 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
73934 +$as_echo_n "checking for _modff declaration... " >&6; }
73935 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
73936 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
73937 + $as_echo_n "(cached) " >&6
73938 +else
73941 + ac_ext=cpp
73942 +ac_cpp='$CXXCPP $CPPFLAGS'
73943 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73944 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73945 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
73947 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
73948 +/* end confdefs.h. */
73949 +#include <math.h>
73950 +int
73951 +main ()
73953 + _modff(0, 0);
73955 + return 0;
73957 +_ACEOF
73958 +if ac_fn_cxx_try_compile "$LINENO"; then :
73959 + glibcxx_cv_func__modff_use=yes
73960 +else
73961 + glibcxx_cv_func__modff_use=no
73963 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
73964 + ac_ext=c
73965 +ac_cpp='$CPP $CPPFLAGS'
73966 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
73967 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
73968 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
73973 + fi
73974 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
73975 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
73977 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
73978 + for ac_func in _modff
73979 +do :
73980 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
73981 +if test "x$ac_cv_func__modff" = x""yes; then :
73982 + cat >>confdefs.h <<_ACEOF
73983 +#define HAVE__MODFF 1
73984 +_ACEOF
73987 +done
73989 + fi
73990 + fi
73996 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
73997 +$as_echo_n "checking for modf declaration... " >&6; }
73998 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
73999 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
74000 + $as_echo_n "(cached) " >&6
74001 +else
74004 + ac_ext=cpp
74005 +ac_cpp='$CXXCPP $CPPFLAGS'
74006 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74007 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74008 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74010 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74011 +/* end confdefs.h. */
74012 +#include <math.h>
74013 +int
74014 +main ()
74016 + modf(0, 0);
74018 + return 0;
74020 +_ACEOF
74021 +if ac_fn_cxx_try_compile "$LINENO"; then :
74022 + glibcxx_cv_func_modf_use=yes
74023 +else
74024 + glibcxx_cv_func_modf_use=no
74026 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74027 + ac_ext=c
74028 +ac_cpp='$CPP $CPPFLAGS'
74029 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74030 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74031 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74036 + fi
74037 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
74038 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
74040 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
74041 + for ac_func in modf
74042 +do :
74043 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
74044 +if test "x$ac_cv_func_modf" = x""yes; then :
74045 + cat >>confdefs.h <<_ACEOF
74046 +#define HAVE_MODF 1
74047 +_ACEOF
74050 +done
74052 + else
74054 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
74055 +$as_echo_n "checking for _modf declaration... " >&6; }
74056 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
74057 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
74058 + $as_echo_n "(cached) " >&6
74059 +else
74062 + ac_ext=cpp
74063 +ac_cpp='$CXXCPP $CPPFLAGS'
74064 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74065 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74066 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74068 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74069 +/* end confdefs.h. */
74070 +#include <math.h>
74071 +int
74072 +main ()
74074 + _modf(0, 0);
74076 + return 0;
74078 +_ACEOF
74079 +if ac_fn_cxx_try_compile "$LINENO"; then :
74080 + glibcxx_cv_func__modf_use=yes
74081 +else
74082 + glibcxx_cv_func__modf_use=no
74084 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74085 + ac_ext=c
74086 +ac_cpp='$CPP $CPPFLAGS'
74087 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74088 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74089 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74094 + fi
74095 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
74096 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
74098 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
74099 + for ac_func in _modf
74100 +do :
74101 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
74102 +if test "x$ac_cv_func__modf" = x""yes; then :
74103 + cat >>confdefs.h <<_ACEOF
74104 +#define HAVE__MODF 1
74105 +_ACEOF
74108 +done
74110 + fi
74111 + fi
74117 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
74118 +$as_echo_n "checking for powf declaration... " >&6; }
74119 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
74120 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
74121 + $as_echo_n "(cached) " >&6
74122 +else
74125 + ac_ext=cpp
74126 +ac_cpp='$CXXCPP $CPPFLAGS'
74127 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74128 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74129 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74131 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74132 +/* end confdefs.h. */
74133 +#include <math.h>
74134 +int
74135 +main ()
74137 + powf(0, 0);
74139 + return 0;
74141 +_ACEOF
74142 +if ac_fn_cxx_try_compile "$LINENO"; then :
74143 + glibcxx_cv_func_powf_use=yes
74144 +else
74145 + glibcxx_cv_func_powf_use=no
74147 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74148 + ac_ext=c
74149 +ac_cpp='$CPP $CPPFLAGS'
74150 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74151 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74152 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74157 + fi
74158 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
74159 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
74161 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
74162 + for ac_func in powf
74163 +do :
74164 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
74165 +if test "x$ac_cv_func_powf" = x""yes; then :
74166 + cat >>confdefs.h <<_ACEOF
74167 +#define HAVE_POWF 1
74168 +_ACEOF
74171 +done
74173 + else
74175 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
74176 +$as_echo_n "checking for _powf declaration... " >&6; }
74177 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
74178 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
74179 + $as_echo_n "(cached) " >&6
74180 +else
74183 + ac_ext=cpp
74184 +ac_cpp='$CXXCPP $CPPFLAGS'
74185 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74186 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74187 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74189 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74190 +/* end confdefs.h. */
74191 +#include <math.h>
74192 +int
74193 +main ()
74195 + _powf(0, 0);
74197 + return 0;
74199 +_ACEOF
74200 +if ac_fn_cxx_try_compile "$LINENO"; then :
74201 + glibcxx_cv_func__powf_use=yes
74202 +else
74203 + glibcxx_cv_func__powf_use=no
74205 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74206 + ac_ext=c
74207 +ac_cpp='$CPP $CPPFLAGS'
74208 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74209 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74210 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74215 + fi
74216 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
74217 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
74219 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
74220 + for ac_func in _powf
74221 +do :
74222 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
74223 +if test "x$ac_cv_func__powf" = x""yes; then :
74224 + cat >>confdefs.h <<_ACEOF
74225 +#define HAVE__POWF 1
74226 +_ACEOF
74229 +done
74231 + fi
74232 + fi
74238 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
74239 +$as_echo_n "checking for sqrtf declaration... " >&6; }
74240 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
74241 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
74242 + $as_echo_n "(cached) " >&6
74243 +else
74246 + ac_ext=cpp
74247 +ac_cpp='$CXXCPP $CPPFLAGS'
74248 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74249 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74250 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74252 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74253 +/* end confdefs.h. */
74254 +#include <math.h>
74255 + #ifdef HAVE_IEEEFP_H
74256 + #include <ieeefp.h>
74257 + #endif
74259 +int
74260 +main ()
74262 + sqrtf(0);
74264 + return 0;
74266 +_ACEOF
74267 +if ac_fn_cxx_try_compile "$LINENO"; then :
74268 + glibcxx_cv_func_sqrtf_use=yes
74269 +else
74270 + glibcxx_cv_func_sqrtf_use=no
74272 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74273 + ac_ext=c
74274 +ac_cpp='$CPP $CPPFLAGS'
74275 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74276 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74277 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74282 + fi
74283 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
74284 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
74286 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
74287 + for ac_func in sqrtf
74288 +do :
74289 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
74290 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
74291 + cat >>confdefs.h <<_ACEOF
74292 +#define HAVE_SQRTF 1
74293 +_ACEOF
74296 +done
74298 + else
74300 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
74301 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
74302 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
74303 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
74304 + $as_echo_n "(cached) " >&6
74305 +else
74308 + ac_ext=cpp
74309 +ac_cpp='$CXXCPP $CPPFLAGS'
74310 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74311 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74312 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74314 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74315 +/* end confdefs.h. */
74316 +#include <math.h>
74317 + #ifdef HAVE_IEEEFP_H
74318 + #include <ieeefp.h>
74319 + #endif
74321 +int
74322 +main ()
74324 + _sqrtf(0);
74326 + return 0;
74328 +_ACEOF
74329 +if ac_fn_cxx_try_compile "$LINENO"; then :
74330 + glibcxx_cv_func__sqrtf_use=yes
74331 +else
74332 + glibcxx_cv_func__sqrtf_use=no
74334 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74335 + ac_ext=c
74336 +ac_cpp='$CPP $CPPFLAGS'
74337 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74338 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74339 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74344 + fi
74345 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
74346 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
74348 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
74349 + for ac_func in _sqrtf
74350 +do :
74351 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
74352 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
74353 + cat >>confdefs.h <<_ACEOF
74354 +#define HAVE__SQRTF 1
74355 +_ACEOF
74358 +done
74360 + fi
74361 + fi
74367 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
74368 +$as_echo_n "checking for sincosf declaration... " >&6; }
74369 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
74370 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
74371 + $as_echo_n "(cached) " >&6
74372 +else
74375 + ac_ext=cpp
74376 +ac_cpp='$CXXCPP $CPPFLAGS'
74377 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74378 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74379 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74381 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74382 +/* end confdefs.h. */
74383 +#include <math.h>
74384 +int
74385 +main ()
74387 + sincosf(0, 0, 0);
74389 + return 0;
74391 +_ACEOF
74392 +if ac_fn_cxx_try_compile "$LINENO"; then :
74393 + glibcxx_cv_func_sincosf_use=yes
74394 +else
74395 + glibcxx_cv_func_sincosf_use=no
74397 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74398 + ac_ext=c
74399 +ac_cpp='$CPP $CPPFLAGS'
74400 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74401 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74402 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74407 + fi
74408 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
74409 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
74411 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
74412 + for ac_func in sincosf
74413 +do :
74414 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
74415 +if test "x$ac_cv_func_sincosf" = x""yes; then :
74416 + cat >>confdefs.h <<_ACEOF
74417 +#define HAVE_SINCOSF 1
74418 +_ACEOF
74421 +done
74423 + else
74425 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
74426 +$as_echo_n "checking for _sincosf declaration... " >&6; }
74427 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
74428 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
74429 + $as_echo_n "(cached) " >&6
74430 +else
74433 + ac_ext=cpp
74434 +ac_cpp='$CXXCPP $CPPFLAGS'
74435 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74436 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74437 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74439 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74440 +/* end confdefs.h. */
74441 +#include <math.h>
74442 +int
74443 +main ()
74445 + _sincosf(0, 0, 0);
74447 + return 0;
74449 +_ACEOF
74450 +if ac_fn_cxx_try_compile "$LINENO"; then :
74451 + glibcxx_cv_func__sincosf_use=yes
74452 +else
74453 + glibcxx_cv_func__sincosf_use=no
74455 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74456 + ac_ext=c
74457 +ac_cpp='$CPP $CPPFLAGS'
74458 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74459 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74460 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74465 + fi
74466 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
74467 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
74469 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
74470 + for ac_func in _sincosf
74471 +do :
74472 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
74473 +if test "x$ac_cv_func__sincosf" = x""yes; then :
74474 + cat >>confdefs.h <<_ACEOF
74475 +#define HAVE__SINCOSF 1
74476 +_ACEOF
74479 +done
74481 + fi
74482 + fi
74488 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
74489 +$as_echo_n "checking for finitef declaration... " >&6; }
74490 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
74491 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
74492 + $as_echo_n "(cached) " >&6
74493 +else
74496 + ac_ext=cpp
74497 +ac_cpp='$CXXCPP $CPPFLAGS'
74498 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74499 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74500 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74502 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74503 +/* end confdefs.h. */
74504 +#include <math.h>
74505 + #ifdef HAVE_IEEEFP_H
74506 + #include <ieeefp.h>
74507 + #endif
74509 +int
74510 +main ()
74512 + finitef(0);
74514 + return 0;
74516 +_ACEOF
74517 +if ac_fn_cxx_try_compile "$LINENO"; then :
74518 + glibcxx_cv_func_finitef_use=yes
74519 +else
74520 + glibcxx_cv_func_finitef_use=no
74522 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74523 + ac_ext=c
74524 +ac_cpp='$CPP $CPPFLAGS'
74525 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74526 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74527 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74532 + fi
74533 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
74534 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
74536 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
74537 + for ac_func in finitef
74538 +do :
74539 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
74540 +if test "x$ac_cv_func_finitef" = x""yes; then :
74541 + cat >>confdefs.h <<_ACEOF
74542 +#define HAVE_FINITEF 1
74543 +_ACEOF
74546 +done
74548 + else
74550 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
74551 +$as_echo_n "checking for _finitef declaration... " >&6; }
74552 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
74553 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
74554 + $as_echo_n "(cached) " >&6
74555 +else
74558 + ac_ext=cpp
74559 +ac_cpp='$CXXCPP $CPPFLAGS'
74560 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74561 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74562 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74564 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74565 +/* end confdefs.h. */
74566 +#include <math.h>
74567 + #ifdef HAVE_IEEEFP_H
74568 + #include <ieeefp.h>
74569 + #endif
74571 +int
74572 +main ()
74574 + _finitef(0);
74576 + return 0;
74578 +_ACEOF
74579 +if ac_fn_cxx_try_compile "$LINENO"; then :
74580 + glibcxx_cv_func__finitef_use=yes
74581 +else
74582 + glibcxx_cv_func__finitef_use=no
74584 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74585 + ac_ext=c
74586 +ac_cpp='$CPP $CPPFLAGS'
74587 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74588 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74589 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74594 + fi
74595 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
74596 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
74598 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
74599 + for ac_func in _finitef
74600 +do :
74601 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
74602 +if test "x$ac_cv_func__finitef" = x""yes; then :
74603 + cat >>confdefs.h <<_ACEOF
74604 +#define HAVE__FINITEF 1
74605 +_ACEOF
74608 +done
74610 + fi
74611 + fi
74617 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
74618 +$as_echo_n "checking for long double trig functions... " >&6; }
74619 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
74620 + $as_echo_n "(cached) " >&6
74621 +else
74624 + ac_ext=cpp
74625 +ac_cpp='$CXXCPP $CPPFLAGS'
74626 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74627 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74628 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74630 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74631 +/* end confdefs.h. */
74632 +#include <math.h>
74633 +int
74634 +main ()
74636 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
74638 + return 0;
74640 +_ACEOF
74641 +if ac_fn_cxx_try_compile "$LINENO"; then :
74642 + glibcxx_cv_func_long_double_trig_use=yes
74643 +else
74644 + glibcxx_cv_func_long_double_trig_use=no
74646 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74647 + ac_ext=c
74648 +ac_cpp='$CPP $CPPFLAGS'
74649 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74650 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74651 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74655 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
74656 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
74657 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
74658 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
74659 +do :
74660 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
74661 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
74662 +eval as_val=\$$as_ac_var
74663 + if test "x$as_val" = x""yes; then :
74664 + cat >>confdefs.h <<_ACEOF
74665 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
74666 +_ACEOF
74669 +done
74671 + else
74672 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
74673 +$as_echo_n "checking for _long double trig functions... " >&6; }
74674 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
74675 + $as_echo_n "(cached) " >&6
74676 +else
74679 + ac_ext=cpp
74680 +ac_cpp='$CXXCPP $CPPFLAGS'
74681 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74682 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74683 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74685 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74686 +/* end confdefs.h. */
74687 +#include <math.h>
74688 +int
74689 +main ()
74691 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
74693 + return 0;
74695 +_ACEOF
74696 +if ac_fn_cxx_try_compile "$LINENO"; then :
74697 + glibcxx_cv_func__long_double_trig_use=yes
74698 +else
74699 + glibcxx_cv_func__long_double_trig_use=no
74701 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74702 + ac_ext=c
74703 +ac_cpp='$CPP $CPPFLAGS'
74704 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74705 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74706 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74710 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
74711 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
74712 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
74713 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
74714 +do :
74715 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
74716 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
74717 +eval as_val=\$$as_ac_var
74718 + if test "x$as_val" = x""yes; then :
74719 + cat >>confdefs.h <<_ACEOF
74720 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
74721 +_ACEOF
74724 +done
74726 + fi
74727 + fi
74733 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
74734 +$as_echo_n "checking for long double round functions... " >&6; }
74735 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
74736 + $as_echo_n "(cached) " >&6
74737 +else
74740 + ac_ext=cpp
74741 +ac_cpp='$CXXCPP $CPPFLAGS'
74742 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74743 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74744 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74746 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74747 +/* end confdefs.h. */
74748 +#include <math.h>
74749 +int
74750 +main ()
74752 +ceill (0); floorl (0);
74754 + return 0;
74756 +_ACEOF
74757 +if ac_fn_cxx_try_compile "$LINENO"; then :
74758 + glibcxx_cv_func_long_double_round_use=yes
74759 +else
74760 + glibcxx_cv_func_long_double_round_use=no
74762 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74763 + ac_ext=c
74764 +ac_cpp='$CPP $CPPFLAGS'
74765 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74766 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74767 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74771 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
74772 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
74773 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
74774 + for ac_func in ceill floorl
74775 +do :
74776 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
74777 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
74778 +eval as_val=\$$as_ac_var
74779 + if test "x$as_val" = x""yes; then :
74780 + cat >>confdefs.h <<_ACEOF
74781 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
74782 +_ACEOF
74785 +done
74787 + else
74788 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
74789 +$as_echo_n "checking for _long double round functions... " >&6; }
74790 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
74791 + $as_echo_n "(cached) " >&6
74792 +else
74795 + ac_ext=cpp
74796 +ac_cpp='$CXXCPP $CPPFLAGS'
74797 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74798 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74799 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74801 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74802 +/* end confdefs.h. */
74803 +#include <math.h>
74804 +int
74805 +main ()
74807 +_ceill (0); _floorl (0);
74809 + return 0;
74811 +_ACEOF
74812 +if ac_fn_cxx_try_compile "$LINENO"; then :
74813 + glibcxx_cv_func__long_double_round_use=yes
74814 +else
74815 + glibcxx_cv_func__long_double_round_use=no
74817 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74818 + ac_ext=c
74819 +ac_cpp='$CPP $CPPFLAGS'
74820 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74821 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74822 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74826 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
74827 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
74828 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
74829 + for ac_func in _ceill _floorl
74830 +do :
74831 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
74832 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
74833 +eval as_val=\$$as_ac_var
74834 + if test "x$as_val" = x""yes; then :
74835 + cat >>confdefs.h <<_ACEOF
74836 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
74837 +_ACEOF
74840 +done
74842 + fi
74843 + fi
74850 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
74851 +$as_echo_n "checking for isnanl declaration... " >&6; }
74852 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
74853 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
74854 + $as_echo_n "(cached) " >&6
74855 +else
74858 + ac_ext=cpp
74859 +ac_cpp='$CXXCPP $CPPFLAGS'
74860 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74861 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74862 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74864 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74865 +/* end confdefs.h. */
74866 +#include <math.h>
74867 + #ifdef HAVE_IEEEFP_H
74868 + #include <ieeefp.h>
74869 + #endif
74871 +int
74872 +main ()
74874 + isnanl(0);
74876 + return 0;
74878 +_ACEOF
74879 +if ac_fn_cxx_try_compile "$LINENO"; then :
74880 + glibcxx_cv_func_isnanl_use=yes
74881 +else
74882 + glibcxx_cv_func_isnanl_use=no
74884 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74885 + ac_ext=c
74886 +ac_cpp='$CPP $CPPFLAGS'
74887 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74888 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74889 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74894 + fi
74895 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
74896 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
74898 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
74899 + for ac_func in isnanl
74900 +do :
74901 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
74902 +if test "x$ac_cv_func_isnanl" = x""yes; then :
74903 + cat >>confdefs.h <<_ACEOF
74904 +#define HAVE_ISNANL 1
74905 +_ACEOF
74908 +done
74910 + else
74912 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
74913 +$as_echo_n "checking for _isnanl declaration... " >&6; }
74914 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
74915 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
74916 + $as_echo_n "(cached) " >&6
74917 +else
74920 + ac_ext=cpp
74921 +ac_cpp='$CXXCPP $CPPFLAGS'
74922 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74923 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74924 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74926 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74927 +/* end confdefs.h. */
74928 +#include <math.h>
74929 + #ifdef HAVE_IEEEFP_H
74930 + #include <ieeefp.h>
74931 + #endif
74933 +int
74934 +main ()
74936 + _isnanl(0);
74938 + return 0;
74940 +_ACEOF
74941 +if ac_fn_cxx_try_compile "$LINENO"; then :
74942 + glibcxx_cv_func__isnanl_use=yes
74943 +else
74944 + glibcxx_cv_func__isnanl_use=no
74946 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
74947 + ac_ext=c
74948 +ac_cpp='$CPP $CPPFLAGS'
74949 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74950 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74951 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
74956 + fi
74957 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
74958 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
74960 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
74961 + for ac_func in _isnanl
74962 +do :
74963 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
74964 +if test "x$ac_cv_func__isnanl" = x""yes; then :
74965 + cat >>confdefs.h <<_ACEOF
74966 +#define HAVE__ISNANL 1
74967 +_ACEOF
74970 +done
74972 + fi
74973 + fi
74979 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
74980 +$as_echo_n "checking for isinfl declaration... " >&6; }
74981 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
74982 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
74983 + $as_echo_n "(cached) " >&6
74984 +else
74987 + ac_ext=cpp
74988 +ac_cpp='$CXXCPP $CPPFLAGS'
74989 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
74990 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
74991 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
74993 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
74994 +/* end confdefs.h. */
74995 +#include <math.h>
74996 + #ifdef HAVE_IEEEFP_H
74997 + #include <ieeefp.h>
74998 + #endif
75000 +int
75001 +main ()
75003 + isinfl(0);
75005 + return 0;
75007 +_ACEOF
75008 +if ac_fn_cxx_try_compile "$LINENO"; then :
75009 + glibcxx_cv_func_isinfl_use=yes
75010 +else
75011 + glibcxx_cv_func_isinfl_use=no
75013 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75014 + ac_ext=c
75015 +ac_cpp='$CPP $CPPFLAGS'
75016 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75017 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75018 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75023 + fi
75024 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
75025 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
75027 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
75028 + for ac_func in isinfl
75029 +do :
75030 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
75031 +if test "x$ac_cv_func_isinfl" = x""yes; then :
75032 + cat >>confdefs.h <<_ACEOF
75033 +#define HAVE_ISINFL 1
75034 +_ACEOF
75037 +done
75039 + else
75041 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
75042 +$as_echo_n "checking for _isinfl declaration... " >&6; }
75043 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
75044 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
75045 + $as_echo_n "(cached) " >&6
75046 +else
75049 + ac_ext=cpp
75050 +ac_cpp='$CXXCPP $CPPFLAGS'
75051 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75052 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75053 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75055 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75056 +/* end confdefs.h. */
75057 +#include <math.h>
75058 + #ifdef HAVE_IEEEFP_H
75059 + #include <ieeefp.h>
75060 + #endif
75062 +int
75063 +main ()
75065 + _isinfl(0);
75067 + return 0;
75069 +_ACEOF
75070 +if ac_fn_cxx_try_compile "$LINENO"; then :
75071 + glibcxx_cv_func__isinfl_use=yes
75072 +else
75073 + glibcxx_cv_func__isinfl_use=no
75075 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75076 + ac_ext=c
75077 +ac_cpp='$CPP $CPPFLAGS'
75078 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75079 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75080 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75085 + fi
75086 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
75087 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
75089 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
75090 + for ac_func in _isinfl
75091 +do :
75092 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
75093 +if test "x$ac_cv_func__isinfl" = x""yes; then :
75094 + cat >>confdefs.h <<_ACEOF
75095 +#define HAVE__ISINFL 1
75096 +_ACEOF
75099 +done
75101 + fi
75102 + fi
75108 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
75109 +$as_echo_n "checking for atan2l declaration... " >&6; }
75110 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
75111 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
75112 + $as_echo_n "(cached) " >&6
75113 +else
75116 + ac_ext=cpp
75117 +ac_cpp='$CXXCPP $CPPFLAGS'
75118 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75119 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75120 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75122 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75123 +/* end confdefs.h. */
75124 +#include <math.h>
75125 +int
75126 +main ()
75128 + atan2l(0, 0);
75130 + return 0;
75132 +_ACEOF
75133 +if ac_fn_cxx_try_compile "$LINENO"; then :
75134 + glibcxx_cv_func_atan2l_use=yes
75135 +else
75136 + glibcxx_cv_func_atan2l_use=no
75138 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75139 + ac_ext=c
75140 +ac_cpp='$CPP $CPPFLAGS'
75141 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75142 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75143 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75148 + fi
75149 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
75150 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
75152 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
75153 + for ac_func in atan2l
75154 +do :
75155 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
75156 +if test "x$ac_cv_func_atan2l" = x""yes; then :
75157 + cat >>confdefs.h <<_ACEOF
75158 +#define HAVE_ATAN2L 1
75159 +_ACEOF
75162 +done
75164 + else
75166 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
75167 +$as_echo_n "checking for _atan2l declaration... " >&6; }
75168 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
75169 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
75170 + $as_echo_n "(cached) " >&6
75171 +else
75174 + ac_ext=cpp
75175 +ac_cpp='$CXXCPP $CPPFLAGS'
75176 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75177 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75178 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75180 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75181 +/* end confdefs.h. */
75182 +#include <math.h>
75183 +int
75184 +main ()
75186 + _atan2l(0, 0);
75188 + return 0;
75190 +_ACEOF
75191 +if ac_fn_cxx_try_compile "$LINENO"; then :
75192 + glibcxx_cv_func__atan2l_use=yes
75193 +else
75194 + glibcxx_cv_func__atan2l_use=no
75196 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75197 + ac_ext=c
75198 +ac_cpp='$CPP $CPPFLAGS'
75199 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75200 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75201 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75206 + fi
75207 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
75208 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
75210 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
75211 + for ac_func in _atan2l
75212 +do :
75213 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
75214 +if test "x$ac_cv_func__atan2l" = x""yes; then :
75215 + cat >>confdefs.h <<_ACEOF
75216 +#define HAVE__ATAN2L 1
75217 +_ACEOF
75220 +done
75222 + fi
75223 + fi
75229 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
75230 +$as_echo_n "checking for expl declaration... " >&6; }
75231 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
75232 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
75233 + $as_echo_n "(cached) " >&6
75234 +else
75237 + ac_ext=cpp
75238 +ac_cpp='$CXXCPP $CPPFLAGS'
75239 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75240 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75241 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75243 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75244 +/* end confdefs.h. */
75245 +#include <math.h>
75246 + #ifdef HAVE_IEEEFP_H
75247 + #include <ieeefp.h>
75248 + #endif
75250 +int
75251 +main ()
75253 + expl(0);
75255 + return 0;
75257 +_ACEOF
75258 +if ac_fn_cxx_try_compile "$LINENO"; then :
75259 + glibcxx_cv_func_expl_use=yes
75260 +else
75261 + glibcxx_cv_func_expl_use=no
75263 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75264 + ac_ext=c
75265 +ac_cpp='$CPP $CPPFLAGS'
75266 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75267 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75268 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75273 + fi
75274 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
75275 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
75277 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
75278 + for ac_func in expl
75279 +do :
75280 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
75281 +if test "x$ac_cv_func_expl" = x""yes; then :
75282 + cat >>confdefs.h <<_ACEOF
75283 +#define HAVE_EXPL 1
75284 +_ACEOF
75287 +done
75289 + else
75291 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
75292 +$as_echo_n "checking for _expl declaration... " >&6; }
75293 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
75294 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
75295 + $as_echo_n "(cached) " >&6
75296 +else
75299 + ac_ext=cpp
75300 +ac_cpp='$CXXCPP $CPPFLAGS'
75301 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75302 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75303 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75305 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75306 +/* end confdefs.h. */
75307 +#include <math.h>
75308 + #ifdef HAVE_IEEEFP_H
75309 + #include <ieeefp.h>
75310 + #endif
75312 +int
75313 +main ()
75315 + _expl(0);
75317 + return 0;
75319 +_ACEOF
75320 +if ac_fn_cxx_try_compile "$LINENO"; then :
75321 + glibcxx_cv_func__expl_use=yes
75322 +else
75323 + glibcxx_cv_func__expl_use=no
75325 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75326 + ac_ext=c
75327 +ac_cpp='$CPP $CPPFLAGS'
75328 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75329 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75330 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75335 + fi
75336 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
75337 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
75339 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
75340 + for ac_func in _expl
75341 +do :
75342 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
75343 +if test "x$ac_cv_func__expl" = x""yes; then :
75344 + cat >>confdefs.h <<_ACEOF
75345 +#define HAVE__EXPL 1
75346 +_ACEOF
75349 +done
75351 + fi
75352 + fi
75358 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
75359 +$as_echo_n "checking for fabsl declaration... " >&6; }
75360 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
75361 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
75362 + $as_echo_n "(cached) " >&6
75363 +else
75366 + ac_ext=cpp
75367 +ac_cpp='$CXXCPP $CPPFLAGS'
75368 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75369 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75370 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75372 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75373 +/* end confdefs.h. */
75374 +#include <math.h>
75375 + #ifdef HAVE_IEEEFP_H
75376 + #include <ieeefp.h>
75377 + #endif
75379 +int
75380 +main ()
75382 + fabsl(0);
75384 + return 0;
75386 +_ACEOF
75387 +if ac_fn_cxx_try_compile "$LINENO"; then :
75388 + glibcxx_cv_func_fabsl_use=yes
75389 +else
75390 + glibcxx_cv_func_fabsl_use=no
75392 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75393 + ac_ext=c
75394 +ac_cpp='$CPP $CPPFLAGS'
75395 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75396 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75397 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75402 + fi
75403 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
75404 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
75406 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
75407 + for ac_func in fabsl
75408 +do :
75409 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
75410 +if test "x$ac_cv_func_fabsl" = x""yes; then :
75411 + cat >>confdefs.h <<_ACEOF
75412 +#define HAVE_FABSL 1
75413 +_ACEOF
75416 +done
75418 + else
75420 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
75421 +$as_echo_n "checking for _fabsl declaration... " >&6; }
75422 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
75423 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
75424 + $as_echo_n "(cached) " >&6
75425 +else
75428 + ac_ext=cpp
75429 +ac_cpp='$CXXCPP $CPPFLAGS'
75430 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75431 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75432 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75434 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75435 +/* end confdefs.h. */
75436 +#include <math.h>
75437 + #ifdef HAVE_IEEEFP_H
75438 + #include <ieeefp.h>
75439 + #endif
75441 +int
75442 +main ()
75444 + _fabsl(0);
75446 + return 0;
75448 +_ACEOF
75449 +if ac_fn_cxx_try_compile "$LINENO"; then :
75450 + glibcxx_cv_func__fabsl_use=yes
75451 +else
75452 + glibcxx_cv_func__fabsl_use=no
75454 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75455 + ac_ext=c
75456 +ac_cpp='$CPP $CPPFLAGS'
75457 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75458 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75459 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75464 + fi
75465 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
75466 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
75468 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
75469 + for ac_func in _fabsl
75470 +do :
75471 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
75472 +if test "x$ac_cv_func__fabsl" = x""yes; then :
75473 + cat >>confdefs.h <<_ACEOF
75474 +#define HAVE__FABSL 1
75475 +_ACEOF
75478 +done
75480 + fi
75481 + fi
75487 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
75488 +$as_echo_n "checking for fmodl declaration... " >&6; }
75489 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
75490 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
75491 + $as_echo_n "(cached) " >&6
75492 +else
75495 + ac_ext=cpp
75496 +ac_cpp='$CXXCPP $CPPFLAGS'
75497 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75498 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75499 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75501 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75502 +/* end confdefs.h. */
75503 +#include <math.h>
75504 +int
75505 +main ()
75507 + fmodl(0, 0);
75509 + return 0;
75511 +_ACEOF
75512 +if ac_fn_cxx_try_compile "$LINENO"; then :
75513 + glibcxx_cv_func_fmodl_use=yes
75514 +else
75515 + glibcxx_cv_func_fmodl_use=no
75517 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75518 + ac_ext=c
75519 +ac_cpp='$CPP $CPPFLAGS'
75520 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75521 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75522 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75527 + fi
75528 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
75529 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
75531 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
75532 + for ac_func in fmodl
75533 +do :
75534 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
75535 +if test "x$ac_cv_func_fmodl" = x""yes; then :
75536 + cat >>confdefs.h <<_ACEOF
75537 +#define HAVE_FMODL 1
75538 +_ACEOF
75541 +done
75543 + else
75545 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
75546 +$as_echo_n "checking for _fmodl declaration... " >&6; }
75547 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
75548 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
75549 + $as_echo_n "(cached) " >&6
75550 +else
75553 + ac_ext=cpp
75554 +ac_cpp='$CXXCPP $CPPFLAGS'
75555 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75556 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75557 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75559 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75560 +/* end confdefs.h. */
75561 +#include <math.h>
75562 +int
75563 +main ()
75565 + _fmodl(0, 0);
75567 + return 0;
75569 +_ACEOF
75570 +if ac_fn_cxx_try_compile "$LINENO"; then :
75571 + glibcxx_cv_func__fmodl_use=yes
75572 +else
75573 + glibcxx_cv_func__fmodl_use=no
75575 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75576 + ac_ext=c
75577 +ac_cpp='$CPP $CPPFLAGS'
75578 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75579 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75580 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75585 + fi
75586 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
75587 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
75589 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
75590 + for ac_func in _fmodl
75591 +do :
75592 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
75593 +if test "x$ac_cv_func__fmodl" = x""yes; then :
75594 + cat >>confdefs.h <<_ACEOF
75595 +#define HAVE__FMODL 1
75596 +_ACEOF
75599 +done
75601 + fi
75602 + fi
75608 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
75609 +$as_echo_n "checking for frexpl declaration... " >&6; }
75610 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
75611 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
75612 + $as_echo_n "(cached) " >&6
75613 +else
75616 + ac_ext=cpp
75617 +ac_cpp='$CXXCPP $CPPFLAGS'
75618 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75619 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75620 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75622 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75623 +/* end confdefs.h. */
75624 +#include <math.h>
75625 +int
75626 +main ()
75628 + frexpl(0, 0);
75630 + return 0;
75632 +_ACEOF
75633 +if ac_fn_cxx_try_compile "$LINENO"; then :
75634 + glibcxx_cv_func_frexpl_use=yes
75635 +else
75636 + glibcxx_cv_func_frexpl_use=no
75638 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75639 + ac_ext=c
75640 +ac_cpp='$CPP $CPPFLAGS'
75641 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75642 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75643 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75648 + fi
75649 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
75650 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
75652 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
75653 + for ac_func in frexpl
75654 +do :
75655 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
75656 +if test "x$ac_cv_func_frexpl" = x""yes; then :
75657 + cat >>confdefs.h <<_ACEOF
75658 +#define HAVE_FREXPL 1
75659 +_ACEOF
75662 +done
75664 + else
75666 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
75667 +$as_echo_n "checking for _frexpl declaration... " >&6; }
75668 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
75669 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
75670 + $as_echo_n "(cached) " >&6
75671 +else
75674 + ac_ext=cpp
75675 +ac_cpp='$CXXCPP $CPPFLAGS'
75676 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75677 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75678 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75680 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75681 +/* end confdefs.h. */
75682 +#include <math.h>
75683 +int
75684 +main ()
75686 + _frexpl(0, 0);
75688 + return 0;
75690 +_ACEOF
75691 +if ac_fn_cxx_try_compile "$LINENO"; then :
75692 + glibcxx_cv_func__frexpl_use=yes
75693 +else
75694 + glibcxx_cv_func__frexpl_use=no
75696 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75697 + ac_ext=c
75698 +ac_cpp='$CPP $CPPFLAGS'
75699 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75700 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75701 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75706 + fi
75707 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
75708 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
75710 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
75711 + for ac_func in _frexpl
75712 +do :
75713 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
75714 +if test "x$ac_cv_func__frexpl" = x""yes; then :
75715 + cat >>confdefs.h <<_ACEOF
75716 +#define HAVE__FREXPL 1
75717 +_ACEOF
75720 +done
75722 + fi
75723 + fi
75729 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
75730 +$as_echo_n "checking for hypotl declaration... " >&6; }
75731 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
75732 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
75733 + $as_echo_n "(cached) " >&6
75734 +else
75737 + ac_ext=cpp
75738 +ac_cpp='$CXXCPP $CPPFLAGS'
75739 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75740 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75741 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75743 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75744 +/* end confdefs.h. */
75745 +#include <math.h>
75746 +int
75747 +main ()
75749 + hypotl(0, 0);
75751 + return 0;
75753 +_ACEOF
75754 +if ac_fn_cxx_try_compile "$LINENO"; then :
75755 + glibcxx_cv_func_hypotl_use=yes
75756 +else
75757 + glibcxx_cv_func_hypotl_use=no
75759 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75760 + ac_ext=c
75761 +ac_cpp='$CPP $CPPFLAGS'
75762 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75763 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75764 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75769 + fi
75770 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
75771 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
75773 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
75774 + for ac_func in hypotl
75775 +do :
75776 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
75777 +if test "x$ac_cv_func_hypotl" = x""yes; then :
75778 + cat >>confdefs.h <<_ACEOF
75779 +#define HAVE_HYPOTL 1
75780 +_ACEOF
75783 +done
75785 + else
75787 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
75788 +$as_echo_n "checking for _hypotl declaration... " >&6; }
75789 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
75790 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
75791 + $as_echo_n "(cached) " >&6
75792 +else
75795 + ac_ext=cpp
75796 +ac_cpp='$CXXCPP $CPPFLAGS'
75797 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75798 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75799 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75801 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75802 +/* end confdefs.h. */
75803 +#include <math.h>
75804 +int
75805 +main ()
75807 + _hypotl(0, 0);
75809 + return 0;
75811 +_ACEOF
75812 +if ac_fn_cxx_try_compile "$LINENO"; then :
75813 + glibcxx_cv_func__hypotl_use=yes
75814 +else
75815 + glibcxx_cv_func__hypotl_use=no
75817 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75818 + ac_ext=c
75819 +ac_cpp='$CPP $CPPFLAGS'
75820 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75821 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75822 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75827 + fi
75828 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
75829 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
75831 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
75832 + for ac_func in _hypotl
75833 +do :
75834 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
75835 +if test "x$ac_cv_func__hypotl" = x""yes; then :
75836 + cat >>confdefs.h <<_ACEOF
75837 +#define HAVE__HYPOTL 1
75838 +_ACEOF
75841 +done
75843 + fi
75844 + fi
75850 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
75851 +$as_echo_n "checking for ldexpl declaration... " >&6; }
75852 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
75853 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
75854 + $as_echo_n "(cached) " >&6
75855 +else
75858 + ac_ext=cpp
75859 +ac_cpp='$CXXCPP $CPPFLAGS'
75860 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75861 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75862 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75864 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75865 +/* end confdefs.h. */
75866 +#include <math.h>
75867 +int
75868 +main ()
75870 + ldexpl(0, 0);
75872 + return 0;
75874 +_ACEOF
75875 +if ac_fn_cxx_try_compile "$LINENO"; then :
75876 + glibcxx_cv_func_ldexpl_use=yes
75877 +else
75878 + glibcxx_cv_func_ldexpl_use=no
75880 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75881 + ac_ext=c
75882 +ac_cpp='$CPP $CPPFLAGS'
75883 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75884 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75885 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75890 + fi
75891 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
75892 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
75894 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
75895 + for ac_func in ldexpl
75896 +do :
75897 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
75898 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
75899 + cat >>confdefs.h <<_ACEOF
75900 +#define HAVE_LDEXPL 1
75901 +_ACEOF
75904 +done
75906 + else
75908 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
75909 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
75910 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
75911 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
75912 + $as_echo_n "(cached) " >&6
75913 +else
75916 + ac_ext=cpp
75917 +ac_cpp='$CXXCPP $CPPFLAGS'
75918 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75919 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75920 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75922 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75923 +/* end confdefs.h. */
75924 +#include <math.h>
75925 +int
75926 +main ()
75928 + _ldexpl(0, 0);
75930 + return 0;
75932 +_ACEOF
75933 +if ac_fn_cxx_try_compile "$LINENO"; then :
75934 + glibcxx_cv_func__ldexpl_use=yes
75935 +else
75936 + glibcxx_cv_func__ldexpl_use=no
75938 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
75939 + ac_ext=c
75940 +ac_cpp='$CPP $CPPFLAGS'
75941 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75942 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75943 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
75948 + fi
75949 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
75950 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
75952 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
75953 + for ac_func in _ldexpl
75954 +do :
75955 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
75956 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
75957 + cat >>confdefs.h <<_ACEOF
75958 +#define HAVE__LDEXPL 1
75959 +_ACEOF
75962 +done
75964 + fi
75965 + fi
75971 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
75972 +$as_echo_n "checking for logl declaration... " >&6; }
75973 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
75974 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
75975 + $as_echo_n "(cached) " >&6
75976 +else
75979 + ac_ext=cpp
75980 +ac_cpp='$CXXCPP $CPPFLAGS'
75981 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
75982 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
75983 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
75985 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
75986 +/* end confdefs.h. */
75987 +#include <math.h>
75988 + #ifdef HAVE_IEEEFP_H
75989 + #include <ieeefp.h>
75990 + #endif
75992 +int
75993 +main ()
75995 + logl(0);
75997 + return 0;
75999 +_ACEOF
76000 +if ac_fn_cxx_try_compile "$LINENO"; then :
76001 + glibcxx_cv_func_logl_use=yes
76002 +else
76003 + glibcxx_cv_func_logl_use=no
76005 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76006 + ac_ext=c
76007 +ac_cpp='$CPP $CPPFLAGS'
76008 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76009 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76010 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76015 + fi
76016 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
76017 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
76019 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
76020 + for ac_func in logl
76021 +do :
76022 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
76023 +if test "x$ac_cv_func_logl" = x""yes; then :
76024 + cat >>confdefs.h <<_ACEOF
76025 +#define HAVE_LOGL 1
76026 +_ACEOF
76029 +done
76031 + else
76033 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
76034 +$as_echo_n "checking for _logl declaration... " >&6; }
76035 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
76036 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
76037 + $as_echo_n "(cached) " >&6
76038 +else
76041 + ac_ext=cpp
76042 +ac_cpp='$CXXCPP $CPPFLAGS'
76043 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76044 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76045 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76047 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76048 +/* end confdefs.h. */
76049 +#include <math.h>
76050 + #ifdef HAVE_IEEEFP_H
76051 + #include <ieeefp.h>
76052 + #endif
76054 +int
76055 +main ()
76057 + _logl(0);
76059 + return 0;
76061 +_ACEOF
76062 +if ac_fn_cxx_try_compile "$LINENO"; then :
76063 + glibcxx_cv_func__logl_use=yes
76064 +else
76065 + glibcxx_cv_func__logl_use=no
76067 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76068 + ac_ext=c
76069 +ac_cpp='$CPP $CPPFLAGS'
76070 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76071 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76072 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76077 + fi
76078 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
76079 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
76081 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
76082 + for ac_func in _logl
76083 +do :
76084 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
76085 +if test "x$ac_cv_func__logl" = x""yes; then :
76086 + cat >>confdefs.h <<_ACEOF
76087 +#define HAVE__LOGL 1
76088 +_ACEOF
76091 +done
76093 + fi
76094 + fi
76100 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
76101 +$as_echo_n "checking for log10l declaration... " >&6; }
76102 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
76103 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
76104 + $as_echo_n "(cached) " >&6
76105 +else
76108 + ac_ext=cpp
76109 +ac_cpp='$CXXCPP $CPPFLAGS'
76110 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76111 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76112 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76114 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76115 +/* end confdefs.h. */
76116 +#include <math.h>
76117 + #ifdef HAVE_IEEEFP_H
76118 + #include <ieeefp.h>
76119 + #endif
76121 +int
76122 +main ()
76124 + log10l(0);
76126 + return 0;
76128 +_ACEOF
76129 +if ac_fn_cxx_try_compile "$LINENO"; then :
76130 + glibcxx_cv_func_log10l_use=yes
76131 +else
76132 + glibcxx_cv_func_log10l_use=no
76134 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76135 + ac_ext=c
76136 +ac_cpp='$CPP $CPPFLAGS'
76137 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76138 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76139 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76144 + fi
76145 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
76146 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
76148 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
76149 + for ac_func in log10l
76150 +do :
76151 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
76152 +if test "x$ac_cv_func_log10l" = x""yes; then :
76153 + cat >>confdefs.h <<_ACEOF
76154 +#define HAVE_LOG10L 1
76155 +_ACEOF
76158 +done
76160 + else
76162 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
76163 +$as_echo_n "checking for _log10l declaration... " >&6; }
76164 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
76165 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
76166 + $as_echo_n "(cached) " >&6
76167 +else
76170 + ac_ext=cpp
76171 +ac_cpp='$CXXCPP $CPPFLAGS'
76172 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76173 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76174 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76176 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76177 +/* end confdefs.h. */
76178 +#include <math.h>
76179 + #ifdef HAVE_IEEEFP_H
76180 + #include <ieeefp.h>
76181 + #endif
76183 +int
76184 +main ()
76186 + _log10l(0);
76188 + return 0;
76190 +_ACEOF
76191 +if ac_fn_cxx_try_compile "$LINENO"; then :
76192 + glibcxx_cv_func__log10l_use=yes
76193 +else
76194 + glibcxx_cv_func__log10l_use=no
76196 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76197 + ac_ext=c
76198 +ac_cpp='$CPP $CPPFLAGS'
76199 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76200 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76201 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76206 + fi
76207 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
76208 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
76210 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
76211 + for ac_func in _log10l
76212 +do :
76213 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
76214 +if test "x$ac_cv_func__log10l" = x""yes; then :
76215 + cat >>confdefs.h <<_ACEOF
76216 +#define HAVE__LOG10L 1
76217 +_ACEOF
76220 +done
76222 + fi
76223 + fi
76229 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
76230 +$as_echo_n "checking for modfl declaration... " >&6; }
76231 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
76232 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
76233 + $as_echo_n "(cached) " >&6
76234 +else
76237 + ac_ext=cpp
76238 +ac_cpp='$CXXCPP $CPPFLAGS'
76239 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76240 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76241 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76243 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76244 +/* end confdefs.h. */
76245 +#include <math.h>
76246 +int
76247 +main ()
76249 + modfl(0, 0);
76251 + return 0;
76253 +_ACEOF
76254 +if ac_fn_cxx_try_compile "$LINENO"; then :
76255 + glibcxx_cv_func_modfl_use=yes
76256 +else
76257 + glibcxx_cv_func_modfl_use=no
76259 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76260 + ac_ext=c
76261 +ac_cpp='$CPP $CPPFLAGS'
76262 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76263 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76264 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76269 + fi
76270 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
76271 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
76273 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
76274 + for ac_func in modfl
76275 +do :
76276 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
76277 +if test "x$ac_cv_func_modfl" = x""yes; then :
76278 + cat >>confdefs.h <<_ACEOF
76279 +#define HAVE_MODFL 1
76280 +_ACEOF
76283 +done
76285 + else
76287 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
76288 +$as_echo_n "checking for _modfl declaration... " >&6; }
76289 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
76290 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
76291 + $as_echo_n "(cached) " >&6
76292 +else
76295 + ac_ext=cpp
76296 +ac_cpp='$CXXCPP $CPPFLAGS'
76297 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76298 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76299 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76301 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76302 +/* end confdefs.h. */
76303 +#include <math.h>
76304 +int
76305 +main ()
76307 + _modfl(0, 0);
76309 + return 0;
76311 +_ACEOF
76312 +if ac_fn_cxx_try_compile "$LINENO"; then :
76313 + glibcxx_cv_func__modfl_use=yes
76314 +else
76315 + glibcxx_cv_func__modfl_use=no
76317 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76318 + ac_ext=c
76319 +ac_cpp='$CPP $CPPFLAGS'
76320 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76321 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76322 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76327 + fi
76328 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
76329 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
76331 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
76332 + for ac_func in _modfl
76333 +do :
76334 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
76335 +if test "x$ac_cv_func__modfl" = x""yes; then :
76336 + cat >>confdefs.h <<_ACEOF
76337 +#define HAVE__MODFL 1
76338 +_ACEOF
76341 +done
76343 + fi
76344 + fi
76350 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
76351 +$as_echo_n "checking for powl declaration... " >&6; }
76352 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
76353 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
76354 + $as_echo_n "(cached) " >&6
76355 +else
76358 + ac_ext=cpp
76359 +ac_cpp='$CXXCPP $CPPFLAGS'
76360 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76361 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76362 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76364 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76365 +/* end confdefs.h. */
76366 +#include <math.h>
76367 +int
76368 +main ()
76370 + powl(0, 0);
76372 + return 0;
76374 +_ACEOF
76375 +if ac_fn_cxx_try_compile "$LINENO"; then :
76376 + glibcxx_cv_func_powl_use=yes
76377 +else
76378 + glibcxx_cv_func_powl_use=no
76380 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76381 + ac_ext=c
76382 +ac_cpp='$CPP $CPPFLAGS'
76383 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76384 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76385 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76390 + fi
76391 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
76392 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
76394 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
76395 + for ac_func in powl
76396 +do :
76397 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
76398 +if test "x$ac_cv_func_powl" = x""yes; then :
76399 + cat >>confdefs.h <<_ACEOF
76400 +#define HAVE_POWL 1
76401 +_ACEOF
76404 +done
76406 + else
76408 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
76409 +$as_echo_n "checking for _powl declaration... " >&6; }
76410 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
76411 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
76412 + $as_echo_n "(cached) " >&6
76413 +else
76416 + ac_ext=cpp
76417 +ac_cpp='$CXXCPP $CPPFLAGS'
76418 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76419 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76420 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76422 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76423 +/* end confdefs.h. */
76424 +#include <math.h>
76425 +int
76426 +main ()
76428 + _powl(0, 0);
76430 + return 0;
76432 +_ACEOF
76433 +if ac_fn_cxx_try_compile "$LINENO"; then :
76434 + glibcxx_cv_func__powl_use=yes
76435 +else
76436 + glibcxx_cv_func__powl_use=no
76438 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76439 + ac_ext=c
76440 +ac_cpp='$CPP $CPPFLAGS'
76441 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76442 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76443 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76448 + fi
76449 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
76450 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
76452 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
76453 + for ac_func in _powl
76454 +do :
76455 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
76456 +if test "x$ac_cv_func__powl" = x""yes; then :
76457 + cat >>confdefs.h <<_ACEOF
76458 +#define HAVE__POWL 1
76459 +_ACEOF
76462 +done
76464 + fi
76465 + fi
76471 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
76472 +$as_echo_n "checking for sqrtl declaration... " >&6; }
76473 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
76474 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
76475 + $as_echo_n "(cached) " >&6
76476 +else
76479 + ac_ext=cpp
76480 +ac_cpp='$CXXCPP $CPPFLAGS'
76481 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76482 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76483 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76485 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76486 +/* end confdefs.h. */
76487 +#include <math.h>
76488 + #ifdef HAVE_IEEEFP_H
76489 + #include <ieeefp.h>
76490 + #endif
76492 +int
76493 +main ()
76495 + sqrtl(0);
76497 + return 0;
76499 +_ACEOF
76500 +if ac_fn_cxx_try_compile "$LINENO"; then :
76501 + glibcxx_cv_func_sqrtl_use=yes
76502 +else
76503 + glibcxx_cv_func_sqrtl_use=no
76505 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76506 + ac_ext=c
76507 +ac_cpp='$CPP $CPPFLAGS'
76508 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76509 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76510 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76515 + fi
76516 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
76517 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
76519 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
76520 + for ac_func in sqrtl
76521 +do :
76522 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
76523 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
76524 + cat >>confdefs.h <<_ACEOF
76525 +#define HAVE_SQRTL 1
76526 +_ACEOF
76529 +done
76531 + else
76533 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
76534 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
76535 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
76536 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
76537 + $as_echo_n "(cached) " >&6
76538 +else
76541 + ac_ext=cpp
76542 +ac_cpp='$CXXCPP $CPPFLAGS'
76543 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76544 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76545 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76547 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76548 +/* end confdefs.h. */
76549 +#include <math.h>
76550 + #ifdef HAVE_IEEEFP_H
76551 + #include <ieeefp.h>
76552 + #endif
76554 +int
76555 +main ()
76557 + _sqrtl(0);
76559 + return 0;
76561 +_ACEOF
76562 +if ac_fn_cxx_try_compile "$LINENO"; then :
76563 + glibcxx_cv_func__sqrtl_use=yes
76564 +else
76565 + glibcxx_cv_func__sqrtl_use=no
76567 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76568 + ac_ext=c
76569 +ac_cpp='$CPP $CPPFLAGS'
76570 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76571 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76572 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76577 + fi
76578 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
76579 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
76581 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
76582 + for ac_func in _sqrtl
76583 +do :
76584 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
76585 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
76586 + cat >>confdefs.h <<_ACEOF
76587 +#define HAVE__SQRTL 1
76588 +_ACEOF
76591 +done
76593 + fi
76594 + fi
76600 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
76601 +$as_echo_n "checking for sincosl declaration... " >&6; }
76602 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
76603 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
76604 + $as_echo_n "(cached) " >&6
76605 +else
76608 + ac_ext=cpp
76609 +ac_cpp='$CXXCPP $CPPFLAGS'
76610 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76611 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76612 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76614 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76615 +/* end confdefs.h. */
76616 +#include <math.h>
76617 +int
76618 +main ()
76620 + sincosl(0, 0, 0);
76622 + return 0;
76624 +_ACEOF
76625 +if ac_fn_cxx_try_compile "$LINENO"; then :
76626 + glibcxx_cv_func_sincosl_use=yes
76627 +else
76628 + glibcxx_cv_func_sincosl_use=no
76630 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76631 + ac_ext=c
76632 +ac_cpp='$CPP $CPPFLAGS'
76633 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76634 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76635 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76640 + fi
76641 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
76642 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
76644 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
76645 + for ac_func in sincosl
76646 +do :
76647 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
76648 +if test "x$ac_cv_func_sincosl" = x""yes; then :
76649 + cat >>confdefs.h <<_ACEOF
76650 +#define HAVE_SINCOSL 1
76651 +_ACEOF
76654 +done
76656 + else
76658 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
76659 +$as_echo_n "checking for _sincosl declaration... " >&6; }
76660 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
76661 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
76662 + $as_echo_n "(cached) " >&6
76663 +else
76666 + ac_ext=cpp
76667 +ac_cpp='$CXXCPP $CPPFLAGS'
76668 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76669 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76670 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76672 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76673 +/* end confdefs.h. */
76674 +#include <math.h>
76675 +int
76676 +main ()
76678 + _sincosl(0, 0, 0);
76680 + return 0;
76682 +_ACEOF
76683 +if ac_fn_cxx_try_compile "$LINENO"; then :
76684 + glibcxx_cv_func__sincosl_use=yes
76685 +else
76686 + glibcxx_cv_func__sincosl_use=no
76688 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76689 + ac_ext=c
76690 +ac_cpp='$CPP $CPPFLAGS'
76691 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76692 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76693 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76698 + fi
76699 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
76700 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
76702 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
76703 + for ac_func in _sincosl
76704 +do :
76705 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
76706 +if test "x$ac_cv_func__sincosl" = x""yes; then :
76707 + cat >>confdefs.h <<_ACEOF
76708 +#define HAVE__SINCOSL 1
76709 +_ACEOF
76712 +done
76714 + fi
76715 + fi
76721 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
76722 +$as_echo_n "checking for finitel declaration... " >&6; }
76723 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
76724 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
76725 + $as_echo_n "(cached) " >&6
76726 +else
76729 + ac_ext=cpp
76730 +ac_cpp='$CXXCPP $CPPFLAGS'
76731 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76732 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76733 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76735 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76736 +/* end confdefs.h. */
76737 +#include <math.h>
76738 + #ifdef HAVE_IEEEFP_H
76739 + #include <ieeefp.h>
76740 + #endif
76742 +int
76743 +main ()
76745 + finitel(0);
76747 + return 0;
76749 +_ACEOF
76750 +if ac_fn_cxx_try_compile "$LINENO"; then :
76751 + glibcxx_cv_func_finitel_use=yes
76752 +else
76753 + glibcxx_cv_func_finitel_use=no
76755 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76756 + ac_ext=c
76757 +ac_cpp='$CPP $CPPFLAGS'
76758 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76759 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76760 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76765 + fi
76766 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
76767 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
76769 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
76770 + for ac_func in finitel
76771 +do :
76772 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
76773 +if test "x$ac_cv_func_finitel" = x""yes; then :
76774 + cat >>confdefs.h <<_ACEOF
76775 +#define HAVE_FINITEL 1
76776 +_ACEOF
76779 +done
76781 + else
76783 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
76784 +$as_echo_n "checking for _finitel declaration... " >&6; }
76785 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
76786 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
76787 + $as_echo_n "(cached) " >&6
76788 +else
76791 + ac_ext=cpp
76792 +ac_cpp='$CXXCPP $CPPFLAGS'
76793 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76794 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76795 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76797 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76798 +/* end confdefs.h. */
76799 +#include <math.h>
76800 + #ifdef HAVE_IEEEFP_H
76801 + #include <ieeefp.h>
76802 + #endif
76804 +int
76805 +main ()
76807 + _finitel(0);
76809 + return 0;
76811 +_ACEOF
76812 +if ac_fn_cxx_try_compile "$LINENO"; then :
76813 + glibcxx_cv_func__finitel_use=yes
76814 +else
76815 + glibcxx_cv_func__finitel_use=no
76817 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76818 + ac_ext=c
76819 +ac_cpp='$CPP $CPPFLAGS'
76820 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76821 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76822 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76827 + fi
76828 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
76829 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
76831 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
76832 + for ac_func in _finitel
76833 +do :
76834 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
76835 +if test "x$ac_cv_func__finitel" = x""yes; then :
76836 + cat >>confdefs.h <<_ACEOF
76837 +#define HAVE__FINITEL 1
76838 +_ACEOF
76841 +done
76843 + fi
76844 + fi
76849 + LIBS="$ac_save_LIBS"
76850 + CXXFLAGS="$ac_save_CXXFLAGS"
76853 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
76854 + ac_save_CXXFLAGS="$CXXFLAGS"
76855 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
76858 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
76859 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
76860 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
76861 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
76862 + $as_echo_n "(cached) " >&6
76863 +else
76866 + ac_ext=cpp
76867 +ac_cpp='$CXXCPP $CPPFLAGS'
76868 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76869 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76870 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76872 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76873 +/* end confdefs.h. */
76874 +#include <stdlib.h>
76875 +int
76876 +main ()
76878 + at_quick_exit(0);
76880 + return 0;
76882 +_ACEOF
76883 +if ac_fn_cxx_try_compile "$LINENO"; then :
76884 + glibcxx_cv_func_at_quick_exit_use=yes
76885 +else
76886 + glibcxx_cv_func_at_quick_exit_use=no
76888 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76889 + ac_ext=c
76890 +ac_cpp='$CPP $CPPFLAGS'
76891 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76892 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76893 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76898 + fi
76899 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
76900 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
76901 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
76902 + for ac_func in at_quick_exit
76903 +do :
76904 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
76905 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
76906 + cat >>confdefs.h <<_ACEOF
76907 +#define HAVE_AT_QUICK_EXIT 1
76908 +_ACEOF
76911 +done
76913 + fi
76916 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
76917 +$as_echo_n "checking for quick_exit declaration... " >&6; }
76918 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
76919 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
76920 + $as_echo_n "(cached) " >&6
76921 +else
76924 + ac_ext=cpp
76925 +ac_cpp='$CXXCPP $CPPFLAGS'
76926 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76927 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76928 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76930 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76931 +/* end confdefs.h. */
76932 +#include <stdlib.h>
76933 +int
76934 +main ()
76936 + quick_exit(0);
76938 + return 0;
76940 +_ACEOF
76941 +if ac_fn_cxx_try_compile "$LINENO"; then :
76942 + glibcxx_cv_func_quick_exit_use=yes
76943 +else
76944 + glibcxx_cv_func_quick_exit_use=no
76946 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
76947 + ac_ext=c
76948 +ac_cpp='$CPP $CPPFLAGS'
76949 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76950 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76951 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
76956 + fi
76957 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
76958 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
76959 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
76960 + for ac_func in quick_exit
76961 +do :
76962 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
76963 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
76964 + cat >>confdefs.h <<_ACEOF
76965 +#define HAVE_QUICK_EXIT 1
76966 +_ACEOF
76969 +done
76971 + fi
76974 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
76975 +$as_echo_n "checking for strtold declaration... " >&6; }
76976 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
76977 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
76978 + $as_echo_n "(cached) " >&6
76979 +else
76982 + ac_ext=cpp
76983 +ac_cpp='$CXXCPP $CPPFLAGS'
76984 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
76985 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
76986 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
76988 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
76989 +/* end confdefs.h. */
76990 +#include <stdlib.h>
76991 +int
76992 +main ()
76994 + strtold(0, 0);
76996 + return 0;
76998 +_ACEOF
76999 +if ac_fn_cxx_try_compile "$LINENO"; then :
77000 + glibcxx_cv_func_strtold_use=yes
77001 +else
77002 + glibcxx_cv_func_strtold_use=no
77004 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77005 + ac_ext=c
77006 +ac_cpp='$CPP $CPPFLAGS'
77007 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77008 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77009 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77014 + fi
77015 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
77016 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
77017 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
77018 + for ac_func in strtold
77019 +do :
77020 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
77021 +if test "x$ac_cv_func_strtold" = x""yes; then :
77022 + cat >>confdefs.h <<_ACEOF
77023 +#define HAVE_STRTOLD 1
77024 +_ACEOF
77027 +done
77029 + fi
77034 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
77035 +$as_echo_n "checking for strtof declaration... " >&6; }
77036 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
77037 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
77038 + $as_echo_n "(cached) " >&6
77039 +else
77042 + ac_ext=cpp
77043 +ac_cpp='$CXXCPP $CPPFLAGS'
77044 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77045 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77046 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77048 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77049 +/* end confdefs.h. */
77050 +#include <stdlib.h>
77051 +int
77052 +main ()
77054 + strtof(0, 0);
77056 + return 0;
77058 +_ACEOF
77059 +if ac_fn_cxx_try_compile "$LINENO"; then :
77060 + glibcxx_cv_func_strtof_use=yes
77061 +else
77062 + glibcxx_cv_func_strtof_use=no
77064 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77065 + ac_ext=c
77066 +ac_cpp='$CPP $CPPFLAGS'
77067 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77068 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77069 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77074 + fi
77075 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
77076 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
77077 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
77078 + for ac_func in strtof
77079 +do :
77080 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
77081 +if test "x$ac_cv_func_strtof" = x""yes; then :
77082 + cat >>confdefs.h <<_ACEOF
77083 +#define HAVE_STRTOF 1
77084 +_ACEOF
77087 +done
77089 + fi
77094 + CXXFLAGS="$ac_save_CXXFLAGS"
77097 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
77099 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
77101 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
77103 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
77106 + $as_echo "#define HAVE_LDEXPF 1" >>confdefs.h
77108 + $as_echo "#define HAVE_MODF 1" >>confdefs.h
77110 + $as_echo "#define HAVE_SQRTF 1" >>confdefs.h
77112 + ;;
77114 + spu-*-elf*)
77116 + # All these tests are for C++; save the language and the compiler flags.
77117 + # The CXXFLAGS thing is suspicious, but based on similar bits previously
77118 + # found in GLIBCXX_CONFIGURE.
77120 + ac_ext=cpp
77121 +ac_cpp='$CXXCPP $CPPFLAGS'
77122 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77123 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77124 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77126 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
77127 + ac_save_CXXFLAGS="$CXXFLAGS"
77129 + # Check for maintainer-mode bits.
77130 + if test x"$USE_MAINTAINER_MODE" = xno; then
77131 + WERROR=''
77132 + else
77133 + WERROR='-Werror'
77134 + fi
77136 + # Check for -ffunction-sections -fdata-sections
77137 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
77138 +$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
77139 + CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
77140 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77141 +/* end confdefs.h. */
77142 +int foo; void bar() { };
77143 +int
77144 +main ()
77148 + return 0;
77150 +_ACEOF
77151 +if ac_fn_cxx_try_compile "$LINENO"; then :
77152 + ac_fdsections=yes
77153 +else
77154 + ac_fdsections=no
77156 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77157 + if test "$ac_test_CXXFLAGS" = set; then
77158 + CXXFLAGS="$ac_save_CXXFLAGS"
77159 + else
77160 + # this is the suspicious part
77161 + CXXFLAGS=''
77162 + fi
77163 + if test x"$ac_fdsections" = x"yes"; then
77164 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
77165 + fi
77166 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
77167 +$as_echo "$ac_fdsections" >&6; }
77169 + ac_ext=c
77170 +ac_cpp='$CPP $CPPFLAGS'
77171 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77172 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77173 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77179 + # If we're not using GNU ld, then there's no point in even trying these
77180 + # tests. Check for that first. We should have already tested for gld
77181 + # by now (in libtool), but require it now just to be safe...
77182 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
77183 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
77187 + # The name set by libtool depends on the version of libtool. Shame on us
77188 + # for depending on an impl detail, but c'est la vie. Older versions used
77189 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
77190 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
77191 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
77192 + # set (hence we're using an older libtool), then set it.
77193 + if test x${with_gnu_ld+set} != xset; then
77194 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
77195 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
77196 + with_gnu_ld=no
77197 + else
77198 + with_gnu_ld=$ac_cv_prog_gnu_ld
77199 + fi
77200 + fi
77202 + # Start by getting the version number. I think the libtool test already
77203 + # does some of this, but throws away the result.
77204 + glibcxx_ld_is_gold=no
77205 + if test x"$with_gnu_ld" = x"yes"; then
77206 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
77207 +$as_echo_n "checking for ld version... " >&6; }
77209 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
77210 + glibcxx_ld_is_gold=yes
77211 + fi
77212 + ldver=`$LD --version 2>/dev/null |
77213 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
77215 + glibcxx_gnu_ld_version=`echo $ldver | \
77216 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
77217 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
77218 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
77219 + fi
77221 + # Set --gc-sections.
77222 + glibcxx_have_gc_sections=no
77223 + if test "$glibcxx_ld_is_gold" = "yes"; then
77224 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
77225 + glibcxx_have_gc_sections=yes
77226 + fi
77227 + else
77228 + glibcxx_gcsections_min_ld=21602
77229 + if test x"$with_gnu_ld" = x"yes" &&
77230 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
77231 + glibcxx_have_gc_sections=yes
77232 + fi
77233 + fi
77234 + if test "$glibcxx_have_gc_sections" = "yes"; then
77235 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
77236 + # NB: This flag only works reliably after 2.16.1. Configure tests
77237 + # for this are difficult, so hard wire a value that should work.
77239 + ac_test_CFLAGS="${CFLAGS+set}"
77240 + ac_save_CFLAGS="$CFLAGS"
77241 + CFLAGS='-Wl,--gc-sections'
77243 + # Check for -Wl,--gc-sections
77244 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
77245 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
77246 + if test x$gcc_no_link = xyes; then
77247 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
77249 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77250 +/* end confdefs.h. */
77251 + int one(void) { return 1; }
77252 + int two(void) { return 2; }
77254 +int
77255 +main ()
77257 + two();
77259 + return 0;
77261 +_ACEOF
77262 +if ac_fn_c_try_link "$LINENO"; then :
77263 + ac_gcsections=yes
77264 +else
77265 + ac_gcsections=no
77267 +rm -f core conftest.err conftest.$ac_objext \
77268 + conftest$ac_exeext conftest.$ac_ext
77269 + if test "$ac_gcsections" = "yes"; then
77270 + rm -f conftest.c
77271 + touch conftest.c
77272 + if $CC -c conftest.c; then
77273 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
77274 + grep "Warning: gc-sections option ignored" > /dev/null; then
77275 + ac_gcsections=no
77276 + fi
77277 + fi
77278 + rm -f conftest.c conftest.o conftest
77279 + fi
77280 + if test "$ac_gcsections" = "yes"; then
77281 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
77282 + fi
77283 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
77284 +$as_echo "$ac_gcsections" >&6; }
77286 + if test "$ac_test_CFLAGS" = set; then
77287 + CFLAGS="$ac_save_CFLAGS"
77288 + else
77289 + # this is the suspicious part
77290 + CFLAGS=''
77291 + fi
77292 + fi
77294 + # Set -z,relro.
77295 + # Note this is only for shared objects.
77296 + ac_ld_relro=no
77297 + if test x"$with_gnu_ld" = x"yes"; then
77298 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
77299 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
77300 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
77301 + if test -n "$cxx_z_relo"; then
77302 + OPT_LDFLAGS="-Wl,-z,relro"
77303 + ac_ld_relro=yes
77304 + fi
77305 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
77306 +$as_echo "$ac_ld_relro" >&6; }
77307 + fi
77309 + # Set linker optimization flags.
77310 + if test x"$with_gnu_ld" = x"yes"; then
77311 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
77312 + fi
77318 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
77319 + ac_save_CXXFLAGS="$CXXFLAGS"
77320 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
77322 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
77323 +$as_echo_n "checking for sin in -lm... " >&6; }
77324 +if test "${ac_cv_lib_m_sin+set}" = set; then :
77325 + $as_echo_n "(cached) " >&6
77326 +else
77327 + ac_check_lib_save_LIBS=$LIBS
77328 +LIBS="-lm $LIBS"
77329 +if test x$gcc_no_link = xyes; then
77330 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
77332 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77333 +/* end confdefs.h. */
77335 +/* Override any GCC internal prototype to avoid an error.
77336 + Use char because int might match the return type of a GCC
77337 + builtin and then its argument prototype would still apply. */
77338 +#ifdef __cplusplus
77339 +extern "C"
77340 +#endif
77341 +char sin ();
77342 +int
77343 +main ()
77345 +return sin ();
77347 + return 0;
77349 +_ACEOF
77350 +if ac_fn_c_try_link "$LINENO"; then :
77351 + ac_cv_lib_m_sin=yes
77352 +else
77353 + ac_cv_lib_m_sin=no
77355 +rm -f core conftest.err conftest.$ac_objext \
77356 + conftest$ac_exeext conftest.$ac_ext
77357 +LIBS=$ac_check_lib_save_LIBS
77359 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
77360 +$as_echo "$ac_cv_lib_m_sin" >&6; }
77361 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
77362 + libm="-lm"
77365 + ac_save_LIBS="$LIBS"
77366 + LIBS="$LIBS $libm"
77370 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
77371 +$as_echo_n "checking for isinf declaration... " >&6; }
77372 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
77373 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
77374 + $as_echo_n "(cached) " >&6
77375 +else
77378 + ac_ext=cpp
77379 +ac_cpp='$CXXCPP $CPPFLAGS'
77380 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77381 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77382 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77384 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77385 +/* end confdefs.h. */
77386 +#include <math.h>
77387 + #ifdef HAVE_IEEEFP_H
77388 + #include <ieeefp.h>
77389 + #endif
77391 +int
77392 +main ()
77394 + isinf(0);
77396 + return 0;
77398 +_ACEOF
77399 +if ac_fn_cxx_try_compile "$LINENO"; then :
77400 + glibcxx_cv_func_isinf_use=yes
77401 +else
77402 + glibcxx_cv_func_isinf_use=no
77404 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77405 + ac_ext=c
77406 +ac_cpp='$CPP $CPPFLAGS'
77407 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77408 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77409 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77414 + fi
77415 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
77416 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
77418 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
77419 + for ac_func in isinf
77420 +do :
77421 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
77422 +if test "x$ac_cv_func_isinf" = x""yes; then :
77423 + cat >>confdefs.h <<_ACEOF
77424 +#define HAVE_ISINF 1
77425 +_ACEOF
77428 +done
77430 + else
77432 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
77433 +$as_echo_n "checking for _isinf declaration... " >&6; }
77434 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
77435 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
77436 + $as_echo_n "(cached) " >&6
77437 +else
77440 + ac_ext=cpp
77441 +ac_cpp='$CXXCPP $CPPFLAGS'
77442 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77443 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77444 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77446 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77447 +/* end confdefs.h. */
77448 +#include <math.h>
77449 + #ifdef HAVE_IEEEFP_H
77450 + #include <ieeefp.h>
77451 + #endif
77453 +int
77454 +main ()
77456 + _isinf(0);
77458 + return 0;
77460 +_ACEOF
77461 +if ac_fn_cxx_try_compile "$LINENO"; then :
77462 + glibcxx_cv_func__isinf_use=yes
77463 +else
77464 + glibcxx_cv_func__isinf_use=no
77466 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77467 + ac_ext=c
77468 +ac_cpp='$CPP $CPPFLAGS'
77469 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77470 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77471 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77476 + fi
77477 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
77478 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
77480 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
77481 + for ac_func in _isinf
77482 +do :
77483 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
77484 +if test "x$ac_cv_func__isinf" = x""yes; then :
77485 + cat >>confdefs.h <<_ACEOF
77486 +#define HAVE__ISINF 1
77487 +_ACEOF
77490 +done
77492 + fi
77493 + fi
77499 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
77500 +$as_echo_n "checking for isnan declaration... " >&6; }
77501 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
77502 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
77503 + $as_echo_n "(cached) " >&6
77504 +else
77507 + ac_ext=cpp
77508 +ac_cpp='$CXXCPP $CPPFLAGS'
77509 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77510 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77511 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77513 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77514 +/* end confdefs.h. */
77515 +#include <math.h>
77516 + #ifdef HAVE_IEEEFP_H
77517 + #include <ieeefp.h>
77518 + #endif
77520 +int
77521 +main ()
77523 + isnan(0);
77525 + return 0;
77527 +_ACEOF
77528 +if ac_fn_cxx_try_compile "$LINENO"; then :
77529 + glibcxx_cv_func_isnan_use=yes
77530 +else
77531 + glibcxx_cv_func_isnan_use=no
77533 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77534 + ac_ext=c
77535 +ac_cpp='$CPP $CPPFLAGS'
77536 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77537 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77538 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77543 + fi
77544 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
77545 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
77547 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
77548 + for ac_func in isnan
77549 +do :
77550 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
77551 +if test "x$ac_cv_func_isnan" = x""yes; then :
77552 + cat >>confdefs.h <<_ACEOF
77553 +#define HAVE_ISNAN 1
77554 +_ACEOF
77557 +done
77559 + else
77561 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
77562 +$as_echo_n "checking for _isnan declaration... " >&6; }
77563 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
77564 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
77565 + $as_echo_n "(cached) " >&6
77566 +else
77569 + ac_ext=cpp
77570 +ac_cpp='$CXXCPP $CPPFLAGS'
77571 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77572 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77573 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77575 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77576 +/* end confdefs.h. */
77577 +#include <math.h>
77578 + #ifdef HAVE_IEEEFP_H
77579 + #include <ieeefp.h>
77580 + #endif
77582 +int
77583 +main ()
77585 + _isnan(0);
77587 + return 0;
77589 +_ACEOF
77590 +if ac_fn_cxx_try_compile "$LINENO"; then :
77591 + glibcxx_cv_func__isnan_use=yes
77592 +else
77593 + glibcxx_cv_func__isnan_use=no
77595 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77596 + ac_ext=c
77597 +ac_cpp='$CPP $CPPFLAGS'
77598 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77599 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77600 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77605 + fi
77606 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
77607 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
77609 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
77610 + for ac_func in _isnan
77611 +do :
77612 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
77613 +if test "x$ac_cv_func__isnan" = x""yes; then :
77614 + cat >>confdefs.h <<_ACEOF
77615 +#define HAVE__ISNAN 1
77616 +_ACEOF
77619 +done
77621 + fi
77622 + fi
77628 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
77629 +$as_echo_n "checking for finite declaration... " >&6; }
77630 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
77631 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
77632 + $as_echo_n "(cached) " >&6
77633 +else
77636 + ac_ext=cpp
77637 +ac_cpp='$CXXCPP $CPPFLAGS'
77638 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77639 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77640 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77642 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77643 +/* end confdefs.h. */
77644 +#include <math.h>
77645 + #ifdef HAVE_IEEEFP_H
77646 + #include <ieeefp.h>
77647 + #endif
77649 +int
77650 +main ()
77652 + finite(0);
77654 + return 0;
77656 +_ACEOF
77657 +if ac_fn_cxx_try_compile "$LINENO"; then :
77658 + glibcxx_cv_func_finite_use=yes
77659 +else
77660 + glibcxx_cv_func_finite_use=no
77662 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77663 + ac_ext=c
77664 +ac_cpp='$CPP $CPPFLAGS'
77665 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77666 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77667 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77672 + fi
77673 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
77674 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
77676 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
77677 + for ac_func in finite
77678 +do :
77679 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
77680 +if test "x$ac_cv_func_finite" = x""yes; then :
77681 + cat >>confdefs.h <<_ACEOF
77682 +#define HAVE_FINITE 1
77683 +_ACEOF
77686 +done
77688 + else
77690 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
77691 +$as_echo_n "checking for _finite declaration... " >&6; }
77692 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
77693 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
77694 + $as_echo_n "(cached) " >&6
77695 +else
77698 + ac_ext=cpp
77699 +ac_cpp='$CXXCPP $CPPFLAGS'
77700 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77701 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77702 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77704 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77705 +/* end confdefs.h. */
77706 +#include <math.h>
77707 + #ifdef HAVE_IEEEFP_H
77708 + #include <ieeefp.h>
77709 + #endif
77711 +int
77712 +main ()
77714 + _finite(0);
77716 + return 0;
77718 +_ACEOF
77719 +if ac_fn_cxx_try_compile "$LINENO"; then :
77720 + glibcxx_cv_func__finite_use=yes
77721 +else
77722 + glibcxx_cv_func__finite_use=no
77724 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77725 + ac_ext=c
77726 +ac_cpp='$CPP $CPPFLAGS'
77727 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77728 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77729 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77734 + fi
77735 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
77736 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
77738 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
77739 + for ac_func in _finite
77740 +do :
77741 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
77742 +if test "x$ac_cv_func__finite" = x""yes; then :
77743 + cat >>confdefs.h <<_ACEOF
77744 +#define HAVE__FINITE 1
77745 +_ACEOF
77748 +done
77750 + fi
77751 + fi
77757 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
77758 +$as_echo_n "checking for sincos declaration... " >&6; }
77759 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
77760 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
77761 + $as_echo_n "(cached) " >&6
77762 +else
77765 + ac_ext=cpp
77766 +ac_cpp='$CXXCPP $CPPFLAGS'
77767 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77768 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77769 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77771 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77772 +/* end confdefs.h. */
77773 +#include <math.h>
77774 +int
77775 +main ()
77777 + sincos(0, 0, 0);
77779 + return 0;
77781 +_ACEOF
77782 +if ac_fn_cxx_try_compile "$LINENO"; then :
77783 + glibcxx_cv_func_sincos_use=yes
77784 +else
77785 + glibcxx_cv_func_sincos_use=no
77787 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77788 + ac_ext=c
77789 +ac_cpp='$CPP $CPPFLAGS'
77790 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77791 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77792 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77797 + fi
77798 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
77799 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
77801 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
77802 + for ac_func in sincos
77803 +do :
77804 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
77805 +if test "x$ac_cv_func_sincos" = x""yes; then :
77806 + cat >>confdefs.h <<_ACEOF
77807 +#define HAVE_SINCOS 1
77808 +_ACEOF
77811 +done
77813 + else
77815 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
77816 +$as_echo_n "checking for _sincos declaration... " >&6; }
77817 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
77818 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
77819 + $as_echo_n "(cached) " >&6
77820 +else
77823 + ac_ext=cpp
77824 +ac_cpp='$CXXCPP $CPPFLAGS'
77825 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77826 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77827 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77829 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77830 +/* end confdefs.h. */
77831 +#include <math.h>
77832 +int
77833 +main ()
77835 + _sincos(0, 0, 0);
77837 + return 0;
77839 +_ACEOF
77840 +if ac_fn_cxx_try_compile "$LINENO"; then :
77841 + glibcxx_cv_func__sincos_use=yes
77842 +else
77843 + glibcxx_cv_func__sincos_use=no
77845 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77846 + ac_ext=c
77847 +ac_cpp='$CPP $CPPFLAGS'
77848 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77849 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77850 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77855 + fi
77856 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
77857 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
77859 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
77860 + for ac_func in _sincos
77861 +do :
77862 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
77863 +if test "x$ac_cv_func__sincos" = x""yes; then :
77864 + cat >>confdefs.h <<_ACEOF
77865 +#define HAVE__SINCOS 1
77866 +_ACEOF
77869 +done
77871 + fi
77872 + fi
77878 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
77879 +$as_echo_n "checking for fpclass declaration... " >&6; }
77880 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
77881 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
77882 + $as_echo_n "(cached) " >&6
77883 +else
77886 + ac_ext=cpp
77887 +ac_cpp='$CXXCPP $CPPFLAGS'
77888 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77889 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77890 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77892 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77893 +/* end confdefs.h. */
77894 +#include <math.h>
77895 + #ifdef HAVE_IEEEFP_H
77896 + #include <ieeefp.h>
77897 + #endif
77899 +int
77900 +main ()
77902 + fpclass(0);
77904 + return 0;
77906 +_ACEOF
77907 +if ac_fn_cxx_try_compile "$LINENO"; then :
77908 + glibcxx_cv_func_fpclass_use=yes
77909 +else
77910 + glibcxx_cv_func_fpclass_use=no
77912 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77913 + ac_ext=c
77914 +ac_cpp='$CPP $CPPFLAGS'
77915 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77916 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77917 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77922 + fi
77923 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
77924 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
77926 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
77927 + for ac_func in fpclass
77928 +do :
77929 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
77930 +if test "x$ac_cv_func_fpclass" = x""yes; then :
77931 + cat >>confdefs.h <<_ACEOF
77932 +#define HAVE_FPCLASS 1
77933 +_ACEOF
77936 +done
77938 + else
77940 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
77941 +$as_echo_n "checking for _fpclass declaration... " >&6; }
77942 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
77943 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
77944 + $as_echo_n "(cached) " >&6
77945 +else
77948 + ac_ext=cpp
77949 +ac_cpp='$CXXCPP $CPPFLAGS'
77950 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77951 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77952 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
77954 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
77955 +/* end confdefs.h. */
77956 +#include <math.h>
77957 + #ifdef HAVE_IEEEFP_H
77958 + #include <ieeefp.h>
77959 + #endif
77961 +int
77962 +main ()
77964 + _fpclass(0);
77966 + return 0;
77968 +_ACEOF
77969 +if ac_fn_cxx_try_compile "$LINENO"; then :
77970 + glibcxx_cv_func__fpclass_use=yes
77971 +else
77972 + glibcxx_cv_func__fpclass_use=no
77974 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
77975 + ac_ext=c
77976 +ac_cpp='$CPP $CPPFLAGS'
77977 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
77978 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
77979 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
77984 + fi
77985 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
77986 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
77988 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
77989 + for ac_func in _fpclass
77990 +do :
77991 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
77992 +if test "x$ac_cv_func__fpclass" = x""yes; then :
77993 + cat >>confdefs.h <<_ACEOF
77994 +#define HAVE__FPCLASS 1
77995 +_ACEOF
77998 +done
78000 + fi
78001 + fi
78007 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
78008 +$as_echo_n "checking for qfpclass declaration... " >&6; }
78009 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
78010 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
78011 + $as_echo_n "(cached) " >&6
78012 +else
78015 + ac_ext=cpp
78016 +ac_cpp='$CXXCPP $CPPFLAGS'
78017 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78018 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78019 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78021 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78022 +/* end confdefs.h. */
78023 +#include <math.h>
78024 + #ifdef HAVE_IEEEFP_H
78025 + #include <ieeefp.h>
78026 + #endif
78028 +int
78029 +main ()
78031 + qfpclass(0);
78033 + return 0;
78035 +_ACEOF
78036 +if ac_fn_cxx_try_compile "$LINENO"; then :
78037 + glibcxx_cv_func_qfpclass_use=yes
78038 +else
78039 + glibcxx_cv_func_qfpclass_use=no
78041 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78042 + ac_ext=c
78043 +ac_cpp='$CPP $CPPFLAGS'
78044 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78045 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78046 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78051 + fi
78052 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
78053 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
78055 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
78056 + for ac_func in qfpclass
78057 +do :
78058 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
78059 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
78060 + cat >>confdefs.h <<_ACEOF
78061 +#define HAVE_QFPCLASS 1
78062 +_ACEOF
78065 +done
78067 + else
78069 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
78070 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
78071 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
78072 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
78073 + $as_echo_n "(cached) " >&6
78074 +else
78077 + ac_ext=cpp
78078 +ac_cpp='$CXXCPP $CPPFLAGS'
78079 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78080 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78081 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78083 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78084 +/* end confdefs.h. */
78085 +#include <math.h>
78086 + #ifdef HAVE_IEEEFP_H
78087 + #include <ieeefp.h>
78088 + #endif
78090 +int
78091 +main ()
78093 + _qfpclass(0);
78095 + return 0;
78097 +_ACEOF
78098 +if ac_fn_cxx_try_compile "$LINENO"; then :
78099 + glibcxx_cv_func__qfpclass_use=yes
78100 +else
78101 + glibcxx_cv_func__qfpclass_use=no
78103 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78104 + ac_ext=c
78105 +ac_cpp='$CPP $CPPFLAGS'
78106 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78107 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78108 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78113 + fi
78114 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
78115 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
78117 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
78118 + for ac_func in _qfpclass
78119 +do :
78120 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
78121 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
78122 + cat >>confdefs.h <<_ACEOF
78123 +#define HAVE__QFPCLASS 1
78124 +_ACEOF
78127 +done
78129 + fi
78130 + fi
78136 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
78137 +$as_echo_n "checking for hypot declaration... " >&6; }
78138 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
78139 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
78140 + $as_echo_n "(cached) " >&6
78141 +else
78144 + ac_ext=cpp
78145 +ac_cpp='$CXXCPP $CPPFLAGS'
78146 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78147 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78148 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78150 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78151 +/* end confdefs.h. */
78152 +#include <math.h>
78153 +int
78154 +main ()
78156 + hypot(0, 0);
78158 + return 0;
78160 +_ACEOF
78161 +if ac_fn_cxx_try_compile "$LINENO"; then :
78162 + glibcxx_cv_func_hypot_use=yes
78163 +else
78164 + glibcxx_cv_func_hypot_use=no
78166 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78167 + ac_ext=c
78168 +ac_cpp='$CPP $CPPFLAGS'
78169 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78170 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78171 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78176 + fi
78177 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
78178 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
78180 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
78181 + for ac_func in hypot
78182 +do :
78183 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
78184 +if test "x$ac_cv_func_hypot" = x""yes; then :
78185 + cat >>confdefs.h <<_ACEOF
78186 +#define HAVE_HYPOT 1
78187 +_ACEOF
78190 +done
78192 + else
78194 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
78195 +$as_echo_n "checking for _hypot declaration... " >&6; }
78196 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
78197 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
78198 + $as_echo_n "(cached) " >&6
78199 +else
78202 + ac_ext=cpp
78203 +ac_cpp='$CXXCPP $CPPFLAGS'
78204 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78205 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78206 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78208 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78209 +/* end confdefs.h. */
78210 +#include <math.h>
78211 +int
78212 +main ()
78214 + _hypot(0, 0);
78216 + return 0;
78218 +_ACEOF
78219 +if ac_fn_cxx_try_compile "$LINENO"; then :
78220 + glibcxx_cv_func__hypot_use=yes
78221 +else
78222 + glibcxx_cv_func__hypot_use=no
78224 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78225 + ac_ext=c
78226 +ac_cpp='$CPP $CPPFLAGS'
78227 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78228 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78229 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78234 + fi
78235 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
78236 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
78238 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
78239 + for ac_func in _hypot
78240 +do :
78241 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
78242 +if test "x$ac_cv_func__hypot" = x""yes; then :
78243 + cat >>confdefs.h <<_ACEOF
78244 +#define HAVE__HYPOT 1
78245 +_ACEOF
78248 +done
78250 + fi
78251 + fi
78257 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
78258 +$as_echo_n "checking for float trig functions... " >&6; }
78259 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
78260 + $as_echo_n "(cached) " >&6
78261 +else
78264 + ac_ext=cpp
78265 +ac_cpp='$CXXCPP $CPPFLAGS'
78266 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78267 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78268 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78270 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78271 +/* end confdefs.h. */
78272 +#include <math.h>
78273 +int
78274 +main ()
78276 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
78278 + return 0;
78280 +_ACEOF
78281 +if ac_fn_cxx_try_compile "$LINENO"; then :
78282 + glibcxx_cv_func_float_trig_use=yes
78283 +else
78284 + glibcxx_cv_func_float_trig_use=no
78286 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78287 + ac_ext=c
78288 +ac_cpp='$CPP $CPPFLAGS'
78289 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78290 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78291 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78295 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
78296 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
78297 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
78298 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
78299 +do :
78300 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
78301 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
78302 +eval as_val=\$$as_ac_var
78303 + if test "x$as_val" = x""yes; then :
78304 + cat >>confdefs.h <<_ACEOF
78305 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
78306 +_ACEOF
78309 +done
78311 + else
78312 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
78313 +$as_echo_n "checking for _float trig functions... " >&6; }
78314 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
78315 + $as_echo_n "(cached) " >&6
78316 +else
78319 + ac_ext=cpp
78320 +ac_cpp='$CXXCPP $CPPFLAGS'
78321 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78322 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78323 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78325 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78326 +/* end confdefs.h. */
78327 +#include <math.h>
78328 +int
78329 +main ()
78331 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
78333 + return 0;
78335 +_ACEOF
78336 +if ac_fn_cxx_try_compile "$LINENO"; then :
78337 + glibcxx_cv_func__float_trig_use=yes
78338 +else
78339 + glibcxx_cv_func__float_trig_use=no
78341 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78342 + ac_ext=c
78343 +ac_cpp='$CPP $CPPFLAGS'
78344 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78345 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78346 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78350 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
78351 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
78352 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
78353 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
78354 +do :
78355 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
78356 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
78357 +eval as_val=\$$as_ac_var
78358 + if test "x$as_val" = x""yes; then :
78359 + cat >>confdefs.h <<_ACEOF
78360 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
78361 +_ACEOF
78364 +done
78366 + fi
78367 + fi
78373 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
78374 +$as_echo_n "checking for float round functions... " >&6; }
78375 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
78376 + $as_echo_n "(cached) " >&6
78377 +else
78380 + ac_ext=cpp
78381 +ac_cpp='$CXXCPP $CPPFLAGS'
78382 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78383 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78384 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78386 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78387 +/* end confdefs.h. */
78388 +#include <math.h>
78389 +int
78390 +main ()
78392 +ceilf (0); floorf (0);
78394 + return 0;
78396 +_ACEOF
78397 +if ac_fn_cxx_try_compile "$LINENO"; then :
78398 + glibcxx_cv_func_float_round_use=yes
78399 +else
78400 + glibcxx_cv_func_float_round_use=no
78402 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78403 + ac_ext=c
78404 +ac_cpp='$CPP $CPPFLAGS'
78405 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78406 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78407 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78411 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
78412 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
78413 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
78414 + for ac_func in ceilf floorf
78415 +do :
78416 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
78417 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
78418 +eval as_val=\$$as_ac_var
78419 + if test "x$as_val" = x""yes; then :
78420 + cat >>confdefs.h <<_ACEOF
78421 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
78422 +_ACEOF
78425 +done
78427 + else
78428 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
78429 +$as_echo_n "checking for _float round functions... " >&6; }
78430 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
78431 + $as_echo_n "(cached) " >&6
78432 +else
78435 + ac_ext=cpp
78436 +ac_cpp='$CXXCPP $CPPFLAGS'
78437 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78438 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78439 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78441 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78442 +/* end confdefs.h. */
78443 +#include <math.h>
78444 +int
78445 +main ()
78447 +_ceilf (0); _floorf (0);
78449 + return 0;
78451 +_ACEOF
78452 +if ac_fn_cxx_try_compile "$LINENO"; then :
78453 + glibcxx_cv_func__float_round_use=yes
78454 +else
78455 + glibcxx_cv_func__float_round_use=no
78457 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78458 + ac_ext=c
78459 +ac_cpp='$CPP $CPPFLAGS'
78460 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78461 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78462 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78466 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
78467 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
78468 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
78469 + for ac_func in _ceilf _floorf
78470 +do :
78471 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
78472 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
78473 +eval as_val=\$$as_ac_var
78474 + if test "x$as_val" = x""yes; then :
78475 + cat >>confdefs.h <<_ACEOF
78476 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
78477 +_ACEOF
78480 +done
78482 + fi
78483 + fi
78490 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
78491 +$as_echo_n "checking for expf declaration... " >&6; }
78492 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
78493 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
78494 + $as_echo_n "(cached) " >&6
78495 +else
78498 + ac_ext=cpp
78499 +ac_cpp='$CXXCPP $CPPFLAGS'
78500 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78501 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78502 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78504 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78505 +/* end confdefs.h. */
78506 +#include <math.h>
78507 + #ifdef HAVE_IEEEFP_H
78508 + #include <ieeefp.h>
78509 + #endif
78511 +int
78512 +main ()
78514 + expf(0);
78516 + return 0;
78518 +_ACEOF
78519 +if ac_fn_cxx_try_compile "$LINENO"; then :
78520 + glibcxx_cv_func_expf_use=yes
78521 +else
78522 + glibcxx_cv_func_expf_use=no
78524 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78525 + ac_ext=c
78526 +ac_cpp='$CPP $CPPFLAGS'
78527 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78528 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78529 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78534 + fi
78535 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
78536 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
78538 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
78539 + for ac_func in expf
78540 +do :
78541 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
78542 +if test "x$ac_cv_func_expf" = x""yes; then :
78543 + cat >>confdefs.h <<_ACEOF
78544 +#define HAVE_EXPF 1
78545 +_ACEOF
78548 +done
78550 + else
78552 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
78553 +$as_echo_n "checking for _expf declaration... " >&6; }
78554 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
78555 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
78556 + $as_echo_n "(cached) " >&6
78557 +else
78560 + ac_ext=cpp
78561 +ac_cpp='$CXXCPP $CPPFLAGS'
78562 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78563 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78564 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78566 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78567 +/* end confdefs.h. */
78568 +#include <math.h>
78569 + #ifdef HAVE_IEEEFP_H
78570 + #include <ieeefp.h>
78571 + #endif
78573 +int
78574 +main ()
78576 + _expf(0);
78578 + return 0;
78580 +_ACEOF
78581 +if ac_fn_cxx_try_compile "$LINENO"; then :
78582 + glibcxx_cv_func__expf_use=yes
78583 +else
78584 + glibcxx_cv_func__expf_use=no
78586 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78587 + ac_ext=c
78588 +ac_cpp='$CPP $CPPFLAGS'
78589 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78590 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78591 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78596 + fi
78597 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
78598 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
78600 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
78601 + for ac_func in _expf
78602 +do :
78603 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
78604 +if test "x$ac_cv_func__expf" = x""yes; then :
78605 + cat >>confdefs.h <<_ACEOF
78606 +#define HAVE__EXPF 1
78607 +_ACEOF
78610 +done
78612 + fi
78613 + fi
78619 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
78620 +$as_echo_n "checking for isnanf declaration... " >&6; }
78621 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
78622 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
78623 + $as_echo_n "(cached) " >&6
78624 +else
78627 + ac_ext=cpp
78628 +ac_cpp='$CXXCPP $CPPFLAGS'
78629 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78630 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78631 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78633 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78634 +/* end confdefs.h. */
78635 +#include <math.h>
78636 + #ifdef HAVE_IEEEFP_H
78637 + #include <ieeefp.h>
78638 + #endif
78640 +int
78641 +main ()
78643 + isnanf(0);
78645 + return 0;
78647 +_ACEOF
78648 +if ac_fn_cxx_try_compile "$LINENO"; then :
78649 + glibcxx_cv_func_isnanf_use=yes
78650 +else
78651 + glibcxx_cv_func_isnanf_use=no
78653 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78654 + ac_ext=c
78655 +ac_cpp='$CPP $CPPFLAGS'
78656 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78657 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78658 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78663 + fi
78664 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
78665 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
78667 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
78668 + for ac_func in isnanf
78669 +do :
78670 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
78671 +if test "x$ac_cv_func_isnanf" = x""yes; then :
78672 + cat >>confdefs.h <<_ACEOF
78673 +#define HAVE_ISNANF 1
78674 +_ACEOF
78677 +done
78679 + else
78681 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
78682 +$as_echo_n "checking for _isnanf declaration... " >&6; }
78683 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
78684 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
78685 + $as_echo_n "(cached) " >&6
78686 +else
78689 + ac_ext=cpp
78690 +ac_cpp='$CXXCPP $CPPFLAGS'
78691 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78692 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78693 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78695 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78696 +/* end confdefs.h. */
78697 +#include <math.h>
78698 + #ifdef HAVE_IEEEFP_H
78699 + #include <ieeefp.h>
78700 + #endif
78702 +int
78703 +main ()
78705 + _isnanf(0);
78707 + return 0;
78709 +_ACEOF
78710 +if ac_fn_cxx_try_compile "$LINENO"; then :
78711 + glibcxx_cv_func__isnanf_use=yes
78712 +else
78713 + glibcxx_cv_func__isnanf_use=no
78715 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78716 + ac_ext=c
78717 +ac_cpp='$CPP $CPPFLAGS'
78718 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78719 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78720 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78725 + fi
78726 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
78727 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
78729 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
78730 + for ac_func in _isnanf
78731 +do :
78732 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
78733 +if test "x$ac_cv_func__isnanf" = x""yes; then :
78734 + cat >>confdefs.h <<_ACEOF
78735 +#define HAVE__ISNANF 1
78736 +_ACEOF
78739 +done
78741 + fi
78742 + fi
78748 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
78749 +$as_echo_n "checking for isinff declaration... " >&6; }
78750 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
78751 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
78752 + $as_echo_n "(cached) " >&6
78753 +else
78756 + ac_ext=cpp
78757 +ac_cpp='$CXXCPP $CPPFLAGS'
78758 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78759 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78760 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78762 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78763 +/* end confdefs.h. */
78764 +#include <math.h>
78765 + #ifdef HAVE_IEEEFP_H
78766 + #include <ieeefp.h>
78767 + #endif
78769 +int
78770 +main ()
78772 + isinff(0);
78774 + return 0;
78776 +_ACEOF
78777 +if ac_fn_cxx_try_compile "$LINENO"; then :
78778 + glibcxx_cv_func_isinff_use=yes
78779 +else
78780 + glibcxx_cv_func_isinff_use=no
78782 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78783 + ac_ext=c
78784 +ac_cpp='$CPP $CPPFLAGS'
78785 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78786 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78787 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78792 + fi
78793 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
78794 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
78796 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
78797 + for ac_func in isinff
78798 +do :
78799 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
78800 +if test "x$ac_cv_func_isinff" = x""yes; then :
78801 + cat >>confdefs.h <<_ACEOF
78802 +#define HAVE_ISINFF 1
78803 +_ACEOF
78806 +done
78808 + else
78810 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
78811 +$as_echo_n "checking for _isinff declaration... " >&6; }
78812 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
78813 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
78814 + $as_echo_n "(cached) " >&6
78815 +else
78818 + ac_ext=cpp
78819 +ac_cpp='$CXXCPP $CPPFLAGS'
78820 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78821 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78822 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78824 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78825 +/* end confdefs.h. */
78826 +#include <math.h>
78827 + #ifdef HAVE_IEEEFP_H
78828 + #include <ieeefp.h>
78829 + #endif
78831 +int
78832 +main ()
78834 + _isinff(0);
78836 + return 0;
78838 +_ACEOF
78839 +if ac_fn_cxx_try_compile "$LINENO"; then :
78840 + glibcxx_cv_func__isinff_use=yes
78841 +else
78842 + glibcxx_cv_func__isinff_use=no
78844 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78845 + ac_ext=c
78846 +ac_cpp='$CPP $CPPFLAGS'
78847 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78848 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78849 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78854 + fi
78855 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
78856 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
78858 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
78859 + for ac_func in _isinff
78860 +do :
78861 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
78862 +if test "x$ac_cv_func__isinff" = x""yes; then :
78863 + cat >>confdefs.h <<_ACEOF
78864 +#define HAVE__ISINFF 1
78865 +_ACEOF
78868 +done
78870 + fi
78871 + fi
78877 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
78878 +$as_echo_n "checking for atan2f declaration... " >&6; }
78879 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
78880 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
78881 + $as_echo_n "(cached) " >&6
78882 +else
78885 + ac_ext=cpp
78886 +ac_cpp='$CXXCPP $CPPFLAGS'
78887 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78888 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78889 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78891 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78892 +/* end confdefs.h. */
78893 +#include <math.h>
78894 +int
78895 +main ()
78897 + atan2f(0, 0);
78899 + return 0;
78901 +_ACEOF
78902 +if ac_fn_cxx_try_compile "$LINENO"; then :
78903 + glibcxx_cv_func_atan2f_use=yes
78904 +else
78905 + glibcxx_cv_func_atan2f_use=no
78907 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78908 + ac_ext=c
78909 +ac_cpp='$CPP $CPPFLAGS'
78910 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78911 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78912 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78917 + fi
78918 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
78919 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
78921 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
78922 + for ac_func in atan2f
78923 +do :
78924 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
78925 +if test "x$ac_cv_func_atan2f" = x""yes; then :
78926 + cat >>confdefs.h <<_ACEOF
78927 +#define HAVE_ATAN2F 1
78928 +_ACEOF
78931 +done
78933 + else
78935 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
78936 +$as_echo_n "checking for _atan2f declaration... " >&6; }
78937 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
78938 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
78939 + $as_echo_n "(cached) " >&6
78940 +else
78943 + ac_ext=cpp
78944 +ac_cpp='$CXXCPP $CPPFLAGS'
78945 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78946 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78947 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
78949 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
78950 +/* end confdefs.h. */
78951 +#include <math.h>
78952 +int
78953 +main ()
78955 + _atan2f(0, 0);
78957 + return 0;
78959 +_ACEOF
78960 +if ac_fn_cxx_try_compile "$LINENO"; then :
78961 + glibcxx_cv_func__atan2f_use=yes
78962 +else
78963 + glibcxx_cv_func__atan2f_use=no
78965 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
78966 + ac_ext=c
78967 +ac_cpp='$CPP $CPPFLAGS'
78968 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
78969 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
78970 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
78975 + fi
78976 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
78977 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
78979 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
78980 + for ac_func in _atan2f
78981 +do :
78982 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
78983 +if test "x$ac_cv_func__atan2f" = x""yes; then :
78984 + cat >>confdefs.h <<_ACEOF
78985 +#define HAVE__ATAN2F 1
78986 +_ACEOF
78989 +done
78991 + fi
78992 + fi
78998 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
78999 +$as_echo_n "checking for fabsf declaration... " >&6; }
79000 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
79001 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
79002 + $as_echo_n "(cached) " >&6
79003 +else
79006 + ac_ext=cpp
79007 +ac_cpp='$CXXCPP $CPPFLAGS'
79008 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79009 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79010 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79012 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79013 +/* end confdefs.h. */
79014 +#include <math.h>
79015 + #ifdef HAVE_IEEEFP_H
79016 + #include <ieeefp.h>
79017 + #endif
79019 +int
79020 +main ()
79022 + fabsf(0);
79024 + return 0;
79026 +_ACEOF
79027 +if ac_fn_cxx_try_compile "$LINENO"; then :
79028 + glibcxx_cv_func_fabsf_use=yes
79029 +else
79030 + glibcxx_cv_func_fabsf_use=no
79032 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79033 + ac_ext=c
79034 +ac_cpp='$CPP $CPPFLAGS'
79035 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79036 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79037 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79042 + fi
79043 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
79044 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
79046 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
79047 + for ac_func in fabsf
79048 +do :
79049 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
79050 +if test "x$ac_cv_func_fabsf" = x""yes; then :
79051 + cat >>confdefs.h <<_ACEOF
79052 +#define HAVE_FABSF 1
79053 +_ACEOF
79056 +done
79058 + else
79060 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
79061 +$as_echo_n "checking for _fabsf declaration... " >&6; }
79062 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
79063 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
79064 + $as_echo_n "(cached) " >&6
79065 +else
79068 + ac_ext=cpp
79069 +ac_cpp='$CXXCPP $CPPFLAGS'
79070 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79071 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79072 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79074 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79075 +/* end confdefs.h. */
79076 +#include <math.h>
79077 + #ifdef HAVE_IEEEFP_H
79078 + #include <ieeefp.h>
79079 + #endif
79081 +int
79082 +main ()
79084 + _fabsf(0);
79086 + return 0;
79088 +_ACEOF
79089 +if ac_fn_cxx_try_compile "$LINENO"; then :
79090 + glibcxx_cv_func__fabsf_use=yes
79091 +else
79092 + glibcxx_cv_func__fabsf_use=no
79094 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79095 + ac_ext=c
79096 +ac_cpp='$CPP $CPPFLAGS'
79097 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79098 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79099 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79104 + fi
79105 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
79106 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
79108 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
79109 + for ac_func in _fabsf
79110 +do :
79111 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
79112 +if test "x$ac_cv_func__fabsf" = x""yes; then :
79113 + cat >>confdefs.h <<_ACEOF
79114 +#define HAVE__FABSF 1
79115 +_ACEOF
79118 +done
79120 + fi
79121 + fi
79127 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
79128 +$as_echo_n "checking for fmodf declaration... " >&6; }
79129 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
79130 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
79131 + $as_echo_n "(cached) " >&6
79132 +else
79135 + ac_ext=cpp
79136 +ac_cpp='$CXXCPP $CPPFLAGS'
79137 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79138 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79139 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79141 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79142 +/* end confdefs.h. */
79143 +#include <math.h>
79144 +int
79145 +main ()
79147 + fmodf(0, 0);
79149 + return 0;
79151 +_ACEOF
79152 +if ac_fn_cxx_try_compile "$LINENO"; then :
79153 + glibcxx_cv_func_fmodf_use=yes
79154 +else
79155 + glibcxx_cv_func_fmodf_use=no
79157 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79158 + ac_ext=c
79159 +ac_cpp='$CPP $CPPFLAGS'
79160 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79161 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79162 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79167 + fi
79168 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
79169 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
79171 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
79172 + for ac_func in fmodf
79173 +do :
79174 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
79175 +if test "x$ac_cv_func_fmodf" = x""yes; then :
79176 + cat >>confdefs.h <<_ACEOF
79177 +#define HAVE_FMODF 1
79178 +_ACEOF
79181 +done
79183 + else
79185 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
79186 +$as_echo_n "checking for _fmodf declaration... " >&6; }
79187 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
79188 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
79189 + $as_echo_n "(cached) " >&6
79190 +else
79193 + ac_ext=cpp
79194 +ac_cpp='$CXXCPP $CPPFLAGS'
79195 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79196 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79197 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79199 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79200 +/* end confdefs.h. */
79201 +#include <math.h>
79202 +int
79203 +main ()
79205 + _fmodf(0, 0);
79207 + return 0;
79209 +_ACEOF
79210 +if ac_fn_cxx_try_compile "$LINENO"; then :
79211 + glibcxx_cv_func__fmodf_use=yes
79212 +else
79213 + glibcxx_cv_func__fmodf_use=no
79215 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79216 + ac_ext=c
79217 +ac_cpp='$CPP $CPPFLAGS'
79218 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79219 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79220 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79225 + fi
79226 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
79227 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
79229 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
79230 + for ac_func in _fmodf
79231 +do :
79232 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
79233 +if test "x$ac_cv_func__fmodf" = x""yes; then :
79234 + cat >>confdefs.h <<_ACEOF
79235 +#define HAVE__FMODF 1
79236 +_ACEOF
79239 +done
79241 + fi
79242 + fi
79248 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
79249 +$as_echo_n "checking for frexpf declaration... " >&6; }
79250 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
79251 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
79252 + $as_echo_n "(cached) " >&6
79253 +else
79256 + ac_ext=cpp
79257 +ac_cpp='$CXXCPP $CPPFLAGS'
79258 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79259 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79260 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79262 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79263 +/* end confdefs.h. */
79264 +#include <math.h>
79265 +int
79266 +main ()
79268 + frexpf(0, 0);
79270 + return 0;
79272 +_ACEOF
79273 +if ac_fn_cxx_try_compile "$LINENO"; then :
79274 + glibcxx_cv_func_frexpf_use=yes
79275 +else
79276 + glibcxx_cv_func_frexpf_use=no
79278 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79279 + ac_ext=c
79280 +ac_cpp='$CPP $CPPFLAGS'
79281 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79282 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79283 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79288 + fi
79289 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
79290 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
79292 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
79293 + for ac_func in frexpf
79294 +do :
79295 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
79296 +if test "x$ac_cv_func_frexpf" = x""yes; then :
79297 + cat >>confdefs.h <<_ACEOF
79298 +#define HAVE_FREXPF 1
79299 +_ACEOF
79302 +done
79304 + else
79306 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
79307 +$as_echo_n "checking for _frexpf declaration... " >&6; }
79308 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
79309 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
79310 + $as_echo_n "(cached) " >&6
79311 +else
79314 + ac_ext=cpp
79315 +ac_cpp='$CXXCPP $CPPFLAGS'
79316 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79317 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79318 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79320 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79321 +/* end confdefs.h. */
79322 +#include <math.h>
79323 +int
79324 +main ()
79326 + _frexpf(0, 0);
79328 + return 0;
79330 +_ACEOF
79331 +if ac_fn_cxx_try_compile "$LINENO"; then :
79332 + glibcxx_cv_func__frexpf_use=yes
79333 +else
79334 + glibcxx_cv_func__frexpf_use=no
79336 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79337 + ac_ext=c
79338 +ac_cpp='$CPP $CPPFLAGS'
79339 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79340 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79341 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79346 + fi
79347 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
79348 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
79350 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
79351 + for ac_func in _frexpf
79352 +do :
79353 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
79354 +if test "x$ac_cv_func__frexpf" = x""yes; then :
79355 + cat >>confdefs.h <<_ACEOF
79356 +#define HAVE__FREXPF 1
79357 +_ACEOF
79360 +done
79362 + fi
79363 + fi
79369 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
79370 +$as_echo_n "checking for hypotf declaration... " >&6; }
79371 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
79372 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
79373 + $as_echo_n "(cached) " >&6
79374 +else
79377 + ac_ext=cpp
79378 +ac_cpp='$CXXCPP $CPPFLAGS'
79379 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79380 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79381 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79383 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79384 +/* end confdefs.h. */
79385 +#include <math.h>
79386 +int
79387 +main ()
79389 + hypotf(0, 0);
79391 + return 0;
79393 +_ACEOF
79394 +if ac_fn_cxx_try_compile "$LINENO"; then :
79395 + glibcxx_cv_func_hypotf_use=yes
79396 +else
79397 + glibcxx_cv_func_hypotf_use=no
79399 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79400 + ac_ext=c
79401 +ac_cpp='$CPP $CPPFLAGS'
79402 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79403 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79404 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79409 + fi
79410 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
79411 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
79413 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
79414 + for ac_func in hypotf
79415 +do :
79416 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
79417 +if test "x$ac_cv_func_hypotf" = x""yes; then :
79418 + cat >>confdefs.h <<_ACEOF
79419 +#define HAVE_HYPOTF 1
79420 +_ACEOF
79423 +done
79425 + else
79427 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
79428 +$as_echo_n "checking for _hypotf declaration... " >&6; }
79429 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
79430 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
79431 + $as_echo_n "(cached) " >&6
79432 +else
79435 + ac_ext=cpp
79436 +ac_cpp='$CXXCPP $CPPFLAGS'
79437 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79438 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79439 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79441 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79442 +/* end confdefs.h. */
79443 +#include <math.h>
79444 +int
79445 +main ()
79447 + _hypotf(0, 0);
79449 + return 0;
79451 +_ACEOF
79452 +if ac_fn_cxx_try_compile "$LINENO"; then :
79453 + glibcxx_cv_func__hypotf_use=yes
79454 +else
79455 + glibcxx_cv_func__hypotf_use=no
79457 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79458 + ac_ext=c
79459 +ac_cpp='$CPP $CPPFLAGS'
79460 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79461 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79462 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79467 + fi
79468 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
79469 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
79471 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
79472 + for ac_func in _hypotf
79473 +do :
79474 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
79475 +if test "x$ac_cv_func__hypotf" = x""yes; then :
79476 + cat >>confdefs.h <<_ACEOF
79477 +#define HAVE__HYPOTF 1
79478 +_ACEOF
79481 +done
79483 + fi
79484 + fi
79490 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
79491 +$as_echo_n "checking for ldexpf declaration... " >&6; }
79492 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
79493 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
79494 + $as_echo_n "(cached) " >&6
79495 +else
79498 + ac_ext=cpp
79499 +ac_cpp='$CXXCPP $CPPFLAGS'
79500 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79501 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79502 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79504 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79505 +/* end confdefs.h. */
79506 +#include <math.h>
79507 +int
79508 +main ()
79510 + ldexpf(0, 0);
79512 + return 0;
79514 +_ACEOF
79515 +if ac_fn_cxx_try_compile "$LINENO"; then :
79516 + glibcxx_cv_func_ldexpf_use=yes
79517 +else
79518 + glibcxx_cv_func_ldexpf_use=no
79520 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79521 + ac_ext=c
79522 +ac_cpp='$CPP $CPPFLAGS'
79523 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79524 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79525 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79530 + fi
79531 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
79532 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
79534 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
79535 + for ac_func in ldexpf
79536 +do :
79537 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
79538 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
79539 + cat >>confdefs.h <<_ACEOF
79540 +#define HAVE_LDEXPF 1
79541 +_ACEOF
79544 +done
79546 + else
79548 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
79549 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
79550 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
79551 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
79552 + $as_echo_n "(cached) " >&6
79553 +else
79556 + ac_ext=cpp
79557 +ac_cpp='$CXXCPP $CPPFLAGS'
79558 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79559 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79560 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79562 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79563 +/* end confdefs.h. */
79564 +#include <math.h>
79565 +int
79566 +main ()
79568 + _ldexpf(0, 0);
79570 + return 0;
79572 +_ACEOF
79573 +if ac_fn_cxx_try_compile "$LINENO"; then :
79574 + glibcxx_cv_func__ldexpf_use=yes
79575 +else
79576 + glibcxx_cv_func__ldexpf_use=no
79578 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79579 + ac_ext=c
79580 +ac_cpp='$CPP $CPPFLAGS'
79581 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79582 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79583 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79588 + fi
79589 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
79590 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
79592 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
79593 + for ac_func in _ldexpf
79594 +do :
79595 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
79596 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
79597 + cat >>confdefs.h <<_ACEOF
79598 +#define HAVE__LDEXPF 1
79599 +_ACEOF
79602 +done
79604 + fi
79605 + fi
79611 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
79612 +$as_echo_n "checking for logf declaration... " >&6; }
79613 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
79614 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
79615 + $as_echo_n "(cached) " >&6
79616 +else
79619 + ac_ext=cpp
79620 +ac_cpp='$CXXCPP $CPPFLAGS'
79621 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79622 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79623 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79625 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79626 +/* end confdefs.h. */
79627 +#include <math.h>
79628 + #ifdef HAVE_IEEEFP_H
79629 + #include <ieeefp.h>
79630 + #endif
79632 +int
79633 +main ()
79635 + logf(0);
79637 + return 0;
79639 +_ACEOF
79640 +if ac_fn_cxx_try_compile "$LINENO"; then :
79641 + glibcxx_cv_func_logf_use=yes
79642 +else
79643 + glibcxx_cv_func_logf_use=no
79645 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79646 + ac_ext=c
79647 +ac_cpp='$CPP $CPPFLAGS'
79648 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79649 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79650 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79655 + fi
79656 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
79657 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
79659 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
79660 + for ac_func in logf
79661 +do :
79662 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
79663 +if test "x$ac_cv_func_logf" = x""yes; then :
79664 + cat >>confdefs.h <<_ACEOF
79665 +#define HAVE_LOGF 1
79666 +_ACEOF
79669 +done
79671 + else
79673 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
79674 +$as_echo_n "checking for _logf declaration... " >&6; }
79675 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
79676 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
79677 + $as_echo_n "(cached) " >&6
79678 +else
79681 + ac_ext=cpp
79682 +ac_cpp='$CXXCPP $CPPFLAGS'
79683 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79684 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79685 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79687 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79688 +/* end confdefs.h. */
79689 +#include <math.h>
79690 + #ifdef HAVE_IEEEFP_H
79691 + #include <ieeefp.h>
79692 + #endif
79694 +int
79695 +main ()
79697 + _logf(0);
79699 + return 0;
79701 +_ACEOF
79702 +if ac_fn_cxx_try_compile "$LINENO"; then :
79703 + glibcxx_cv_func__logf_use=yes
79704 +else
79705 + glibcxx_cv_func__logf_use=no
79707 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79708 + ac_ext=c
79709 +ac_cpp='$CPP $CPPFLAGS'
79710 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79711 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79712 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79717 + fi
79718 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
79719 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
79721 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
79722 + for ac_func in _logf
79723 +do :
79724 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
79725 +if test "x$ac_cv_func__logf" = x""yes; then :
79726 + cat >>confdefs.h <<_ACEOF
79727 +#define HAVE__LOGF 1
79728 +_ACEOF
79731 +done
79733 + fi
79734 + fi
79740 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
79741 +$as_echo_n "checking for log10f declaration... " >&6; }
79742 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
79743 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
79744 + $as_echo_n "(cached) " >&6
79745 +else
79748 + ac_ext=cpp
79749 +ac_cpp='$CXXCPP $CPPFLAGS'
79750 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79751 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79752 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79754 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79755 +/* end confdefs.h. */
79756 +#include <math.h>
79757 + #ifdef HAVE_IEEEFP_H
79758 + #include <ieeefp.h>
79759 + #endif
79761 +int
79762 +main ()
79764 + log10f(0);
79766 + return 0;
79768 +_ACEOF
79769 +if ac_fn_cxx_try_compile "$LINENO"; then :
79770 + glibcxx_cv_func_log10f_use=yes
79771 +else
79772 + glibcxx_cv_func_log10f_use=no
79774 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79775 + ac_ext=c
79776 +ac_cpp='$CPP $CPPFLAGS'
79777 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79778 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79779 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79784 + fi
79785 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
79786 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
79788 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
79789 + for ac_func in log10f
79790 +do :
79791 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
79792 +if test "x$ac_cv_func_log10f" = x""yes; then :
79793 + cat >>confdefs.h <<_ACEOF
79794 +#define HAVE_LOG10F 1
79795 +_ACEOF
79798 +done
79800 + else
79802 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
79803 +$as_echo_n "checking for _log10f declaration... " >&6; }
79804 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
79805 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
79806 + $as_echo_n "(cached) " >&6
79807 +else
79810 + ac_ext=cpp
79811 +ac_cpp='$CXXCPP $CPPFLAGS'
79812 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79813 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79814 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79816 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79817 +/* end confdefs.h. */
79818 +#include <math.h>
79819 + #ifdef HAVE_IEEEFP_H
79820 + #include <ieeefp.h>
79821 + #endif
79823 +int
79824 +main ()
79826 + _log10f(0);
79828 + return 0;
79830 +_ACEOF
79831 +if ac_fn_cxx_try_compile "$LINENO"; then :
79832 + glibcxx_cv_func__log10f_use=yes
79833 +else
79834 + glibcxx_cv_func__log10f_use=no
79836 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79837 + ac_ext=c
79838 +ac_cpp='$CPP $CPPFLAGS'
79839 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79840 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79841 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79846 + fi
79847 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
79848 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
79850 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
79851 + for ac_func in _log10f
79852 +do :
79853 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
79854 +if test "x$ac_cv_func__log10f" = x""yes; then :
79855 + cat >>confdefs.h <<_ACEOF
79856 +#define HAVE__LOG10F 1
79857 +_ACEOF
79860 +done
79862 + fi
79863 + fi
79869 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
79870 +$as_echo_n "checking for modff declaration... " >&6; }
79871 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
79872 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
79873 + $as_echo_n "(cached) " >&6
79874 +else
79877 + ac_ext=cpp
79878 +ac_cpp='$CXXCPP $CPPFLAGS'
79879 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79880 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79881 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79883 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79884 +/* end confdefs.h. */
79885 +#include <math.h>
79886 +int
79887 +main ()
79889 + modff(0, 0);
79891 + return 0;
79893 +_ACEOF
79894 +if ac_fn_cxx_try_compile "$LINENO"; then :
79895 + glibcxx_cv_func_modff_use=yes
79896 +else
79897 + glibcxx_cv_func_modff_use=no
79899 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79900 + ac_ext=c
79901 +ac_cpp='$CPP $CPPFLAGS'
79902 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79903 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79904 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79909 + fi
79910 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
79911 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
79913 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
79914 + for ac_func in modff
79915 +do :
79916 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
79917 +if test "x$ac_cv_func_modff" = x""yes; then :
79918 + cat >>confdefs.h <<_ACEOF
79919 +#define HAVE_MODFF 1
79920 +_ACEOF
79923 +done
79925 + else
79927 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
79928 +$as_echo_n "checking for _modff declaration... " >&6; }
79929 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
79930 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
79931 + $as_echo_n "(cached) " >&6
79932 +else
79935 + ac_ext=cpp
79936 +ac_cpp='$CXXCPP $CPPFLAGS'
79937 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79938 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79939 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
79941 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
79942 +/* end confdefs.h. */
79943 +#include <math.h>
79944 +int
79945 +main ()
79947 + _modff(0, 0);
79949 + return 0;
79951 +_ACEOF
79952 +if ac_fn_cxx_try_compile "$LINENO"; then :
79953 + glibcxx_cv_func__modff_use=yes
79954 +else
79955 + glibcxx_cv_func__modff_use=no
79957 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
79958 + ac_ext=c
79959 +ac_cpp='$CPP $CPPFLAGS'
79960 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
79961 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
79962 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
79967 + fi
79968 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
79969 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
79971 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
79972 + for ac_func in _modff
79973 +do :
79974 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
79975 +if test "x$ac_cv_func__modff" = x""yes; then :
79976 + cat >>confdefs.h <<_ACEOF
79977 +#define HAVE__MODFF 1
79978 +_ACEOF
79981 +done
79983 + fi
79984 + fi
79990 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
79991 +$as_echo_n "checking for modf declaration... " >&6; }
79992 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
79993 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
79994 + $as_echo_n "(cached) " >&6
79995 +else
79998 + ac_ext=cpp
79999 +ac_cpp='$CXXCPP $CPPFLAGS'
80000 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80001 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80002 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80004 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80005 +/* end confdefs.h. */
80006 +#include <math.h>
80007 +int
80008 +main ()
80010 + modf(0, 0);
80012 + return 0;
80014 +_ACEOF
80015 +if ac_fn_cxx_try_compile "$LINENO"; then :
80016 + glibcxx_cv_func_modf_use=yes
80017 +else
80018 + glibcxx_cv_func_modf_use=no
80020 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80021 + ac_ext=c
80022 +ac_cpp='$CPP $CPPFLAGS'
80023 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80024 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80025 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80030 + fi
80031 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
80032 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
80034 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
80035 + for ac_func in modf
80036 +do :
80037 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
80038 +if test "x$ac_cv_func_modf" = x""yes; then :
80039 + cat >>confdefs.h <<_ACEOF
80040 +#define HAVE_MODF 1
80041 +_ACEOF
80044 +done
80046 + else
80048 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
80049 +$as_echo_n "checking for _modf declaration... " >&6; }
80050 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
80051 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
80052 + $as_echo_n "(cached) " >&6
80053 +else
80056 + ac_ext=cpp
80057 +ac_cpp='$CXXCPP $CPPFLAGS'
80058 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80059 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80060 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80062 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80063 +/* end confdefs.h. */
80064 +#include <math.h>
80065 +int
80066 +main ()
80068 + _modf(0, 0);
80070 + return 0;
80072 +_ACEOF
80073 +if ac_fn_cxx_try_compile "$LINENO"; then :
80074 + glibcxx_cv_func__modf_use=yes
80075 +else
80076 + glibcxx_cv_func__modf_use=no
80078 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80079 + ac_ext=c
80080 +ac_cpp='$CPP $CPPFLAGS'
80081 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80082 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80083 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80088 + fi
80089 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
80090 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
80092 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
80093 + for ac_func in _modf
80094 +do :
80095 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
80096 +if test "x$ac_cv_func__modf" = x""yes; then :
80097 + cat >>confdefs.h <<_ACEOF
80098 +#define HAVE__MODF 1
80099 +_ACEOF
80102 +done
80104 + fi
80105 + fi
80111 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
80112 +$as_echo_n "checking for powf declaration... " >&6; }
80113 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
80114 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
80115 + $as_echo_n "(cached) " >&6
80116 +else
80119 + ac_ext=cpp
80120 +ac_cpp='$CXXCPP $CPPFLAGS'
80121 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80122 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80123 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80125 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80126 +/* end confdefs.h. */
80127 +#include <math.h>
80128 +int
80129 +main ()
80131 + powf(0, 0);
80133 + return 0;
80135 +_ACEOF
80136 +if ac_fn_cxx_try_compile "$LINENO"; then :
80137 + glibcxx_cv_func_powf_use=yes
80138 +else
80139 + glibcxx_cv_func_powf_use=no
80141 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80142 + ac_ext=c
80143 +ac_cpp='$CPP $CPPFLAGS'
80144 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80145 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80146 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80151 + fi
80152 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
80153 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
80155 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
80156 + for ac_func in powf
80157 +do :
80158 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
80159 +if test "x$ac_cv_func_powf" = x""yes; then :
80160 + cat >>confdefs.h <<_ACEOF
80161 +#define HAVE_POWF 1
80162 +_ACEOF
80165 +done
80167 + else
80169 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
80170 +$as_echo_n "checking for _powf declaration... " >&6; }
80171 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
80172 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
80173 + $as_echo_n "(cached) " >&6
80174 +else
80177 + ac_ext=cpp
80178 +ac_cpp='$CXXCPP $CPPFLAGS'
80179 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80180 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80181 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80183 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80184 +/* end confdefs.h. */
80185 +#include <math.h>
80186 +int
80187 +main ()
80189 + _powf(0, 0);
80191 + return 0;
80193 +_ACEOF
80194 +if ac_fn_cxx_try_compile "$LINENO"; then :
80195 + glibcxx_cv_func__powf_use=yes
80196 +else
80197 + glibcxx_cv_func__powf_use=no
80199 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80200 + ac_ext=c
80201 +ac_cpp='$CPP $CPPFLAGS'
80202 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80203 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80204 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80209 + fi
80210 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
80211 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
80213 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
80214 + for ac_func in _powf
80215 +do :
80216 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
80217 +if test "x$ac_cv_func__powf" = x""yes; then :
80218 + cat >>confdefs.h <<_ACEOF
80219 +#define HAVE__POWF 1
80220 +_ACEOF
80223 +done
80225 + fi
80226 + fi
80232 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
80233 +$as_echo_n "checking for sqrtf declaration... " >&6; }
80234 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
80235 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
80236 + $as_echo_n "(cached) " >&6
80237 +else
80240 + ac_ext=cpp
80241 +ac_cpp='$CXXCPP $CPPFLAGS'
80242 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80243 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80244 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80246 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80247 +/* end confdefs.h. */
80248 +#include <math.h>
80249 + #ifdef HAVE_IEEEFP_H
80250 + #include <ieeefp.h>
80251 + #endif
80253 +int
80254 +main ()
80256 + sqrtf(0);
80258 + return 0;
80260 +_ACEOF
80261 +if ac_fn_cxx_try_compile "$LINENO"; then :
80262 + glibcxx_cv_func_sqrtf_use=yes
80263 +else
80264 + glibcxx_cv_func_sqrtf_use=no
80266 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80267 + ac_ext=c
80268 +ac_cpp='$CPP $CPPFLAGS'
80269 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80270 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80271 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80276 + fi
80277 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
80278 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
80280 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
80281 + for ac_func in sqrtf
80282 +do :
80283 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
80284 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
80285 + cat >>confdefs.h <<_ACEOF
80286 +#define HAVE_SQRTF 1
80287 +_ACEOF
80290 +done
80292 + else
80294 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
80295 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
80296 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
80297 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
80298 + $as_echo_n "(cached) " >&6
80299 +else
80302 + ac_ext=cpp
80303 +ac_cpp='$CXXCPP $CPPFLAGS'
80304 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80305 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80306 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80308 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80309 +/* end confdefs.h. */
80310 +#include <math.h>
80311 + #ifdef HAVE_IEEEFP_H
80312 + #include <ieeefp.h>
80313 + #endif
80315 +int
80316 +main ()
80318 + _sqrtf(0);
80320 + return 0;
80322 +_ACEOF
80323 +if ac_fn_cxx_try_compile "$LINENO"; then :
80324 + glibcxx_cv_func__sqrtf_use=yes
80325 +else
80326 + glibcxx_cv_func__sqrtf_use=no
80328 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80329 + ac_ext=c
80330 +ac_cpp='$CPP $CPPFLAGS'
80331 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80332 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80333 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80338 + fi
80339 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
80340 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
80342 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
80343 + for ac_func in _sqrtf
80344 +do :
80345 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
80346 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
80347 + cat >>confdefs.h <<_ACEOF
80348 +#define HAVE__SQRTF 1
80349 +_ACEOF
80352 +done
80354 + fi
80355 + fi
80361 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
80362 +$as_echo_n "checking for sincosf declaration... " >&6; }
80363 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
80364 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
80365 + $as_echo_n "(cached) " >&6
80366 +else
80369 + ac_ext=cpp
80370 +ac_cpp='$CXXCPP $CPPFLAGS'
80371 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80372 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80373 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80375 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80376 +/* end confdefs.h. */
80377 +#include <math.h>
80378 +int
80379 +main ()
80381 + sincosf(0, 0, 0);
80383 + return 0;
80385 +_ACEOF
80386 +if ac_fn_cxx_try_compile "$LINENO"; then :
80387 + glibcxx_cv_func_sincosf_use=yes
80388 +else
80389 + glibcxx_cv_func_sincosf_use=no
80391 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80392 + ac_ext=c
80393 +ac_cpp='$CPP $CPPFLAGS'
80394 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80395 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80396 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80401 + fi
80402 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
80403 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
80405 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
80406 + for ac_func in sincosf
80407 +do :
80408 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
80409 +if test "x$ac_cv_func_sincosf" = x""yes; then :
80410 + cat >>confdefs.h <<_ACEOF
80411 +#define HAVE_SINCOSF 1
80412 +_ACEOF
80415 +done
80417 + else
80419 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
80420 +$as_echo_n "checking for _sincosf declaration... " >&6; }
80421 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
80422 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
80423 + $as_echo_n "(cached) " >&6
80424 +else
80427 + ac_ext=cpp
80428 +ac_cpp='$CXXCPP $CPPFLAGS'
80429 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80430 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80431 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80433 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80434 +/* end confdefs.h. */
80435 +#include <math.h>
80436 +int
80437 +main ()
80439 + _sincosf(0, 0, 0);
80441 + return 0;
80443 +_ACEOF
80444 +if ac_fn_cxx_try_compile "$LINENO"; then :
80445 + glibcxx_cv_func__sincosf_use=yes
80446 +else
80447 + glibcxx_cv_func__sincosf_use=no
80449 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80450 + ac_ext=c
80451 +ac_cpp='$CPP $CPPFLAGS'
80452 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80453 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80454 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80459 + fi
80460 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
80461 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
80463 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
80464 + for ac_func in _sincosf
80465 +do :
80466 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
80467 +if test "x$ac_cv_func__sincosf" = x""yes; then :
80468 + cat >>confdefs.h <<_ACEOF
80469 +#define HAVE__SINCOSF 1
80470 +_ACEOF
80473 +done
80475 + fi
80476 + fi
80482 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
80483 +$as_echo_n "checking for finitef declaration... " >&6; }
80484 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
80485 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
80486 + $as_echo_n "(cached) " >&6
80487 +else
80490 + ac_ext=cpp
80491 +ac_cpp='$CXXCPP $CPPFLAGS'
80492 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80493 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80494 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80496 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80497 +/* end confdefs.h. */
80498 +#include <math.h>
80499 + #ifdef HAVE_IEEEFP_H
80500 + #include <ieeefp.h>
80501 + #endif
80503 +int
80504 +main ()
80506 + finitef(0);
80508 + return 0;
80510 +_ACEOF
80511 +if ac_fn_cxx_try_compile "$LINENO"; then :
80512 + glibcxx_cv_func_finitef_use=yes
80513 +else
80514 + glibcxx_cv_func_finitef_use=no
80516 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80517 + ac_ext=c
80518 +ac_cpp='$CPP $CPPFLAGS'
80519 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80520 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80521 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80526 + fi
80527 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
80528 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
80530 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
80531 + for ac_func in finitef
80532 +do :
80533 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
80534 +if test "x$ac_cv_func_finitef" = x""yes; then :
80535 + cat >>confdefs.h <<_ACEOF
80536 +#define HAVE_FINITEF 1
80537 +_ACEOF
80540 +done
80542 + else
80544 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
80545 +$as_echo_n "checking for _finitef declaration... " >&6; }
80546 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
80547 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
80548 + $as_echo_n "(cached) " >&6
80549 +else
80552 + ac_ext=cpp
80553 +ac_cpp='$CXXCPP $CPPFLAGS'
80554 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80555 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80556 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80558 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80559 +/* end confdefs.h. */
80560 +#include <math.h>
80561 + #ifdef HAVE_IEEEFP_H
80562 + #include <ieeefp.h>
80563 + #endif
80565 +int
80566 +main ()
80568 + _finitef(0);
80570 + return 0;
80572 +_ACEOF
80573 +if ac_fn_cxx_try_compile "$LINENO"; then :
80574 + glibcxx_cv_func__finitef_use=yes
80575 +else
80576 + glibcxx_cv_func__finitef_use=no
80578 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80579 + ac_ext=c
80580 +ac_cpp='$CPP $CPPFLAGS'
80581 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80582 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80583 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80588 + fi
80589 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
80590 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
80592 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
80593 + for ac_func in _finitef
80594 +do :
80595 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
80596 +if test "x$ac_cv_func__finitef" = x""yes; then :
80597 + cat >>confdefs.h <<_ACEOF
80598 +#define HAVE__FINITEF 1
80599 +_ACEOF
80602 +done
80604 + fi
80605 + fi
80611 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
80612 +$as_echo_n "checking for long double trig functions... " >&6; }
80613 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
80614 + $as_echo_n "(cached) " >&6
80615 +else
80618 + ac_ext=cpp
80619 +ac_cpp='$CXXCPP $CPPFLAGS'
80620 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80621 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80622 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80624 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80625 +/* end confdefs.h. */
80626 +#include <math.h>
80627 +int
80628 +main ()
80630 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
80632 + return 0;
80634 +_ACEOF
80635 +if ac_fn_cxx_try_compile "$LINENO"; then :
80636 + glibcxx_cv_func_long_double_trig_use=yes
80637 +else
80638 + glibcxx_cv_func_long_double_trig_use=no
80640 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80641 + ac_ext=c
80642 +ac_cpp='$CPP $CPPFLAGS'
80643 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80644 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80645 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80649 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
80650 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
80651 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
80652 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
80653 +do :
80654 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
80655 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
80656 +eval as_val=\$$as_ac_var
80657 + if test "x$as_val" = x""yes; then :
80658 + cat >>confdefs.h <<_ACEOF
80659 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
80660 +_ACEOF
80663 +done
80665 + else
80666 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
80667 +$as_echo_n "checking for _long double trig functions... " >&6; }
80668 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
80669 + $as_echo_n "(cached) " >&6
80670 +else
80673 + ac_ext=cpp
80674 +ac_cpp='$CXXCPP $CPPFLAGS'
80675 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80676 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80677 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80679 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80680 +/* end confdefs.h. */
80681 +#include <math.h>
80682 +int
80683 +main ()
80685 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
80687 + return 0;
80689 +_ACEOF
80690 +if ac_fn_cxx_try_compile "$LINENO"; then :
80691 + glibcxx_cv_func__long_double_trig_use=yes
80692 +else
80693 + glibcxx_cv_func__long_double_trig_use=no
80695 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80696 + ac_ext=c
80697 +ac_cpp='$CPP $CPPFLAGS'
80698 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80699 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80700 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80704 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
80705 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
80706 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
80707 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
80708 +do :
80709 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
80710 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
80711 +eval as_val=\$$as_ac_var
80712 + if test "x$as_val" = x""yes; then :
80713 + cat >>confdefs.h <<_ACEOF
80714 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
80715 +_ACEOF
80718 +done
80720 + fi
80721 + fi
80727 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
80728 +$as_echo_n "checking for long double round functions... " >&6; }
80729 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
80730 + $as_echo_n "(cached) " >&6
80731 +else
80734 + ac_ext=cpp
80735 +ac_cpp='$CXXCPP $CPPFLAGS'
80736 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80737 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80738 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80740 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80741 +/* end confdefs.h. */
80742 +#include <math.h>
80743 +int
80744 +main ()
80746 +ceill (0); floorl (0);
80748 + return 0;
80750 +_ACEOF
80751 +if ac_fn_cxx_try_compile "$LINENO"; then :
80752 + glibcxx_cv_func_long_double_round_use=yes
80753 +else
80754 + glibcxx_cv_func_long_double_round_use=no
80756 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80757 + ac_ext=c
80758 +ac_cpp='$CPP $CPPFLAGS'
80759 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80760 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80761 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80765 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
80766 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
80767 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
80768 + for ac_func in ceill floorl
80769 +do :
80770 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
80771 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
80772 +eval as_val=\$$as_ac_var
80773 + if test "x$as_val" = x""yes; then :
80774 + cat >>confdefs.h <<_ACEOF
80775 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
80776 +_ACEOF
80779 +done
80781 + else
80782 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
80783 +$as_echo_n "checking for _long double round functions... " >&6; }
80784 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
80785 + $as_echo_n "(cached) " >&6
80786 +else
80789 + ac_ext=cpp
80790 +ac_cpp='$CXXCPP $CPPFLAGS'
80791 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80792 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80793 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80795 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80796 +/* end confdefs.h. */
80797 +#include <math.h>
80798 +int
80799 +main ()
80801 +_ceill (0); _floorl (0);
80803 + return 0;
80805 +_ACEOF
80806 +if ac_fn_cxx_try_compile "$LINENO"; then :
80807 + glibcxx_cv_func__long_double_round_use=yes
80808 +else
80809 + glibcxx_cv_func__long_double_round_use=no
80811 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80812 + ac_ext=c
80813 +ac_cpp='$CPP $CPPFLAGS'
80814 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80815 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80816 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80820 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
80821 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
80822 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
80823 + for ac_func in _ceill _floorl
80824 +do :
80825 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
80826 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
80827 +eval as_val=\$$as_ac_var
80828 + if test "x$as_val" = x""yes; then :
80829 + cat >>confdefs.h <<_ACEOF
80830 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
80831 +_ACEOF
80834 +done
80836 + fi
80837 + fi
80844 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
80845 +$as_echo_n "checking for isnanl declaration... " >&6; }
80846 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
80847 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
80848 + $as_echo_n "(cached) " >&6
80849 +else
80852 + ac_ext=cpp
80853 +ac_cpp='$CXXCPP $CPPFLAGS'
80854 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80855 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80856 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80858 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80859 +/* end confdefs.h. */
80860 +#include <math.h>
80861 + #ifdef HAVE_IEEEFP_H
80862 + #include <ieeefp.h>
80863 + #endif
80865 +int
80866 +main ()
80868 + isnanl(0);
80870 + return 0;
80872 +_ACEOF
80873 +if ac_fn_cxx_try_compile "$LINENO"; then :
80874 + glibcxx_cv_func_isnanl_use=yes
80875 +else
80876 + glibcxx_cv_func_isnanl_use=no
80878 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80879 + ac_ext=c
80880 +ac_cpp='$CPP $CPPFLAGS'
80881 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80882 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80883 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80888 + fi
80889 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
80890 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
80892 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
80893 + for ac_func in isnanl
80894 +do :
80895 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
80896 +if test "x$ac_cv_func_isnanl" = x""yes; then :
80897 + cat >>confdefs.h <<_ACEOF
80898 +#define HAVE_ISNANL 1
80899 +_ACEOF
80902 +done
80904 + else
80906 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
80907 +$as_echo_n "checking for _isnanl declaration... " >&6; }
80908 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
80909 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
80910 + $as_echo_n "(cached) " >&6
80911 +else
80914 + ac_ext=cpp
80915 +ac_cpp='$CXXCPP $CPPFLAGS'
80916 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80917 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80918 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80920 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80921 +/* end confdefs.h. */
80922 +#include <math.h>
80923 + #ifdef HAVE_IEEEFP_H
80924 + #include <ieeefp.h>
80925 + #endif
80927 +int
80928 +main ()
80930 + _isnanl(0);
80932 + return 0;
80934 +_ACEOF
80935 +if ac_fn_cxx_try_compile "$LINENO"; then :
80936 + glibcxx_cv_func__isnanl_use=yes
80937 +else
80938 + glibcxx_cv_func__isnanl_use=no
80940 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
80941 + ac_ext=c
80942 +ac_cpp='$CPP $CPPFLAGS'
80943 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80944 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80945 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
80950 + fi
80951 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
80952 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
80954 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
80955 + for ac_func in _isnanl
80956 +do :
80957 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
80958 +if test "x$ac_cv_func__isnanl" = x""yes; then :
80959 + cat >>confdefs.h <<_ACEOF
80960 +#define HAVE__ISNANL 1
80961 +_ACEOF
80964 +done
80966 + fi
80967 + fi
80973 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
80974 +$as_echo_n "checking for isinfl declaration... " >&6; }
80975 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
80976 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
80977 + $as_echo_n "(cached) " >&6
80978 +else
80981 + ac_ext=cpp
80982 +ac_cpp='$CXXCPP $CPPFLAGS'
80983 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
80984 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
80985 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
80987 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
80988 +/* end confdefs.h. */
80989 +#include <math.h>
80990 + #ifdef HAVE_IEEEFP_H
80991 + #include <ieeefp.h>
80992 + #endif
80994 +int
80995 +main ()
80997 + isinfl(0);
80999 + return 0;
81001 +_ACEOF
81002 +if ac_fn_cxx_try_compile "$LINENO"; then :
81003 + glibcxx_cv_func_isinfl_use=yes
81004 +else
81005 + glibcxx_cv_func_isinfl_use=no
81007 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81008 + ac_ext=c
81009 +ac_cpp='$CPP $CPPFLAGS'
81010 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81011 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81012 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81017 + fi
81018 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
81019 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
81021 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
81022 + for ac_func in isinfl
81023 +do :
81024 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
81025 +if test "x$ac_cv_func_isinfl" = x""yes; then :
81026 + cat >>confdefs.h <<_ACEOF
81027 +#define HAVE_ISINFL 1
81028 +_ACEOF
81031 +done
81033 + else
81035 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
81036 +$as_echo_n "checking for _isinfl declaration... " >&6; }
81037 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
81038 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
81039 + $as_echo_n "(cached) " >&6
81040 +else
81043 + ac_ext=cpp
81044 +ac_cpp='$CXXCPP $CPPFLAGS'
81045 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81046 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81047 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81049 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81050 +/* end confdefs.h. */
81051 +#include <math.h>
81052 + #ifdef HAVE_IEEEFP_H
81053 + #include <ieeefp.h>
81054 + #endif
81056 +int
81057 +main ()
81059 + _isinfl(0);
81061 + return 0;
81063 +_ACEOF
81064 +if ac_fn_cxx_try_compile "$LINENO"; then :
81065 + glibcxx_cv_func__isinfl_use=yes
81066 +else
81067 + glibcxx_cv_func__isinfl_use=no
81069 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81070 + ac_ext=c
81071 +ac_cpp='$CPP $CPPFLAGS'
81072 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81073 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81074 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81079 + fi
81080 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
81081 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
81083 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
81084 + for ac_func in _isinfl
81085 +do :
81086 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
81087 +if test "x$ac_cv_func__isinfl" = x""yes; then :
81088 + cat >>confdefs.h <<_ACEOF
81089 +#define HAVE__ISINFL 1
81090 +_ACEOF
81093 +done
81095 + fi
81096 + fi
81102 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
81103 +$as_echo_n "checking for atan2l declaration... " >&6; }
81104 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
81105 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
81106 + $as_echo_n "(cached) " >&6
81107 +else
81110 + ac_ext=cpp
81111 +ac_cpp='$CXXCPP $CPPFLAGS'
81112 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81113 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81114 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81116 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81117 +/* end confdefs.h. */
81118 +#include <math.h>
81119 +int
81120 +main ()
81122 + atan2l(0, 0);
81124 + return 0;
81126 +_ACEOF
81127 +if ac_fn_cxx_try_compile "$LINENO"; then :
81128 + glibcxx_cv_func_atan2l_use=yes
81129 +else
81130 + glibcxx_cv_func_atan2l_use=no
81132 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81133 + ac_ext=c
81134 +ac_cpp='$CPP $CPPFLAGS'
81135 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81136 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81137 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81142 + fi
81143 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
81144 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
81146 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
81147 + for ac_func in atan2l
81148 +do :
81149 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
81150 +if test "x$ac_cv_func_atan2l" = x""yes; then :
81151 + cat >>confdefs.h <<_ACEOF
81152 +#define HAVE_ATAN2L 1
81153 +_ACEOF
81156 +done
81158 + else
81160 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
81161 +$as_echo_n "checking for _atan2l declaration... " >&6; }
81162 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
81163 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
81164 + $as_echo_n "(cached) " >&6
81165 +else
81168 + ac_ext=cpp
81169 +ac_cpp='$CXXCPP $CPPFLAGS'
81170 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81171 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81172 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81174 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81175 +/* end confdefs.h. */
81176 +#include <math.h>
81177 +int
81178 +main ()
81180 + _atan2l(0, 0);
81182 + return 0;
81184 +_ACEOF
81185 +if ac_fn_cxx_try_compile "$LINENO"; then :
81186 + glibcxx_cv_func__atan2l_use=yes
81187 +else
81188 + glibcxx_cv_func__atan2l_use=no
81190 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81191 + ac_ext=c
81192 +ac_cpp='$CPP $CPPFLAGS'
81193 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81194 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81195 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81200 + fi
81201 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
81202 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
81204 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
81205 + for ac_func in _atan2l
81206 +do :
81207 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
81208 +if test "x$ac_cv_func__atan2l" = x""yes; then :
81209 + cat >>confdefs.h <<_ACEOF
81210 +#define HAVE__ATAN2L 1
81211 +_ACEOF
81214 +done
81216 + fi
81217 + fi
81223 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
81224 +$as_echo_n "checking for expl declaration... " >&6; }
81225 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
81226 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
81227 + $as_echo_n "(cached) " >&6
81228 +else
81231 + ac_ext=cpp
81232 +ac_cpp='$CXXCPP $CPPFLAGS'
81233 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81234 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81235 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81237 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81238 +/* end confdefs.h. */
81239 +#include <math.h>
81240 + #ifdef HAVE_IEEEFP_H
81241 + #include <ieeefp.h>
81242 + #endif
81244 +int
81245 +main ()
81247 + expl(0);
81249 + return 0;
81251 +_ACEOF
81252 +if ac_fn_cxx_try_compile "$LINENO"; then :
81253 + glibcxx_cv_func_expl_use=yes
81254 +else
81255 + glibcxx_cv_func_expl_use=no
81257 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81258 + ac_ext=c
81259 +ac_cpp='$CPP $CPPFLAGS'
81260 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81261 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81262 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81267 + fi
81268 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
81269 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
81271 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
81272 + for ac_func in expl
81273 +do :
81274 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
81275 +if test "x$ac_cv_func_expl" = x""yes; then :
81276 + cat >>confdefs.h <<_ACEOF
81277 +#define HAVE_EXPL 1
81278 +_ACEOF
81281 +done
81283 + else
81285 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
81286 +$as_echo_n "checking for _expl declaration... " >&6; }
81287 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
81288 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
81289 + $as_echo_n "(cached) " >&6
81290 +else
81293 + ac_ext=cpp
81294 +ac_cpp='$CXXCPP $CPPFLAGS'
81295 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81296 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81297 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81299 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81300 +/* end confdefs.h. */
81301 +#include <math.h>
81302 + #ifdef HAVE_IEEEFP_H
81303 + #include <ieeefp.h>
81304 + #endif
81306 +int
81307 +main ()
81309 + _expl(0);
81311 + return 0;
81313 +_ACEOF
81314 +if ac_fn_cxx_try_compile "$LINENO"; then :
81315 + glibcxx_cv_func__expl_use=yes
81316 +else
81317 + glibcxx_cv_func__expl_use=no
81319 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81320 + ac_ext=c
81321 +ac_cpp='$CPP $CPPFLAGS'
81322 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81323 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81324 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81329 + fi
81330 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
81331 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
81333 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
81334 + for ac_func in _expl
81335 +do :
81336 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
81337 +if test "x$ac_cv_func__expl" = x""yes; then :
81338 + cat >>confdefs.h <<_ACEOF
81339 +#define HAVE__EXPL 1
81340 +_ACEOF
81343 +done
81345 + fi
81346 + fi
81352 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
81353 +$as_echo_n "checking for fabsl declaration... " >&6; }
81354 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
81355 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
81356 + $as_echo_n "(cached) " >&6
81357 +else
81360 + ac_ext=cpp
81361 +ac_cpp='$CXXCPP $CPPFLAGS'
81362 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81363 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81364 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81366 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81367 +/* end confdefs.h. */
81368 +#include <math.h>
81369 + #ifdef HAVE_IEEEFP_H
81370 + #include <ieeefp.h>
81371 + #endif
81373 +int
81374 +main ()
81376 + fabsl(0);
81378 + return 0;
81380 +_ACEOF
81381 +if ac_fn_cxx_try_compile "$LINENO"; then :
81382 + glibcxx_cv_func_fabsl_use=yes
81383 +else
81384 + glibcxx_cv_func_fabsl_use=no
81386 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81387 + ac_ext=c
81388 +ac_cpp='$CPP $CPPFLAGS'
81389 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81390 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81391 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81396 + fi
81397 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
81398 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
81400 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
81401 + for ac_func in fabsl
81402 +do :
81403 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
81404 +if test "x$ac_cv_func_fabsl" = x""yes; then :
81405 + cat >>confdefs.h <<_ACEOF
81406 +#define HAVE_FABSL 1
81407 +_ACEOF
81410 +done
81412 + else
81414 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
81415 +$as_echo_n "checking for _fabsl declaration... " >&6; }
81416 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
81417 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
81418 + $as_echo_n "(cached) " >&6
81419 +else
81422 + ac_ext=cpp
81423 +ac_cpp='$CXXCPP $CPPFLAGS'
81424 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81425 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81426 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81428 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81429 +/* end confdefs.h. */
81430 +#include <math.h>
81431 + #ifdef HAVE_IEEEFP_H
81432 + #include <ieeefp.h>
81433 + #endif
81435 +int
81436 +main ()
81438 + _fabsl(0);
81440 + return 0;
81442 +_ACEOF
81443 +if ac_fn_cxx_try_compile "$LINENO"; then :
81444 + glibcxx_cv_func__fabsl_use=yes
81445 +else
81446 + glibcxx_cv_func__fabsl_use=no
81448 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81449 + ac_ext=c
81450 +ac_cpp='$CPP $CPPFLAGS'
81451 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81452 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81453 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81458 + fi
81459 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
81460 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
81462 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
81463 + for ac_func in _fabsl
81464 +do :
81465 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
81466 +if test "x$ac_cv_func__fabsl" = x""yes; then :
81467 + cat >>confdefs.h <<_ACEOF
81468 +#define HAVE__FABSL 1
81469 +_ACEOF
81472 +done
81474 + fi
81475 + fi
81481 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
81482 +$as_echo_n "checking for fmodl declaration... " >&6; }
81483 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
81484 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
81485 + $as_echo_n "(cached) " >&6
81486 +else
81489 + ac_ext=cpp
81490 +ac_cpp='$CXXCPP $CPPFLAGS'
81491 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81492 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81493 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81495 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81496 +/* end confdefs.h. */
81497 +#include <math.h>
81498 +int
81499 +main ()
81501 + fmodl(0, 0);
81503 + return 0;
81505 +_ACEOF
81506 +if ac_fn_cxx_try_compile "$LINENO"; then :
81507 + glibcxx_cv_func_fmodl_use=yes
81508 +else
81509 + glibcxx_cv_func_fmodl_use=no
81511 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81512 + ac_ext=c
81513 +ac_cpp='$CPP $CPPFLAGS'
81514 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81515 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81516 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81521 + fi
81522 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
81523 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
81525 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
81526 + for ac_func in fmodl
81527 +do :
81528 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
81529 +if test "x$ac_cv_func_fmodl" = x""yes; then :
81530 + cat >>confdefs.h <<_ACEOF
81531 +#define HAVE_FMODL 1
81532 +_ACEOF
81535 +done
81537 + else
81539 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
81540 +$as_echo_n "checking for _fmodl declaration... " >&6; }
81541 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
81542 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
81543 + $as_echo_n "(cached) " >&6
81544 +else
81547 + ac_ext=cpp
81548 +ac_cpp='$CXXCPP $CPPFLAGS'
81549 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81550 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81551 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81553 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81554 +/* end confdefs.h. */
81555 +#include <math.h>
81556 +int
81557 +main ()
81559 + _fmodl(0, 0);
81561 + return 0;
81563 +_ACEOF
81564 +if ac_fn_cxx_try_compile "$LINENO"; then :
81565 + glibcxx_cv_func__fmodl_use=yes
81566 +else
81567 + glibcxx_cv_func__fmodl_use=no
81569 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81570 + ac_ext=c
81571 +ac_cpp='$CPP $CPPFLAGS'
81572 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81573 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81574 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81579 + fi
81580 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
81581 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
81583 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
81584 + for ac_func in _fmodl
81585 +do :
81586 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
81587 +if test "x$ac_cv_func__fmodl" = x""yes; then :
81588 + cat >>confdefs.h <<_ACEOF
81589 +#define HAVE__FMODL 1
81590 +_ACEOF
81593 +done
81595 + fi
81596 + fi
81602 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
81603 +$as_echo_n "checking for frexpl declaration... " >&6; }
81604 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
81605 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
81606 + $as_echo_n "(cached) " >&6
81607 +else
81610 + ac_ext=cpp
81611 +ac_cpp='$CXXCPP $CPPFLAGS'
81612 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81613 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81614 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81616 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81617 +/* end confdefs.h. */
81618 +#include <math.h>
81619 +int
81620 +main ()
81622 + frexpl(0, 0);
81624 + return 0;
81626 +_ACEOF
81627 +if ac_fn_cxx_try_compile "$LINENO"; then :
81628 + glibcxx_cv_func_frexpl_use=yes
81629 +else
81630 + glibcxx_cv_func_frexpl_use=no
81632 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81633 + ac_ext=c
81634 +ac_cpp='$CPP $CPPFLAGS'
81635 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81636 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81637 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81642 + fi
81643 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
81644 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
81646 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
81647 + for ac_func in frexpl
81648 +do :
81649 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
81650 +if test "x$ac_cv_func_frexpl" = x""yes; then :
81651 + cat >>confdefs.h <<_ACEOF
81652 +#define HAVE_FREXPL 1
81653 +_ACEOF
81656 +done
81658 + else
81660 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
81661 +$as_echo_n "checking for _frexpl declaration... " >&6; }
81662 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
81663 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
81664 + $as_echo_n "(cached) " >&6
81665 +else
81668 + ac_ext=cpp
81669 +ac_cpp='$CXXCPP $CPPFLAGS'
81670 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81671 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81672 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81674 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81675 +/* end confdefs.h. */
81676 +#include <math.h>
81677 +int
81678 +main ()
81680 + _frexpl(0, 0);
81682 + return 0;
81684 +_ACEOF
81685 +if ac_fn_cxx_try_compile "$LINENO"; then :
81686 + glibcxx_cv_func__frexpl_use=yes
81687 +else
81688 + glibcxx_cv_func__frexpl_use=no
81690 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81691 + ac_ext=c
81692 +ac_cpp='$CPP $CPPFLAGS'
81693 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81694 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81695 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81700 + fi
81701 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
81702 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
81704 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
81705 + for ac_func in _frexpl
81706 +do :
81707 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
81708 +if test "x$ac_cv_func__frexpl" = x""yes; then :
81709 + cat >>confdefs.h <<_ACEOF
81710 +#define HAVE__FREXPL 1
81711 +_ACEOF
81714 +done
81716 + fi
81717 + fi
81723 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
81724 +$as_echo_n "checking for hypotl declaration... " >&6; }
81725 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
81726 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
81727 + $as_echo_n "(cached) " >&6
81728 +else
81731 + ac_ext=cpp
81732 +ac_cpp='$CXXCPP $CPPFLAGS'
81733 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81734 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81735 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81737 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81738 +/* end confdefs.h. */
81739 +#include <math.h>
81740 +int
81741 +main ()
81743 + hypotl(0, 0);
81745 + return 0;
81747 +_ACEOF
81748 +if ac_fn_cxx_try_compile "$LINENO"; then :
81749 + glibcxx_cv_func_hypotl_use=yes
81750 +else
81751 + glibcxx_cv_func_hypotl_use=no
81753 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81754 + ac_ext=c
81755 +ac_cpp='$CPP $CPPFLAGS'
81756 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81757 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81758 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81763 + fi
81764 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
81765 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
81767 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
81768 + for ac_func in hypotl
81769 +do :
81770 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
81771 +if test "x$ac_cv_func_hypotl" = x""yes; then :
81772 + cat >>confdefs.h <<_ACEOF
81773 +#define HAVE_HYPOTL 1
81774 +_ACEOF
81777 +done
81779 + else
81781 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
81782 +$as_echo_n "checking for _hypotl declaration... " >&6; }
81783 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
81784 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
81785 + $as_echo_n "(cached) " >&6
81786 +else
81789 + ac_ext=cpp
81790 +ac_cpp='$CXXCPP $CPPFLAGS'
81791 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81792 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81793 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81795 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81796 +/* end confdefs.h. */
81797 +#include <math.h>
81798 +int
81799 +main ()
81801 + _hypotl(0, 0);
81803 + return 0;
81805 +_ACEOF
81806 +if ac_fn_cxx_try_compile "$LINENO"; then :
81807 + glibcxx_cv_func__hypotl_use=yes
81808 +else
81809 + glibcxx_cv_func__hypotl_use=no
81811 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81812 + ac_ext=c
81813 +ac_cpp='$CPP $CPPFLAGS'
81814 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81815 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81816 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81821 + fi
81822 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
81823 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
81825 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
81826 + for ac_func in _hypotl
81827 +do :
81828 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
81829 +if test "x$ac_cv_func__hypotl" = x""yes; then :
81830 + cat >>confdefs.h <<_ACEOF
81831 +#define HAVE__HYPOTL 1
81832 +_ACEOF
81835 +done
81837 + fi
81838 + fi
81844 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
81845 +$as_echo_n "checking for ldexpl declaration... " >&6; }
81846 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
81847 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
81848 + $as_echo_n "(cached) " >&6
81849 +else
81852 + ac_ext=cpp
81853 +ac_cpp='$CXXCPP $CPPFLAGS'
81854 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81855 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81856 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81858 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81859 +/* end confdefs.h. */
81860 +#include <math.h>
81861 +int
81862 +main ()
81864 + ldexpl(0, 0);
81866 + return 0;
81868 +_ACEOF
81869 +if ac_fn_cxx_try_compile "$LINENO"; then :
81870 + glibcxx_cv_func_ldexpl_use=yes
81871 +else
81872 + glibcxx_cv_func_ldexpl_use=no
81874 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81875 + ac_ext=c
81876 +ac_cpp='$CPP $CPPFLAGS'
81877 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81878 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81879 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81884 + fi
81885 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
81886 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
81888 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
81889 + for ac_func in ldexpl
81890 +do :
81891 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
81892 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
81893 + cat >>confdefs.h <<_ACEOF
81894 +#define HAVE_LDEXPL 1
81895 +_ACEOF
81898 +done
81900 + else
81902 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
81903 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
81904 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
81905 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
81906 + $as_echo_n "(cached) " >&6
81907 +else
81910 + ac_ext=cpp
81911 +ac_cpp='$CXXCPP $CPPFLAGS'
81912 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81913 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81914 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81916 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81917 +/* end confdefs.h. */
81918 +#include <math.h>
81919 +int
81920 +main ()
81922 + _ldexpl(0, 0);
81924 + return 0;
81926 +_ACEOF
81927 +if ac_fn_cxx_try_compile "$LINENO"; then :
81928 + glibcxx_cv_func__ldexpl_use=yes
81929 +else
81930 + glibcxx_cv_func__ldexpl_use=no
81932 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
81933 + ac_ext=c
81934 +ac_cpp='$CPP $CPPFLAGS'
81935 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81936 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81937 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
81942 + fi
81943 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
81944 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
81946 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
81947 + for ac_func in _ldexpl
81948 +do :
81949 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
81950 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
81951 + cat >>confdefs.h <<_ACEOF
81952 +#define HAVE__LDEXPL 1
81953 +_ACEOF
81956 +done
81958 + fi
81959 + fi
81965 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
81966 +$as_echo_n "checking for logl declaration... " >&6; }
81967 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
81968 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
81969 + $as_echo_n "(cached) " >&6
81970 +else
81973 + ac_ext=cpp
81974 +ac_cpp='$CXXCPP $CPPFLAGS'
81975 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
81976 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
81977 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
81979 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
81980 +/* end confdefs.h. */
81981 +#include <math.h>
81982 + #ifdef HAVE_IEEEFP_H
81983 + #include <ieeefp.h>
81984 + #endif
81986 +int
81987 +main ()
81989 + logl(0);
81991 + return 0;
81993 +_ACEOF
81994 +if ac_fn_cxx_try_compile "$LINENO"; then :
81995 + glibcxx_cv_func_logl_use=yes
81996 +else
81997 + glibcxx_cv_func_logl_use=no
81999 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82000 + ac_ext=c
82001 +ac_cpp='$CPP $CPPFLAGS'
82002 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82003 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82004 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82009 + fi
82010 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
82011 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
82013 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
82014 + for ac_func in logl
82015 +do :
82016 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
82017 +if test "x$ac_cv_func_logl" = x""yes; then :
82018 + cat >>confdefs.h <<_ACEOF
82019 +#define HAVE_LOGL 1
82020 +_ACEOF
82023 +done
82025 + else
82027 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
82028 +$as_echo_n "checking for _logl declaration... " >&6; }
82029 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
82030 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
82031 + $as_echo_n "(cached) " >&6
82032 +else
82035 + ac_ext=cpp
82036 +ac_cpp='$CXXCPP $CPPFLAGS'
82037 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82038 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82039 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82041 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82042 +/* end confdefs.h. */
82043 +#include <math.h>
82044 + #ifdef HAVE_IEEEFP_H
82045 + #include <ieeefp.h>
82046 + #endif
82048 +int
82049 +main ()
82051 + _logl(0);
82053 + return 0;
82055 +_ACEOF
82056 +if ac_fn_cxx_try_compile "$LINENO"; then :
82057 + glibcxx_cv_func__logl_use=yes
82058 +else
82059 + glibcxx_cv_func__logl_use=no
82061 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82062 + ac_ext=c
82063 +ac_cpp='$CPP $CPPFLAGS'
82064 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82065 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82066 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82071 + fi
82072 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
82073 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
82075 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
82076 + for ac_func in _logl
82077 +do :
82078 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
82079 +if test "x$ac_cv_func__logl" = x""yes; then :
82080 + cat >>confdefs.h <<_ACEOF
82081 +#define HAVE__LOGL 1
82082 +_ACEOF
82085 +done
82087 + fi
82088 + fi
82094 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
82095 +$as_echo_n "checking for log10l declaration... " >&6; }
82096 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
82097 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
82098 + $as_echo_n "(cached) " >&6
82099 +else
82102 + ac_ext=cpp
82103 +ac_cpp='$CXXCPP $CPPFLAGS'
82104 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82105 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82106 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82108 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82109 +/* end confdefs.h. */
82110 +#include <math.h>
82111 + #ifdef HAVE_IEEEFP_H
82112 + #include <ieeefp.h>
82113 + #endif
82115 +int
82116 +main ()
82118 + log10l(0);
82120 + return 0;
82122 +_ACEOF
82123 +if ac_fn_cxx_try_compile "$LINENO"; then :
82124 + glibcxx_cv_func_log10l_use=yes
82125 +else
82126 + glibcxx_cv_func_log10l_use=no
82128 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82129 + ac_ext=c
82130 +ac_cpp='$CPP $CPPFLAGS'
82131 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82132 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82133 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82138 + fi
82139 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
82140 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
82142 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
82143 + for ac_func in log10l
82144 +do :
82145 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
82146 +if test "x$ac_cv_func_log10l" = x""yes; then :
82147 + cat >>confdefs.h <<_ACEOF
82148 +#define HAVE_LOG10L 1
82149 +_ACEOF
82152 +done
82154 + else
82156 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
82157 +$as_echo_n "checking for _log10l declaration... " >&6; }
82158 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
82159 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
82160 + $as_echo_n "(cached) " >&6
82161 +else
82164 + ac_ext=cpp
82165 +ac_cpp='$CXXCPP $CPPFLAGS'
82166 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82167 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82168 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82170 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82171 +/* end confdefs.h. */
82172 +#include <math.h>
82173 + #ifdef HAVE_IEEEFP_H
82174 + #include <ieeefp.h>
82175 + #endif
82177 +int
82178 +main ()
82180 + _log10l(0);
82182 + return 0;
82184 +_ACEOF
82185 +if ac_fn_cxx_try_compile "$LINENO"; then :
82186 + glibcxx_cv_func__log10l_use=yes
82187 +else
82188 + glibcxx_cv_func__log10l_use=no
82190 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82191 + ac_ext=c
82192 +ac_cpp='$CPP $CPPFLAGS'
82193 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82194 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82195 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82200 + fi
82201 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
82202 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
82204 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
82205 + for ac_func in _log10l
82206 +do :
82207 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
82208 +if test "x$ac_cv_func__log10l" = x""yes; then :
82209 + cat >>confdefs.h <<_ACEOF
82210 +#define HAVE__LOG10L 1
82211 +_ACEOF
82214 +done
82216 + fi
82217 + fi
82223 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
82224 +$as_echo_n "checking for modfl declaration... " >&6; }
82225 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
82226 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
82227 + $as_echo_n "(cached) " >&6
82228 +else
82231 + ac_ext=cpp
82232 +ac_cpp='$CXXCPP $CPPFLAGS'
82233 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82234 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82235 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82237 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82238 +/* end confdefs.h. */
82239 +#include <math.h>
82240 +int
82241 +main ()
82243 + modfl(0, 0);
82245 + return 0;
82247 +_ACEOF
82248 +if ac_fn_cxx_try_compile "$LINENO"; then :
82249 + glibcxx_cv_func_modfl_use=yes
82250 +else
82251 + glibcxx_cv_func_modfl_use=no
82253 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82254 + ac_ext=c
82255 +ac_cpp='$CPP $CPPFLAGS'
82256 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82257 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82258 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82263 + fi
82264 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
82265 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
82267 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
82268 + for ac_func in modfl
82269 +do :
82270 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
82271 +if test "x$ac_cv_func_modfl" = x""yes; then :
82272 + cat >>confdefs.h <<_ACEOF
82273 +#define HAVE_MODFL 1
82274 +_ACEOF
82277 +done
82279 + else
82281 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
82282 +$as_echo_n "checking for _modfl declaration... " >&6; }
82283 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
82284 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
82285 + $as_echo_n "(cached) " >&6
82286 +else
82289 + ac_ext=cpp
82290 +ac_cpp='$CXXCPP $CPPFLAGS'
82291 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82292 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82293 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82295 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82296 +/* end confdefs.h. */
82297 +#include <math.h>
82298 +int
82299 +main ()
82301 + _modfl(0, 0);
82303 + return 0;
82305 +_ACEOF
82306 +if ac_fn_cxx_try_compile "$LINENO"; then :
82307 + glibcxx_cv_func__modfl_use=yes
82308 +else
82309 + glibcxx_cv_func__modfl_use=no
82311 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82312 + ac_ext=c
82313 +ac_cpp='$CPP $CPPFLAGS'
82314 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82315 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82316 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82321 + fi
82322 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
82323 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
82325 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
82326 + for ac_func in _modfl
82327 +do :
82328 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
82329 +if test "x$ac_cv_func__modfl" = x""yes; then :
82330 + cat >>confdefs.h <<_ACEOF
82331 +#define HAVE__MODFL 1
82332 +_ACEOF
82335 +done
82337 + fi
82338 + fi
82344 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
82345 +$as_echo_n "checking for powl declaration... " >&6; }
82346 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
82347 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
82348 + $as_echo_n "(cached) " >&6
82349 +else
82352 + ac_ext=cpp
82353 +ac_cpp='$CXXCPP $CPPFLAGS'
82354 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82355 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82356 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82358 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82359 +/* end confdefs.h. */
82360 +#include <math.h>
82361 +int
82362 +main ()
82364 + powl(0, 0);
82366 + return 0;
82368 +_ACEOF
82369 +if ac_fn_cxx_try_compile "$LINENO"; then :
82370 + glibcxx_cv_func_powl_use=yes
82371 +else
82372 + glibcxx_cv_func_powl_use=no
82374 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82375 + ac_ext=c
82376 +ac_cpp='$CPP $CPPFLAGS'
82377 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82378 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82379 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82384 + fi
82385 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
82386 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
82388 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
82389 + for ac_func in powl
82390 +do :
82391 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
82392 +if test "x$ac_cv_func_powl" = x""yes; then :
82393 + cat >>confdefs.h <<_ACEOF
82394 +#define HAVE_POWL 1
82395 +_ACEOF
82398 +done
82400 + else
82402 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
82403 +$as_echo_n "checking for _powl declaration... " >&6; }
82404 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
82405 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
82406 + $as_echo_n "(cached) " >&6
82407 +else
82410 + ac_ext=cpp
82411 +ac_cpp='$CXXCPP $CPPFLAGS'
82412 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82413 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82414 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82416 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82417 +/* end confdefs.h. */
82418 +#include <math.h>
82419 +int
82420 +main ()
82422 + _powl(0, 0);
82424 + return 0;
82426 +_ACEOF
82427 +if ac_fn_cxx_try_compile "$LINENO"; then :
82428 + glibcxx_cv_func__powl_use=yes
82429 +else
82430 + glibcxx_cv_func__powl_use=no
82432 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82433 + ac_ext=c
82434 +ac_cpp='$CPP $CPPFLAGS'
82435 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82436 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82437 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82442 + fi
82443 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
82444 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
82446 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
82447 + for ac_func in _powl
82448 +do :
82449 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
82450 +if test "x$ac_cv_func__powl" = x""yes; then :
82451 + cat >>confdefs.h <<_ACEOF
82452 +#define HAVE__POWL 1
82453 +_ACEOF
82456 +done
82458 + fi
82459 + fi
82465 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
82466 +$as_echo_n "checking for sqrtl declaration... " >&6; }
82467 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
82468 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
82469 + $as_echo_n "(cached) " >&6
82470 +else
82473 + ac_ext=cpp
82474 +ac_cpp='$CXXCPP $CPPFLAGS'
82475 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82476 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82477 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82479 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82480 +/* end confdefs.h. */
82481 +#include <math.h>
82482 + #ifdef HAVE_IEEEFP_H
82483 + #include <ieeefp.h>
82484 + #endif
82486 +int
82487 +main ()
82489 + sqrtl(0);
82491 + return 0;
82493 +_ACEOF
82494 +if ac_fn_cxx_try_compile "$LINENO"; then :
82495 + glibcxx_cv_func_sqrtl_use=yes
82496 +else
82497 + glibcxx_cv_func_sqrtl_use=no
82499 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82500 + ac_ext=c
82501 +ac_cpp='$CPP $CPPFLAGS'
82502 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82503 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82504 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82509 + fi
82510 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
82511 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
82513 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
82514 + for ac_func in sqrtl
82515 +do :
82516 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
82517 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
82518 + cat >>confdefs.h <<_ACEOF
82519 +#define HAVE_SQRTL 1
82520 +_ACEOF
82523 +done
82525 + else
82527 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
82528 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
82529 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
82530 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
82531 + $as_echo_n "(cached) " >&6
82532 +else
82535 + ac_ext=cpp
82536 +ac_cpp='$CXXCPP $CPPFLAGS'
82537 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82538 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82539 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82541 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82542 +/* end confdefs.h. */
82543 +#include <math.h>
82544 + #ifdef HAVE_IEEEFP_H
82545 + #include <ieeefp.h>
82546 + #endif
82548 +int
82549 +main ()
82551 + _sqrtl(0);
82553 + return 0;
82555 +_ACEOF
82556 +if ac_fn_cxx_try_compile "$LINENO"; then :
82557 + glibcxx_cv_func__sqrtl_use=yes
82558 +else
82559 + glibcxx_cv_func__sqrtl_use=no
82561 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82562 + ac_ext=c
82563 +ac_cpp='$CPP $CPPFLAGS'
82564 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82565 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82566 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82571 + fi
82572 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
82573 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
82575 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
82576 + for ac_func in _sqrtl
82577 +do :
82578 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
82579 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
82580 + cat >>confdefs.h <<_ACEOF
82581 +#define HAVE__SQRTL 1
82582 +_ACEOF
82585 +done
82587 + fi
82588 + fi
82594 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
82595 +$as_echo_n "checking for sincosl declaration... " >&6; }
82596 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
82597 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
82598 + $as_echo_n "(cached) " >&6
82599 +else
82602 + ac_ext=cpp
82603 +ac_cpp='$CXXCPP $CPPFLAGS'
82604 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82605 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82606 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82608 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82609 +/* end confdefs.h. */
82610 +#include <math.h>
82611 +int
82612 +main ()
82614 + sincosl(0, 0, 0);
82616 + return 0;
82618 +_ACEOF
82619 +if ac_fn_cxx_try_compile "$LINENO"; then :
82620 + glibcxx_cv_func_sincosl_use=yes
82621 +else
82622 + glibcxx_cv_func_sincosl_use=no
82624 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82625 + ac_ext=c
82626 +ac_cpp='$CPP $CPPFLAGS'
82627 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82628 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82629 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82634 + fi
82635 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
82636 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
82638 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
82639 + for ac_func in sincosl
82640 +do :
82641 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
82642 +if test "x$ac_cv_func_sincosl" = x""yes; then :
82643 + cat >>confdefs.h <<_ACEOF
82644 +#define HAVE_SINCOSL 1
82645 +_ACEOF
82648 +done
82650 + else
82652 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
82653 +$as_echo_n "checking for _sincosl declaration... " >&6; }
82654 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
82655 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
82656 + $as_echo_n "(cached) " >&6
82657 +else
82660 + ac_ext=cpp
82661 +ac_cpp='$CXXCPP $CPPFLAGS'
82662 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82663 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82664 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82666 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82667 +/* end confdefs.h. */
82668 +#include <math.h>
82669 +int
82670 +main ()
82672 + _sincosl(0, 0, 0);
82674 + return 0;
82676 +_ACEOF
82677 +if ac_fn_cxx_try_compile "$LINENO"; then :
82678 + glibcxx_cv_func__sincosl_use=yes
82679 +else
82680 + glibcxx_cv_func__sincosl_use=no
82682 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82683 + ac_ext=c
82684 +ac_cpp='$CPP $CPPFLAGS'
82685 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82686 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82687 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82692 + fi
82693 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
82694 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
82696 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
82697 + for ac_func in _sincosl
82698 +do :
82699 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
82700 +if test "x$ac_cv_func__sincosl" = x""yes; then :
82701 + cat >>confdefs.h <<_ACEOF
82702 +#define HAVE__SINCOSL 1
82703 +_ACEOF
82706 +done
82708 + fi
82709 + fi
82715 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
82716 +$as_echo_n "checking for finitel declaration... " >&6; }
82717 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
82718 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
82719 + $as_echo_n "(cached) " >&6
82720 +else
82723 + ac_ext=cpp
82724 +ac_cpp='$CXXCPP $CPPFLAGS'
82725 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82726 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82727 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82729 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82730 +/* end confdefs.h. */
82731 +#include <math.h>
82732 + #ifdef HAVE_IEEEFP_H
82733 + #include <ieeefp.h>
82734 + #endif
82736 +int
82737 +main ()
82739 + finitel(0);
82741 + return 0;
82743 +_ACEOF
82744 +if ac_fn_cxx_try_compile "$LINENO"; then :
82745 + glibcxx_cv_func_finitel_use=yes
82746 +else
82747 + glibcxx_cv_func_finitel_use=no
82749 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82750 + ac_ext=c
82751 +ac_cpp='$CPP $CPPFLAGS'
82752 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82753 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82754 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82759 + fi
82760 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
82761 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
82763 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
82764 + for ac_func in finitel
82765 +do :
82766 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
82767 +if test "x$ac_cv_func_finitel" = x""yes; then :
82768 + cat >>confdefs.h <<_ACEOF
82769 +#define HAVE_FINITEL 1
82770 +_ACEOF
82773 +done
82775 + else
82777 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
82778 +$as_echo_n "checking for _finitel declaration... " >&6; }
82779 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
82780 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
82781 + $as_echo_n "(cached) " >&6
82782 +else
82785 + ac_ext=cpp
82786 +ac_cpp='$CXXCPP $CPPFLAGS'
82787 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82788 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82789 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82791 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82792 +/* end confdefs.h. */
82793 +#include <math.h>
82794 + #ifdef HAVE_IEEEFP_H
82795 + #include <ieeefp.h>
82796 + #endif
82798 +int
82799 +main ()
82801 + _finitel(0);
82803 + return 0;
82805 +_ACEOF
82806 +if ac_fn_cxx_try_compile "$LINENO"; then :
82807 + glibcxx_cv_func__finitel_use=yes
82808 +else
82809 + glibcxx_cv_func__finitel_use=no
82811 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82812 + ac_ext=c
82813 +ac_cpp='$CPP $CPPFLAGS'
82814 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82815 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82816 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82821 + fi
82822 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
82823 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
82825 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
82826 + for ac_func in _finitel
82827 +do :
82828 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
82829 +if test "x$ac_cv_func__finitel" = x""yes; then :
82830 + cat >>confdefs.h <<_ACEOF
82831 +#define HAVE__FINITEL 1
82832 +_ACEOF
82835 +done
82837 + fi
82838 + fi
82843 + LIBS="$ac_save_LIBS"
82844 + CXXFLAGS="$ac_save_CXXFLAGS"
82847 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
82848 + ac_save_CXXFLAGS="$CXXFLAGS"
82849 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
82852 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
82853 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
82854 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
82855 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
82856 + $as_echo_n "(cached) " >&6
82857 +else
82860 + ac_ext=cpp
82861 +ac_cpp='$CXXCPP $CPPFLAGS'
82862 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82863 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82864 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82866 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82867 +/* end confdefs.h. */
82868 +#include <stdlib.h>
82869 +int
82870 +main ()
82872 + at_quick_exit(0);
82874 + return 0;
82876 +_ACEOF
82877 +if ac_fn_cxx_try_compile "$LINENO"; then :
82878 + glibcxx_cv_func_at_quick_exit_use=yes
82879 +else
82880 + glibcxx_cv_func_at_quick_exit_use=no
82882 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82883 + ac_ext=c
82884 +ac_cpp='$CPP $CPPFLAGS'
82885 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82886 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82887 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82892 + fi
82893 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
82894 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
82895 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
82896 + for ac_func in at_quick_exit
82897 +do :
82898 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
82899 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
82900 + cat >>confdefs.h <<_ACEOF
82901 +#define HAVE_AT_QUICK_EXIT 1
82902 +_ACEOF
82905 +done
82907 + fi
82910 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
82911 +$as_echo_n "checking for quick_exit declaration... " >&6; }
82912 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
82913 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
82914 + $as_echo_n "(cached) " >&6
82915 +else
82918 + ac_ext=cpp
82919 +ac_cpp='$CXXCPP $CPPFLAGS'
82920 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82921 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82922 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82924 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82925 +/* end confdefs.h. */
82926 +#include <stdlib.h>
82927 +int
82928 +main ()
82930 + quick_exit(0);
82932 + return 0;
82934 +_ACEOF
82935 +if ac_fn_cxx_try_compile "$LINENO"; then :
82936 + glibcxx_cv_func_quick_exit_use=yes
82937 +else
82938 + glibcxx_cv_func_quick_exit_use=no
82940 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82941 + ac_ext=c
82942 +ac_cpp='$CPP $CPPFLAGS'
82943 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82944 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82945 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
82950 + fi
82951 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
82952 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
82953 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
82954 + for ac_func in quick_exit
82955 +do :
82956 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
82957 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
82958 + cat >>confdefs.h <<_ACEOF
82959 +#define HAVE_QUICK_EXIT 1
82960 +_ACEOF
82963 +done
82965 + fi
82968 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
82969 +$as_echo_n "checking for strtold declaration... " >&6; }
82970 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
82971 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
82972 + $as_echo_n "(cached) " >&6
82973 +else
82976 + ac_ext=cpp
82977 +ac_cpp='$CXXCPP $CPPFLAGS'
82978 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
82979 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
82980 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
82982 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
82983 +/* end confdefs.h. */
82984 +#include <stdlib.h>
82985 +int
82986 +main ()
82988 + strtold(0, 0);
82990 + return 0;
82992 +_ACEOF
82993 +if ac_fn_cxx_try_compile "$LINENO"; then :
82994 + glibcxx_cv_func_strtold_use=yes
82995 +else
82996 + glibcxx_cv_func_strtold_use=no
82998 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
82999 + ac_ext=c
83000 +ac_cpp='$CPP $CPPFLAGS'
83001 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83002 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83003 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83008 + fi
83009 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
83010 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
83011 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
83012 + for ac_func in strtold
83013 +do :
83014 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
83015 +if test "x$ac_cv_func_strtold" = x""yes; then :
83016 + cat >>confdefs.h <<_ACEOF
83017 +#define HAVE_STRTOLD 1
83018 +_ACEOF
83021 +done
83023 + fi
83028 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
83029 +$as_echo_n "checking for strtof declaration... " >&6; }
83030 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
83031 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
83032 + $as_echo_n "(cached) " >&6
83033 +else
83036 + ac_ext=cpp
83037 +ac_cpp='$CXXCPP $CPPFLAGS'
83038 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83039 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83040 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83042 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83043 +/* end confdefs.h. */
83044 +#include <stdlib.h>
83045 +int
83046 +main ()
83048 + strtof(0, 0);
83050 + return 0;
83052 +_ACEOF
83053 +if ac_fn_cxx_try_compile "$LINENO"; then :
83054 + glibcxx_cv_func_strtof_use=yes
83055 +else
83056 + glibcxx_cv_func_strtof_use=no
83058 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83059 + ac_ext=c
83060 +ac_cpp='$CPP $CPPFLAGS'
83061 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83062 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83063 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83068 + fi
83069 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
83070 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
83071 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
83072 + for ac_func in strtof
83073 +do :
83074 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
83075 +if test "x$ac_cv_func_strtof" = x""yes; then :
83076 + cat >>confdefs.h <<_ACEOF
83077 +#define HAVE_STRTOF 1
83078 +_ACEOF
83081 +done
83083 + fi
83088 + CXXFLAGS="$ac_save_CXXFLAGS"
83095 + am_save_CPPFLAGS="$CPPFLAGS"
83097 + for element in $INCICONV; do
83098 + haveit=
83099 + for x in $CPPFLAGS; do
83101 + acl_save_prefix="$prefix"
83102 + prefix="$acl_final_prefix"
83103 + acl_save_exec_prefix="$exec_prefix"
83104 + exec_prefix="$acl_final_exec_prefix"
83105 + eval x=\"$x\"
83106 + exec_prefix="$acl_save_exec_prefix"
83107 + prefix="$acl_save_prefix"
83109 + if test "X$x" = "X$element"; then
83110 + haveit=yes
83111 + break
83112 + fi
83113 + done
83114 + if test -z "$haveit"; then
83115 + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
83116 + fi
83117 + done
83120 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
83121 +$as_echo_n "checking for iconv... " >&6; }
83122 +if test "${am_cv_func_iconv+set}" = set; then :
83123 + $as_echo_n "(cached) " >&6
83124 +else
83126 + am_cv_func_iconv="no, consider installing GNU libiconv"
83127 + am_cv_lib_iconv=no
83128 + if test x$gcc_no_link = xyes; then
83129 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
83131 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83132 +/* end confdefs.h. */
83133 +#include <stdlib.h>
83134 +#include <iconv.h>
83135 +int
83136 +main ()
83138 +iconv_t cd = iconv_open("","");
83139 + iconv(cd,NULL,NULL,NULL,NULL);
83140 + iconv_close(cd);
83142 + return 0;
83144 +_ACEOF
83145 +if ac_fn_c_try_link "$LINENO"; then :
83146 + am_cv_func_iconv=yes
83148 +rm -f core conftest.err conftest.$ac_objext \
83149 + conftest$ac_exeext conftest.$ac_ext
83150 + if test "$am_cv_func_iconv" != yes; then
83151 + am_save_LIBS="$LIBS"
83152 + LIBS="$LIBS $LIBICONV"
83153 + if test x$gcc_no_link = xyes; then
83154 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
83156 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83157 +/* end confdefs.h. */
83158 +#include <stdlib.h>
83159 +#include <iconv.h>
83160 +int
83161 +main ()
83163 +iconv_t cd = iconv_open("","");
83164 + iconv(cd,NULL,NULL,NULL,NULL);
83165 + iconv_close(cd);
83167 + return 0;
83169 +_ACEOF
83170 +if ac_fn_c_try_link "$LINENO"; then :
83171 + am_cv_lib_iconv=yes
83172 + am_cv_func_iconv=yes
83174 +rm -f core conftest.err conftest.$ac_objext \
83175 + conftest$ac_exeext conftest.$ac_ext
83176 + LIBS="$am_save_LIBS"
83177 + fi
83180 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
83181 +$as_echo "$am_cv_func_iconv" >&6; }
83182 + if test "$am_cv_func_iconv" = yes; then
83184 +$as_echo "#define HAVE_ICONV 1" >>confdefs.h
83186 + fi
83187 + if test "$am_cv_lib_iconv" = yes; then
83188 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
83189 +$as_echo_n "checking how to link with libiconv... " >&6; }
83190 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
83191 +$as_echo "$LIBICONV" >&6; }
83192 + else
83193 + CPPFLAGS="$am_save_CPPFLAGS"
83194 + LIBICONV=
83195 + LTLIBICONV=
83196 + fi
83200 + if test "$am_cv_func_iconv" = yes; then
83201 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
83202 +$as_echo_n "checking for iconv declaration... " >&6; }
83203 + if test "${am_cv_proto_iconv+set}" = set; then :
83204 + $as_echo_n "(cached) " >&6
83205 +else
83207 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83208 +/* end confdefs.h. */
83210 +#include <stdlib.h>
83211 +#include <iconv.h>
83212 +extern
83213 +#ifdef __cplusplus
83214 +"C"
83215 +#endif
83216 +#if defined(__STDC__) || defined(__cplusplus)
83217 +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
83218 +#else
83219 +size_t iconv();
83220 +#endif
83222 +int
83223 +main ()
83227 + return 0;
83229 +_ACEOF
83230 +if ac_fn_c_try_compile "$LINENO"; then :
83231 + am_cv_proto_iconv_arg1=""
83232 +else
83233 + am_cv_proto_iconv_arg1="const"
83235 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83236 + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
83239 + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
83240 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
83241 + }$am_cv_proto_iconv" >&5
83242 +$as_echo "${ac_t:-
83243 + }$am_cv_proto_iconv" >&6; }
83245 +cat >>confdefs.h <<_ACEOF
83246 +#define ICONV_CONST $am_cv_proto_iconv_arg1
83247 +_ACEOF
83249 + fi
83251 + ;;
83253 + *-aix*)
83255 + # If we're not using GNU ld, then there's no point in even trying these
83256 + # tests. Check for that first. We should have already tested for gld
83257 + # by now (in libtool), but require it now just to be safe...
83258 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
83259 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
83263 + # The name set by libtool depends on the version of libtool. Shame on us
83264 + # for depending on an impl detail, but c'est la vie. Older versions used
83265 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
83266 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
83267 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
83268 + # set (hence we're using an older libtool), then set it.
83269 + if test x${with_gnu_ld+set} != xset; then
83270 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
83271 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
83272 + with_gnu_ld=no
83273 + else
83274 + with_gnu_ld=$ac_cv_prog_gnu_ld
83275 + fi
83276 + fi
83278 + # Start by getting the version number. I think the libtool test already
83279 + # does some of this, but throws away the result.
83280 + glibcxx_ld_is_gold=no
83281 + if test x"$with_gnu_ld" = x"yes"; then
83282 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
83283 +$as_echo_n "checking for ld version... " >&6; }
83285 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
83286 + glibcxx_ld_is_gold=yes
83287 + fi
83288 + ldver=`$LD --version 2>/dev/null |
83289 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
83291 + glibcxx_gnu_ld_version=`echo $ldver | \
83292 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
83293 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
83294 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
83295 + fi
83297 + # Set --gc-sections.
83298 + glibcxx_have_gc_sections=no
83299 + if test "$glibcxx_ld_is_gold" = "yes"; then
83300 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
83301 + glibcxx_have_gc_sections=yes
83302 + fi
83303 + else
83304 + glibcxx_gcsections_min_ld=21602
83305 + if test x"$with_gnu_ld" = x"yes" &&
83306 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
83307 + glibcxx_have_gc_sections=yes
83308 + fi
83309 + fi
83310 + if test "$glibcxx_have_gc_sections" = "yes"; then
83311 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
83312 + # NB: This flag only works reliably after 2.16.1. Configure tests
83313 + # for this are difficult, so hard wire a value that should work.
83315 + ac_test_CFLAGS="${CFLAGS+set}"
83316 + ac_save_CFLAGS="$CFLAGS"
83317 + CFLAGS='-Wl,--gc-sections'
83319 + # Check for -Wl,--gc-sections
83320 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
83321 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
83322 + if test x$gcc_no_link = xyes; then
83323 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
83325 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83326 +/* end confdefs.h. */
83327 + int one(void) { return 1; }
83328 + int two(void) { return 2; }
83330 +int
83331 +main ()
83333 + two();
83335 + return 0;
83337 +_ACEOF
83338 +if ac_fn_c_try_link "$LINENO"; then :
83339 + ac_gcsections=yes
83340 +else
83341 + ac_gcsections=no
83343 +rm -f core conftest.err conftest.$ac_objext \
83344 + conftest$ac_exeext conftest.$ac_ext
83345 + if test "$ac_gcsections" = "yes"; then
83346 + rm -f conftest.c
83347 + touch conftest.c
83348 + if $CC -c conftest.c; then
83349 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
83350 + grep "Warning: gc-sections option ignored" > /dev/null; then
83351 + ac_gcsections=no
83352 + fi
83353 + fi
83354 + rm -f conftest.c conftest.o conftest
83355 + fi
83356 + if test "$ac_gcsections" = "yes"; then
83357 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
83358 + fi
83359 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
83360 +$as_echo "$ac_gcsections" >&6; }
83362 + if test "$ac_test_CFLAGS" = set; then
83363 + CFLAGS="$ac_save_CFLAGS"
83364 + else
83365 + # this is the suspicious part
83366 + CFLAGS=''
83367 + fi
83368 + fi
83370 + # Set -z,relro.
83371 + # Note this is only for shared objects.
83372 + ac_ld_relro=no
83373 + if test x"$with_gnu_ld" = x"yes"; then
83374 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
83375 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
83376 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
83377 + if test -n "$cxx_z_relo"; then
83378 + OPT_LDFLAGS="-Wl,-z,relro"
83379 + ac_ld_relro=yes
83380 + fi
83381 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
83382 +$as_echo "$ac_ld_relro" >&6; }
83383 + fi
83385 + # Set linker optimization flags.
83386 + if test x"$with_gnu_ld" = x"yes"; then
83387 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
83388 + fi
83394 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
83395 + ac_save_CXXFLAGS="$CXXFLAGS"
83396 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
83398 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
83399 +$as_echo_n "checking for sin in -lm... " >&6; }
83400 +if test "${ac_cv_lib_m_sin+set}" = set; then :
83401 + $as_echo_n "(cached) " >&6
83402 +else
83403 + ac_check_lib_save_LIBS=$LIBS
83404 +LIBS="-lm $LIBS"
83405 +if test x$gcc_no_link = xyes; then
83406 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
83408 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83409 +/* end confdefs.h. */
83411 +/* Override any GCC internal prototype to avoid an error.
83412 + Use char because int might match the return type of a GCC
83413 + builtin and then its argument prototype would still apply. */
83414 +#ifdef __cplusplus
83415 +extern "C"
83416 +#endif
83417 +char sin ();
83418 +int
83419 +main ()
83421 +return sin ();
83423 + return 0;
83425 +_ACEOF
83426 +if ac_fn_c_try_link "$LINENO"; then :
83427 + ac_cv_lib_m_sin=yes
83428 +else
83429 + ac_cv_lib_m_sin=no
83431 +rm -f core conftest.err conftest.$ac_objext \
83432 + conftest$ac_exeext conftest.$ac_ext
83433 +LIBS=$ac_check_lib_save_LIBS
83435 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
83436 +$as_echo "$ac_cv_lib_m_sin" >&6; }
83437 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
83438 + libm="-lm"
83441 + ac_save_LIBS="$LIBS"
83442 + LIBS="$LIBS $libm"
83446 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
83447 +$as_echo_n "checking for isinf declaration... " >&6; }
83448 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
83449 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
83450 + $as_echo_n "(cached) " >&6
83451 +else
83454 + ac_ext=cpp
83455 +ac_cpp='$CXXCPP $CPPFLAGS'
83456 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83457 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83458 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83460 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83461 +/* end confdefs.h. */
83462 +#include <math.h>
83463 + #ifdef HAVE_IEEEFP_H
83464 + #include <ieeefp.h>
83465 + #endif
83467 +int
83468 +main ()
83470 + isinf(0);
83472 + return 0;
83474 +_ACEOF
83475 +if ac_fn_cxx_try_compile "$LINENO"; then :
83476 + glibcxx_cv_func_isinf_use=yes
83477 +else
83478 + glibcxx_cv_func_isinf_use=no
83480 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83481 + ac_ext=c
83482 +ac_cpp='$CPP $CPPFLAGS'
83483 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83484 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83485 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83490 + fi
83491 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
83492 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
83494 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
83495 + for ac_func in isinf
83496 +do :
83497 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
83498 +if test "x$ac_cv_func_isinf" = x""yes; then :
83499 + cat >>confdefs.h <<_ACEOF
83500 +#define HAVE_ISINF 1
83501 +_ACEOF
83504 +done
83506 + else
83508 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
83509 +$as_echo_n "checking for _isinf declaration... " >&6; }
83510 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
83511 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
83512 + $as_echo_n "(cached) " >&6
83513 +else
83516 + ac_ext=cpp
83517 +ac_cpp='$CXXCPP $CPPFLAGS'
83518 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83519 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83520 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83522 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83523 +/* end confdefs.h. */
83524 +#include <math.h>
83525 + #ifdef HAVE_IEEEFP_H
83526 + #include <ieeefp.h>
83527 + #endif
83529 +int
83530 +main ()
83532 + _isinf(0);
83534 + return 0;
83536 +_ACEOF
83537 +if ac_fn_cxx_try_compile "$LINENO"; then :
83538 + glibcxx_cv_func__isinf_use=yes
83539 +else
83540 + glibcxx_cv_func__isinf_use=no
83542 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83543 + ac_ext=c
83544 +ac_cpp='$CPP $CPPFLAGS'
83545 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83546 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83547 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83552 + fi
83553 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
83554 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
83556 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
83557 + for ac_func in _isinf
83558 +do :
83559 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
83560 +if test "x$ac_cv_func__isinf" = x""yes; then :
83561 + cat >>confdefs.h <<_ACEOF
83562 +#define HAVE__ISINF 1
83563 +_ACEOF
83566 +done
83568 + fi
83569 + fi
83575 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
83576 +$as_echo_n "checking for isnan declaration... " >&6; }
83577 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
83578 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
83579 + $as_echo_n "(cached) " >&6
83580 +else
83583 + ac_ext=cpp
83584 +ac_cpp='$CXXCPP $CPPFLAGS'
83585 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83586 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83587 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83589 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83590 +/* end confdefs.h. */
83591 +#include <math.h>
83592 + #ifdef HAVE_IEEEFP_H
83593 + #include <ieeefp.h>
83594 + #endif
83596 +int
83597 +main ()
83599 + isnan(0);
83601 + return 0;
83603 +_ACEOF
83604 +if ac_fn_cxx_try_compile "$LINENO"; then :
83605 + glibcxx_cv_func_isnan_use=yes
83606 +else
83607 + glibcxx_cv_func_isnan_use=no
83609 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83610 + ac_ext=c
83611 +ac_cpp='$CPP $CPPFLAGS'
83612 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83613 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83614 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83619 + fi
83620 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
83621 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
83623 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
83624 + for ac_func in isnan
83625 +do :
83626 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
83627 +if test "x$ac_cv_func_isnan" = x""yes; then :
83628 + cat >>confdefs.h <<_ACEOF
83629 +#define HAVE_ISNAN 1
83630 +_ACEOF
83633 +done
83635 + else
83637 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
83638 +$as_echo_n "checking for _isnan declaration... " >&6; }
83639 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
83640 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
83641 + $as_echo_n "(cached) " >&6
83642 +else
83645 + ac_ext=cpp
83646 +ac_cpp='$CXXCPP $CPPFLAGS'
83647 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83648 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83649 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83651 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83652 +/* end confdefs.h. */
83653 +#include <math.h>
83654 + #ifdef HAVE_IEEEFP_H
83655 + #include <ieeefp.h>
83656 + #endif
83658 +int
83659 +main ()
83661 + _isnan(0);
83663 + return 0;
83665 +_ACEOF
83666 +if ac_fn_cxx_try_compile "$LINENO"; then :
83667 + glibcxx_cv_func__isnan_use=yes
83668 +else
83669 + glibcxx_cv_func__isnan_use=no
83671 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83672 + ac_ext=c
83673 +ac_cpp='$CPP $CPPFLAGS'
83674 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83675 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83676 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83681 + fi
83682 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
83683 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
83685 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
83686 + for ac_func in _isnan
83687 +do :
83688 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
83689 +if test "x$ac_cv_func__isnan" = x""yes; then :
83690 + cat >>confdefs.h <<_ACEOF
83691 +#define HAVE__ISNAN 1
83692 +_ACEOF
83695 +done
83697 + fi
83698 + fi
83704 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
83705 +$as_echo_n "checking for finite declaration... " >&6; }
83706 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
83707 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
83708 + $as_echo_n "(cached) " >&6
83709 +else
83712 + ac_ext=cpp
83713 +ac_cpp='$CXXCPP $CPPFLAGS'
83714 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83715 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83716 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83718 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83719 +/* end confdefs.h. */
83720 +#include <math.h>
83721 + #ifdef HAVE_IEEEFP_H
83722 + #include <ieeefp.h>
83723 + #endif
83725 +int
83726 +main ()
83728 + finite(0);
83730 + return 0;
83732 +_ACEOF
83733 +if ac_fn_cxx_try_compile "$LINENO"; then :
83734 + glibcxx_cv_func_finite_use=yes
83735 +else
83736 + glibcxx_cv_func_finite_use=no
83738 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83739 + ac_ext=c
83740 +ac_cpp='$CPP $CPPFLAGS'
83741 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83742 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83743 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83748 + fi
83749 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
83750 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
83752 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
83753 + for ac_func in finite
83754 +do :
83755 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
83756 +if test "x$ac_cv_func_finite" = x""yes; then :
83757 + cat >>confdefs.h <<_ACEOF
83758 +#define HAVE_FINITE 1
83759 +_ACEOF
83762 +done
83764 + else
83766 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
83767 +$as_echo_n "checking for _finite declaration... " >&6; }
83768 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
83769 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
83770 + $as_echo_n "(cached) " >&6
83771 +else
83774 + ac_ext=cpp
83775 +ac_cpp='$CXXCPP $CPPFLAGS'
83776 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83777 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83778 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83780 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83781 +/* end confdefs.h. */
83782 +#include <math.h>
83783 + #ifdef HAVE_IEEEFP_H
83784 + #include <ieeefp.h>
83785 + #endif
83787 +int
83788 +main ()
83790 + _finite(0);
83792 + return 0;
83794 +_ACEOF
83795 +if ac_fn_cxx_try_compile "$LINENO"; then :
83796 + glibcxx_cv_func__finite_use=yes
83797 +else
83798 + glibcxx_cv_func__finite_use=no
83800 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83801 + ac_ext=c
83802 +ac_cpp='$CPP $CPPFLAGS'
83803 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83804 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83805 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83810 + fi
83811 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
83812 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
83814 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
83815 + for ac_func in _finite
83816 +do :
83817 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
83818 +if test "x$ac_cv_func__finite" = x""yes; then :
83819 + cat >>confdefs.h <<_ACEOF
83820 +#define HAVE__FINITE 1
83821 +_ACEOF
83824 +done
83826 + fi
83827 + fi
83833 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
83834 +$as_echo_n "checking for sincos declaration... " >&6; }
83835 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
83836 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
83837 + $as_echo_n "(cached) " >&6
83838 +else
83841 + ac_ext=cpp
83842 +ac_cpp='$CXXCPP $CPPFLAGS'
83843 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83844 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83845 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83847 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83848 +/* end confdefs.h. */
83849 +#include <math.h>
83850 +int
83851 +main ()
83853 + sincos(0, 0, 0);
83855 + return 0;
83857 +_ACEOF
83858 +if ac_fn_cxx_try_compile "$LINENO"; then :
83859 + glibcxx_cv_func_sincos_use=yes
83860 +else
83861 + glibcxx_cv_func_sincos_use=no
83863 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83864 + ac_ext=c
83865 +ac_cpp='$CPP $CPPFLAGS'
83866 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83867 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83868 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83873 + fi
83874 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
83875 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
83877 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
83878 + for ac_func in sincos
83879 +do :
83880 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
83881 +if test "x$ac_cv_func_sincos" = x""yes; then :
83882 + cat >>confdefs.h <<_ACEOF
83883 +#define HAVE_SINCOS 1
83884 +_ACEOF
83887 +done
83889 + else
83891 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
83892 +$as_echo_n "checking for _sincos declaration... " >&6; }
83893 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
83894 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
83895 + $as_echo_n "(cached) " >&6
83896 +else
83899 + ac_ext=cpp
83900 +ac_cpp='$CXXCPP $CPPFLAGS'
83901 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83902 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83903 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83905 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83906 +/* end confdefs.h. */
83907 +#include <math.h>
83908 +int
83909 +main ()
83911 + _sincos(0, 0, 0);
83913 + return 0;
83915 +_ACEOF
83916 +if ac_fn_cxx_try_compile "$LINENO"; then :
83917 + glibcxx_cv_func__sincos_use=yes
83918 +else
83919 + glibcxx_cv_func__sincos_use=no
83921 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83922 + ac_ext=c
83923 +ac_cpp='$CPP $CPPFLAGS'
83924 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83925 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83926 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83931 + fi
83932 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
83933 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
83935 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
83936 + for ac_func in _sincos
83937 +do :
83938 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
83939 +if test "x$ac_cv_func__sincos" = x""yes; then :
83940 + cat >>confdefs.h <<_ACEOF
83941 +#define HAVE__SINCOS 1
83942 +_ACEOF
83945 +done
83947 + fi
83948 + fi
83954 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
83955 +$as_echo_n "checking for fpclass declaration... " >&6; }
83956 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
83957 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
83958 + $as_echo_n "(cached) " >&6
83959 +else
83962 + ac_ext=cpp
83963 +ac_cpp='$CXXCPP $CPPFLAGS'
83964 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83965 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83966 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
83968 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
83969 +/* end confdefs.h. */
83970 +#include <math.h>
83971 + #ifdef HAVE_IEEEFP_H
83972 + #include <ieeefp.h>
83973 + #endif
83975 +int
83976 +main ()
83978 + fpclass(0);
83980 + return 0;
83982 +_ACEOF
83983 +if ac_fn_cxx_try_compile "$LINENO"; then :
83984 + glibcxx_cv_func_fpclass_use=yes
83985 +else
83986 + glibcxx_cv_func_fpclass_use=no
83988 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
83989 + ac_ext=c
83990 +ac_cpp='$CPP $CPPFLAGS'
83991 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
83992 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
83993 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
83998 + fi
83999 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
84000 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
84002 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
84003 + for ac_func in fpclass
84004 +do :
84005 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
84006 +if test "x$ac_cv_func_fpclass" = x""yes; then :
84007 + cat >>confdefs.h <<_ACEOF
84008 +#define HAVE_FPCLASS 1
84009 +_ACEOF
84012 +done
84014 + else
84016 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
84017 +$as_echo_n "checking for _fpclass declaration... " >&6; }
84018 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
84019 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
84020 + $as_echo_n "(cached) " >&6
84021 +else
84024 + ac_ext=cpp
84025 +ac_cpp='$CXXCPP $CPPFLAGS'
84026 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84027 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84028 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84030 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84031 +/* end confdefs.h. */
84032 +#include <math.h>
84033 + #ifdef HAVE_IEEEFP_H
84034 + #include <ieeefp.h>
84035 + #endif
84037 +int
84038 +main ()
84040 + _fpclass(0);
84042 + return 0;
84044 +_ACEOF
84045 +if ac_fn_cxx_try_compile "$LINENO"; then :
84046 + glibcxx_cv_func__fpclass_use=yes
84047 +else
84048 + glibcxx_cv_func__fpclass_use=no
84050 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84051 + ac_ext=c
84052 +ac_cpp='$CPP $CPPFLAGS'
84053 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84054 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84055 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84060 + fi
84061 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
84062 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
84064 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
84065 + for ac_func in _fpclass
84066 +do :
84067 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
84068 +if test "x$ac_cv_func__fpclass" = x""yes; then :
84069 + cat >>confdefs.h <<_ACEOF
84070 +#define HAVE__FPCLASS 1
84071 +_ACEOF
84074 +done
84076 + fi
84077 + fi
84083 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
84084 +$as_echo_n "checking for qfpclass declaration... " >&6; }
84085 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
84086 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
84087 + $as_echo_n "(cached) " >&6
84088 +else
84091 + ac_ext=cpp
84092 +ac_cpp='$CXXCPP $CPPFLAGS'
84093 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84094 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84095 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84097 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84098 +/* end confdefs.h. */
84099 +#include <math.h>
84100 + #ifdef HAVE_IEEEFP_H
84101 + #include <ieeefp.h>
84102 + #endif
84104 +int
84105 +main ()
84107 + qfpclass(0);
84109 + return 0;
84111 +_ACEOF
84112 +if ac_fn_cxx_try_compile "$LINENO"; then :
84113 + glibcxx_cv_func_qfpclass_use=yes
84114 +else
84115 + glibcxx_cv_func_qfpclass_use=no
84117 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84118 + ac_ext=c
84119 +ac_cpp='$CPP $CPPFLAGS'
84120 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84121 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84122 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84127 + fi
84128 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
84129 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
84131 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
84132 + for ac_func in qfpclass
84133 +do :
84134 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
84135 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
84136 + cat >>confdefs.h <<_ACEOF
84137 +#define HAVE_QFPCLASS 1
84138 +_ACEOF
84141 +done
84143 + else
84145 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
84146 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
84147 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
84148 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
84149 + $as_echo_n "(cached) " >&6
84150 +else
84153 + ac_ext=cpp
84154 +ac_cpp='$CXXCPP $CPPFLAGS'
84155 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84156 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84157 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84159 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84160 +/* end confdefs.h. */
84161 +#include <math.h>
84162 + #ifdef HAVE_IEEEFP_H
84163 + #include <ieeefp.h>
84164 + #endif
84166 +int
84167 +main ()
84169 + _qfpclass(0);
84171 + return 0;
84173 +_ACEOF
84174 +if ac_fn_cxx_try_compile "$LINENO"; then :
84175 + glibcxx_cv_func__qfpclass_use=yes
84176 +else
84177 + glibcxx_cv_func__qfpclass_use=no
84179 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84180 + ac_ext=c
84181 +ac_cpp='$CPP $CPPFLAGS'
84182 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84183 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84184 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84189 + fi
84190 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
84191 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
84193 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
84194 + for ac_func in _qfpclass
84195 +do :
84196 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
84197 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
84198 + cat >>confdefs.h <<_ACEOF
84199 +#define HAVE__QFPCLASS 1
84200 +_ACEOF
84203 +done
84205 + fi
84206 + fi
84212 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
84213 +$as_echo_n "checking for hypot declaration... " >&6; }
84214 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
84215 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
84216 + $as_echo_n "(cached) " >&6
84217 +else
84220 + ac_ext=cpp
84221 +ac_cpp='$CXXCPP $CPPFLAGS'
84222 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84223 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84224 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84226 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84227 +/* end confdefs.h. */
84228 +#include <math.h>
84229 +int
84230 +main ()
84232 + hypot(0, 0);
84234 + return 0;
84236 +_ACEOF
84237 +if ac_fn_cxx_try_compile "$LINENO"; then :
84238 + glibcxx_cv_func_hypot_use=yes
84239 +else
84240 + glibcxx_cv_func_hypot_use=no
84242 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84243 + ac_ext=c
84244 +ac_cpp='$CPP $CPPFLAGS'
84245 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84246 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84247 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84252 + fi
84253 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
84254 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
84256 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
84257 + for ac_func in hypot
84258 +do :
84259 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
84260 +if test "x$ac_cv_func_hypot" = x""yes; then :
84261 + cat >>confdefs.h <<_ACEOF
84262 +#define HAVE_HYPOT 1
84263 +_ACEOF
84266 +done
84268 + else
84270 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
84271 +$as_echo_n "checking for _hypot declaration... " >&6; }
84272 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
84273 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
84274 + $as_echo_n "(cached) " >&6
84275 +else
84278 + ac_ext=cpp
84279 +ac_cpp='$CXXCPP $CPPFLAGS'
84280 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84281 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84282 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84284 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84285 +/* end confdefs.h. */
84286 +#include <math.h>
84287 +int
84288 +main ()
84290 + _hypot(0, 0);
84292 + return 0;
84294 +_ACEOF
84295 +if ac_fn_cxx_try_compile "$LINENO"; then :
84296 + glibcxx_cv_func__hypot_use=yes
84297 +else
84298 + glibcxx_cv_func__hypot_use=no
84300 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84301 + ac_ext=c
84302 +ac_cpp='$CPP $CPPFLAGS'
84303 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84304 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84305 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84310 + fi
84311 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
84312 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
84314 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
84315 + for ac_func in _hypot
84316 +do :
84317 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
84318 +if test "x$ac_cv_func__hypot" = x""yes; then :
84319 + cat >>confdefs.h <<_ACEOF
84320 +#define HAVE__HYPOT 1
84321 +_ACEOF
84324 +done
84326 + fi
84327 + fi
84333 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
84334 +$as_echo_n "checking for float trig functions... " >&6; }
84335 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
84336 + $as_echo_n "(cached) " >&6
84337 +else
84340 + ac_ext=cpp
84341 +ac_cpp='$CXXCPP $CPPFLAGS'
84342 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84343 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84344 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84346 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84347 +/* end confdefs.h. */
84348 +#include <math.h>
84349 +int
84350 +main ()
84352 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
84354 + return 0;
84356 +_ACEOF
84357 +if ac_fn_cxx_try_compile "$LINENO"; then :
84358 + glibcxx_cv_func_float_trig_use=yes
84359 +else
84360 + glibcxx_cv_func_float_trig_use=no
84362 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84363 + ac_ext=c
84364 +ac_cpp='$CPP $CPPFLAGS'
84365 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84366 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84367 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84371 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
84372 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
84373 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
84374 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
84375 +do :
84376 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
84377 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
84378 +eval as_val=\$$as_ac_var
84379 + if test "x$as_val" = x""yes; then :
84380 + cat >>confdefs.h <<_ACEOF
84381 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
84382 +_ACEOF
84385 +done
84387 + else
84388 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
84389 +$as_echo_n "checking for _float trig functions... " >&6; }
84390 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
84391 + $as_echo_n "(cached) " >&6
84392 +else
84395 + ac_ext=cpp
84396 +ac_cpp='$CXXCPP $CPPFLAGS'
84397 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84398 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84399 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84401 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84402 +/* end confdefs.h. */
84403 +#include <math.h>
84404 +int
84405 +main ()
84407 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
84409 + return 0;
84411 +_ACEOF
84412 +if ac_fn_cxx_try_compile "$LINENO"; then :
84413 + glibcxx_cv_func__float_trig_use=yes
84414 +else
84415 + glibcxx_cv_func__float_trig_use=no
84417 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84418 + ac_ext=c
84419 +ac_cpp='$CPP $CPPFLAGS'
84420 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84421 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84422 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84426 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
84427 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
84428 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
84429 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
84430 +do :
84431 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
84432 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
84433 +eval as_val=\$$as_ac_var
84434 + if test "x$as_val" = x""yes; then :
84435 + cat >>confdefs.h <<_ACEOF
84436 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
84437 +_ACEOF
84440 +done
84442 + fi
84443 + fi
84449 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
84450 +$as_echo_n "checking for float round functions... " >&6; }
84451 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
84452 + $as_echo_n "(cached) " >&6
84453 +else
84456 + ac_ext=cpp
84457 +ac_cpp='$CXXCPP $CPPFLAGS'
84458 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84459 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84460 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84462 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84463 +/* end confdefs.h. */
84464 +#include <math.h>
84465 +int
84466 +main ()
84468 +ceilf (0); floorf (0);
84470 + return 0;
84472 +_ACEOF
84473 +if ac_fn_cxx_try_compile "$LINENO"; then :
84474 + glibcxx_cv_func_float_round_use=yes
84475 +else
84476 + glibcxx_cv_func_float_round_use=no
84478 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84479 + ac_ext=c
84480 +ac_cpp='$CPP $CPPFLAGS'
84481 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84482 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84483 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84487 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
84488 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
84489 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
84490 + for ac_func in ceilf floorf
84491 +do :
84492 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
84493 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
84494 +eval as_val=\$$as_ac_var
84495 + if test "x$as_val" = x""yes; then :
84496 + cat >>confdefs.h <<_ACEOF
84497 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
84498 +_ACEOF
84501 +done
84503 + else
84504 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
84505 +$as_echo_n "checking for _float round functions... " >&6; }
84506 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
84507 + $as_echo_n "(cached) " >&6
84508 +else
84511 + ac_ext=cpp
84512 +ac_cpp='$CXXCPP $CPPFLAGS'
84513 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84514 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84515 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84517 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84518 +/* end confdefs.h. */
84519 +#include <math.h>
84520 +int
84521 +main ()
84523 +_ceilf (0); _floorf (0);
84525 + return 0;
84527 +_ACEOF
84528 +if ac_fn_cxx_try_compile "$LINENO"; then :
84529 + glibcxx_cv_func__float_round_use=yes
84530 +else
84531 + glibcxx_cv_func__float_round_use=no
84533 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84534 + ac_ext=c
84535 +ac_cpp='$CPP $CPPFLAGS'
84536 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84537 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84538 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84542 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
84543 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
84544 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
84545 + for ac_func in _ceilf _floorf
84546 +do :
84547 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
84548 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
84549 +eval as_val=\$$as_ac_var
84550 + if test "x$as_val" = x""yes; then :
84551 + cat >>confdefs.h <<_ACEOF
84552 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
84553 +_ACEOF
84556 +done
84558 + fi
84559 + fi
84566 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
84567 +$as_echo_n "checking for expf declaration... " >&6; }
84568 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
84569 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
84570 + $as_echo_n "(cached) " >&6
84571 +else
84574 + ac_ext=cpp
84575 +ac_cpp='$CXXCPP $CPPFLAGS'
84576 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84577 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84578 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84580 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84581 +/* end confdefs.h. */
84582 +#include <math.h>
84583 + #ifdef HAVE_IEEEFP_H
84584 + #include <ieeefp.h>
84585 + #endif
84587 +int
84588 +main ()
84590 + expf(0);
84592 + return 0;
84594 +_ACEOF
84595 +if ac_fn_cxx_try_compile "$LINENO"; then :
84596 + glibcxx_cv_func_expf_use=yes
84597 +else
84598 + glibcxx_cv_func_expf_use=no
84600 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84601 + ac_ext=c
84602 +ac_cpp='$CPP $CPPFLAGS'
84603 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84604 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84605 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84610 + fi
84611 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
84612 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
84614 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
84615 + for ac_func in expf
84616 +do :
84617 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
84618 +if test "x$ac_cv_func_expf" = x""yes; then :
84619 + cat >>confdefs.h <<_ACEOF
84620 +#define HAVE_EXPF 1
84621 +_ACEOF
84624 +done
84626 + else
84628 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
84629 +$as_echo_n "checking for _expf declaration... " >&6; }
84630 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
84631 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
84632 + $as_echo_n "(cached) " >&6
84633 +else
84636 + ac_ext=cpp
84637 +ac_cpp='$CXXCPP $CPPFLAGS'
84638 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84639 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84640 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84642 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84643 +/* end confdefs.h. */
84644 +#include <math.h>
84645 + #ifdef HAVE_IEEEFP_H
84646 + #include <ieeefp.h>
84647 + #endif
84649 +int
84650 +main ()
84652 + _expf(0);
84654 + return 0;
84656 +_ACEOF
84657 +if ac_fn_cxx_try_compile "$LINENO"; then :
84658 + glibcxx_cv_func__expf_use=yes
84659 +else
84660 + glibcxx_cv_func__expf_use=no
84662 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84663 + ac_ext=c
84664 +ac_cpp='$CPP $CPPFLAGS'
84665 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84666 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84667 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84672 + fi
84673 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
84674 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
84676 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
84677 + for ac_func in _expf
84678 +do :
84679 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
84680 +if test "x$ac_cv_func__expf" = x""yes; then :
84681 + cat >>confdefs.h <<_ACEOF
84682 +#define HAVE__EXPF 1
84683 +_ACEOF
84686 +done
84688 + fi
84689 + fi
84695 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
84696 +$as_echo_n "checking for isnanf declaration... " >&6; }
84697 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
84698 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
84699 + $as_echo_n "(cached) " >&6
84700 +else
84703 + ac_ext=cpp
84704 +ac_cpp='$CXXCPP $CPPFLAGS'
84705 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84706 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84707 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84709 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84710 +/* end confdefs.h. */
84711 +#include <math.h>
84712 + #ifdef HAVE_IEEEFP_H
84713 + #include <ieeefp.h>
84714 + #endif
84716 +int
84717 +main ()
84719 + isnanf(0);
84721 + return 0;
84723 +_ACEOF
84724 +if ac_fn_cxx_try_compile "$LINENO"; then :
84725 + glibcxx_cv_func_isnanf_use=yes
84726 +else
84727 + glibcxx_cv_func_isnanf_use=no
84729 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84730 + ac_ext=c
84731 +ac_cpp='$CPP $CPPFLAGS'
84732 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84733 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84734 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84739 + fi
84740 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
84741 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
84743 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
84744 + for ac_func in isnanf
84745 +do :
84746 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
84747 +if test "x$ac_cv_func_isnanf" = x""yes; then :
84748 + cat >>confdefs.h <<_ACEOF
84749 +#define HAVE_ISNANF 1
84750 +_ACEOF
84753 +done
84755 + else
84757 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
84758 +$as_echo_n "checking for _isnanf declaration... " >&6; }
84759 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
84760 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
84761 + $as_echo_n "(cached) " >&6
84762 +else
84765 + ac_ext=cpp
84766 +ac_cpp='$CXXCPP $CPPFLAGS'
84767 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84768 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84769 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84771 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84772 +/* end confdefs.h. */
84773 +#include <math.h>
84774 + #ifdef HAVE_IEEEFP_H
84775 + #include <ieeefp.h>
84776 + #endif
84778 +int
84779 +main ()
84781 + _isnanf(0);
84783 + return 0;
84785 +_ACEOF
84786 +if ac_fn_cxx_try_compile "$LINENO"; then :
84787 + glibcxx_cv_func__isnanf_use=yes
84788 +else
84789 + glibcxx_cv_func__isnanf_use=no
84791 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84792 + ac_ext=c
84793 +ac_cpp='$CPP $CPPFLAGS'
84794 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84795 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84796 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84801 + fi
84802 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
84803 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
84805 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
84806 + for ac_func in _isnanf
84807 +do :
84808 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
84809 +if test "x$ac_cv_func__isnanf" = x""yes; then :
84810 + cat >>confdefs.h <<_ACEOF
84811 +#define HAVE__ISNANF 1
84812 +_ACEOF
84815 +done
84817 + fi
84818 + fi
84824 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
84825 +$as_echo_n "checking for isinff declaration... " >&6; }
84826 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
84827 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
84828 + $as_echo_n "(cached) " >&6
84829 +else
84832 + ac_ext=cpp
84833 +ac_cpp='$CXXCPP $CPPFLAGS'
84834 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84835 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84836 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84838 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84839 +/* end confdefs.h. */
84840 +#include <math.h>
84841 + #ifdef HAVE_IEEEFP_H
84842 + #include <ieeefp.h>
84843 + #endif
84845 +int
84846 +main ()
84848 + isinff(0);
84850 + return 0;
84852 +_ACEOF
84853 +if ac_fn_cxx_try_compile "$LINENO"; then :
84854 + glibcxx_cv_func_isinff_use=yes
84855 +else
84856 + glibcxx_cv_func_isinff_use=no
84858 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84859 + ac_ext=c
84860 +ac_cpp='$CPP $CPPFLAGS'
84861 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84862 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84863 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84868 + fi
84869 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
84870 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
84872 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
84873 + for ac_func in isinff
84874 +do :
84875 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
84876 +if test "x$ac_cv_func_isinff" = x""yes; then :
84877 + cat >>confdefs.h <<_ACEOF
84878 +#define HAVE_ISINFF 1
84879 +_ACEOF
84882 +done
84884 + else
84886 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
84887 +$as_echo_n "checking for _isinff declaration... " >&6; }
84888 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
84889 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
84890 + $as_echo_n "(cached) " >&6
84891 +else
84894 + ac_ext=cpp
84895 +ac_cpp='$CXXCPP $CPPFLAGS'
84896 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84897 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84898 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84900 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84901 +/* end confdefs.h. */
84902 +#include <math.h>
84903 + #ifdef HAVE_IEEEFP_H
84904 + #include <ieeefp.h>
84905 + #endif
84907 +int
84908 +main ()
84910 + _isinff(0);
84912 + return 0;
84914 +_ACEOF
84915 +if ac_fn_cxx_try_compile "$LINENO"; then :
84916 + glibcxx_cv_func__isinff_use=yes
84917 +else
84918 + glibcxx_cv_func__isinff_use=no
84920 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84921 + ac_ext=c
84922 +ac_cpp='$CPP $CPPFLAGS'
84923 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84924 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84925 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84930 + fi
84931 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
84932 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
84934 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
84935 + for ac_func in _isinff
84936 +do :
84937 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
84938 +if test "x$ac_cv_func__isinff" = x""yes; then :
84939 + cat >>confdefs.h <<_ACEOF
84940 +#define HAVE__ISINFF 1
84941 +_ACEOF
84944 +done
84946 + fi
84947 + fi
84953 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
84954 +$as_echo_n "checking for atan2f declaration... " >&6; }
84955 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
84956 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
84957 + $as_echo_n "(cached) " >&6
84958 +else
84961 + ac_ext=cpp
84962 +ac_cpp='$CXXCPP $CPPFLAGS'
84963 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84964 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84965 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
84967 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
84968 +/* end confdefs.h. */
84969 +#include <math.h>
84970 +int
84971 +main ()
84973 + atan2f(0, 0);
84975 + return 0;
84977 +_ACEOF
84978 +if ac_fn_cxx_try_compile "$LINENO"; then :
84979 + glibcxx_cv_func_atan2f_use=yes
84980 +else
84981 + glibcxx_cv_func_atan2f_use=no
84983 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
84984 + ac_ext=c
84985 +ac_cpp='$CPP $CPPFLAGS'
84986 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
84987 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
84988 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
84993 + fi
84994 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
84995 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
84997 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
84998 + for ac_func in atan2f
84999 +do :
85000 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
85001 +if test "x$ac_cv_func_atan2f" = x""yes; then :
85002 + cat >>confdefs.h <<_ACEOF
85003 +#define HAVE_ATAN2F 1
85004 +_ACEOF
85007 +done
85009 + else
85011 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
85012 +$as_echo_n "checking for _atan2f declaration... " >&6; }
85013 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
85014 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
85015 + $as_echo_n "(cached) " >&6
85016 +else
85019 + ac_ext=cpp
85020 +ac_cpp='$CXXCPP $CPPFLAGS'
85021 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85022 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85023 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85025 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85026 +/* end confdefs.h. */
85027 +#include <math.h>
85028 +int
85029 +main ()
85031 + _atan2f(0, 0);
85033 + return 0;
85035 +_ACEOF
85036 +if ac_fn_cxx_try_compile "$LINENO"; then :
85037 + glibcxx_cv_func__atan2f_use=yes
85038 +else
85039 + glibcxx_cv_func__atan2f_use=no
85041 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85042 + ac_ext=c
85043 +ac_cpp='$CPP $CPPFLAGS'
85044 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85045 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85046 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85051 + fi
85052 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
85053 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
85055 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
85056 + for ac_func in _atan2f
85057 +do :
85058 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
85059 +if test "x$ac_cv_func__atan2f" = x""yes; then :
85060 + cat >>confdefs.h <<_ACEOF
85061 +#define HAVE__ATAN2F 1
85062 +_ACEOF
85065 +done
85067 + fi
85068 + fi
85074 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
85075 +$as_echo_n "checking for fabsf declaration... " >&6; }
85076 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
85077 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
85078 + $as_echo_n "(cached) " >&6
85079 +else
85082 + ac_ext=cpp
85083 +ac_cpp='$CXXCPP $CPPFLAGS'
85084 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85085 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85086 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85088 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85089 +/* end confdefs.h. */
85090 +#include <math.h>
85091 + #ifdef HAVE_IEEEFP_H
85092 + #include <ieeefp.h>
85093 + #endif
85095 +int
85096 +main ()
85098 + fabsf(0);
85100 + return 0;
85102 +_ACEOF
85103 +if ac_fn_cxx_try_compile "$LINENO"; then :
85104 + glibcxx_cv_func_fabsf_use=yes
85105 +else
85106 + glibcxx_cv_func_fabsf_use=no
85108 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85109 + ac_ext=c
85110 +ac_cpp='$CPP $CPPFLAGS'
85111 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85112 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85113 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85118 + fi
85119 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
85120 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
85122 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
85123 + for ac_func in fabsf
85124 +do :
85125 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
85126 +if test "x$ac_cv_func_fabsf" = x""yes; then :
85127 + cat >>confdefs.h <<_ACEOF
85128 +#define HAVE_FABSF 1
85129 +_ACEOF
85132 +done
85134 + else
85136 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
85137 +$as_echo_n "checking for _fabsf declaration... " >&6; }
85138 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
85139 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
85140 + $as_echo_n "(cached) " >&6
85141 +else
85144 + ac_ext=cpp
85145 +ac_cpp='$CXXCPP $CPPFLAGS'
85146 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85147 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85148 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85150 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85151 +/* end confdefs.h. */
85152 +#include <math.h>
85153 + #ifdef HAVE_IEEEFP_H
85154 + #include <ieeefp.h>
85155 + #endif
85157 +int
85158 +main ()
85160 + _fabsf(0);
85162 + return 0;
85164 +_ACEOF
85165 +if ac_fn_cxx_try_compile "$LINENO"; then :
85166 + glibcxx_cv_func__fabsf_use=yes
85167 +else
85168 + glibcxx_cv_func__fabsf_use=no
85170 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85171 + ac_ext=c
85172 +ac_cpp='$CPP $CPPFLAGS'
85173 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85174 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85175 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85180 + fi
85181 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
85182 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
85184 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
85185 + for ac_func in _fabsf
85186 +do :
85187 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
85188 +if test "x$ac_cv_func__fabsf" = x""yes; then :
85189 + cat >>confdefs.h <<_ACEOF
85190 +#define HAVE__FABSF 1
85191 +_ACEOF
85194 +done
85196 + fi
85197 + fi
85203 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
85204 +$as_echo_n "checking for fmodf declaration... " >&6; }
85205 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
85206 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
85207 + $as_echo_n "(cached) " >&6
85208 +else
85211 + ac_ext=cpp
85212 +ac_cpp='$CXXCPP $CPPFLAGS'
85213 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85214 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85215 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85217 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85218 +/* end confdefs.h. */
85219 +#include <math.h>
85220 +int
85221 +main ()
85223 + fmodf(0, 0);
85225 + return 0;
85227 +_ACEOF
85228 +if ac_fn_cxx_try_compile "$LINENO"; then :
85229 + glibcxx_cv_func_fmodf_use=yes
85230 +else
85231 + glibcxx_cv_func_fmodf_use=no
85233 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85234 + ac_ext=c
85235 +ac_cpp='$CPP $CPPFLAGS'
85236 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85237 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85238 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85243 + fi
85244 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
85245 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
85247 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
85248 + for ac_func in fmodf
85249 +do :
85250 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
85251 +if test "x$ac_cv_func_fmodf" = x""yes; then :
85252 + cat >>confdefs.h <<_ACEOF
85253 +#define HAVE_FMODF 1
85254 +_ACEOF
85257 +done
85259 + else
85261 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
85262 +$as_echo_n "checking for _fmodf declaration... " >&6; }
85263 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
85264 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
85265 + $as_echo_n "(cached) " >&6
85266 +else
85269 + ac_ext=cpp
85270 +ac_cpp='$CXXCPP $CPPFLAGS'
85271 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85272 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85273 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85275 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85276 +/* end confdefs.h. */
85277 +#include <math.h>
85278 +int
85279 +main ()
85281 + _fmodf(0, 0);
85283 + return 0;
85285 +_ACEOF
85286 +if ac_fn_cxx_try_compile "$LINENO"; then :
85287 + glibcxx_cv_func__fmodf_use=yes
85288 +else
85289 + glibcxx_cv_func__fmodf_use=no
85291 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85292 + ac_ext=c
85293 +ac_cpp='$CPP $CPPFLAGS'
85294 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85295 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85296 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85301 + fi
85302 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
85303 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
85305 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
85306 + for ac_func in _fmodf
85307 +do :
85308 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
85309 +if test "x$ac_cv_func__fmodf" = x""yes; then :
85310 + cat >>confdefs.h <<_ACEOF
85311 +#define HAVE__FMODF 1
85312 +_ACEOF
85315 +done
85317 + fi
85318 + fi
85324 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
85325 +$as_echo_n "checking for frexpf declaration... " >&6; }
85326 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
85327 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
85328 + $as_echo_n "(cached) " >&6
85329 +else
85332 + ac_ext=cpp
85333 +ac_cpp='$CXXCPP $CPPFLAGS'
85334 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85335 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85336 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85338 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85339 +/* end confdefs.h. */
85340 +#include <math.h>
85341 +int
85342 +main ()
85344 + frexpf(0, 0);
85346 + return 0;
85348 +_ACEOF
85349 +if ac_fn_cxx_try_compile "$LINENO"; then :
85350 + glibcxx_cv_func_frexpf_use=yes
85351 +else
85352 + glibcxx_cv_func_frexpf_use=no
85354 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85355 + ac_ext=c
85356 +ac_cpp='$CPP $CPPFLAGS'
85357 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85358 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85359 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85364 + fi
85365 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
85366 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
85368 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
85369 + for ac_func in frexpf
85370 +do :
85371 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
85372 +if test "x$ac_cv_func_frexpf" = x""yes; then :
85373 + cat >>confdefs.h <<_ACEOF
85374 +#define HAVE_FREXPF 1
85375 +_ACEOF
85378 +done
85380 + else
85382 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
85383 +$as_echo_n "checking for _frexpf declaration... " >&6; }
85384 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
85385 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
85386 + $as_echo_n "(cached) " >&6
85387 +else
85390 + ac_ext=cpp
85391 +ac_cpp='$CXXCPP $CPPFLAGS'
85392 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85393 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85394 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85396 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85397 +/* end confdefs.h. */
85398 +#include <math.h>
85399 +int
85400 +main ()
85402 + _frexpf(0, 0);
85404 + return 0;
85406 +_ACEOF
85407 +if ac_fn_cxx_try_compile "$LINENO"; then :
85408 + glibcxx_cv_func__frexpf_use=yes
85409 +else
85410 + glibcxx_cv_func__frexpf_use=no
85412 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85413 + ac_ext=c
85414 +ac_cpp='$CPP $CPPFLAGS'
85415 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85416 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85417 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85422 + fi
85423 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
85424 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
85426 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
85427 + for ac_func in _frexpf
85428 +do :
85429 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
85430 +if test "x$ac_cv_func__frexpf" = x""yes; then :
85431 + cat >>confdefs.h <<_ACEOF
85432 +#define HAVE__FREXPF 1
85433 +_ACEOF
85436 +done
85438 + fi
85439 + fi
85445 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
85446 +$as_echo_n "checking for hypotf declaration... " >&6; }
85447 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
85448 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
85449 + $as_echo_n "(cached) " >&6
85450 +else
85453 + ac_ext=cpp
85454 +ac_cpp='$CXXCPP $CPPFLAGS'
85455 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85456 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85457 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85459 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85460 +/* end confdefs.h. */
85461 +#include <math.h>
85462 +int
85463 +main ()
85465 + hypotf(0, 0);
85467 + return 0;
85469 +_ACEOF
85470 +if ac_fn_cxx_try_compile "$LINENO"; then :
85471 + glibcxx_cv_func_hypotf_use=yes
85472 +else
85473 + glibcxx_cv_func_hypotf_use=no
85475 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85476 + ac_ext=c
85477 +ac_cpp='$CPP $CPPFLAGS'
85478 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85479 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85480 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85485 + fi
85486 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
85487 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
85489 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
85490 + for ac_func in hypotf
85491 +do :
85492 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
85493 +if test "x$ac_cv_func_hypotf" = x""yes; then :
85494 + cat >>confdefs.h <<_ACEOF
85495 +#define HAVE_HYPOTF 1
85496 +_ACEOF
85499 +done
85501 + else
85503 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
85504 +$as_echo_n "checking for _hypotf declaration... " >&6; }
85505 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
85506 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
85507 + $as_echo_n "(cached) " >&6
85508 +else
85511 + ac_ext=cpp
85512 +ac_cpp='$CXXCPP $CPPFLAGS'
85513 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85514 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85515 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85517 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85518 +/* end confdefs.h. */
85519 +#include <math.h>
85520 +int
85521 +main ()
85523 + _hypotf(0, 0);
85525 + return 0;
85527 +_ACEOF
85528 +if ac_fn_cxx_try_compile "$LINENO"; then :
85529 + glibcxx_cv_func__hypotf_use=yes
85530 +else
85531 + glibcxx_cv_func__hypotf_use=no
85533 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85534 + ac_ext=c
85535 +ac_cpp='$CPP $CPPFLAGS'
85536 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85537 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85538 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85543 + fi
85544 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
85545 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
85547 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
85548 + for ac_func in _hypotf
85549 +do :
85550 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
85551 +if test "x$ac_cv_func__hypotf" = x""yes; then :
85552 + cat >>confdefs.h <<_ACEOF
85553 +#define HAVE__HYPOTF 1
85554 +_ACEOF
85557 +done
85559 + fi
85560 + fi
85566 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
85567 +$as_echo_n "checking for ldexpf declaration... " >&6; }
85568 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
85569 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
85570 + $as_echo_n "(cached) " >&6
85571 +else
85574 + ac_ext=cpp
85575 +ac_cpp='$CXXCPP $CPPFLAGS'
85576 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85577 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85578 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85580 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85581 +/* end confdefs.h. */
85582 +#include <math.h>
85583 +int
85584 +main ()
85586 + ldexpf(0, 0);
85588 + return 0;
85590 +_ACEOF
85591 +if ac_fn_cxx_try_compile "$LINENO"; then :
85592 + glibcxx_cv_func_ldexpf_use=yes
85593 +else
85594 + glibcxx_cv_func_ldexpf_use=no
85596 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85597 + ac_ext=c
85598 +ac_cpp='$CPP $CPPFLAGS'
85599 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85600 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85601 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85606 + fi
85607 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
85608 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
85610 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
85611 + for ac_func in ldexpf
85612 +do :
85613 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
85614 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
85615 + cat >>confdefs.h <<_ACEOF
85616 +#define HAVE_LDEXPF 1
85617 +_ACEOF
85620 +done
85622 + else
85624 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
85625 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
85626 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
85627 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
85628 + $as_echo_n "(cached) " >&6
85629 +else
85632 + ac_ext=cpp
85633 +ac_cpp='$CXXCPP $CPPFLAGS'
85634 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85635 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85636 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85638 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85639 +/* end confdefs.h. */
85640 +#include <math.h>
85641 +int
85642 +main ()
85644 + _ldexpf(0, 0);
85646 + return 0;
85648 +_ACEOF
85649 +if ac_fn_cxx_try_compile "$LINENO"; then :
85650 + glibcxx_cv_func__ldexpf_use=yes
85651 +else
85652 + glibcxx_cv_func__ldexpf_use=no
85654 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85655 + ac_ext=c
85656 +ac_cpp='$CPP $CPPFLAGS'
85657 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85658 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85659 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85664 + fi
85665 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
85666 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
85668 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
85669 + for ac_func in _ldexpf
85670 +do :
85671 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
85672 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
85673 + cat >>confdefs.h <<_ACEOF
85674 +#define HAVE__LDEXPF 1
85675 +_ACEOF
85678 +done
85680 + fi
85681 + fi
85687 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
85688 +$as_echo_n "checking for logf declaration... " >&6; }
85689 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
85690 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
85691 + $as_echo_n "(cached) " >&6
85692 +else
85695 + ac_ext=cpp
85696 +ac_cpp='$CXXCPP $CPPFLAGS'
85697 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85698 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85699 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85701 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85702 +/* end confdefs.h. */
85703 +#include <math.h>
85704 + #ifdef HAVE_IEEEFP_H
85705 + #include <ieeefp.h>
85706 + #endif
85708 +int
85709 +main ()
85711 + logf(0);
85713 + return 0;
85715 +_ACEOF
85716 +if ac_fn_cxx_try_compile "$LINENO"; then :
85717 + glibcxx_cv_func_logf_use=yes
85718 +else
85719 + glibcxx_cv_func_logf_use=no
85721 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85722 + ac_ext=c
85723 +ac_cpp='$CPP $CPPFLAGS'
85724 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85725 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85726 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85731 + fi
85732 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
85733 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
85735 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
85736 + for ac_func in logf
85737 +do :
85738 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
85739 +if test "x$ac_cv_func_logf" = x""yes; then :
85740 + cat >>confdefs.h <<_ACEOF
85741 +#define HAVE_LOGF 1
85742 +_ACEOF
85745 +done
85747 + else
85749 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
85750 +$as_echo_n "checking for _logf declaration... " >&6; }
85751 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
85752 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
85753 + $as_echo_n "(cached) " >&6
85754 +else
85757 + ac_ext=cpp
85758 +ac_cpp='$CXXCPP $CPPFLAGS'
85759 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85760 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85761 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85763 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85764 +/* end confdefs.h. */
85765 +#include <math.h>
85766 + #ifdef HAVE_IEEEFP_H
85767 + #include <ieeefp.h>
85768 + #endif
85770 +int
85771 +main ()
85773 + _logf(0);
85775 + return 0;
85777 +_ACEOF
85778 +if ac_fn_cxx_try_compile "$LINENO"; then :
85779 + glibcxx_cv_func__logf_use=yes
85780 +else
85781 + glibcxx_cv_func__logf_use=no
85783 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85784 + ac_ext=c
85785 +ac_cpp='$CPP $CPPFLAGS'
85786 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85787 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85788 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85793 + fi
85794 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
85795 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
85797 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
85798 + for ac_func in _logf
85799 +do :
85800 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
85801 +if test "x$ac_cv_func__logf" = x""yes; then :
85802 + cat >>confdefs.h <<_ACEOF
85803 +#define HAVE__LOGF 1
85804 +_ACEOF
85807 +done
85809 + fi
85810 + fi
85816 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
85817 +$as_echo_n "checking for log10f declaration... " >&6; }
85818 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
85819 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
85820 + $as_echo_n "(cached) " >&6
85821 +else
85824 + ac_ext=cpp
85825 +ac_cpp='$CXXCPP $CPPFLAGS'
85826 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85827 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85828 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85830 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85831 +/* end confdefs.h. */
85832 +#include <math.h>
85833 + #ifdef HAVE_IEEEFP_H
85834 + #include <ieeefp.h>
85835 + #endif
85837 +int
85838 +main ()
85840 + log10f(0);
85842 + return 0;
85844 +_ACEOF
85845 +if ac_fn_cxx_try_compile "$LINENO"; then :
85846 + glibcxx_cv_func_log10f_use=yes
85847 +else
85848 + glibcxx_cv_func_log10f_use=no
85850 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85851 + ac_ext=c
85852 +ac_cpp='$CPP $CPPFLAGS'
85853 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85854 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85855 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85860 + fi
85861 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
85862 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
85864 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
85865 + for ac_func in log10f
85866 +do :
85867 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
85868 +if test "x$ac_cv_func_log10f" = x""yes; then :
85869 + cat >>confdefs.h <<_ACEOF
85870 +#define HAVE_LOG10F 1
85871 +_ACEOF
85874 +done
85876 + else
85878 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
85879 +$as_echo_n "checking for _log10f declaration... " >&6; }
85880 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
85881 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
85882 + $as_echo_n "(cached) " >&6
85883 +else
85886 + ac_ext=cpp
85887 +ac_cpp='$CXXCPP $CPPFLAGS'
85888 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85889 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85890 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85892 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85893 +/* end confdefs.h. */
85894 +#include <math.h>
85895 + #ifdef HAVE_IEEEFP_H
85896 + #include <ieeefp.h>
85897 + #endif
85899 +int
85900 +main ()
85902 + _log10f(0);
85904 + return 0;
85906 +_ACEOF
85907 +if ac_fn_cxx_try_compile "$LINENO"; then :
85908 + glibcxx_cv_func__log10f_use=yes
85909 +else
85910 + glibcxx_cv_func__log10f_use=no
85912 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85913 + ac_ext=c
85914 +ac_cpp='$CPP $CPPFLAGS'
85915 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85916 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85917 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85922 + fi
85923 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
85924 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
85926 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
85927 + for ac_func in _log10f
85928 +do :
85929 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
85930 +if test "x$ac_cv_func__log10f" = x""yes; then :
85931 + cat >>confdefs.h <<_ACEOF
85932 +#define HAVE__LOG10F 1
85933 +_ACEOF
85936 +done
85938 + fi
85939 + fi
85945 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
85946 +$as_echo_n "checking for modff declaration... " >&6; }
85947 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
85948 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
85949 + $as_echo_n "(cached) " >&6
85950 +else
85953 + ac_ext=cpp
85954 +ac_cpp='$CXXCPP $CPPFLAGS'
85955 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85956 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85957 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
85959 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
85960 +/* end confdefs.h. */
85961 +#include <math.h>
85962 +int
85963 +main ()
85965 + modff(0, 0);
85967 + return 0;
85969 +_ACEOF
85970 +if ac_fn_cxx_try_compile "$LINENO"; then :
85971 + glibcxx_cv_func_modff_use=yes
85972 +else
85973 + glibcxx_cv_func_modff_use=no
85975 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
85976 + ac_ext=c
85977 +ac_cpp='$CPP $CPPFLAGS'
85978 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
85979 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
85980 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
85985 + fi
85986 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
85987 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
85989 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
85990 + for ac_func in modff
85991 +do :
85992 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
85993 +if test "x$ac_cv_func_modff" = x""yes; then :
85994 + cat >>confdefs.h <<_ACEOF
85995 +#define HAVE_MODFF 1
85996 +_ACEOF
85999 +done
86001 + else
86003 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
86004 +$as_echo_n "checking for _modff declaration... " >&6; }
86005 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
86006 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
86007 + $as_echo_n "(cached) " >&6
86008 +else
86011 + ac_ext=cpp
86012 +ac_cpp='$CXXCPP $CPPFLAGS'
86013 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86014 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86015 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86017 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86018 +/* end confdefs.h. */
86019 +#include <math.h>
86020 +int
86021 +main ()
86023 + _modff(0, 0);
86025 + return 0;
86027 +_ACEOF
86028 +if ac_fn_cxx_try_compile "$LINENO"; then :
86029 + glibcxx_cv_func__modff_use=yes
86030 +else
86031 + glibcxx_cv_func__modff_use=no
86033 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86034 + ac_ext=c
86035 +ac_cpp='$CPP $CPPFLAGS'
86036 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86037 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86038 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86043 + fi
86044 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
86045 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
86047 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
86048 + for ac_func in _modff
86049 +do :
86050 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
86051 +if test "x$ac_cv_func__modff" = x""yes; then :
86052 + cat >>confdefs.h <<_ACEOF
86053 +#define HAVE__MODFF 1
86054 +_ACEOF
86057 +done
86059 + fi
86060 + fi
86066 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
86067 +$as_echo_n "checking for modf declaration... " >&6; }
86068 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
86069 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
86070 + $as_echo_n "(cached) " >&6
86071 +else
86074 + ac_ext=cpp
86075 +ac_cpp='$CXXCPP $CPPFLAGS'
86076 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86077 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86078 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86080 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86081 +/* end confdefs.h. */
86082 +#include <math.h>
86083 +int
86084 +main ()
86086 + modf(0, 0);
86088 + return 0;
86090 +_ACEOF
86091 +if ac_fn_cxx_try_compile "$LINENO"; then :
86092 + glibcxx_cv_func_modf_use=yes
86093 +else
86094 + glibcxx_cv_func_modf_use=no
86096 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86097 + ac_ext=c
86098 +ac_cpp='$CPP $CPPFLAGS'
86099 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86100 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86101 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86106 + fi
86107 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
86108 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
86110 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
86111 + for ac_func in modf
86112 +do :
86113 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
86114 +if test "x$ac_cv_func_modf" = x""yes; then :
86115 + cat >>confdefs.h <<_ACEOF
86116 +#define HAVE_MODF 1
86117 +_ACEOF
86120 +done
86122 + else
86124 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
86125 +$as_echo_n "checking for _modf declaration... " >&6; }
86126 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
86127 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
86128 + $as_echo_n "(cached) " >&6
86129 +else
86132 + ac_ext=cpp
86133 +ac_cpp='$CXXCPP $CPPFLAGS'
86134 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86135 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86136 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86138 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86139 +/* end confdefs.h. */
86140 +#include <math.h>
86141 +int
86142 +main ()
86144 + _modf(0, 0);
86146 + return 0;
86148 +_ACEOF
86149 +if ac_fn_cxx_try_compile "$LINENO"; then :
86150 + glibcxx_cv_func__modf_use=yes
86151 +else
86152 + glibcxx_cv_func__modf_use=no
86154 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86155 + ac_ext=c
86156 +ac_cpp='$CPP $CPPFLAGS'
86157 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86158 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86159 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86164 + fi
86165 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
86166 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
86168 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
86169 + for ac_func in _modf
86170 +do :
86171 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
86172 +if test "x$ac_cv_func__modf" = x""yes; then :
86173 + cat >>confdefs.h <<_ACEOF
86174 +#define HAVE__MODF 1
86175 +_ACEOF
86178 +done
86180 + fi
86181 + fi
86187 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
86188 +$as_echo_n "checking for powf declaration... " >&6; }
86189 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
86190 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
86191 + $as_echo_n "(cached) " >&6
86192 +else
86195 + ac_ext=cpp
86196 +ac_cpp='$CXXCPP $CPPFLAGS'
86197 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86198 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86199 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86201 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86202 +/* end confdefs.h. */
86203 +#include <math.h>
86204 +int
86205 +main ()
86207 + powf(0, 0);
86209 + return 0;
86211 +_ACEOF
86212 +if ac_fn_cxx_try_compile "$LINENO"; then :
86213 + glibcxx_cv_func_powf_use=yes
86214 +else
86215 + glibcxx_cv_func_powf_use=no
86217 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86218 + ac_ext=c
86219 +ac_cpp='$CPP $CPPFLAGS'
86220 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86221 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86222 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86227 + fi
86228 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
86229 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
86231 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
86232 + for ac_func in powf
86233 +do :
86234 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
86235 +if test "x$ac_cv_func_powf" = x""yes; then :
86236 + cat >>confdefs.h <<_ACEOF
86237 +#define HAVE_POWF 1
86238 +_ACEOF
86241 +done
86243 + else
86245 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
86246 +$as_echo_n "checking for _powf declaration... " >&6; }
86247 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
86248 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
86249 + $as_echo_n "(cached) " >&6
86250 +else
86253 + ac_ext=cpp
86254 +ac_cpp='$CXXCPP $CPPFLAGS'
86255 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86256 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86257 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86259 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86260 +/* end confdefs.h. */
86261 +#include <math.h>
86262 +int
86263 +main ()
86265 + _powf(0, 0);
86267 + return 0;
86269 +_ACEOF
86270 +if ac_fn_cxx_try_compile "$LINENO"; then :
86271 + glibcxx_cv_func__powf_use=yes
86272 +else
86273 + glibcxx_cv_func__powf_use=no
86275 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86276 + ac_ext=c
86277 +ac_cpp='$CPP $CPPFLAGS'
86278 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86279 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86280 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86285 + fi
86286 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
86287 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
86289 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
86290 + for ac_func in _powf
86291 +do :
86292 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
86293 +if test "x$ac_cv_func__powf" = x""yes; then :
86294 + cat >>confdefs.h <<_ACEOF
86295 +#define HAVE__POWF 1
86296 +_ACEOF
86299 +done
86301 + fi
86302 + fi
86308 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
86309 +$as_echo_n "checking for sqrtf declaration... " >&6; }
86310 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
86311 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
86312 + $as_echo_n "(cached) " >&6
86313 +else
86316 + ac_ext=cpp
86317 +ac_cpp='$CXXCPP $CPPFLAGS'
86318 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86319 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86320 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86322 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86323 +/* end confdefs.h. */
86324 +#include <math.h>
86325 + #ifdef HAVE_IEEEFP_H
86326 + #include <ieeefp.h>
86327 + #endif
86329 +int
86330 +main ()
86332 + sqrtf(0);
86334 + return 0;
86336 +_ACEOF
86337 +if ac_fn_cxx_try_compile "$LINENO"; then :
86338 + glibcxx_cv_func_sqrtf_use=yes
86339 +else
86340 + glibcxx_cv_func_sqrtf_use=no
86342 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86343 + ac_ext=c
86344 +ac_cpp='$CPP $CPPFLAGS'
86345 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86346 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86347 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86352 + fi
86353 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
86354 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
86356 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
86357 + for ac_func in sqrtf
86358 +do :
86359 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
86360 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
86361 + cat >>confdefs.h <<_ACEOF
86362 +#define HAVE_SQRTF 1
86363 +_ACEOF
86366 +done
86368 + else
86370 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
86371 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
86372 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
86373 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
86374 + $as_echo_n "(cached) " >&6
86375 +else
86378 + ac_ext=cpp
86379 +ac_cpp='$CXXCPP $CPPFLAGS'
86380 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86381 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86382 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86384 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86385 +/* end confdefs.h. */
86386 +#include <math.h>
86387 + #ifdef HAVE_IEEEFP_H
86388 + #include <ieeefp.h>
86389 + #endif
86391 +int
86392 +main ()
86394 + _sqrtf(0);
86396 + return 0;
86398 +_ACEOF
86399 +if ac_fn_cxx_try_compile "$LINENO"; then :
86400 + glibcxx_cv_func__sqrtf_use=yes
86401 +else
86402 + glibcxx_cv_func__sqrtf_use=no
86404 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86405 + ac_ext=c
86406 +ac_cpp='$CPP $CPPFLAGS'
86407 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86408 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86409 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86414 + fi
86415 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
86416 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
86418 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
86419 + for ac_func in _sqrtf
86420 +do :
86421 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
86422 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
86423 + cat >>confdefs.h <<_ACEOF
86424 +#define HAVE__SQRTF 1
86425 +_ACEOF
86428 +done
86430 + fi
86431 + fi
86437 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
86438 +$as_echo_n "checking for sincosf declaration... " >&6; }
86439 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
86440 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
86441 + $as_echo_n "(cached) " >&6
86442 +else
86445 + ac_ext=cpp
86446 +ac_cpp='$CXXCPP $CPPFLAGS'
86447 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86448 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86449 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86451 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86452 +/* end confdefs.h. */
86453 +#include <math.h>
86454 +int
86455 +main ()
86457 + sincosf(0, 0, 0);
86459 + return 0;
86461 +_ACEOF
86462 +if ac_fn_cxx_try_compile "$LINENO"; then :
86463 + glibcxx_cv_func_sincosf_use=yes
86464 +else
86465 + glibcxx_cv_func_sincosf_use=no
86467 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86468 + ac_ext=c
86469 +ac_cpp='$CPP $CPPFLAGS'
86470 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86471 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86472 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86477 + fi
86478 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
86479 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
86481 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
86482 + for ac_func in sincosf
86483 +do :
86484 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
86485 +if test "x$ac_cv_func_sincosf" = x""yes; then :
86486 + cat >>confdefs.h <<_ACEOF
86487 +#define HAVE_SINCOSF 1
86488 +_ACEOF
86491 +done
86493 + else
86495 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
86496 +$as_echo_n "checking for _sincosf declaration... " >&6; }
86497 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
86498 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
86499 + $as_echo_n "(cached) " >&6
86500 +else
86503 + ac_ext=cpp
86504 +ac_cpp='$CXXCPP $CPPFLAGS'
86505 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86506 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86507 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86509 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86510 +/* end confdefs.h. */
86511 +#include <math.h>
86512 +int
86513 +main ()
86515 + _sincosf(0, 0, 0);
86517 + return 0;
86519 +_ACEOF
86520 +if ac_fn_cxx_try_compile "$LINENO"; then :
86521 + glibcxx_cv_func__sincosf_use=yes
86522 +else
86523 + glibcxx_cv_func__sincosf_use=no
86525 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86526 + ac_ext=c
86527 +ac_cpp='$CPP $CPPFLAGS'
86528 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86529 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86530 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86535 + fi
86536 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
86537 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
86539 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
86540 + for ac_func in _sincosf
86541 +do :
86542 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
86543 +if test "x$ac_cv_func__sincosf" = x""yes; then :
86544 + cat >>confdefs.h <<_ACEOF
86545 +#define HAVE__SINCOSF 1
86546 +_ACEOF
86549 +done
86551 + fi
86552 + fi
86558 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
86559 +$as_echo_n "checking for finitef declaration... " >&6; }
86560 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
86561 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
86562 + $as_echo_n "(cached) " >&6
86563 +else
86566 + ac_ext=cpp
86567 +ac_cpp='$CXXCPP $CPPFLAGS'
86568 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86569 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86570 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86572 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86573 +/* end confdefs.h. */
86574 +#include <math.h>
86575 + #ifdef HAVE_IEEEFP_H
86576 + #include <ieeefp.h>
86577 + #endif
86579 +int
86580 +main ()
86582 + finitef(0);
86584 + return 0;
86586 +_ACEOF
86587 +if ac_fn_cxx_try_compile "$LINENO"; then :
86588 + glibcxx_cv_func_finitef_use=yes
86589 +else
86590 + glibcxx_cv_func_finitef_use=no
86592 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86593 + ac_ext=c
86594 +ac_cpp='$CPP $CPPFLAGS'
86595 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86596 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86597 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86602 + fi
86603 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
86604 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
86606 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
86607 + for ac_func in finitef
86608 +do :
86609 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
86610 +if test "x$ac_cv_func_finitef" = x""yes; then :
86611 + cat >>confdefs.h <<_ACEOF
86612 +#define HAVE_FINITEF 1
86613 +_ACEOF
86616 +done
86618 + else
86620 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
86621 +$as_echo_n "checking for _finitef declaration... " >&6; }
86622 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
86623 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
86624 + $as_echo_n "(cached) " >&6
86625 +else
86628 + ac_ext=cpp
86629 +ac_cpp='$CXXCPP $CPPFLAGS'
86630 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86631 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86632 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86634 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86635 +/* end confdefs.h. */
86636 +#include <math.h>
86637 + #ifdef HAVE_IEEEFP_H
86638 + #include <ieeefp.h>
86639 + #endif
86641 +int
86642 +main ()
86644 + _finitef(0);
86646 + return 0;
86648 +_ACEOF
86649 +if ac_fn_cxx_try_compile "$LINENO"; then :
86650 + glibcxx_cv_func__finitef_use=yes
86651 +else
86652 + glibcxx_cv_func__finitef_use=no
86654 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86655 + ac_ext=c
86656 +ac_cpp='$CPP $CPPFLAGS'
86657 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86658 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86659 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86664 + fi
86665 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
86666 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
86668 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
86669 + for ac_func in _finitef
86670 +do :
86671 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
86672 +if test "x$ac_cv_func__finitef" = x""yes; then :
86673 + cat >>confdefs.h <<_ACEOF
86674 +#define HAVE__FINITEF 1
86675 +_ACEOF
86678 +done
86680 + fi
86681 + fi
86687 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
86688 +$as_echo_n "checking for long double trig functions... " >&6; }
86689 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
86690 + $as_echo_n "(cached) " >&6
86691 +else
86694 + ac_ext=cpp
86695 +ac_cpp='$CXXCPP $CPPFLAGS'
86696 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86697 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86698 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86700 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86701 +/* end confdefs.h. */
86702 +#include <math.h>
86703 +int
86704 +main ()
86706 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
86708 + return 0;
86710 +_ACEOF
86711 +if ac_fn_cxx_try_compile "$LINENO"; then :
86712 + glibcxx_cv_func_long_double_trig_use=yes
86713 +else
86714 + glibcxx_cv_func_long_double_trig_use=no
86716 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86717 + ac_ext=c
86718 +ac_cpp='$CPP $CPPFLAGS'
86719 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86720 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86721 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86725 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
86726 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
86727 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
86728 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
86729 +do :
86730 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
86731 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
86732 +eval as_val=\$$as_ac_var
86733 + if test "x$as_val" = x""yes; then :
86734 + cat >>confdefs.h <<_ACEOF
86735 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
86736 +_ACEOF
86739 +done
86741 + else
86742 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
86743 +$as_echo_n "checking for _long double trig functions... " >&6; }
86744 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
86745 + $as_echo_n "(cached) " >&6
86746 +else
86749 + ac_ext=cpp
86750 +ac_cpp='$CXXCPP $CPPFLAGS'
86751 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86752 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86753 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86755 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86756 +/* end confdefs.h. */
86757 +#include <math.h>
86758 +int
86759 +main ()
86761 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
86763 + return 0;
86765 +_ACEOF
86766 +if ac_fn_cxx_try_compile "$LINENO"; then :
86767 + glibcxx_cv_func__long_double_trig_use=yes
86768 +else
86769 + glibcxx_cv_func__long_double_trig_use=no
86771 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86772 + ac_ext=c
86773 +ac_cpp='$CPP $CPPFLAGS'
86774 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86775 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86776 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86780 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
86781 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
86782 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
86783 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
86784 +do :
86785 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
86786 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
86787 +eval as_val=\$$as_ac_var
86788 + if test "x$as_val" = x""yes; then :
86789 + cat >>confdefs.h <<_ACEOF
86790 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
86791 +_ACEOF
86794 +done
86796 + fi
86797 + fi
86803 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
86804 +$as_echo_n "checking for long double round functions... " >&6; }
86805 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
86806 + $as_echo_n "(cached) " >&6
86807 +else
86810 + ac_ext=cpp
86811 +ac_cpp='$CXXCPP $CPPFLAGS'
86812 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86813 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86814 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86816 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86817 +/* end confdefs.h. */
86818 +#include <math.h>
86819 +int
86820 +main ()
86822 +ceill (0); floorl (0);
86824 + return 0;
86826 +_ACEOF
86827 +if ac_fn_cxx_try_compile "$LINENO"; then :
86828 + glibcxx_cv_func_long_double_round_use=yes
86829 +else
86830 + glibcxx_cv_func_long_double_round_use=no
86832 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86833 + ac_ext=c
86834 +ac_cpp='$CPP $CPPFLAGS'
86835 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86836 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86837 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86841 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
86842 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
86843 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
86844 + for ac_func in ceill floorl
86845 +do :
86846 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
86847 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
86848 +eval as_val=\$$as_ac_var
86849 + if test "x$as_val" = x""yes; then :
86850 + cat >>confdefs.h <<_ACEOF
86851 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
86852 +_ACEOF
86855 +done
86857 + else
86858 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
86859 +$as_echo_n "checking for _long double round functions... " >&6; }
86860 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
86861 + $as_echo_n "(cached) " >&6
86862 +else
86865 + ac_ext=cpp
86866 +ac_cpp='$CXXCPP $CPPFLAGS'
86867 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86868 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86869 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86871 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86872 +/* end confdefs.h. */
86873 +#include <math.h>
86874 +int
86875 +main ()
86877 +_ceill (0); _floorl (0);
86879 + return 0;
86881 +_ACEOF
86882 +if ac_fn_cxx_try_compile "$LINENO"; then :
86883 + glibcxx_cv_func__long_double_round_use=yes
86884 +else
86885 + glibcxx_cv_func__long_double_round_use=no
86887 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86888 + ac_ext=c
86889 +ac_cpp='$CPP $CPPFLAGS'
86890 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86891 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86892 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86896 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
86897 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
86898 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
86899 + for ac_func in _ceill _floorl
86900 +do :
86901 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
86902 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
86903 +eval as_val=\$$as_ac_var
86904 + if test "x$as_val" = x""yes; then :
86905 + cat >>confdefs.h <<_ACEOF
86906 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
86907 +_ACEOF
86910 +done
86912 + fi
86913 + fi
86920 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
86921 +$as_echo_n "checking for isnanl declaration... " >&6; }
86922 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
86923 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
86924 + $as_echo_n "(cached) " >&6
86925 +else
86928 + ac_ext=cpp
86929 +ac_cpp='$CXXCPP $CPPFLAGS'
86930 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86931 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86932 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86934 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86935 +/* end confdefs.h. */
86936 +#include <math.h>
86937 + #ifdef HAVE_IEEEFP_H
86938 + #include <ieeefp.h>
86939 + #endif
86941 +int
86942 +main ()
86944 + isnanl(0);
86946 + return 0;
86948 +_ACEOF
86949 +if ac_fn_cxx_try_compile "$LINENO"; then :
86950 + glibcxx_cv_func_isnanl_use=yes
86951 +else
86952 + glibcxx_cv_func_isnanl_use=no
86954 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
86955 + ac_ext=c
86956 +ac_cpp='$CPP $CPPFLAGS'
86957 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86958 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86959 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
86964 + fi
86965 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
86966 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
86968 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
86969 + for ac_func in isnanl
86970 +do :
86971 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
86972 +if test "x$ac_cv_func_isnanl" = x""yes; then :
86973 + cat >>confdefs.h <<_ACEOF
86974 +#define HAVE_ISNANL 1
86975 +_ACEOF
86978 +done
86980 + else
86982 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
86983 +$as_echo_n "checking for _isnanl declaration... " >&6; }
86984 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
86985 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
86986 + $as_echo_n "(cached) " >&6
86987 +else
86990 + ac_ext=cpp
86991 +ac_cpp='$CXXCPP $CPPFLAGS'
86992 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
86993 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
86994 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
86996 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
86997 +/* end confdefs.h. */
86998 +#include <math.h>
86999 + #ifdef HAVE_IEEEFP_H
87000 + #include <ieeefp.h>
87001 + #endif
87003 +int
87004 +main ()
87006 + _isnanl(0);
87008 + return 0;
87010 +_ACEOF
87011 +if ac_fn_cxx_try_compile "$LINENO"; then :
87012 + glibcxx_cv_func__isnanl_use=yes
87013 +else
87014 + glibcxx_cv_func__isnanl_use=no
87016 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87017 + ac_ext=c
87018 +ac_cpp='$CPP $CPPFLAGS'
87019 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87020 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87021 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87026 + fi
87027 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
87028 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
87030 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
87031 + for ac_func in _isnanl
87032 +do :
87033 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
87034 +if test "x$ac_cv_func__isnanl" = x""yes; then :
87035 + cat >>confdefs.h <<_ACEOF
87036 +#define HAVE__ISNANL 1
87037 +_ACEOF
87040 +done
87042 + fi
87043 + fi
87049 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
87050 +$as_echo_n "checking for isinfl declaration... " >&6; }
87051 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
87052 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
87053 + $as_echo_n "(cached) " >&6
87054 +else
87057 + ac_ext=cpp
87058 +ac_cpp='$CXXCPP $CPPFLAGS'
87059 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87060 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87061 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87063 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87064 +/* end confdefs.h. */
87065 +#include <math.h>
87066 + #ifdef HAVE_IEEEFP_H
87067 + #include <ieeefp.h>
87068 + #endif
87070 +int
87071 +main ()
87073 + isinfl(0);
87075 + return 0;
87077 +_ACEOF
87078 +if ac_fn_cxx_try_compile "$LINENO"; then :
87079 + glibcxx_cv_func_isinfl_use=yes
87080 +else
87081 + glibcxx_cv_func_isinfl_use=no
87083 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87084 + ac_ext=c
87085 +ac_cpp='$CPP $CPPFLAGS'
87086 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87087 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87088 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87093 + fi
87094 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
87095 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
87097 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
87098 + for ac_func in isinfl
87099 +do :
87100 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
87101 +if test "x$ac_cv_func_isinfl" = x""yes; then :
87102 + cat >>confdefs.h <<_ACEOF
87103 +#define HAVE_ISINFL 1
87104 +_ACEOF
87107 +done
87109 + else
87111 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
87112 +$as_echo_n "checking for _isinfl declaration... " >&6; }
87113 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
87114 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
87115 + $as_echo_n "(cached) " >&6
87116 +else
87119 + ac_ext=cpp
87120 +ac_cpp='$CXXCPP $CPPFLAGS'
87121 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87122 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87123 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87125 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87126 +/* end confdefs.h. */
87127 +#include <math.h>
87128 + #ifdef HAVE_IEEEFP_H
87129 + #include <ieeefp.h>
87130 + #endif
87132 +int
87133 +main ()
87135 + _isinfl(0);
87137 + return 0;
87139 +_ACEOF
87140 +if ac_fn_cxx_try_compile "$LINENO"; then :
87141 + glibcxx_cv_func__isinfl_use=yes
87142 +else
87143 + glibcxx_cv_func__isinfl_use=no
87145 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87146 + ac_ext=c
87147 +ac_cpp='$CPP $CPPFLAGS'
87148 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87149 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87150 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87155 + fi
87156 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
87157 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
87159 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
87160 + for ac_func in _isinfl
87161 +do :
87162 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
87163 +if test "x$ac_cv_func__isinfl" = x""yes; then :
87164 + cat >>confdefs.h <<_ACEOF
87165 +#define HAVE__ISINFL 1
87166 +_ACEOF
87169 +done
87171 + fi
87172 + fi
87178 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
87179 +$as_echo_n "checking for atan2l declaration... " >&6; }
87180 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
87181 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
87182 + $as_echo_n "(cached) " >&6
87183 +else
87186 + ac_ext=cpp
87187 +ac_cpp='$CXXCPP $CPPFLAGS'
87188 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87189 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87190 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87192 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87193 +/* end confdefs.h. */
87194 +#include <math.h>
87195 +int
87196 +main ()
87198 + atan2l(0, 0);
87200 + return 0;
87202 +_ACEOF
87203 +if ac_fn_cxx_try_compile "$LINENO"; then :
87204 + glibcxx_cv_func_atan2l_use=yes
87205 +else
87206 + glibcxx_cv_func_atan2l_use=no
87208 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87209 + ac_ext=c
87210 +ac_cpp='$CPP $CPPFLAGS'
87211 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87212 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87213 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87218 + fi
87219 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
87220 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
87222 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
87223 + for ac_func in atan2l
87224 +do :
87225 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
87226 +if test "x$ac_cv_func_atan2l" = x""yes; then :
87227 + cat >>confdefs.h <<_ACEOF
87228 +#define HAVE_ATAN2L 1
87229 +_ACEOF
87232 +done
87234 + else
87236 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
87237 +$as_echo_n "checking for _atan2l declaration... " >&6; }
87238 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
87239 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
87240 + $as_echo_n "(cached) " >&6
87241 +else
87244 + ac_ext=cpp
87245 +ac_cpp='$CXXCPP $CPPFLAGS'
87246 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87247 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87248 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87250 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87251 +/* end confdefs.h. */
87252 +#include <math.h>
87253 +int
87254 +main ()
87256 + _atan2l(0, 0);
87258 + return 0;
87260 +_ACEOF
87261 +if ac_fn_cxx_try_compile "$LINENO"; then :
87262 + glibcxx_cv_func__atan2l_use=yes
87263 +else
87264 + glibcxx_cv_func__atan2l_use=no
87266 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87267 + ac_ext=c
87268 +ac_cpp='$CPP $CPPFLAGS'
87269 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87270 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87271 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87276 + fi
87277 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
87278 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
87280 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
87281 + for ac_func in _atan2l
87282 +do :
87283 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
87284 +if test "x$ac_cv_func__atan2l" = x""yes; then :
87285 + cat >>confdefs.h <<_ACEOF
87286 +#define HAVE__ATAN2L 1
87287 +_ACEOF
87290 +done
87292 + fi
87293 + fi
87299 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
87300 +$as_echo_n "checking for expl declaration... " >&6; }
87301 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
87302 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
87303 + $as_echo_n "(cached) " >&6
87304 +else
87307 + ac_ext=cpp
87308 +ac_cpp='$CXXCPP $CPPFLAGS'
87309 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87310 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87311 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87313 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87314 +/* end confdefs.h. */
87315 +#include <math.h>
87316 + #ifdef HAVE_IEEEFP_H
87317 + #include <ieeefp.h>
87318 + #endif
87320 +int
87321 +main ()
87323 + expl(0);
87325 + return 0;
87327 +_ACEOF
87328 +if ac_fn_cxx_try_compile "$LINENO"; then :
87329 + glibcxx_cv_func_expl_use=yes
87330 +else
87331 + glibcxx_cv_func_expl_use=no
87333 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87334 + ac_ext=c
87335 +ac_cpp='$CPP $CPPFLAGS'
87336 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87337 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87338 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87343 + fi
87344 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
87345 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
87347 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
87348 + for ac_func in expl
87349 +do :
87350 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
87351 +if test "x$ac_cv_func_expl" = x""yes; then :
87352 + cat >>confdefs.h <<_ACEOF
87353 +#define HAVE_EXPL 1
87354 +_ACEOF
87357 +done
87359 + else
87361 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
87362 +$as_echo_n "checking for _expl declaration... " >&6; }
87363 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
87364 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
87365 + $as_echo_n "(cached) " >&6
87366 +else
87369 + ac_ext=cpp
87370 +ac_cpp='$CXXCPP $CPPFLAGS'
87371 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87372 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87373 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87375 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87376 +/* end confdefs.h. */
87377 +#include <math.h>
87378 + #ifdef HAVE_IEEEFP_H
87379 + #include <ieeefp.h>
87380 + #endif
87382 +int
87383 +main ()
87385 + _expl(0);
87387 + return 0;
87389 +_ACEOF
87390 +if ac_fn_cxx_try_compile "$LINENO"; then :
87391 + glibcxx_cv_func__expl_use=yes
87392 +else
87393 + glibcxx_cv_func__expl_use=no
87395 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87396 + ac_ext=c
87397 +ac_cpp='$CPP $CPPFLAGS'
87398 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87399 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87400 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87405 + fi
87406 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
87407 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
87409 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
87410 + for ac_func in _expl
87411 +do :
87412 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
87413 +if test "x$ac_cv_func__expl" = x""yes; then :
87414 + cat >>confdefs.h <<_ACEOF
87415 +#define HAVE__EXPL 1
87416 +_ACEOF
87419 +done
87421 + fi
87422 + fi
87428 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
87429 +$as_echo_n "checking for fabsl declaration... " >&6; }
87430 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
87431 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
87432 + $as_echo_n "(cached) " >&6
87433 +else
87436 + ac_ext=cpp
87437 +ac_cpp='$CXXCPP $CPPFLAGS'
87438 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87439 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87440 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87442 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87443 +/* end confdefs.h. */
87444 +#include <math.h>
87445 + #ifdef HAVE_IEEEFP_H
87446 + #include <ieeefp.h>
87447 + #endif
87449 +int
87450 +main ()
87452 + fabsl(0);
87454 + return 0;
87456 +_ACEOF
87457 +if ac_fn_cxx_try_compile "$LINENO"; then :
87458 + glibcxx_cv_func_fabsl_use=yes
87459 +else
87460 + glibcxx_cv_func_fabsl_use=no
87462 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87463 + ac_ext=c
87464 +ac_cpp='$CPP $CPPFLAGS'
87465 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87466 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87467 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87472 + fi
87473 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
87474 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
87476 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
87477 + for ac_func in fabsl
87478 +do :
87479 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
87480 +if test "x$ac_cv_func_fabsl" = x""yes; then :
87481 + cat >>confdefs.h <<_ACEOF
87482 +#define HAVE_FABSL 1
87483 +_ACEOF
87486 +done
87488 + else
87490 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
87491 +$as_echo_n "checking for _fabsl declaration... " >&6; }
87492 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
87493 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
87494 + $as_echo_n "(cached) " >&6
87495 +else
87498 + ac_ext=cpp
87499 +ac_cpp='$CXXCPP $CPPFLAGS'
87500 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87501 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87502 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87504 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87505 +/* end confdefs.h. */
87506 +#include <math.h>
87507 + #ifdef HAVE_IEEEFP_H
87508 + #include <ieeefp.h>
87509 + #endif
87511 +int
87512 +main ()
87514 + _fabsl(0);
87516 + return 0;
87518 +_ACEOF
87519 +if ac_fn_cxx_try_compile "$LINENO"; then :
87520 + glibcxx_cv_func__fabsl_use=yes
87521 +else
87522 + glibcxx_cv_func__fabsl_use=no
87524 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87525 + ac_ext=c
87526 +ac_cpp='$CPP $CPPFLAGS'
87527 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87528 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87529 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87534 + fi
87535 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
87536 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
87538 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
87539 + for ac_func in _fabsl
87540 +do :
87541 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
87542 +if test "x$ac_cv_func__fabsl" = x""yes; then :
87543 + cat >>confdefs.h <<_ACEOF
87544 +#define HAVE__FABSL 1
87545 +_ACEOF
87548 +done
87550 + fi
87551 + fi
87557 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
87558 +$as_echo_n "checking for fmodl declaration... " >&6; }
87559 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
87560 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
87561 + $as_echo_n "(cached) " >&6
87562 +else
87565 + ac_ext=cpp
87566 +ac_cpp='$CXXCPP $CPPFLAGS'
87567 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87568 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87569 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87571 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87572 +/* end confdefs.h. */
87573 +#include <math.h>
87574 +int
87575 +main ()
87577 + fmodl(0, 0);
87579 + return 0;
87581 +_ACEOF
87582 +if ac_fn_cxx_try_compile "$LINENO"; then :
87583 + glibcxx_cv_func_fmodl_use=yes
87584 +else
87585 + glibcxx_cv_func_fmodl_use=no
87587 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87588 + ac_ext=c
87589 +ac_cpp='$CPP $CPPFLAGS'
87590 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87591 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87592 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87597 + fi
87598 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
87599 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
87601 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
87602 + for ac_func in fmodl
87603 +do :
87604 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
87605 +if test "x$ac_cv_func_fmodl" = x""yes; then :
87606 + cat >>confdefs.h <<_ACEOF
87607 +#define HAVE_FMODL 1
87608 +_ACEOF
87611 +done
87613 + else
87615 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
87616 +$as_echo_n "checking for _fmodl declaration... " >&6; }
87617 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
87618 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
87619 + $as_echo_n "(cached) " >&6
87620 +else
87623 + ac_ext=cpp
87624 +ac_cpp='$CXXCPP $CPPFLAGS'
87625 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87626 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87627 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87629 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87630 +/* end confdefs.h. */
87631 +#include <math.h>
87632 +int
87633 +main ()
87635 + _fmodl(0, 0);
87637 + return 0;
87639 +_ACEOF
87640 +if ac_fn_cxx_try_compile "$LINENO"; then :
87641 + glibcxx_cv_func__fmodl_use=yes
87642 +else
87643 + glibcxx_cv_func__fmodl_use=no
87645 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87646 + ac_ext=c
87647 +ac_cpp='$CPP $CPPFLAGS'
87648 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87649 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87650 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87655 + fi
87656 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
87657 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
87659 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
87660 + for ac_func in _fmodl
87661 +do :
87662 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
87663 +if test "x$ac_cv_func__fmodl" = x""yes; then :
87664 + cat >>confdefs.h <<_ACEOF
87665 +#define HAVE__FMODL 1
87666 +_ACEOF
87669 +done
87671 + fi
87672 + fi
87678 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
87679 +$as_echo_n "checking for frexpl declaration... " >&6; }
87680 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
87681 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
87682 + $as_echo_n "(cached) " >&6
87683 +else
87686 + ac_ext=cpp
87687 +ac_cpp='$CXXCPP $CPPFLAGS'
87688 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87689 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87690 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87692 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87693 +/* end confdefs.h. */
87694 +#include <math.h>
87695 +int
87696 +main ()
87698 + frexpl(0, 0);
87700 + return 0;
87702 +_ACEOF
87703 +if ac_fn_cxx_try_compile "$LINENO"; then :
87704 + glibcxx_cv_func_frexpl_use=yes
87705 +else
87706 + glibcxx_cv_func_frexpl_use=no
87708 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87709 + ac_ext=c
87710 +ac_cpp='$CPP $CPPFLAGS'
87711 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87712 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87713 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87718 + fi
87719 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
87720 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
87722 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
87723 + for ac_func in frexpl
87724 +do :
87725 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
87726 +if test "x$ac_cv_func_frexpl" = x""yes; then :
87727 + cat >>confdefs.h <<_ACEOF
87728 +#define HAVE_FREXPL 1
87729 +_ACEOF
87732 +done
87734 + else
87736 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
87737 +$as_echo_n "checking for _frexpl declaration... " >&6; }
87738 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
87739 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
87740 + $as_echo_n "(cached) " >&6
87741 +else
87744 + ac_ext=cpp
87745 +ac_cpp='$CXXCPP $CPPFLAGS'
87746 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87747 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87748 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87750 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87751 +/* end confdefs.h. */
87752 +#include <math.h>
87753 +int
87754 +main ()
87756 + _frexpl(0, 0);
87758 + return 0;
87760 +_ACEOF
87761 +if ac_fn_cxx_try_compile "$LINENO"; then :
87762 + glibcxx_cv_func__frexpl_use=yes
87763 +else
87764 + glibcxx_cv_func__frexpl_use=no
87766 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87767 + ac_ext=c
87768 +ac_cpp='$CPP $CPPFLAGS'
87769 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87770 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87771 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87776 + fi
87777 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
87778 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
87780 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
87781 + for ac_func in _frexpl
87782 +do :
87783 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
87784 +if test "x$ac_cv_func__frexpl" = x""yes; then :
87785 + cat >>confdefs.h <<_ACEOF
87786 +#define HAVE__FREXPL 1
87787 +_ACEOF
87790 +done
87792 + fi
87793 + fi
87799 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
87800 +$as_echo_n "checking for hypotl declaration... " >&6; }
87801 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
87802 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
87803 + $as_echo_n "(cached) " >&6
87804 +else
87807 + ac_ext=cpp
87808 +ac_cpp='$CXXCPP $CPPFLAGS'
87809 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87810 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87811 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87813 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87814 +/* end confdefs.h. */
87815 +#include <math.h>
87816 +int
87817 +main ()
87819 + hypotl(0, 0);
87821 + return 0;
87823 +_ACEOF
87824 +if ac_fn_cxx_try_compile "$LINENO"; then :
87825 + glibcxx_cv_func_hypotl_use=yes
87826 +else
87827 + glibcxx_cv_func_hypotl_use=no
87829 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87830 + ac_ext=c
87831 +ac_cpp='$CPP $CPPFLAGS'
87832 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87833 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87834 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87839 + fi
87840 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
87841 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
87843 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
87844 + for ac_func in hypotl
87845 +do :
87846 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
87847 +if test "x$ac_cv_func_hypotl" = x""yes; then :
87848 + cat >>confdefs.h <<_ACEOF
87849 +#define HAVE_HYPOTL 1
87850 +_ACEOF
87853 +done
87855 + else
87857 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
87858 +$as_echo_n "checking for _hypotl declaration... " >&6; }
87859 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
87860 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
87861 + $as_echo_n "(cached) " >&6
87862 +else
87865 + ac_ext=cpp
87866 +ac_cpp='$CXXCPP $CPPFLAGS'
87867 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87868 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87869 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87871 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87872 +/* end confdefs.h. */
87873 +#include <math.h>
87874 +int
87875 +main ()
87877 + _hypotl(0, 0);
87879 + return 0;
87881 +_ACEOF
87882 +if ac_fn_cxx_try_compile "$LINENO"; then :
87883 + glibcxx_cv_func__hypotl_use=yes
87884 +else
87885 + glibcxx_cv_func__hypotl_use=no
87887 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87888 + ac_ext=c
87889 +ac_cpp='$CPP $CPPFLAGS'
87890 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87891 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87892 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87897 + fi
87898 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
87899 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
87901 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
87902 + for ac_func in _hypotl
87903 +do :
87904 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
87905 +if test "x$ac_cv_func__hypotl" = x""yes; then :
87906 + cat >>confdefs.h <<_ACEOF
87907 +#define HAVE__HYPOTL 1
87908 +_ACEOF
87911 +done
87913 + fi
87914 + fi
87920 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
87921 +$as_echo_n "checking for ldexpl declaration... " >&6; }
87922 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
87923 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
87924 + $as_echo_n "(cached) " >&6
87925 +else
87928 + ac_ext=cpp
87929 +ac_cpp='$CXXCPP $CPPFLAGS'
87930 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87931 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87932 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87934 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87935 +/* end confdefs.h. */
87936 +#include <math.h>
87937 +int
87938 +main ()
87940 + ldexpl(0, 0);
87942 + return 0;
87944 +_ACEOF
87945 +if ac_fn_cxx_try_compile "$LINENO"; then :
87946 + glibcxx_cv_func_ldexpl_use=yes
87947 +else
87948 + glibcxx_cv_func_ldexpl_use=no
87950 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
87951 + ac_ext=c
87952 +ac_cpp='$CPP $CPPFLAGS'
87953 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87954 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87955 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
87960 + fi
87961 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
87962 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
87964 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
87965 + for ac_func in ldexpl
87966 +do :
87967 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
87968 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
87969 + cat >>confdefs.h <<_ACEOF
87970 +#define HAVE_LDEXPL 1
87971 +_ACEOF
87974 +done
87976 + else
87978 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
87979 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
87980 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
87981 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
87982 + $as_echo_n "(cached) " >&6
87983 +else
87986 + ac_ext=cpp
87987 +ac_cpp='$CXXCPP $CPPFLAGS'
87988 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
87989 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
87990 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
87992 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
87993 +/* end confdefs.h. */
87994 +#include <math.h>
87995 +int
87996 +main ()
87998 + _ldexpl(0, 0);
88000 + return 0;
88002 +_ACEOF
88003 +if ac_fn_cxx_try_compile "$LINENO"; then :
88004 + glibcxx_cv_func__ldexpl_use=yes
88005 +else
88006 + glibcxx_cv_func__ldexpl_use=no
88008 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88009 + ac_ext=c
88010 +ac_cpp='$CPP $CPPFLAGS'
88011 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88012 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88013 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88018 + fi
88019 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
88020 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
88022 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
88023 + for ac_func in _ldexpl
88024 +do :
88025 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
88026 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
88027 + cat >>confdefs.h <<_ACEOF
88028 +#define HAVE__LDEXPL 1
88029 +_ACEOF
88032 +done
88034 + fi
88035 + fi
88041 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
88042 +$as_echo_n "checking for logl declaration... " >&6; }
88043 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
88044 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
88045 + $as_echo_n "(cached) " >&6
88046 +else
88049 + ac_ext=cpp
88050 +ac_cpp='$CXXCPP $CPPFLAGS'
88051 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88052 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88053 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88055 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88056 +/* end confdefs.h. */
88057 +#include <math.h>
88058 + #ifdef HAVE_IEEEFP_H
88059 + #include <ieeefp.h>
88060 + #endif
88062 +int
88063 +main ()
88065 + logl(0);
88067 + return 0;
88069 +_ACEOF
88070 +if ac_fn_cxx_try_compile "$LINENO"; then :
88071 + glibcxx_cv_func_logl_use=yes
88072 +else
88073 + glibcxx_cv_func_logl_use=no
88075 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88076 + ac_ext=c
88077 +ac_cpp='$CPP $CPPFLAGS'
88078 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88079 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88080 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88085 + fi
88086 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
88087 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
88089 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
88090 + for ac_func in logl
88091 +do :
88092 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
88093 +if test "x$ac_cv_func_logl" = x""yes; then :
88094 + cat >>confdefs.h <<_ACEOF
88095 +#define HAVE_LOGL 1
88096 +_ACEOF
88099 +done
88101 + else
88103 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
88104 +$as_echo_n "checking for _logl declaration... " >&6; }
88105 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
88106 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
88107 + $as_echo_n "(cached) " >&6
88108 +else
88111 + ac_ext=cpp
88112 +ac_cpp='$CXXCPP $CPPFLAGS'
88113 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88114 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88115 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88117 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88118 +/* end confdefs.h. */
88119 +#include <math.h>
88120 + #ifdef HAVE_IEEEFP_H
88121 + #include <ieeefp.h>
88122 + #endif
88124 +int
88125 +main ()
88127 + _logl(0);
88129 + return 0;
88131 +_ACEOF
88132 +if ac_fn_cxx_try_compile "$LINENO"; then :
88133 + glibcxx_cv_func__logl_use=yes
88134 +else
88135 + glibcxx_cv_func__logl_use=no
88137 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88138 + ac_ext=c
88139 +ac_cpp='$CPP $CPPFLAGS'
88140 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88141 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88142 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88147 + fi
88148 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
88149 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
88151 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
88152 + for ac_func in _logl
88153 +do :
88154 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
88155 +if test "x$ac_cv_func__logl" = x""yes; then :
88156 + cat >>confdefs.h <<_ACEOF
88157 +#define HAVE__LOGL 1
88158 +_ACEOF
88161 +done
88163 + fi
88164 + fi
88170 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
88171 +$as_echo_n "checking for log10l declaration... " >&6; }
88172 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
88173 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
88174 + $as_echo_n "(cached) " >&6
88175 +else
88178 + ac_ext=cpp
88179 +ac_cpp='$CXXCPP $CPPFLAGS'
88180 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88181 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88182 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88184 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88185 +/* end confdefs.h. */
88186 +#include <math.h>
88187 + #ifdef HAVE_IEEEFP_H
88188 + #include <ieeefp.h>
88189 + #endif
88191 +int
88192 +main ()
88194 + log10l(0);
88196 + return 0;
88198 +_ACEOF
88199 +if ac_fn_cxx_try_compile "$LINENO"; then :
88200 + glibcxx_cv_func_log10l_use=yes
88201 +else
88202 + glibcxx_cv_func_log10l_use=no
88204 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88205 + ac_ext=c
88206 +ac_cpp='$CPP $CPPFLAGS'
88207 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88208 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88209 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88214 + fi
88215 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
88216 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
88218 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
88219 + for ac_func in log10l
88220 +do :
88221 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
88222 +if test "x$ac_cv_func_log10l" = x""yes; then :
88223 + cat >>confdefs.h <<_ACEOF
88224 +#define HAVE_LOG10L 1
88225 +_ACEOF
88228 +done
88230 + else
88232 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
88233 +$as_echo_n "checking for _log10l declaration... " >&6; }
88234 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
88235 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
88236 + $as_echo_n "(cached) " >&6
88237 +else
88240 + ac_ext=cpp
88241 +ac_cpp='$CXXCPP $CPPFLAGS'
88242 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88243 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88244 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88246 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88247 +/* end confdefs.h. */
88248 +#include <math.h>
88249 + #ifdef HAVE_IEEEFP_H
88250 + #include <ieeefp.h>
88251 + #endif
88253 +int
88254 +main ()
88256 + _log10l(0);
88258 + return 0;
88260 +_ACEOF
88261 +if ac_fn_cxx_try_compile "$LINENO"; then :
88262 + glibcxx_cv_func__log10l_use=yes
88263 +else
88264 + glibcxx_cv_func__log10l_use=no
88266 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88267 + ac_ext=c
88268 +ac_cpp='$CPP $CPPFLAGS'
88269 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88270 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88271 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88276 + fi
88277 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
88278 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
88280 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
88281 + for ac_func in _log10l
88282 +do :
88283 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
88284 +if test "x$ac_cv_func__log10l" = x""yes; then :
88285 + cat >>confdefs.h <<_ACEOF
88286 +#define HAVE__LOG10L 1
88287 +_ACEOF
88290 +done
88292 + fi
88293 + fi
88299 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
88300 +$as_echo_n "checking for modfl declaration... " >&6; }
88301 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
88302 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
88303 + $as_echo_n "(cached) " >&6
88304 +else
88307 + ac_ext=cpp
88308 +ac_cpp='$CXXCPP $CPPFLAGS'
88309 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88310 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88311 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88313 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88314 +/* end confdefs.h. */
88315 +#include <math.h>
88316 +int
88317 +main ()
88319 + modfl(0, 0);
88321 + return 0;
88323 +_ACEOF
88324 +if ac_fn_cxx_try_compile "$LINENO"; then :
88325 + glibcxx_cv_func_modfl_use=yes
88326 +else
88327 + glibcxx_cv_func_modfl_use=no
88329 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88330 + ac_ext=c
88331 +ac_cpp='$CPP $CPPFLAGS'
88332 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88333 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88334 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88339 + fi
88340 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
88341 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
88343 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
88344 + for ac_func in modfl
88345 +do :
88346 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
88347 +if test "x$ac_cv_func_modfl" = x""yes; then :
88348 + cat >>confdefs.h <<_ACEOF
88349 +#define HAVE_MODFL 1
88350 +_ACEOF
88353 +done
88355 + else
88357 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
88358 +$as_echo_n "checking for _modfl declaration... " >&6; }
88359 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
88360 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
88361 + $as_echo_n "(cached) " >&6
88362 +else
88365 + ac_ext=cpp
88366 +ac_cpp='$CXXCPP $CPPFLAGS'
88367 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88368 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88369 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88371 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88372 +/* end confdefs.h. */
88373 +#include <math.h>
88374 +int
88375 +main ()
88377 + _modfl(0, 0);
88379 + return 0;
88381 +_ACEOF
88382 +if ac_fn_cxx_try_compile "$LINENO"; then :
88383 + glibcxx_cv_func__modfl_use=yes
88384 +else
88385 + glibcxx_cv_func__modfl_use=no
88387 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88388 + ac_ext=c
88389 +ac_cpp='$CPP $CPPFLAGS'
88390 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88391 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88392 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88397 + fi
88398 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
88399 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
88401 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
88402 + for ac_func in _modfl
88403 +do :
88404 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
88405 +if test "x$ac_cv_func__modfl" = x""yes; then :
88406 + cat >>confdefs.h <<_ACEOF
88407 +#define HAVE__MODFL 1
88408 +_ACEOF
88411 +done
88413 + fi
88414 + fi
88420 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
88421 +$as_echo_n "checking for powl declaration... " >&6; }
88422 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
88423 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
88424 + $as_echo_n "(cached) " >&6
88425 +else
88428 + ac_ext=cpp
88429 +ac_cpp='$CXXCPP $CPPFLAGS'
88430 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88431 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88432 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88434 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88435 +/* end confdefs.h. */
88436 +#include <math.h>
88437 +int
88438 +main ()
88440 + powl(0, 0);
88442 + return 0;
88444 +_ACEOF
88445 +if ac_fn_cxx_try_compile "$LINENO"; then :
88446 + glibcxx_cv_func_powl_use=yes
88447 +else
88448 + glibcxx_cv_func_powl_use=no
88450 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88451 + ac_ext=c
88452 +ac_cpp='$CPP $CPPFLAGS'
88453 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88454 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88455 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88460 + fi
88461 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
88462 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
88464 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
88465 + for ac_func in powl
88466 +do :
88467 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
88468 +if test "x$ac_cv_func_powl" = x""yes; then :
88469 + cat >>confdefs.h <<_ACEOF
88470 +#define HAVE_POWL 1
88471 +_ACEOF
88474 +done
88476 + else
88478 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
88479 +$as_echo_n "checking for _powl declaration... " >&6; }
88480 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
88481 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
88482 + $as_echo_n "(cached) " >&6
88483 +else
88486 + ac_ext=cpp
88487 +ac_cpp='$CXXCPP $CPPFLAGS'
88488 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88489 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88490 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88492 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88493 +/* end confdefs.h. */
88494 +#include <math.h>
88495 +int
88496 +main ()
88498 + _powl(0, 0);
88500 + return 0;
88502 +_ACEOF
88503 +if ac_fn_cxx_try_compile "$LINENO"; then :
88504 + glibcxx_cv_func__powl_use=yes
88505 +else
88506 + glibcxx_cv_func__powl_use=no
88508 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88509 + ac_ext=c
88510 +ac_cpp='$CPP $CPPFLAGS'
88511 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88512 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88513 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88518 + fi
88519 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
88520 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
88522 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
88523 + for ac_func in _powl
88524 +do :
88525 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
88526 +if test "x$ac_cv_func__powl" = x""yes; then :
88527 + cat >>confdefs.h <<_ACEOF
88528 +#define HAVE__POWL 1
88529 +_ACEOF
88532 +done
88534 + fi
88535 + fi
88541 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
88542 +$as_echo_n "checking for sqrtl declaration... " >&6; }
88543 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
88544 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
88545 + $as_echo_n "(cached) " >&6
88546 +else
88549 + ac_ext=cpp
88550 +ac_cpp='$CXXCPP $CPPFLAGS'
88551 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88552 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88553 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88555 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88556 +/* end confdefs.h. */
88557 +#include <math.h>
88558 + #ifdef HAVE_IEEEFP_H
88559 + #include <ieeefp.h>
88560 + #endif
88562 +int
88563 +main ()
88565 + sqrtl(0);
88567 + return 0;
88569 +_ACEOF
88570 +if ac_fn_cxx_try_compile "$LINENO"; then :
88571 + glibcxx_cv_func_sqrtl_use=yes
88572 +else
88573 + glibcxx_cv_func_sqrtl_use=no
88575 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88576 + ac_ext=c
88577 +ac_cpp='$CPP $CPPFLAGS'
88578 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88579 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88580 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88585 + fi
88586 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
88587 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
88589 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
88590 + for ac_func in sqrtl
88591 +do :
88592 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
88593 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
88594 + cat >>confdefs.h <<_ACEOF
88595 +#define HAVE_SQRTL 1
88596 +_ACEOF
88599 +done
88601 + else
88603 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
88604 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
88605 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
88606 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
88607 + $as_echo_n "(cached) " >&6
88608 +else
88611 + ac_ext=cpp
88612 +ac_cpp='$CXXCPP $CPPFLAGS'
88613 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88614 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88615 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88617 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88618 +/* end confdefs.h. */
88619 +#include <math.h>
88620 + #ifdef HAVE_IEEEFP_H
88621 + #include <ieeefp.h>
88622 + #endif
88624 +int
88625 +main ()
88627 + _sqrtl(0);
88629 + return 0;
88631 +_ACEOF
88632 +if ac_fn_cxx_try_compile "$LINENO"; then :
88633 + glibcxx_cv_func__sqrtl_use=yes
88634 +else
88635 + glibcxx_cv_func__sqrtl_use=no
88637 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88638 + ac_ext=c
88639 +ac_cpp='$CPP $CPPFLAGS'
88640 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88641 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88642 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88647 + fi
88648 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
88649 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
88651 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
88652 + for ac_func in _sqrtl
88653 +do :
88654 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
88655 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
88656 + cat >>confdefs.h <<_ACEOF
88657 +#define HAVE__SQRTL 1
88658 +_ACEOF
88661 +done
88663 + fi
88664 + fi
88670 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
88671 +$as_echo_n "checking for sincosl declaration... " >&6; }
88672 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
88673 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
88674 + $as_echo_n "(cached) " >&6
88675 +else
88678 + ac_ext=cpp
88679 +ac_cpp='$CXXCPP $CPPFLAGS'
88680 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88681 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88682 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88684 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88685 +/* end confdefs.h. */
88686 +#include <math.h>
88687 +int
88688 +main ()
88690 + sincosl(0, 0, 0);
88692 + return 0;
88694 +_ACEOF
88695 +if ac_fn_cxx_try_compile "$LINENO"; then :
88696 + glibcxx_cv_func_sincosl_use=yes
88697 +else
88698 + glibcxx_cv_func_sincosl_use=no
88700 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88701 + ac_ext=c
88702 +ac_cpp='$CPP $CPPFLAGS'
88703 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88704 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88705 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88710 + fi
88711 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
88712 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
88714 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
88715 + for ac_func in sincosl
88716 +do :
88717 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
88718 +if test "x$ac_cv_func_sincosl" = x""yes; then :
88719 + cat >>confdefs.h <<_ACEOF
88720 +#define HAVE_SINCOSL 1
88721 +_ACEOF
88724 +done
88726 + else
88728 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
88729 +$as_echo_n "checking for _sincosl declaration... " >&6; }
88730 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
88731 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
88732 + $as_echo_n "(cached) " >&6
88733 +else
88736 + ac_ext=cpp
88737 +ac_cpp='$CXXCPP $CPPFLAGS'
88738 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88739 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88740 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88742 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88743 +/* end confdefs.h. */
88744 +#include <math.h>
88745 +int
88746 +main ()
88748 + _sincosl(0, 0, 0);
88750 + return 0;
88752 +_ACEOF
88753 +if ac_fn_cxx_try_compile "$LINENO"; then :
88754 + glibcxx_cv_func__sincosl_use=yes
88755 +else
88756 + glibcxx_cv_func__sincosl_use=no
88758 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88759 + ac_ext=c
88760 +ac_cpp='$CPP $CPPFLAGS'
88761 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88762 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88763 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88768 + fi
88769 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
88770 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
88772 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
88773 + for ac_func in _sincosl
88774 +do :
88775 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
88776 +if test "x$ac_cv_func__sincosl" = x""yes; then :
88777 + cat >>confdefs.h <<_ACEOF
88778 +#define HAVE__SINCOSL 1
88779 +_ACEOF
88782 +done
88784 + fi
88785 + fi
88791 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
88792 +$as_echo_n "checking for finitel declaration... " >&6; }
88793 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
88794 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
88795 + $as_echo_n "(cached) " >&6
88796 +else
88799 + ac_ext=cpp
88800 +ac_cpp='$CXXCPP $CPPFLAGS'
88801 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88802 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88803 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88805 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88806 +/* end confdefs.h. */
88807 +#include <math.h>
88808 + #ifdef HAVE_IEEEFP_H
88809 + #include <ieeefp.h>
88810 + #endif
88812 +int
88813 +main ()
88815 + finitel(0);
88817 + return 0;
88819 +_ACEOF
88820 +if ac_fn_cxx_try_compile "$LINENO"; then :
88821 + glibcxx_cv_func_finitel_use=yes
88822 +else
88823 + glibcxx_cv_func_finitel_use=no
88825 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88826 + ac_ext=c
88827 +ac_cpp='$CPP $CPPFLAGS'
88828 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88829 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88830 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88835 + fi
88836 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
88837 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
88839 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
88840 + for ac_func in finitel
88841 +do :
88842 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
88843 +if test "x$ac_cv_func_finitel" = x""yes; then :
88844 + cat >>confdefs.h <<_ACEOF
88845 +#define HAVE_FINITEL 1
88846 +_ACEOF
88849 +done
88851 + else
88853 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
88854 +$as_echo_n "checking for _finitel declaration... " >&6; }
88855 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
88856 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
88857 + $as_echo_n "(cached) " >&6
88858 +else
88861 + ac_ext=cpp
88862 +ac_cpp='$CXXCPP $CPPFLAGS'
88863 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88864 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88865 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88867 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88868 +/* end confdefs.h. */
88869 +#include <math.h>
88870 + #ifdef HAVE_IEEEFP_H
88871 + #include <ieeefp.h>
88872 + #endif
88874 +int
88875 +main ()
88877 + _finitel(0);
88879 + return 0;
88881 +_ACEOF
88882 +if ac_fn_cxx_try_compile "$LINENO"; then :
88883 + glibcxx_cv_func__finitel_use=yes
88884 +else
88885 + glibcxx_cv_func__finitel_use=no
88887 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88888 + ac_ext=c
88889 +ac_cpp='$CPP $CPPFLAGS'
88890 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88891 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88892 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88897 + fi
88898 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
88899 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
88901 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
88902 + for ac_func in _finitel
88903 +do :
88904 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
88905 +if test "x$ac_cv_func__finitel" = x""yes; then :
88906 + cat >>confdefs.h <<_ACEOF
88907 +#define HAVE__FINITEL 1
88908 +_ACEOF
88911 +done
88913 + fi
88914 + fi
88919 + LIBS="$ac_save_LIBS"
88920 + CXXFLAGS="$ac_save_CXXFLAGS"
88923 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
88924 + ac_save_CXXFLAGS="$CXXFLAGS"
88925 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
88928 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
88929 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
88930 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
88931 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
88932 + $as_echo_n "(cached) " >&6
88933 +else
88936 + ac_ext=cpp
88937 +ac_cpp='$CXXCPP $CPPFLAGS'
88938 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88939 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88940 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
88942 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
88943 +/* end confdefs.h. */
88944 +#include <stdlib.h>
88945 +int
88946 +main ()
88948 + at_quick_exit(0);
88950 + return 0;
88952 +_ACEOF
88953 +if ac_fn_cxx_try_compile "$LINENO"; then :
88954 + glibcxx_cv_func_at_quick_exit_use=yes
88955 +else
88956 + glibcxx_cv_func_at_quick_exit_use=no
88958 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
88959 + ac_ext=c
88960 +ac_cpp='$CPP $CPPFLAGS'
88961 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88962 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88963 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
88968 + fi
88969 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
88970 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
88971 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
88972 + for ac_func in at_quick_exit
88973 +do :
88974 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
88975 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
88976 + cat >>confdefs.h <<_ACEOF
88977 +#define HAVE_AT_QUICK_EXIT 1
88978 +_ACEOF
88981 +done
88983 + fi
88986 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
88987 +$as_echo_n "checking for quick_exit declaration... " >&6; }
88988 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
88989 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
88990 + $as_echo_n "(cached) " >&6
88991 +else
88994 + ac_ext=cpp
88995 +ac_cpp='$CXXCPP $CPPFLAGS'
88996 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
88997 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
88998 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89000 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89001 +/* end confdefs.h. */
89002 +#include <stdlib.h>
89003 +int
89004 +main ()
89006 + quick_exit(0);
89008 + return 0;
89010 +_ACEOF
89011 +if ac_fn_cxx_try_compile "$LINENO"; then :
89012 + glibcxx_cv_func_quick_exit_use=yes
89013 +else
89014 + glibcxx_cv_func_quick_exit_use=no
89016 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89017 + ac_ext=c
89018 +ac_cpp='$CPP $CPPFLAGS'
89019 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89020 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89021 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89026 + fi
89027 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
89028 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
89029 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
89030 + for ac_func in quick_exit
89031 +do :
89032 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
89033 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
89034 + cat >>confdefs.h <<_ACEOF
89035 +#define HAVE_QUICK_EXIT 1
89036 +_ACEOF
89039 +done
89041 + fi
89044 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
89045 +$as_echo_n "checking for strtold declaration... " >&6; }
89046 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
89047 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
89048 + $as_echo_n "(cached) " >&6
89049 +else
89052 + ac_ext=cpp
89053 +ac_cpp='$CXXCPP $CPPFLAGS'
89054 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89055 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89056 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89058 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89059 +/* end confdefs.h. */
89060 +#include <stdlib.h>
89061 +int
89062 +main ()
89064 + strtold(0, 0);
89066 + return 0;
89068 +_ACEOF
89069 +if ac_fn_cxx_try_compile "$LINENO"; then :
89070 + glibcxx_cv_func_strtold_use=yes
89071 +else
89072 + glibcxx_cv_func_strtold_use=no
89074 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89075 + ac_ext=c
89076 +ac_cpp='$CPP $CPPFLAGS'
89077 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89078 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89079 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89084 + fi
89085 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
89086 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
89087 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
89088 + for ac_func in strtold
89089 +do :
89090 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
89091 +if test "x$ac_cv_func_strtold" = x""yes; then :
89092 + cat >>confdefs.h <<_ACEOF
89093 +#define HAVE_STRTOLD 1
89094 +_ACEOF
89097 +done
89099 + fi
89104 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
89105 +$as_echo_n "checking for strtof declaration... " >&6; }
89106 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
89107 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
89108 + $as_echo_n "(cached) " >&6
89109 +else
89112 + ac_ext=cpp
89113 +ac_cpp='$CXXCPP $CPPFLAGS'
89114 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89115 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89116 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89118 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89119 +/* end confdefs.h. */
89120 +#include <stdlib.h>
89121 +int
89122 +main ()
89124 + strtof(0, 0);
89126 + return 0;
89128 +_ACEOF
89129 +if ac_fn_cxx_try_compile "$LINENO"; then :
89130 + glibcxx_cv_func_strtof_use=yes
89131 +else
89132 + glibcxx_cv_func_strtof_use=no
89134 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89135 + ac_ext=c
89136 +ac_cpp='$CPP $CPPFLAGS'
89137 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89138 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89139 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89144 + fi
89145 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
89146 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
89147 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
89148 + for ac_func in strtof
89149 +do :
89150 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
89151 +if test "x$ac_cv_func_strtof" = x""yes; then :
89152 + cat >>confdefs.h <<_ACEOF
89153 +#define HAVE_STRTOF 1
89154 +_ACEOF
89157 +done
89159 + fi
89164 + CXXFLAGS="$ac_save_CXXFLAGS"
89166 + $as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
89168 + # We don't yet support AIX's TLS ABI.
89169 + #GCC_CHECK_TLS
89175 + am_save_CPPFLAGS="$CPPFLAGS"
89177 + for element in $INCICONV; do
89178 + haveit=
89179 + for x in $CPPFLAGS; do
89181 + acl_save_prefix="$prefix"
89182 + prefix="$acl_final_prefix"
89183 + acl_save_exec_prefix="$exec_prefix"
89184 + exec_prefix="$acl_final_exec_prefix"
89185 + eval x=\"$x\"
89186 + exec_prefix="$acl_save_exec_prefix"
89187 + prefix="$acl_save_prefix"
89189 + if test "X$x" = "X$element"; then
89190 + haveit=yes
89191 + break
89192 + fi
89193 + done
89194 + if test -z "$haveit"; then
89195 + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
89196 + fi
89197 + done
89200 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
89201 +$as_echo_n "checking for iconv... " >&6; }
89202 +if test "${am_cv_func_iconv+set}" = set; then :
89203 + $as_echo_n "(cached) " >&6
89204 +else
89206 + am_cv_func_iconv="no, consider installing GNU libiconv"
89207 + am_cv_lib_iconv=no
89208 + if test x$gcc_no_link = xyes; then
89209 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
89211 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89212 +/* end confdefs.h. */
89213 +#include <stdlib.h>
89214 +#include <iconv.h>
89215 +int
89216 +main ()
89218 +iconv_t cd = iconv_open("","");
89219 + iconv(cd,NULL,NULL,NULL,NULL);
89220 + iconv_close(cd);
89222 + return 0;
89224 +_ACEOF
89225 +if ac_fn_c_try_link "$LINENO"; then :
89226 + am_cv_func_iconv=yes
89228 +rm -f core conftest.err conftest.$ac_objext \
89229 + conftest$ac_exeext conftest.$ac_ext
89230 + if test "$am_cv_func_iconv" != yes; then
89231 + am_save_LIBS="$LIBS"
89232 + LIBS="$LIBS $LIBICONV"
89233 + if test x$gcc_no_link = xyes; then
89234 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
89236 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89237 +/* end confdefs.h. */
89238 +#include <stdlib.h>
89239 +#include <iconv.h>
89240 +int
89241 +main ()
89243 +iconv_t cd = iconv_open("","");
89244 + iconv(cd,NULL,NULL,NULL,NULL);
89245 + iconv_close(cd);
89247 + return 0;
89249 +_ACEOF
89250 +if ac_fn_c_try_link "$LINENO"; then :
89251 + am_cv_lib_iconv=yes
89252 + am_cv_func_iconv=yes
89254 +rm -f core conftest.err conftest.$ac_objext \
89255 + conftest$ac_exeext conftest.$ac_ext
89256 + LIBS="$am_save_LIBS"
89257 + fi
89260 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
89261 +$as_echo "$am_cv_func_iconv" >&6; }
89262 + if test "$am_cv_func_iconv" = yes; then
89264 +$as_echo "#define HAVE_ICONV 1" >>confdefs.h
89266 + fi
89267 + if test "$am_cv_lib_iconv" = yes; then
89268 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
89269 +$as_echo_n "checking how to link with libiconv... " >&6; }
89270 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
89271 +$as_echo "$LIBICONV" >&6; }
89272 + else
89273 + CPPFLAGS="$am_save_CPPFLAGS"
89274 + LIBICONV=
89275 + LTLIBICONV=
89276 + fi
89280 + if test "$am_cv_func_iconv" = yes; then
89281 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
89282 +$as_echo_n "checking for iconv declaration... " >&6; }
89283 + if test "${am_cv_proto_iconv+set}" = set; then :
89284 + $as_echo_n "(cached) " >&6
89285 +else
89287 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89288 +/* end confdefs.h. */
89290 +#include <stdlib.h>
89291 +#include <iconv.h>
89292 +extern
89293 +#ifdef __cplusplus
89294 +"C"
89295 +#endif
89296 +#if defined(__STDC__) || defined(__cplusplus)
89297 +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
89298 +#else
89299 +size_t iconv();
89300 +#endif
89302 +int
89303 +main ()
89307 + return 0;
89309 +_ACEOF
89310 +if ac_fn_c_try_compile "$LINENO"; then :
89311 + am_cv_proto_iconv_arg1=""
89312 +else
89313 + am_cv_proto_iconv_arg1="const"
89315 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89316 + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
89319 + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
89320 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
89321 + }$am_cv_proto_iconv" >&5
89322 +$as_echo "${ac_t:-
89323 + }$am_cv_proto_iconv" >&6; }
89325 +cat >>confdefs.h <<_ACEOF
89326 +#define ICONV_CONST $am_cv_proto_iconv_arg1
89327 +_ACEOF
89329 + fi
89331 + ;;
89333 + *-darwin*)
89334 + # Darwin versions vary, but the linker should work in a cross environment,
89335 + # so we just check for all the features here.
89336 + # Check for available headers.
89338 + # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
89340 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
89341 + ac_save_CXXFLAGS="$CXXFLAGS"
89342 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
89344 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
89345 +$as_echo_n "checking for sin in -lm... " >&6; }
89346 +if test "${ac_cv_lib_m_sin+set}" = set; then :
89347 + $as_echo_n "(cached) " >&6
89348 +else
89349 + ac_check_lib_save_LIBS=$LIBS
89350 +LIBS="-lm $LIBS"
89351 +if test x$gcc_no_link = xyes; then
89352 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
89354 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89355 +/* end confdefs.h. */
89357 +/* Override any GCC internal prototype to avoid an error.
89358 + Use char because int might match the return type of a GCC
89359 + builtin and then its argument prototype would still apply. */
89360 +#ifdef __cplusplus
89361 +extern "C"
89362 +#endif
89363 +char sin ();
89364 +int
89365 +main ()
89367 +return sin ();
89369 + return 0;
89371 +_ACEOF
89372 +if ac_fn_c_try_link "$LINENO"; then :
89373 + ac_cv_lib_m_sin=yes
89374 +else
89375 + ac_cv_lib_m_sin=no
89377 +rm -f core conftest.err conftest.$ac_objext \
89378 + conftest$ac_exeext conftest.$ac_ext
89379 +LIBS=$ac_check_lib_save_LIBS
89381 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
89382 +$as_echo "$ac_cv_lib_m_sin" >&6; }
89383 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
89384 + libm="-lm"
89387 + ac_save_LIBS="$LIBS"
89388 + LIBS="$LIBS $libm"
89392 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
89393 +$as_echo_n "checking for isinf declaration... " >&6; }
89394 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
89395 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
89396 + $as_echo_n "(cached) " >&6
89397 +else
89400 + ac_ext=cpp
89401 +ac_cpp='$CXXCPP $CPPFLAGS'
89402 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89403 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89404 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89406 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89407 +/* end confdefs.h. */
89408 +#include <math.h>
89409 + #ifdef HAVE_IEEEFP_H
89410 + #include <ieeefp.h>
89411 + #endif
89413 +int
89414 +main ()
89416 + isinf(0);
89418 + return 0;
89420 +_ACEOF
89421 +if ac_fn_cxx_try_compile "$LINENO"; then :
89422 + glibcxx_cv_func_isinf_use=yes
89423 +else
89424 + glibcxx_cv_func_isinf_use=no
89426 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89427 + ac_ext=c
89428 +ac_cpp='$CPP $CPPFLAGS'
89429 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89430 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89431 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89436 + fi
89437 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
89438 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
89440 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
89441 + for ac_func in isinf
89442 +do :
89443 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
89444 +if test "x$ac_cv_func_isinf" = x""yes; then :
89445 + cat >>confdefs.h <<_ACEOF
89446 +#define HAVE_ISINF 1
89447 +_ACEOF
89450 +done
89452 + else
89454 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
89455 +$as_echo_n "checking for _isinf declaration... " >&6; }
89456 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
89457 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
89458 + $as_echo_n "(cached) " >&6
89459 +else
89462 + ac_ext=cpp
89463 +ac_cpp='$CXXCPP $CPPFLAGS'
89464 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89465 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89466 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89468 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89469 +/* end confdefs.h. */
89470 +#include <math.h>
89471 + #ifdef HAVE_IEEEFP_H
89472 + #include <ieeefp.h>
89473 + #endif
89475 +int
89476 +main ()
89478 + _isinf(0);
89480 + return 0;
89482 +_ACEOF
89483 +if ac_fn_cxx_try_compile "$LINENO"; then :
89484 + glibcxx_cv_func__isinf_use=yes
89485 +else
89486 + glibcxx_cv_func__isinf_use=no
89488 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89489 + ac_ext=c
89490 +ac_cpp='$CPP $CPPFLAGS'
89491 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89492 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89493 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89498 + fi
89499 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
89500 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
89502 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
89503 + for ac_func in _isinf
89504 +do :
89505 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
89506 +if test "x$ac_cv_func__isinf" = x""yes; then :
89507 + cat >>confdefs.h <<_ACEOF
89508 +#define HAVE__ISINF 1
89509 +_ACEOF
89512 +done
89514 + fi
89515 + fi
89521 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
89522 +$as_echo_n "checking for isnan declaration... " >&6; }
89523 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
89524 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
89525 + $as_echo_n "(cached) " >&6
89526 +else
89529 + ac_ext=cpp
89530 +ac_cpp='$CXXCPP $CPPFLAGS'
89531 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89532 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89533 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89535 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89536 +/* end confdefs.h. */
89537 +#include <math.h>
89538 + #ifdef HAVE_IEEEFP_H
89539 + #include <ieeefp.h>
89540 + #endif
89542 +int
89543 +main ()
89545 + isnan(0);
89547 + return 0;
89549 +_ACEOF
89550 +if ac_fn_cxx_try_compile "$LINENO"; then :
89551 + glibcxx_cv_func_isnan_use=yes
89552 +else
89553 + glibcxx_cv_func_isnan_use=no
89555 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89556 + ac_ext=c
89557 +ac_cpp='$CPP $CPPFLAGS'
89558 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89559 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89560 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89565 + fi
89566 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
89567 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
89569 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
89570 + for ac_func in isnan
89571 +do :
89572 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
89573 +if test "x$ac_cv_func_isnan" = x""yes; then :
89574 + cat >>confdefs.h <<_ACEOF
89575 +#define HAVE_ISNAN 1
89576 +_ACEOF
89579 +done
89581 + else
89583 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
89584 +$as_echo_n "checking for _isnan declaration... " >&6; }
89585 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
89586 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
89587 + $as_echo_n "(cached) " >&6
89588 +else
89591 + ac_ext=cpp
89592 +ac_cpp='$CXXCPP $CPPFLAGS'
89593 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89594 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89595 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89597 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89598 +/* end confdefs.h. */
89599 +#include <math.h>
89600 + #ifdef HAVE_IEEEFP_H
89601 + #include <ieeefp.h>
89602 + #endif
89604 +int
89605 +main ()
89607 + _isnan(0);
89609 + return 0;
89611 +_ACEOF
89612 +if ac_fn_cxx_try_compile "$LINENO"; then :
89613 + glibcxx_cv_func__isnan_use=yes
89614 +else
89615 + glibcxx_cv_func__isnan_use=no
89617 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89618 + ac_ext=c
89619 +ac_cpp='$CPP $CPPFLAGS'
89620 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89621 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89622 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89627 + fi
89628 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
89629 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
89631 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
89632 + for ac_func in _isnan
89633 +do :
89634 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
89635 +if test "x$ac_cv_func__isnan" = x""yes; then :
89636 + cat >>confdefs.h <<_ACEOF
89637 +#define HAVE__ISNAN 1
89638 +_ACEOF
89641 +done
89643 + fi
89644 + fi
89650 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
89651 +$as_echo_n "checking for finite declaration... " >&6; }
89652 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
89653 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
89654 + $as_echo_n "(cached) " >&6
89655 +else
89658 + ac_ext=cpp
89659 +ac_cpp='$CXXCPP $CPPFLAGS'
89660 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89661 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89662 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89664 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89665 +/* end confdefs.h. */
89666 +#include <math.h>
89667 + #ifdef HAVE_IEEEFP_H
89668 + #include <ieeefp.h>
89669 + #endif
89671 +int
89672 +main ()
89674 + finite(0);
89676 + return 0;
89678 +_ACEOF
89679 +if ac_fn_cxx_try_compile "$LINENO"; then :
89680 + glibcxx_cv_func_finite_use=yes
89681 +else
89682 + glibcxx_cv_func_finite_use=no
89684 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89685 + ac_ext=c
89686 +ac_cpp='$CPP $CPPFLAGS'
89687 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89688 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89689 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89694 + fi
89695 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
89696 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
89698 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
89699 + for ac_func in finite
89700 +do :
89701 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
89702 +if test "x$ac_cv_func_finite" = x""yes; then :
89703 + cat >>confdefs.h <<_ACEOF
89704 +#define HAVE_FINITE 1
89705 +_ACEOF
89708 +done
89710 + else
89712 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
89713 +$as_echo_n "checking for _finite declaration... " >&6; }
89714 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
89715 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
89716 + $as_echo_n "(cached) " >&6
89717 +else
89720 + ac_ext=cpp
89721 +ac_cpp='$CXXCPP $CPPFLAGS'
89722 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89723 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89724 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89726 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89727 +/* end confdefs.h. */
89728 +#include <math.h>
89729 + #ifdef HAVE_IEEEFP_H
89730 + #include <ieeefp.h>
89731 + #endif
89733 +int
89734 +main ()
89736 + _finite(0);
89738 + return 0;
89740 +_ACEOF
89741 +if ac_fn_cxx_try_compile "$LINENO"; then :
89742 + glibcxx_cv_func__finite_use=yes
89743 +else
89744 + glibcxx_cv_func__finite_use=no
89746 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89747 + ac_ext=c
89748 +ac_cpp='$CPP $CPPFLAGS'
89749 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89750 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89751 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89756 + fi
89757 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
89758 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
89760 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
89761 + for ac_func in _finite
89762 +do :
89763 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
89764 +if test "x$ac_cv_func__finite" = x""yes; then :
89765 + cat >>confdefs.h <<_ACEOF
89766 +#define HAVE__FINITE 1
89767 +_ACEOF
89770 +done
89772 + fi
89773 + fi
89779 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
89780 +$as_echo_n "checking for sincos declaration... " >&6; }
89781 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
89782 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
89783 + $as_echo_n "(cached) " >&6
89784 +else
89787 + ac_ext=cpp
89788 +ac_cpp='$CXXCPP $CPPFLAGS'
89789 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89790 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89791 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89793 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89794 +/* end confdefs.h. */
89795 +#include <math.h>
89796 +int
89797 +main ()
89799 + sincos(0, 0, 0);
89801 + return 0;
89803 +_ACEOF
89804 +if ac_fn_cxx_try_compile "$LINENO"; then :
89805 + glibcxx_cv_func_sincos_use=yes
89806 +else
89807 + glibcxx_cv_func_sincos_use=no
89809 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89810 + ac_ext=c
89811 +ac_cpp='$CPP $CPPFLAGS'
89812 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89813 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89814 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89819 + fi
89820 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
89821 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
89823 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
89824 + for ac_func in sincos
89825 +do :
89826 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
89827 +if test "x$ac_cv_func_sincos" = x""yes; then :
89828 + cat >>confdefs.h <<_ACEOF
89829 +#define HAVE_SINCOS 1
89830 +_ACEOF
89833 +done
89835 + else
89837 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
89838 +$as_echo_n "checking for _sincos declaration... " >&6; }
89839 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
89840 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
89841 + $as_echo_n "(cached) " >&6
89842 +else
89845 + ac_ext=cpp
89846 +ac_cpp='$CXXCPP $CPPFLAGS'
89847 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89848 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89849 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89851 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89852 +/* end confdefs.h. */
89853 +#include <math.h>
89854 +int
89855 +main ()
89857 + _sincos(0, 0, 0);
89859 + return 0;
89861 +_ACEOF
89862 +if ac_fn_cxx_try_compile "$LINENO"; then :
89863 + glibcxx_cv_func__sincos_use=yes
89864 +else
89865 + glibcxx_cv_func__sincos_use=no
89867 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89868 + ac_ext=c
89869 +ac_cpp='$CPP $CPPFLAGS'
89870 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89871 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89872 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89877 + fi
89878 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
89879 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
89881 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
89882 + for ac_func in _sincos
89883 +do :
89884 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
89885 +if test "x$ac_cv_func__sincos" = x""yes; then :
89886 + cat >>confdefs.h <<_ACEOF
89887 +#define HAVE__SINCOS 1
89888 +_ACEOF
89891 +done
89893 + fi
89894 + fi
89900 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
89901 +$as_echo_n "checking for fpclass declaration... " >&6; }
89902 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
89903 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
89904 + $as_echo_n "(cached) " >&6
89905 +else
89908 + ac_ext=cpp
89909 +ac_cpp='$CXXCPP $CPPFLAGS'
89910 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89911 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89912 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89914 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89915 +/* end confdefs.h. */
89916 +#include <math.h>
89917 + #ifdef HAVE_IEEEFP_H
89918 + #include <ieeefp.h>
89919 + #endif
89921 +int
89922 +main ()
89924 + fpclass(0);
89926 + return 0;
89928 +_ACEOF
89929 +if ac_fn_cxx_try_compile "$LINENO"; then :
89930 + glibcxx_cv_func_fpclass_use=yes
89931 +else
89932 + glibcxx_cv_func_fpclass_use=no
89934 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89935 + ac_ext=c
89936 +ac_cpp='$CPP $CPPFLAGS'
89937 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89938 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89939 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
89944 + fi
89945 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
89946 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
89948 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
89949 + for ac_func in fpclass
89950 +do :
89951 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
89952 +if test "x$ac_cv_func_fpclass" = x""yes; then :
89953 + cat >>confdefs.h <<_ACEOF
89954 +#define HAVE_FPCLASS 1
89955 +_ACEOF
89958 +done
89960 + else
89962 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
89963 +$as_echo_n "checking for _fpclass declaration... " >&6; }
89964 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
89965 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
89966 + $as_echo_n "(cached) " >&6
89967 +else
89970 + ac_ext=cpp
89971 +ac_cpp='$CXXCPP $CPPFLAGS'
89972 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
89973 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
89974 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
89976 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
89977 +/* end confdefs.h. */
89978 +#include <math.h>
89979 + #ifdef HAVE_IEEEFP_H
89980 + #include <ieeefp.h>
89981 + #endif
89983 +int
89984 +main ()
89986 + _fpclass(0);
89988 + return 0;
89990 +_ACEOF
89991 +if ac_fn_cxx_try_compile "$LINENO"; then :
89992 + glibcxx_cv_func__fpclass_use=yes
89993 +else
89994 + glibcxx_cv_func__fpclass_use=no
89996 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
89997 + ac_ext=c
89998 +ac_cpp='$CPP $CPPFLAGS'
89999 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90000 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90001 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90006 + fi
90007 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
90008 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
90010 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
90011 + for ac_func in _fpclass
90012 +do :
90013 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
90014 +if test "x$ac_cv_func__fpclass" = x""yes; then :
90015 + cat >>confdefs.h <<_ACEOF
90016 +#define HAVE__FPCLASS 1
90017 +_ACEOF
90020 +done
90022 + fi
90023 + fi
90029 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
90030 +$as_echo_n "checking for qfpclass declaration... " >&6; }
90031 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
90032 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
90033 + $as_echo_n "(cached) " >&6
90034 +else
90037 + ac_ext=cpp
90038 +ac_cpp='$CXXCPP $CPPFLAGS'
90039 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90040 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90041 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90043 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90044 +/* end confdefs.h. */
90045 +#include <math.h>
90046 + #ifdef HAVE_IEEEFP_H
90047 + #include <ieeefp.h>
90048 + #endif
90050 +int
90051 +main ()
90053 + qfpclass(0);
90055 + return 0;
90057 +_ACEOF
90058 +if ac_fn_cxx_try_compile "$LINENO"; then :
90059 + glibcxx_cv_func_qfpclass_use=yes
90060 +else
90061 + glibcxx_cv_func_qfpclass_use=no
90063 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90064 + ac_ext=c
90065 +ac_cpp='$CPP $CPPFLAGS'
90066 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90067 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90068 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90073 + fi
90074 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
90075 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
90077 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
90078 + for ac_func in qfpclass
90079 +do :
90080 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
90081 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
90082 + cat >>confdefs.h <<_ACEOF
90083 +#define HAVE_QFPCLASS 1
90084 +_ACEOF
90087 +done
90089 + else
90091 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
90092 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
90093 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
90094 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
90095 + $as_echo_n "(cached) " >&6
90096 +else
90099 + ac_ext=cpp
90100 +ac_cpp='$CXXCPP $CPPFLAGS'
90101 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90102 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90103 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90105 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90106 +/* end confdefs.h. */
90107 +#include <math.h>
90108 + #ifdef HAVE_IEEEFP_H
90109 + #include <ieeefp.h>
90110 + #endif
90112 +int
90113 +main ()
90115 + _qfpclass(0);
90117 + return 0;
90119 +_ACEOF
90120 +if ac_fn_cxx_try_compile "$LINENO"; then :
90121 + glibcxx_cv_func__qfpclass_use=yes
90122 +else
90123 + glibcxx_cv_func__qfpclass_use=no
90125 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90126 + ac_ext=c
90127 +ac_cpp='$CPP $CPPFLAGS'
90128 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90129 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90130 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90135 + fi
90136 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
90137 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
90139 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
90140 + for ac_func in _qfpclass
90141 +do :
90142 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
90143 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
90144 + cat >>confdefs.h <<_ACEOF
90145 +#define HAVE__QFPCLASS 1
90146 +_ACEOF
90149 +done
90151 + fi
90152 + fi
90158 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
90159 +$as_echo_n "checking for hypot declaration... " >&6; }
90160 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
90161 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
90162 + $as_echo_n "(cached) " >&6
90163 +else
90166 + ac_ext=cpp
90167 +ac_cpp='$CXXCPP $CPPFLAGS'
90168 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90169 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90170 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90172 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90173 +/* end confdefs.h. */
90174 +#include <math.h>
90175 +int
90176 +main ()
90178 + hypot(0, 0);
90180 + return 0;
90182 +_ACEOF
90183 +if ac_fn_cxx_try_compile "$LINENO"; then :
90184 + glibcxx_cv_func_hypot_use=yes
90185 +else
90186 + glibcxx_cv_func_hypot_use=no
90188 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90189 + ac_ext=c
90190 +ac_cpp='$CPP $CPPFLAGS'
90191 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90192 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90193 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90198 + fi
90199 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
90200 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
90202 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
90203 + for ac_func in hypot
90204 +do :
90205 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
90206 +if test "x$ac_cv_func_hypot" = x""yes; then :
90207 + cat >>confdefs.h <<_ACEOF
90208 +#define HAVE_HYPOT 1
90209 +_ACEOF
90212 +done
90214 + else
90216 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
90217 +$as_echo_n "checking for _hypot declaration... " >&6; }
90218 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
90219 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
90220 + $as_echo_n "(cached) " >&6
90221 +else
90224 + ac_ext=cpp
90225 +ac_cpp='$CXXCPP $CPPFLAGS'
90226 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90227 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90228 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90230 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90231 +/* end confdefs.h. */
90232 +#include <math.h>
90233 +int
90234 +main ()
90236 + _hypot(0, 0);
90238 + return 0;
90240 +_ACEOF
90241 +if ac_fn_cxx_try_compile "$LINENO"; then :
90242 + glibcxx_cv_func__hypot_use=yes
90243 +else
90244 + glibcxx_cv_func__hypot_use=no
90246 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90247 + ac_ext=c
90248 +ac_cpp='$CPP $CPPFLAGS'
90249 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90250 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90251 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90256 + fi
90257 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
90258 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
90260 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
90261 + for ac_func in _hypot
90262 +do :
90263 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
90264 +if test "x$ac_cv_func__hypot" = x""yes; then :
90265 + cat >>confdefs.h <<_ACEOF
90266 +#define HAVE__HYPOT 1
90267 +_ACEOF
90270 +done
90272 + fi
90273 + fi
90279 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
90280 +$as_echo_n "checking for float trig functions... " >&6; }
90281 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
90282 + $as_echo_n "(cached) " >&6
90283 +else
90286 + ac_ext=cpp
90287 +ac_cpp='$CXXCPP $CPPFLAGS'
90288 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90289 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90290 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90292 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90293 +/* end confdefs.h. */
90294 +#include <math.h>
90295 +int
90296 +main ()
90298 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
90300 + return 0;
90302 +_ACEOF
90303 +if ac_fn_cxx_try_compile "$LINENO"; then :
90304 + glibcxx_cv_func_float_trig_use=yes
90305 +else
90306 + glibcxx_cv_func_float_trig_use=no
90308 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90309 + ac_ext=c
90310 +ac_cpp='$CPP $CPPFLAGS'
90311 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90312 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90313 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90317 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
90318 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
90319 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
90320 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
90321 +do :
90322 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
90323 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
90324 +eval as_val=\$$as_ac_var
90325 + if test "x$as_val" = x""yes; then :
90326 + cat >>confdefs.h <<_ACEOF
90327 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
90328 +_ACEOF
90331 +done
90333 + else
90334 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
90335 +$as_echo_n "checking for _float trig functions... " >&6; }
90336 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
90337 + $as_echo_n "(cached) " >&6
90338 +else
90341 + ac_ext=cpp
90342 +ac_cpp='$CXXCPP $CPPFLAGS'
90343 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90344 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90345 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90347 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90348 +/* end confdefs.h. */
90349 +#include <math.h>
90350 +int
90351 +main ()
90353 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
90355 + return 0;
90357 +_ACEOF
90358 +if ac_fn_cxx_try_compile "$LINENO"; then :
90359 + glibcxx_cv_func__float_trig_use=yes
90360 +else
90361 + glibcxx_cv_func__float_trig_use=no
90363 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90364 + ac_ext=c
90365 +ac_cpp='$CPP $CPPFLAGS'
90366 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90367 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90368 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90372 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
90373 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
90374 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
90375 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
90376 +do :
90377 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
90378 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
90379 +eval as_val=\$$as_ac_var
90380 + if test "x$as_val" = x""yes; then :
90381 + cat >>confdefs.h <<_ACEOF
90382 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
90383 +_ACEOF
90386 +done
90388 + fi
90389 + fi
90395 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
90396 +$as_echo_n "checking for float round functions... " >&6; }
90397 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
90398 + $as_echo_n "(cached) " >&6
90399 +else
90402 + ac_ext=cpp
90403 +ac_cpp='$CXXCPP $CPPFLAGS'
90404 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90405 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90406 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90408 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90409 +/* end confdefs.h. */
90410 +#include <math.h>
90411 +int
90412 +main ()
90414 +ceilf (0); floorf (0);
90416 + return 0;
90418 +_ACEOF
90419 +if ac_fn_cxx_try_compile "$LINENO"; then :
90420 + glibcxx_cv_func_float_round_use=yes
90421 +else
90422 + glibcxx_cv_func_float_round_use=no
90424 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90425 + ac_ext=c
90426 +ac_cpp='$CPP $CPPFLAGS'
90427 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90428 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90429 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90433 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
90434 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
90435 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
90436 + for ac_func in ceilf floorf
90437 +do :
90438 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
90439 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
90440 +eval as_val=\$$as_ac_var
90441 + if test "x$as_val" = x""yes; then :
90442 + cat >>confdefs.h <<_ACEOF
90443 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
90444 +_ACEOF
90447 +done
90449 + else
90450 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
90451 +$as_echo_n "checking for _float round functions... " >&6; }
90452 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
90453 + $as_echo_n "(cached) " >&6
90454 +else
90457 + ac_ext=cpp
90458 +ac_cpp='$CXXCPP $CPPFLAGS'
90459 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90460 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90461 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90463 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90464 +/* end confdefs.h. */
90465 +#include <math.h>
90466 +int
90467 +main ()
90469 +_ceilf (0); _floorf (0);
90471 + return 0;
90473 +_ACEOF
90474 +if ac_fn_cxx_try_compile "$LINENO"; then :
90475 + glibcxx_cv_func__float_round_use=yes
90476 +else
90477 + glibcxx_cv_func__float_round_use=no
90479 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90480 + ac_ext=c
90481 +ac_cpp='$CPP $CPPFLAGS'
90482 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90483 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90484 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90488 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
90489 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
90490 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
90491 + for ac_func in _ceilf _floorf
90492 +do :
90493 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
90494 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
90495 +eval as_val=\$$as_ac_var
90496 + if test "x$as_val" = x""yes; then :
90497 + cat >>confdefs.h <<_ACEOF
90498 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
90499 +_ACEOF
90502 +done
90504 + fi
90505 + fi
90512 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
90513 +$as_echo_n "checking for expf declaration... " >&6; }
90514 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
90515 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
90516 + $as_echo_n "(cached) " >&6
90517 +else
90520 + ac_ext=cpp
90521 +ac_cpp='$CXXCPP $CPPFLAGS'
90522 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90523 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90524 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90526 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90527 +/* end confdefs.h. */
90528 +#include <math.h>
90529 + #ifdef HAVE_IEEEFP_H
90530 + #include <ieeefp.h>
90531 + #endif
90533 +int
90534 +main ()
90536 + expf(0);
90538 + return 0;
90540 +_ACEOF
90541 +if ac_fn_cxx_try_compile "$LINENO"; then :
90542 + glibcxx_cv_func_expf_use=yes
90543 +else
90544 + glibcxx_cv_func_expf_use=no
90546 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90547 + ac_ext=c
90548 +ac_cpp='$CPP $CPPFLAGS'
90549 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90550 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90551 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90556 + fi
90557 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
90558 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
90560 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
90561 + for ac_func in expf
90562 +do :
90563 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
90564 +if test "x$ac_cv_func_expf" = x""yes; then :
90565 + cat >>confdefs.h <<_ACEOF
90566 +#define HAVE_EXPF 1
90567 +_ACEOF
90570 +done
90572 + else
90574 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
90575 +$as_echo_n "checking for _expf declaration... " >&6; }
90576 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
90577 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
90578 + $as_echo_n "(cached) " >&6
90579 +else
90582 + ac_ext=cpp
90583 +ac_cpp='$CXXCPP $CPPFLAGS'
90584 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90585 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90586 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90588 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90589 +/* end confdefs.h. */
90590 +#include <math.h>
90591 + #ifdef HAVE_IEEEFP_H
90592 + #include <ieeefp.h>
90593 + #endif
90595 +int
90596 +main ()
90598 + _expf(0);
90600 + return 0;
90602 +_ACEOF
90603 +if ac_fn_cxx_try_compile "$LINENO"; then :
90604 + glibcxx_cv_func__expf_use=yes
90605 +else
90606 + glibcxx_cv_func__expf_use=no
90608 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90609 + ac_ext=c
90610 +ac_cpp='$CPP $CPPFLAGS'
90611 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90612 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90613 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90618 + fi
90619 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
90620 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
90622 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
90623 + for ac_func in _expf
90624 +do :
90625 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
90626 +if test "x$ac_cv_func__expf" = x""yes; then :
90627 + cat >>confdefs.h <<_ACEOF
90628 +#define HAVE__EXPF 1
90629 +_ACEOF
90632 +done
90634 + fi
90635 + fi
90641 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
90642 +$as_echo_n "checking for isnanf declaration... " >&6; }
90643 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
90644 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
90645 + $as_echo_n "(cached) " >&6
90646 +else
90649 + ac_ext=cpp
90650 +ac_cpp='$CXXCPP $CPPFLAGS'
90651 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90652 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90653 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90655 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90656 +/* end confdefs.h. */
90657 +#include <math.h>
90658 + #ifdef HAVE_IEEEFP_H
90659 + #include <ieeefp.h>
90660 + #endif
90662 +int
90663 +main ()
90665 + isnanf(0);
90667 + return 0;
90669 +_ACEOF
90670 +if ac_fn_cxx_try_compile "$LINENO"; then :
90671 + glibcxx_cv_func_isnanf_use=yes
90672 +else
90673 + glibcxx_cv_func_isnanf_use=no
90675 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90676 + ac_ext=c
90677 +ac_cpp='$CPP $CPPFLAGS'
90678 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90679 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90680 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90685 + fi
90686 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
90687 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
90689 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
90690 + for ac_func in isnanf
90691 +do :
90692 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
90693 +if test "x$ac_cv_func_isnanf" = x""yes; then :
90694 + cat >>confdefs.h <<_ACEOF
90695 +#define HAVE_ISNANF 1
90696 +_ACEOF
90699 +done
90701 + else
90703 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
90704 +$as_echo_n "checking for _isnanf declaration... " >&6; }
90705 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
90706 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
90707 + $as_echo_n "(cached) " >&6
90708 +else
90711 + ac_ext=cpp
90712 +ac_cpp='$CXXCPP $CPPFLAGS'
90713 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90714 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90715 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90717 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90718 +/* end confdefs.h. */
90719 +#include <math.h>
90720 + #ifdef HAVE_IEEEFP_H
90721 + #include <ieeefp.h>
90722 + #endif
90724 +int
90725 +main ()
90727 + _isnanf(0);
90729 + return 0;
90731 +_ACEOF
90732 +if ac_fn_cxx_try_compile "$LINENO"; then :
90733 + glibcxx_cv_func__isnanf_use=yes
90734 +else
90735 + glibcxx_cv_func__isnanf_use=no
90737 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90738 + ac_ext=c
90739 +ac_cpp='$CPP $CPPFLAGS'
90740 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90741 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90742 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90747 + fi
90748 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
90749 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
90751 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
90752 + for ac_func in _isnanf
90753 +do :
90754 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
90755 +if test "x$ac_cv_func__isnanf" = x""yes; then :
90756 + cat >>confdefs.h <<_ACEOF
90757 +#define HAVE__ISNANF 1
90758 +_ACEOF
90761 +done
90763 + fi
90764 + fi
90770 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
90771 +$as_echo_n "checking for isinff declaration... " >&6; }
90772 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
90773 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
90774 + $as_echo_n "(cached) " >&6
90775 +else
90778 + ac_ext=cpp
90779 +ac_cpp='$CXXCPP $CPPFLAGS'
90780 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90781 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90782 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90784 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90785 +/* end confdefs.h. */
90786 +#include <math.h>
90787 + #ifdef HAVE_IEEEFP_H
90788 + #include <ieeefp.h>
90789 + #endif
90791 +int
90792 +main ()
90794 + isinff(0);
90796 + return 0;
90798 +_ACEOF
90799 +if ac_fn_cxx_try_compile "$LINENO"; then :
90800 + glibcxx_cv_func_isinff_use=yes
90801 +else
90802 + glibcxx_cv_func_isinff_use=no
90804 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90805 + ac_ext=c
90806 +ac_cpp='$CPP $CPPFLAGS'
90807 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90808 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90809 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90814 + fi
90815 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
90816 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
90818 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
90819 + for ac_func in isinff
90820 +do :
90821 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
90822 +if test "x$ac_cv_func_isinff" = x""yes; then :
90823 + cat >>confdefs.h <<_ACEOF
90824 +#define HAVE_ISINFF 1
90825 +_ACEOF
90828 +done
90830 + else
90832 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
90833 +$as_echo_n "checking for _isinff declaration... " >&6; }
90834 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
90835 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
90836 + $as_echo_n "(cached) " >&6
90837 +else
90840 + ac_ext=cpp
90841 +ac_cpp='$CXXCPP $CPPFLAGS'
90842 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90843 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90844 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90846 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90847 +/* end confdefs.h. */
90848 +#include <math.h>
90849 + #ifdef HAVE_IEEEFP_H
90850 + #include <ieeefp.h>
90851 + #endif
90853 +int
90854 +main ()
90856 + _isinff(0);
90858 + return 0;
90860 +_ACEOF
90861 +if ac_fn_cxx_try_compile "$LINENO"; then :
90862 + glibcxx_cv_func__isinff_use=yes
90863 +else
90864 + glibcxx_cv_func__isinff_use=no
90866 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90867 + ac_ext=c
90868 +ac_cpp='$CPP $CPPFLAGS'
90869 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90870 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90871 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90876 + fi
90877 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
90878 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
90880 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
90881 + for ac_func in _isinff
90882 +do :
90883 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
90884 +if test "x$ac_cv_func__isinff" = x""yes; then :
90885 + cat >>confdefs.h <<_ACEOF
90886 +#define HAVE__ISINFF 1
90887 +_ACEOF
90890 +done
90892 + fi
90893 + fi
90899 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
90900 +$as_echo_n "checking for atan2f declaration... " >&6; }
90901 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
90902 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
90903 + $as_echo_n "(cached) " >&6
90904 +else
90907 + ac_ext=cpp
90908 +ac_cpp='$CXXCPP $CPPFLAGS'
90909 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90910 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90911 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90913 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90914 +/* end confdefs.h. */
90915 +#include <math.h>
90916 +int
90917 +main ()
90919 + atan2f(0, 0);
90921 + return 0;
90923 +_ACEOF
90924 +if ac_fn_cxx_try_compile "$LINENO"; then :
90925 + glibcxx_cv_func_atan2f_use=yes
90926 +else
90927 + glibcxx_cv_func_atan2f_use=no
90929 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90930 + ac_ext=c
90931 +ac_cpp='$CPP $CPPFLAGS'
90932 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90933 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90934 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90939 + fi
90940 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
90941 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
90943 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
90944 + for ac_func in atan2f
90945 +do :
90946 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
90947 +if test "x$ac_cv_func_atan2f" = x""yes; then :
90948 + cat >>confdefs.h <<_ACEOF
90949 +#define HAVE_ATAN2F 1
90950 +_ACEOF
90953 +done
90955 + else
90957 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
90958 +$as_echo_n "checking for _atan2f declaration... " >&6; }
90959 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
90960 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
90961 + $as_echo_n "(cached) " >&6
90962 +else
90965 + ac_ext=cpp
90966 +ac_cpp='$CXXCPP $CPPFLAGS'
90967 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90968 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90969 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
90971 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
90972 +/* end confdefs.h. */
90973 +#include <math.h>
90974 +int
90975 +main ()
90977 + _atan2f(0, 0);
90979 + return 0;
90981 +_ACEOF
90982 +if ac_fn_cxx_try_compile "$LINENO"; then :
90983 + glibcxx_cv_func__atan2f_use=yes
90984 +else
90985 + glibcxx_cv_func__atan2f_use=no
90987 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90988 + ac_ext=c
90989 +ac_cpp='$CPP $CPPFLAGS'
90990 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
90991 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
90992 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
90997 + fi
90998 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
90999 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
91001 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
91002 + for ac_func in _atan2f
91003 +do :
91004 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
91005 +if test "x$ac_cv_func__atan2f" = x""yes; then :
91006 + cat >>confdefs.h <<_ACEOF
91007 +#define HAVE__ATAN2F 1
91008 +_ACEOF
91011 +done
91013 + fi
91014 + fi
91020 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
91021 +$as_echo_n "checking for fabsf declaration... " >&6; }
91022 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
91023 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
91024 + $as_echo_n "(cached) " >&6
91025 +else
91028 + ac_ext=cpp
91029 +ac_cpp='$CXXCPP $CPPFLAGS'
91030 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91031 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91032 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91034 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91035 +/* end confdefs.h. */
91036 +#include <math.h>
91037 + #ifdef HAVE_IEEEFP_H
91038 + #include <ieeefp.h>
91039 + #endif
91041 +int
91042 +main ()
91044 + fabsf(0);
91046 + return 0;
91048 +_ACEOF
91049 +if ac_fn_cxx_try_compile "$LINENO"; then :
91050 + glibcxx_cv_func_fabsf_use=yes
91051 +else
91052 + glibcxx_cv_func_fabsf_use=no
91054 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91055 + ac_ext=c
91056 +ac_cpp='$CPP $CPPFLAGS'
91057 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91058 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91059 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91064 + fi
91065 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
91066 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
91068 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
91069 + for ac_func in fabsf
91070 +do :
91071 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
91072 +if test "x$ac_cv_func_fabsf" = x""yes; then :
91073 + cat >>confdefs.h <<_ACEOF
91074 +#define HAVE_FABSF 1
91075 +_ACEOF
91078 +done
91080 + else
91082 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
91083 +$as_echo_n "checking for _fabsf declaration... " >&6; }
91084 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
91085 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
91086 + $as_echo_n "(cached) " >&6
91087 +else
91090 + ac_ext=cpp
91091 +ac_cpp='$CXXCPP $CPPFLAGS'
91092 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91093 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91094 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91096 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91097 +/* end confdefs.h. */
91098 +#include <math.h>
91099 + #ifdef HAVE_IEEEFP_H
91100 + #include <ieeefp.h>
91101 + #endif
91103 +int
91104 +main ()
91106 + _fabsf(0);
91108 + return 0;
91110 +_ACEOF
91111 +if ac_fn_cxx_try_compile "$LINENO"; then :
91112 + glibcxx_cv_func__fabsf_use=yes
91113 +else
91114 + glibcxx_cv_func__fabsf_use=no
91116 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91117 + ac_ext=c
91118 +ac_cpp='$CPP $CPPFLAGS'
91119 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91120 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91121 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91126 + fi
91127 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
91128 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
91130 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
91131 + for ac_func in _fabsf
91132 +do :
91133 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
91134 +if test "x$ac_cv_func__fabsf" = x""yes; then :
91135 + cat >>confdefs.h <<_ACEOF
91136 +#define HAVE__FABSF 1
91137 +_ACEOF
91140 +done
91142 + fi
91143 + fi
91149 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
91150 +$as_echo_n "checking for fmodf declaration... " >&6; }
91151 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
91152 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
91153 + $as_echo_n "(cached) " >&6
91154 +else
91157 + ac_ext=cpp
91158 +ac_cpp='$CXXCPP $CPPFLAGS'
91159 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91160 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91161 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91163 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91164 +/* end confdefs.h. */
91165 +#include <math.h>
91166 +int
91167 +main ()
91169 + fmodf(0, 0);
91171 + return 0;
91173 +_ACEOF
91174 +if ac_fn_cxx_try_compile "$LINENO"; then :
91175 + glibcxx_cv_func_fmodf_use=yes
91176 +else
91177 + glibcxx_cv_func_fmodf_use=no
91179 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91180 + ac_ext=c
91181 +ac_cpp='$CPP $CPPFLAGS'
91182 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91183 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91184 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91189 + fi
91190 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
91191 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
91193 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
91194 + for ac_func in fmodf
91195 +do :
91196 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
91197 +if test "x$ac_cv_func_fmodf" = x""yes; then :
91198 + cat >>confdefs.h <<_ACEOF
91199 +#define HAVE_FMODF 1
91200 +_ACEOF
91203 +done
91205 + else
91207 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
91208 +$as_echo_n "checking for _fmodf declaration... " >&6; }
91209 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
91210 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
91211 + $as_echo_n "(cached) " >&6
91212 +else
91215 + ac_ext=cpp
91216 +ac_cpp='$CXXCPP $CPPFLAGS'
91217 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91218 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91219 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91221 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91222 +/* end confdefs.h. */
91223 +#include <math.h>
91224 +int
91225 +main ()
91227 + _fmodf(0, 0);
91229 + return 0;
91231 +_ACEOF
91232 +if ac_fn_cxx_try_compile "$LINENO"; then :
91233 + glibcxx_cv_func__fmodf_use=yes
91234 +else
91235 + glibcxx_cv_func__fmodf_use=no
91237 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91238 + ac_ext=c
91239 +ac_cpp='$CPP $CPPFLAGS'
91240 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91241 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91242 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91247 + fi
91248 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
91249 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
91251 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
91252 + for ac_func in _fmodf
91253 +do :
91254 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
91255 +if test "x$ac_cv_func__fmodf" = x""yes; then :
91256 + cat >>confdefs.h <<_ACEOF
91257 +#define HAVE__FMODF 1
91258 +_ACEOF
91261 +done
91263 + fi
91264 + fi
91270 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
91271 +$as_echo_n "checking for frexpf declaration... " >&6; }
91272 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
91273 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
91274 + $as_echo_n "(cached) " >&6
91275 +else
91278 + ac_ext=cpp
91279 +ac_cpp='$CXXCPP $CPPFLAGS'
91280 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91281 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91282 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91284 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91285 +/* end confdefs.h. */
91286 +#include <math.h>
91287 +int
91288 +main ()
91290 + frexpf(0, 0);
91292 + return 0;
91294 +_ACEOF
91295 +if ac_fn_cxx_try_compile "$LINENO"; then :
91296 + glibcxx_cv_func_frexpf_use=yes
91297 +else
91298 + glibcxx_cv_func_frexpf_use=no
91300 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91301 + ac_ext=c
91302 +ac_cpp='$CPP $CPPFLAGS'
91303 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91304 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91305 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91310 + fi
91311 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
91312 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
91314 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
91315 + for ac_func in frexpf
91316 +do :
91317 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
91318 +if test "x$ac_cv_func_frexpf" = x""yes; then :
91319 + cat >>confdefs.h <<_ACEOF
91320 +#define HAVE_FREXPF 1
91321 +_ACEOF
91324 +done
91326 + else
91328 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
91329 +$as_echo_n "checking for _frexpf declaration... " >&6; }
91330 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
91331 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
91332 + $as_echo_n "(cached) " >&6
91333 +else
91336 + ac_ext=cpp
91337 +ac_cpp='$CXXCPP $CPPFLAGS'
91338 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91339 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91340 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91342 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91343 +/* end confdefs.h. */
91344 +#include <math.h>
91345 +int
91346 +main ()
91348 + _frexpf(0, 0);
91350 + return 0;
91352 +_ACEOF
91353 +if ac_fn_cxx_try_compile "$LINENO"; then :
91354 + glibcxx_cv_func__frexpf_use=yes
91355 +else
91356 + glibcxx_cv_func__frexpf_use=no
91358 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91359 + ac_ext=c
91360 +ac_cpp='$CPP $CPPFLAGS'
91361 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91362 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91363 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91368 + fi
91369 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
91370 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
91372 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
91373 + for ac_func in _frexpf
91374 +do :
91375 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
91376 +if test "x$ac_cv_func__frexpf" = x""yes; then :
91377 + cat >>confdefs.h <<_ACEOF
91378 +#define HAVE__FREXPF 1
91379 +_ACEOF
91382 +done
91384 + fi
91385 + fi
91391 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
91392 +$as_echo_n "checking for hypotf declaration... " >&6; }
91393 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
91394 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
91395 + $as_echo_n "(cached) " >&6
91396 +else
91399 + ac_ext=cpp
91400 +ac_cpp='$CXXCPP $CPPFLAGS'
91401 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91402 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91403 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91405 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91406 +/* end confdefs.h. */
91407 +#include <math.h>
91408 +int
91409 +main ()
91411 + hypotf(0, 0);
91413 + return 0;
91415 +_ACEOF
91416 +if ac_fn_cxx_try_compile "$LINENO"; then :
91417 + glibcxx_cv_func_hypotf_use=yes
91418 +else
91419 + glibcxx_cv_func_hypotf_use=no
91421 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91422 + ac_ext=c
91423 +ac_cpp='$CPP $CPPFLAGS'
91424 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91425 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91426 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91431 + fi
91432 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
91433 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
91435 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
91436 + for ac_func in hypotf
91437 +do :
91438 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
91439 +if test "x$ac_cv_func_hypotf" = x""yes; then :
91440 + cat >>confdefs.h <<_ACEOF
91441 +#define HAVE_HYPOTF 1
91442 +_ACEOF
91445 +done
91447 + else
91449 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
91450 +$as_echo_n "checking for _hypotf declaration... " >&6; }
91451 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
91452 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
91453 + $as_echo_n "(cached) " >&6
91454 +else
91457 + ac_ext=cpp
91458 +ac_cpp='$CXXCPP $CPPFLAGS'
91459 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91460 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91461 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91463 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91464 +/* end confdefs.h. */
91465 +#include <math.h>
91466 +int
91467 +main ()
91469 + _hypotf(0, 0);
91471 + return 0;
91473 +_ACEOF
91474 +if ac_fn_cxx_try_compile "$LINENO"; then :
91475 + glibcxx_cv_func__hypotf_use=yes
91476 +else
91477 + glibcxx_cv_func__hypotf_use=no
91479 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91480 + ac_ext=c
91481 +ac_cpp='$CPP $CPPFLAGS'
91482 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91483 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91484 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91489 + fi
91490 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
91491 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
91493 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
91494 + for ac_func in _hypotf
91495 +do :
91496 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
91497 +if test "x$ac_cv_func__hypotf" = x""yes; then :
91498 + cat >>confdefs.h <<_ACEOF
91499 +#define HAVE__HYPOTF 1
91500 +_ACEOF
91503 +done
91505 + fi
91506 + fi
91512 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
91513 +$as_echo_n "checking for ldexpf declaration... " >&6; }
91514 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
91515 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
91516 + $as_echo_n "(cached) " >&6
91517 +else
91520 + ac_ext=cpp
91521 +ac_cpp='$CXXCPP $CPPFLAGS'
91522 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91523 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91524 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91526 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91527 +/* end confdefs.h. */
91528 +#include <math.h>
91529 +int
91530 +main ()
91532 + ldexpf(0, 0);
91534 + return 0;
91536 +_ACEOF
91537 +if ac_fn_cxx_try_compile "$LINENO"; then :
91538 + glibcxx_cv_func_ldexpf_use=yes
91539 +else
91540 + glibcxx_cv_func_ldexpf_use=no
91542 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91543 + ac_ext=c
91544 +ac_cpp='$CPP $CPPFLAGS'
91545 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91546 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91547 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91552 + fi
91553 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
91554 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
91556 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
91557 + for ac_func in ldexpf
91558 +do :
91559 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
91560 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
91561 + cat >>confdefs.h <<_ACEOF
91562 +#define HAVE_LDEXPF 1
91563 +_ACEOF
91566 +done
91568 + else
91570 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
91571 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
91572 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
91573 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
91574 + $as_echo_n "(cached) " >&6
91575 +else
91578 + ac_ext=cpp
91579 +ac_cpp='$CXXCPP $CPPFLAGS'
91580 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91581 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91582 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91584 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91585 +/* end confdefs.h. */
91586 +#include <math.h>
91587 +int
91588 +main ()
91590 + _ldexpf(0, 0);
91592 + return 0;
91594 +_ACEOF
91595 +if ac_fn_cxx_try_compile "$LINENO"; then :
91596 + glibcxx_cv_func__ldexpf_use=yes
91597 +else
91598 + glibcxx_cv_func__ldexpf_use=no
91600 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91601 + ac_ext=c
91602 +ac_cpp='$CPP $CPPFLAGS'
91603 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91604 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91605 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91610 + fi
91611 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
91612 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
91614 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
91615 + for ac_func in _ldexpf
91616 +do :
91617 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
91618 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
91619 + cat >>confdefs.h <<_ACEOF
91620 +#define HAVE__LDEXPF 1
91621 +_ACEOF
91624 +done
91626 + fi
91627 + fi
91633 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
91634 +$as_echo_n "checking for logf declaration... " >&6; }
91635 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
91636 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
91637 + $as_echo_n "(cached) " >&6
91638 +else
91641 + ac_ext=cpp
91642 +ac_cpp='$CXXCPP $CPPFLAGS'
91643 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91644 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91645 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91647 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91648 +/* end confdefs.h. */
91649 +#include <math.h>
91650 + #ifdef HAVE_IEEEFP_H
91651 + #include <ieeefp.h>
91652 + #endif
91654 +int
91655 +main ()
91657 + logf(0);
91659 + return 0;
91661 +_ACEOF
91662 +if ac_fn_cxx_try_compile "$LINENO"; then :
91663 + glibcxx_cv_func_logf_use=yes
91664 +else
91665 + glibcxx_cv_func_logf_use=no
91667 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91668 + ac_ext=c
91669 +ac_cpp='$CPP $CPPFLAGS'
91670 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91671 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91672 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91677 + fi
91678 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
91679 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
91681 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
91682 + for ac_func in logf
91683 +do :
91684 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
91685 +if test "x$ac_cv_func_logf" = x""yes; then :
91686 + cat >>confdefs.h <<_ACEOF
91687 +#define HAVE_LOGF 1
91688 +_ACEOF
91691 +done
91693 + else
91695 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
91696 +$as_echo_n "checking for _logf declaration... " >&6; }
91697 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
91698 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
91699 + $as_echo_n "(cached) " >&6
91700 +else
91703 + ac_ext=cpp
91704 +ac_cpp='$CXXCPP $CPPFLAGS'
91705 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91706 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91707 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91709 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91710 +/* end confdefs.h. */
91711 +#include <math.h>
91712 + #ifdef HAVE_IEEEFP_H
91713 + #include <ieeefp.h>
91714 + #endif
91716 +int
91717 +main ()
91719 + _logf(0);
91721 + return 0;
91723 +_ACEOF
91724 +if ac_fn_cxx_try_compile "$LINENO"; then :
91725 + glibcxx_cv_func__logf_use=yes
91726 +else
91727 + glibcxx_cv_func__logf_use=no
91729 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91730 + ac_ext=c
91731 +ac_cpp='$CPP $CPPFLAGS'
91732 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91733 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91734 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91739 + fi
91740 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
91741 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
91743 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
91744 + for ac_func in _logf
91745 +do :
91746 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
91747 +if test "x$ac_cv_func__logf" = x""yes; then :
91748 + cat >>confdefs.h <<_ACEOF
91749 +#define HAVE__LOGF 1
91750 +_ACEOF
91753 +done
91755 + fi
91756 + fi
91762 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
91763 +$as_echo_n "checking for log10f declaration... " >&6; }
91764 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
91765 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
91766 + $as_echo_n "(cached) " >&6
91767 +else
91770 + ac_ext=cpp
91771 +ac_cpp='$CXXCPP $CPPFLAGS'
91772 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91773 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91774 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91776 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91777 +/* end confdefs.h. */
91778 +#include <math.h>
91779 + #ifdef HAVE_IEEEFP_H
91780 + #include <ieeefp.h>
91781 + #endif
91783 +int
91784 +main ()
91786 + log10f(0);
91788 + return 0;
91790 +_ACEOF
91791 +if ac_fn_cxx_try_compile "$LINENO"; then :
91792 + glibcxx_cv_func_log10f_use=yes
91793 +else
91794 + glibcxx_cv_func_log10f_use=no
91796 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91797 + ac_ext=c
91798 +ac_cpp='$CPP $CPPFLAGS'
91799 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91800 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91801 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91806 + fi
91807 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
91808 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
91810 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
91811 + for ac_func in log10f
91812 +do :
91813 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
91814 +if test "x$ac_cv_func_log10f" = x""yes; then :
91815 + cat >>confdefs.h <<_ACEOF
91816 +#define HAVE_LOG10F 1
91817 +_ACEOF
91820 +done
91822 + else
91824 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
91825 +$as_echo_n "checking for _log10f declaration... " >&6; }
91826 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
91827 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
91828 + $as_echo_n "(cached) " >&6
91829 +else
91832 + ac_ext=cpp
91833 +ac_cpp='$CXXCPP $CPPFLAGS'
91834 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91835 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91836 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91838 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91839 +/* end confdefs.h. */
91840 +#include <math.h>
91841 + #ifdef HAVE_IEEEFP_H
91842 + #include <ieeefp.h>
91843 + #endif
91845 +int
91846 +main ()
91848 + _log10f(0);
91850 + return 0;
91852 +_ACEOF
91853 +if ac_fn_cxx_try_compile "$LINENO"; then :
91854 + glibcxx_cv_func__log10f_use=yes
91855 +else
91856 + glibcxx_cv_func__log10f_use=no
91858 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91859 + ac_ext=c
91860 +ac_cpp='$CPP $CPPFLAGS'
91861 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91862 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91863 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91868 + fi
91869 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
91870 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
91872 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
91873 + for ac_func in _log10f
91874 +do :
91875 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
91876 +if test "x$ac_cv_func__log10f" = x""yes; then :
91877 + cat >>confdefs.h <<_ACEOF
91878 +#define HAVE__LOG10F 1
91879 +_ACEOF
91882 +done
91884 + fi
91885 + fi
91891 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
91892 +$as_echo_n "checking for modff declaration... " >&6; }
91893 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
91894 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
91895 + $as_echo_n "(cached) " >&6
91896 +else
91899 + ac_ext=cpp
91900 +ac_cpp='$CXXCPP $CPPFLAGS'
91901 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91902 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91903 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91905 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91906 +/* end confdefs.h. */
91907 +#include <math.h>
91908 +int
91909 +main ()
91911 + modff(0, 0);
91913 + return 0;
91915 +_ACEOF
91916 +if ac_fn_cxx_try_compile "$LINENO"; then :
91917 + glibcxx_cv_func_modff_use=yes
91918 +else
91919 + glibcxx_cv_func_modff_use=no
91921 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91922 + ac_ext=c
91923 +ac_cpp='$CPP $CPPFLAGS'
91924 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91925 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91926 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91931 + fi
91932 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
91933 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
91935 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
91936 + for ac_func in modff
91937 +do :
91938 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
91939 +if test "x$ac_cv_func_modff" = x""yes; then :
91940 + cat >>confdefs.h <<_ACEOF
91941 +#define HAVE_MODFF 1
91942 +_ACEOF
91945 +done
91947 + else
91949 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
91950 +$as_echo_n "checking for _modff declaration... " >&6; }
91951 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
91952 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
91953 + $as_echo_n "(cached) " >&6
91954 +else
91957 + ac_ext=cpp
91958 +ac_cpp='$CXXCPP $CPPFLAGS'
91959 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91960 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91961 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
91963 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
91964 +/* end confdefs.h. */
91965 +#include <math.h>
91966 +int
91967 +main ()
91969 + _modff(0, 0);
91971 + return 0;
91973 +_ACEOF
91974 +if ac_fn_cxx_try_compile "$LINENO"; then :
91975 + glibcxx_cv_func__modff_use=yes
91976 +else
91977 + glibcxx_cv_func__modff_use=no
91979 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
91980 + ac_ext=c
91981 +ac_cpp='$CPP $CPPFLAGS'
91982 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
91983 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
91984 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
91989 + fi
91990 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
91991 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
91993 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
91994 + for ac_func in _modff
91995 +do :
91996 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
91997 +if test "x$ac_cv_func__modff" = x""yes; then :
91998 + cat >>confdefs.h <<_ACEOF
91999 +#define HAVE__MODFF 1
92000 +_ACEOF
92003 +done
92005 + fi
92006 + fi
92012 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
92013 +$as_echo_n "checking for modf declaration... " >&6; }
92014 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
92015 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
92016 + $as_echo_n "(cached) " >&6
92017 +else
92020 + ac_ext=cpp
92021 +ac_cpp='$CXXCPP $CPPFLAGS'
92022 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92023 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92024 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92026 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92027 +/* end confdefs.h. */
92028 +#include <math.h>
92029 +int
92030 +main ()
92032 + modf(0, 0);
92034 + return 0;
92036 +_ACEOF
92037 +if ac_fn_cxx_try_compile "$LINENO"; then :
92038 + glibcxx_cv_func_modf_use=yes
92039 +else
92040 + glibcxx_cv_func_modf_use=no
92042 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92043 + ac_ext=c
92044 +ac_cpp='$CPP $CPPFLAGS'
92045 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92046 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92047 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92052 + fi
92053 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
92054 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
92056 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
92057 + for ac_func in modf
92058 +do :
92059 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
92060 +if test "x$ac_cv_func_modf" = x""yes; then :
92061 + cat >>confdefs.h <<_ACEOF
92062 +#define HAVE_MODF 1
92063 +_ACEOF
92066 +done
92068 + else
92070 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
92071 +$as_echo_n "checking for _modf declaration... " >&6; }
92072 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
92073 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
92074 + $as_echo_n "(cached) " >&6
92075 +else
92078 + ac_ext=cpp
92079 +ac_cpp='$CXXCPP $CPPFLAGS'
92080 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92081 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92082 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92084 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92085 +/* end confdefs.h. */
92086 +#include <math.h>
92087 +int
92088 +main ()
92090 + _modf(0, 0);
92092 + return 0;
92094 +_ACEOF
92095 +if ac_fn_cxx_try_compile "$LINENO"; then :
92096 + glibcxx_cv_func__modf_use=yes
92097 +else
92098 + glibcxx_cv_func__modf_use=no
92100 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92101 + ac_ext=c
92102 +ac_cpp='$CPP $CPPFLAGS'
92103 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92104 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92105 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92110 + fi
92111 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
92112 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
92114 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
92115 + for ac_func in _modf
92116 +do :
92117 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
92118 +if test "x$ac_cv_func__modf" = x""yes; then :
92119 + cat >>confdefs.h <<_ACEOF
92120 +#define HAVE__MODF 1
92121 +_ACEOF
92124 +done
92126 + fi
92127 + fi
92133 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
92134 +$as_echo_n "checking for powf declaration... " >&6; }
92135 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
92136 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
92137 + $as_echo_n "(cached) " >&6
92138 +else
92141 + ac_ext=cpp
92142 +ac_cpp='$CXXCPP $CPPFLAGS'
92143 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92144 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92145 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92147 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92148 +/* end confdefs.h. */
92149 +#include <math.h>
92150 +int
92151 +main ()
92153 + powf(0, 0);
92155 + return 0;
92157 +_ACEOF
92158 +if ac_fn_cxx_try_compile "$LINENO"; then :
92159 + glibcxx_cv_func_powf_use=yes
92160 +else
92161 + glibcxx_cv_func_powf_use=no
92163 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92164 + ac_ext=c
92165 +ac_cpp='$CPP $CPPFLAGS'
92166 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92167 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92168 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92173 + fi
92174 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
92175 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
92177 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
92178 + for ac_func in powf
92179 +do :
92180 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
92181 +if test "x$ac_cv_func_powf" = x""yes; then :
92182 + cat >>confdefs.h <<_ACEOF
92183 +#define HAVE_POWF 1
92184 +_ACEOF
92187 +done
92189 + else
92191 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
92192 +$as_echo_n "checking for _powf declaration... " >&6; }
92193 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
92194 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
92195 + $as_echo_n "(cached) " >&6
92196 +else
92199 + ac_ext=cpp
92200 +ac_cpp='$CXXCPP $CPPFLAGS'
92201 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92202 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92203 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92205 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92206 +/* end confdefs.h. */
92207 +#include <math.h>
92208 +int
92209 +main ()
92211 + _powf(0, 0);
92213 + return 0;
92215 +_ACEOF
92216 +if ac_fn_cxx_try_compile "$LINENO"; then :
92217 + glibcxx_cv_func__powf_use=yes
92218 +else
92219 + glibcxx_cv_func__powf_use=no
92221 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92222 + ac_ext=c
92223 +ac_cpp='$CPP $CPPFLAGS'
92224 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92225 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92226 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92231 + fi
92232 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
92233 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
92235 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
92236 + for ac_func in _powf
92237 +do :
92238 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
92239 +if test "x$ac_cv_func__powf" = x""yes; then :
92240 + cat >>confdefs.h <<_ACEOF
92241 +#define HAVE__POWF 1
92242 +_ACEOF
92245 +done
92247 + fi
92248 + fi
92254 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
92255 +$as_echo_n "checking for sqrtf declaration... " >&6; }
92256 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
92257 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
92258 + $as_echo_n "(cached) " >&6
92259 +else
92262 + ac_ext=cpp
92263 +ac_cpp='$CXXCPP $CPPFLAGS'
92264 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92265 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92266 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92268 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92269 +/* end confdefs.h. */
92270 +#include <math.h>
92271 + #ifdef HAVE_IEEEFP_H
92272 + #include <ieeefp.h>
92273 + #endif
92275 +int
92276 +main ()
92278 + sqrtf(0);
92280 + return 0;
92282 +_ACEOF
92283 +if ac_fn_cxx_try_compile "$LINENO"; then :
92284 + glibcxx_cv_func_sqrtf_use=yes
92285 +else
92286 + glibcxx_cv_func_sqrtf_use=no
92288 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92289 + ac_ext=c
92290 +ac_cpp='$CPP $CPPFLAGS'
92291 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92292 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92293 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92298 + fi
92299 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
92300 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
92302 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
92303 + for ac_func in sqrtf
92304 +do :
92305 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
92306 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
92307 + cat >>confdefs.h <<_ACEOF
92308 +#define HAVE_SQRTF 1
92309 +_ACEOF
92312 +done
92314 + else
92316 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
92317 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
92318 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
92319 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
92320 + $as_echo_n "(cached) " >&6
92321 +else
92324 + ac_ext=cpp
92325 +ac_cpp='$CXXCPP $CPPFLAGS'
92326 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92327 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92328 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92330 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92331 +/* end confdefs.h. */
92332 +#include <math.h>
92333 + #ifdef HAVE_IEEEFP_H
92334 + #include <ieeefp.h>
92335 + #endif
92337 +int
92338 +main ()
92340 + _sqrtf(0);
92342 + return 0;
92344 +_ACEOF
92345 +if ac_fn_cxx_try_compile "$LINENO"; then :
92346 + glibcxx_cv_func__sqrtf_use=yes
92347 +else
92348 + glibcxx_cv_func__sqrtf_use=no
92350 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92351 + ac_ext=c
92352 +ac_cpp='$CPP $CPPFLAGS'
92353 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92354 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92355 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92360 + fi
92361 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
92362 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
92364 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
92365 + for ac_func in _sqrtf
92366 +do :
92367 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
92368 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
92369 + cat >>confdefs.h <<_ACEOF
92370 +#define HAVE__SQRTF 1
92371 +_ACEOF
92374 +done
92376 + fi
92377 + fi
92383 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
92384 +$as_echo_n "checking for sincosf declaration... " >&6; }
92385 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
92386 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
92387 + $as_echo_n "(cached) " >&6
92388 +else
92391 + ac_ext=cpp
92392 +ac_cpp='$CXXCPP $CPPFLAGS'
92393 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92394 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92395 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92397 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92398 +/* end confdefs.h. */
92399 +#include <math.h>
92400 +int
92401 +main ()
92403 + sincosf(0, 0, 0);
92405 + return 0;
92407 +_ACEOF
92408 +if ac_fn_cxx_try_compile "$LINENO"; then :
92409 + glibcxx_cv_func_sincosf_use=yes
92410 +else
92411 + glibcxx_cv_func_sincosf_use=no
92413 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92414 + ac_ext=c
92415 +ac_cpp='$CPP $CPPFLAGS'
92416 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92417 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92418 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92423 + fi
92424 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
92425 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
92427 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
92428 + for ac_func in sincosf
92429 +do :
92430 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
92431 +if test "x$ac_cv_func_sincosf" = x""yes; then :
92432 + cat >>confdefs.h <<_ACEOF
92433 +#define HAVE_SINCOSF 1
92434 +_ACEOF
92437 +done
92439 + else
92441 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
92442 +$as_echo_n "checking for _sincosf declaration... " >&6; }
92443 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
92444 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
92445 + $as_echo_n "(cached) " >&6
92446 +else
92449 + ac_ext=cpp
92450 +ac_cpp='$CXXCPP $CPPFLAGS'
92451 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92452 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92453 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92455 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92456 +/* end confdefs.h. */
92457 +#include <math.h>
92458 +int
92459 +main ()
92461 + _sincosf(0, 0, 0);
92463 + return 0;
92465 +_ACEOF
92466 +if ac_fn_cxx_try_compile "$LINENO"; then :
92467 + glibcxx_cv_func__sincosf_use=yes
92468 +else
92469 + glibcxx_cv_func__sincosf_use=no
92471 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92472 + ac_ext=c
92473 +ac_cpp='$CPP $CPPFLAGS'
92474 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92475 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92476 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92481 + fi
92482 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
92483 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
92485 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
92486 + for ac_func in _sincosf
92487 +do :
92488 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
92489 +if test "x$ac_cv_func__sincosf" = x""yes; then :
92490 + cat >>confdefs.h <<_ACEOF
92491 +#define HAVE__SINCOSF 1
92492 +_ACEOF
92495 +done
92497 + fi
92498 + fi
92504 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
92505 +$as_echo_n "checking for finitef declaration... " >&6; }
92506 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
92507 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
92508 + $as_echo_n "(cached) " >&6
92509 +else
92512 + ac_ext=cpp
92513 +ac_cpp='$CXXCPP $CPPFLAGS'
92514 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92515 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92516 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92518 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92519 +/* end confdefs.h. */
92520 +#include <math.h>
92521 + #ifdef HAVE_IEEEFP_H
92522 + #include <ieeefp.h>
92523 + #endif
92525 +int
92526 +main ()
92528 + finitef(0);
92530 + return 0;
92532 +_ACEOF
92533 +if ac_fn_cxx_try_compile "$LINENO"; then :
92534 + glibcxx_cv_func_finitef_use=yes
92535 +else
92536 + glibcxx_cv_func_finitef_use=no
92538 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92539 + ac_ext=c
92540 +ac_cpp='$CPP $CPPFLAGS'
92541 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92542 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92543 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92548 + fi
92549 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
92550 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
92552 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
92553 + for ac_func in finitef
92554 +do :
92555 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
92556 +if test "x$ac_cv_func_finitef" = x""yes; then :
92557 + cat >>confdefs.h <<_ACEOF
92558 +#define HAVE_FINITEF 1
92559 +_ACEOF
92562 +done
92564 + else
92566 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
92567 +$as_echo_n "checking for _finitef declaration... " >&6; }
92568 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
92569 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
92570 + $as_echo_n "(cached) " >&6
92571 +else
92574 + ac_ext=cpp
92575 +ac_cpp='$CXXCPP $CPPFLAGS'
92576 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92577 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92578 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92580 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92581 +/* end confdefs.h. */
92582 +#include <math.h>
92583 + #ifdef HAVE_IEEEFP_H
92584 + #include <ieeefp.h>
92585 + #endif
92587 +int
92588 +main ()
92590 + _finitef(0);
92592 + return 0;
92594 +_ACEOF
92595 +if ac_fn_cxx_try_compile "$LINENO"; then :
92596 + glibcxx_cv_func__finitef_use=yes
92597 +else
92598 + glibcxx_cv_func__finitef_use=no
92600 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92601 + ac_ext=c
92602 +ac_cpp='$CPP $CPPFLAGS'
92603 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92604 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92605 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92610 + fi
92611 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
92612 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
92614 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
92615 + for ac_func in _finitef
92616 +do :
92617 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
92618 +if test "x$ac_cv_func__finitef" = x""yes; then :
92619 + cat >>confdefs.h <<_ACEOF
92620 +#define HAVE__FINITEF 1
92621 +_ACEOF
92624 +done
92626 + fi
92627 + fi
92633 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
92634 +$as_echo_n "checking for long double trig functions... " >&6; }
92635 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
92636 + $as_echo_n "(cached) " >&6
92637 +else
92640 + ac_ext=cpp
92641 +ac_cpp='$CXXCPP $CPPFLAGS'
92642 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92643 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92644 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92646 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92647 +/* end confdefs.h. */
92648 +#include <math.h>
92649 +int
92650 +main ()
92652 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
92654 + return 0;
92656 +_ACEOF
92657 +if ac_fn_cxx_try_compile "$LINENO"; then :
92658 + glibcxx_cv_func_long_double_trig_use=yes
92659 +else
92660 + glibcxx_cv_func_long_double_trig_use=no
92662 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92663 + ac_ext=c
92664 +ac_cpp='$CPP $CPPFLAGS'
92665 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92666 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92667 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92671 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
92672 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
92673 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
92674 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
92675 +do :
92676 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
92677 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
92678 +eval as_val=\$$as_ac_var
92679 + if test "x$as_val" = x""yes; then :
92680 + cat >>confdefs.h <<_ACEOF
92681 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
92682 +_ACEOF
92685 +done
92687 + else
92688 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
92689 +$as_echo_n "checking for _long double trig functions... " >&6; }
92690 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
92691 + $as_echo_n "(cached) " >&6
92692 +else
92695 + ac_ext=cpp
92696 +ac_cpp='$CXXCPP $CPPFLAGS'
92697 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92698 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92699 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92701 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92702 +/* end confdefs.h. */
92703 +#include <math.h>
92704 +int
92705 +main ()
92707 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
92709 + return 0;
92711 +_ACEOF
92712 +if ac_fn_cxx_try_compile "$LINENO"; then :
92713 + glibcxx_cv_func__long_double_trig_use=yes
92714 +else
92715 + glibcxx_cv_func__long_double_trig_use=no
92717 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92718 + ac_ext=c
92719 +ac_cpp='$CPP $CPPFLAGS'
92720 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92721 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92722 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92726 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
92727 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
92728 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
92729 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
92730 +do :
92731 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
92732 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
92733 +eval as_val=\$$as_ac_var
92734 + if test "x$as_val" = x""yes; then :
92735 + cat >>confdefs.h <<_ACEOF
92736 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
92737 +_ACEOF
92740 +done
92742 + fi
92743 + fi
92749 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
92750 +$as_echo_n "checking for long double round functions... " >&6; }
92751 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
92752 + $as_echo_n "(cached) " >&6
92753 +else
92756 + ac_ext=cpp
92757 +ac_cpp='$CXXCPP $CPPFLAGS'
92758 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92759 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92760 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92762 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92763 +/* end confdefs.h. */
92764 +#include <math.h>
92765 +int
92766 +main ()
92768 +ceill (0); floorl (0);
92770 + return 0;
92772 +_ACEOF
92773 +if ac_fn_cxx_try_compile "$LINENO"; then :
92774 + glibcxx_cv_func_long_double_round_use=yes
92775 +else
92776 + glibcxx_cv_func_long_double_round_use=no
92778 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92779 + ac_ext=c
92780 +ac_cpp='$CPP $CPPFLAGS'
92781 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92782 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92783 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92787 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
92788 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
92789 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
92790 + for ac_func in ceill floorl
92791 +do :
92792 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
92793 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
92794 +eval as_val=\$$as_ac_var
92795 + if test "x$as_val" = x""yes; then :
92796 + cat >>confdefs.h <<_ACEOF
92797 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
92798 +_ACEOF
92801 +done
92803 + else
92804 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
92805 +$as_echo_n "checking for _long double round functions... " >&6; }
92806 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
92807 + $as_echo_n "(cached) " >&6
92808 +else
92811 + ac_ext=cpp
92812 +ac_cpp='$CXXCPP $CPPFLAGS'
92813 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92814 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92815 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92817 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92818 +/* end confdefs.h. */
92819 +#include <math.h>
92820 +int
92821 +main ()
92823 +_ceill (0); _floorl (0);
92825 + return 0;
92827 +_ACEOF
92828 +if ac_fn_cxx_try_compile "$LINENO"; then :
92829 + glibcxx_cv_func__long_double_round_use=yes
92830 +else
92831 + glibcxx_cv_func__long_double_round_use=no
92833 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92834 + ac_ext=c
92835 +ac_cpp='$CPP $CPPFLAGS'
92836 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92837 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92838 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92842 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
92843 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
92844 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
92845 + for ac_func in _ceill _floorl
92846 +do :
92847 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
92848 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
92849 +eval as_val=\$$as_ac_var
92850 + if test "x$as_val" = x""yes; then :
92851 + cat >>confdefs.h <<_ACEOF
92852 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
92853 +_ACEOF
92856 +done
92858 + fi
92859 + fi
92866 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
92867 +$as_echo_n "checking for isnanl declaration... " >&6; }
92868 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
92869 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
92870 + $as_echo_n "(cached) " >&6
92871 +else
92874 + ac_ext=cpp
92875 +ac_cpp='$CXXCPP $CPPFLAGS'
92876 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92877 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92878 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92880 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92881 +/* end confdefs.h. */
92882 +#include <math.h>
92883 + #ifdef HAVE_IEEEFP_H
92884 + #include <ieeefp.h>
92885 + #endif
92887 +int
92888 +main ()
92890 + isnanl(0);
92892 + return 0;
92894 +_ACEOF
92895 +if ac_fn_cxx_try_compile "$LINENO"; then :
92896 + glibcxx_cv_func_isnanl_use=yes
92897 +else
92898 + glibcxx_cv_func_isnanl_use=no
92900 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92901 + ac_ext=c
92902 +ac_cpp='$CPP $CPPFLAGS'
92903 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92904 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92905 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92910 + fi
92911 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
92912 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
92914 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
92915 + for ac_func in isnanl
92916 +do :
92917 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
92918 +if test "x$ac_cv_func_isnanl" = x""yes; then :
92919 + cat >>confdefs.h <<_ACEOF
92920 +#define HAVE_ISNANL 1
92921 +_ACEOF
92924 +done
92926 + else
92928 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
92929 +$as_echo_n "checking for _isnanl declaration... " >&6; }
92930 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
92931 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
92932 + $as_echo_n "(cached) " >&6
92933 +else
92936 + ac_ext=cpp
92937 +ac_cpp='$CXXCPP $CPPFLAGS'
92938 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92939 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92940 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
92942 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
92943 +/* end confdefs.h. */
92944 +#include <math.h>
92945 + #ifdef HAVE_IEEEFP_H
92946 + #include <ieeefp.h>
92947 + #endif
92949 +int
92950 +main ()
92952 + _isnanl(0);
92954 + return 0;
92956 +_ACEOF
92957 +if ac_fn_cxx_try_compile "$LINENO"; then :
92958 + glibcxx_cv_func__isnanl_use=yes
92959 +else
92960 + glibcxx_cv_func__isnanl_use=no
92962 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
92963 + ac_ext=c
92964 +ac_cpp='$CPP $CPPFLAGS'
92965 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
92966 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
92967 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
92972 + fi
92973 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
92974 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
92976 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
92977 + for ac_func in _isnanl
92978 +do :
92979 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
92980 +if test "x$ac_cv_func__isnanl" = x""yes; then :
92981 + cat >>confdefs.h <<_ACEOF
92982 +#define HAVE__ISNANL 1
92983 +_ACEOF
92986 +done
92988 + fi
92989 + fi
92995 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
92996 +$as_echo_n "checking for isinfl declaration... " >&6; }
92997 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
92998 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
92999 + $as_echo_n "(cached) " >&6
93000 +else
93003 + ac_ext=cpp
93004 +ac_cpp='$CXXCPP $CPPFLAGS'
93005 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93006 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93007 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93009 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93010 +/* end confdefs.h. */
93011 +#include <math.h>
93012 + #ifdef HAVE_IEEEFP_H
93013 + #include <ieeefp.h>
93014 + #endif
93016 +int
93017 +main ()
93019 + isinfl(0);
93021 + return 0;
93023 +_ACEOF
93024 +if ac_fn_cxx_try_compile "$LINENO"; then :
93025 + glibcxx_cv_func_isinfl_use=yes
93026 +else
93027 + glibcxx_cv_func_isinfl_use=no
93029 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93030 + ac_ext=c
93031 +ac_cpp='$CPP $CPPFLAGS'
93032 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93033 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93034 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93039 + fi
93040 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
93041 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
93043 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
93044 + for ac_func in isinfl
93045 +do :
93046 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
93047 +if test "x$ac_cv_func_isinfl" = x""yes; then :
93048 + cat >>confdefs.h <<_ACEOF
93049 +#define HAVE_ISINFL 1
93050 +_ACEOF
93053 +done
93055 + else
93057 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
93058 +$as_echo_n "checking for _isinfl declaration... " >&6; }
93059 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
93060 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
93061 + $as_echo_n "(cached) " >&6
93062 +else
93065 + ac_ext=cpp
93066 +ac_cpp='$CXXCPP $CPPFLAGS'
93067 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93068 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93069 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93071 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93072 +/* end confdefs.h. */
93073 +#include <math.h>
93074 + #ifdef HAVE_IEEEFP_H
93075 + #include <ieeefp.h>
93076 + #endif
93078 +int
93079 +main ()
93081 + _isinfl(0);
93083 + return 0;
93085 +_ACEOF
93086 +if ac_fn_cxx_try_compile "$LINENO"; then :
93087 + glibcxx_cv_func__isinfl_use=yes
93088 +else
93089 + glibcxx_cv_func__isinfl_use=no
93091 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93092 + ac_ext=c
93093 +ac_cpp='$CPP $CPPFLAGS'
93094 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93095 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93096 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93101 + fi
93102 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
93103 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
93105 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
93106 + for ac_func in _isinfl
93107 +do :
93108 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
93109 +if test "x$ac_cv_func__isinfl" = x""yes; then :
93110 + cat >>confdefs.h <<_ACEOF
93111 +#define HAVE__ISINFL 1
93112 +_ACEOF
93115 +done
93117 + fi
93118 + fi
93124 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
93125 +$as_echo_n "checking for atan2l declaration... " >&6; }
93126 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
93127 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
93128 + $as_echo_n "(cached) " >&6
93129 +else
93132 + ac_ext=cpp
93133 +ac_cpp='$CXXCPP $CPPFLAGS'
93134 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93135 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93136 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93138 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93139 +/* end confdefs.h. */
93140 +#include <math.h>
93141 +int
93142 +main ()
93144 + atan2l(0, 0);
93146 + return 0;
93148 +_ACEOF
93149 +if ac_fn_cxx_try_compile "$LINENO"; then :
93150 + glibcxx_cv_func_atan2l_use=yes
93151 +else
93152 + glibcxx_cv_func_atan2l_use=no
93154 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93155 + ac_ext=c
93156 +ac_cpp='$CPP $CPPFLAGS'
93157 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93158 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93159 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93164 + fi
93165 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
93166 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
93168 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
93169 + for ac_func in atan2l
93170 +do :
93171 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
93172 +if test "x$ac_cv_func_atan2l" = x""yes; then :
93173 + cat >>confdefs.h <<_ACEOF
93174 +#define HAVE_ATAN2L 1
93175 +_ACEOF
93178 +done
93180 + else
93182 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
93183 +$as_echo_n "checking for _atan2l declaration... " >&6; }
93184 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
93185 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
93186 + $as_echo_n "(cached) " >&6
93187 +else
93190 + ac_ext=cpp
93191 +ac_cpp='$CXXCPP $CPPFLAGS'
93192 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93193 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93194 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93196 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93197 +/* end confdefs.h. */
93198 +#include <math.h>
93199 +int
93200 +main ()
93202 + _atan2l(0, 0);
93204 + return 0;
93206 +_ACEOF
93207 +if ac_fn_cxx_try_compile "$LINENO"; then :
93208 + glibcxx_cv_func__atan2l_use=yes
93209 +else
93210 + glibcxx_cv_func__atan2l_use=no
93212 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93213 + ac_ext=c
93214 +ac_cpp='$CPP $CPPFLAGS'
93215 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93216 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93217 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93222 + fi
93223 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
93224 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
93226 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
93227 + for ac_func in _atan2l
93228 +do :
93229 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
93230 +if test "x$ac_cv_func__atan2l" = x""yes; then :
93231 + cat >>confdefs.h <<_ACEOF
93232 +#define HAVE__ATAN2L 1
93233 +_ACEOF
93236 +done
93238 + fi
93239 + fi
93245 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
93246 +$as_echo_n "checking for expl declaration... " >&6; }
93247 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
93248 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
93249 + $as_echo_n "(cached) " >&6
93250 +else
93253 + ac_ext=cpp
93254 +ac_cpp='$CXXCPP $CPPFLAGS'
93255 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93256 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93257 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93259 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93260 +/* end confdefs.h. */
93261 +#include <math.h>
93262 + #ifdef HAVE_IEEEFP_H
93263 + #include <ieeefp.h>
93264 + #endif
93266 +int
93267 +main ()
93269 + expl(0);
93271 + return 0;
93273 +_ACEOF
93274 +if ac_fn_cxx_try_compile "$LINENO"; then :
93275 + glibcxx_cv_func_expl_use=yes
93276 +else
93277 + glibcxx_cv_func_expl_use=no
93279 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93280 + ac_ext=c
93281 +ac_cpp='$CPP $CPPFLAGS'
93282 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93283 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93284 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93289 + fi
93290 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
93291 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
93293 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
93294 + for ac_func in expl
93295 +do :
93296 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
93297 +if test "x$ac_cv_func_expl" = x""yes; then :
93298 + cat >>confdefs.h <<_ACEOF
93299 +#define HAVE_EXPL 1
93300 +_ACEOF
93303 +done
93305 + else
93307 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
93308 +$as_echo_n "checking for _expl declaration... " >&6; }
93309 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
93310 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
93311 + $as_echo_n "(cached) " >&6
93312 +else
93315 + ac_ext=cpp
93316 +ac_cpp='$CXXCPP $CPPFLAGS'
93317 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93318 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93319 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93321 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93322 +/* end confdefs.h. */
93323 +#include <math.h>
93324 + #ifdef HAVE_IEEEFP_H
93325 + #include <ieeefp.h>
93326 + #endif
93328 +int
93329 +main ()
93331 + _expl(0);
93333 + return 0;
93335 +_ACEOF
93336 +if ac_fn_cxx_try_compile "$LINENO"; then :
93337 + glibcxx_cv_func__expl_use=yes
93338 +else
93339 + glibcxx_cv_func__expl_use=no
93341 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93342 + ac_ext=c
93343 +ac_cpp='$CPP $CPPFLAGS'
93344 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93345 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93346 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93351 + fi
93352 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
93353 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
93355 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
93356 + for ac_func in _expl
93357 +do :
93358 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
93359 +if test "x$ac_cv_func__expl" = x""yes; then :
93360 + cat >>confdefs.h <<_ACEOF
93361 +#define HAVE__EXPL 1
93362 +_ACEOF
93365 +done
93367 + fi
93368 + fi
93374 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
93375 +$as_echo_n "checking for fabsl declaration... " >&6; }
93376 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
93377 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
93378 + $as_echo_n "(cached) " >&6
93379 +else
93382 + ac_ext=cpp
93383 +ac_cpp='$CXXCPP $CPPFLAGS'
93384 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93385 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93386 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93388 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93389 +/* end confdefs.h. */
93390 +#include <math.h>
93391 + #ifdef HAVE_IEEEFP_H
93392 + #include <ieeefp.h>
93393 + #endif
93395 +int
93396 +main ()
93398 + fabsl(0);
93400 + return 0;
93402 +_ACEOF
93403 +if ac_fn_cxx_try_compile "$LINENO"; then :
93404 + glibcxx_cv_func_fabsl_use=yes
93405 +else
93406 + glibcxx_cv_func_fabsl_use=no
93408 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93409 + ac_ext=c
93410 +ac_cpp='$CPP $CPPFLAGS'
93411 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93412 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93413 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93418 + fi
93419 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
93420 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
93422 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
93423 + for ac_func in fabsl
93424 +do :
93425 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
93426 +if test "x$ac_cv_func_fabsl" = x""yes; then :
93427 + cat >>confdefs.h <<_ACEOF
93428 +#define HAVE_FABSL 1
93429 +_ACEOF
93432 +done
93434 + else
93436 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
93437 +$as_echo_n "checking for _fabsl declaration... " >&6; }
93438 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
93439 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
93440 + $as_echo_n "(cached) " >&6
93441 +else
93444 + ac_ext=cpp
93445 +ac_cpp='$CXXCPP $CPPFLAGS'
93446 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93447 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93448 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93450 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93451 +/* end confdefs.h. */
93452 +#include <math.h>
93453 + #ifdef HAVE_IEEEFP_H
93454 + #include <ieeefp.h>
93455 + #endif
93457 +int
93458 +main ()
93460 + _fabsl(0);
93462 + return 0;
93464 +_ACEOF
93465 +if ac_fn_cxx_try_compile "$LINENO"; then :
93466 + glibcxx_cv_func__fabsl_use=yes
93467 +else
93468 + glibcxx_cv_func__fabsl_use=no
93470 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93471 + ac_ext=c
93472 +ac_cpp='$CPP $CPPFLAGS'
93473 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93474 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93475 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93480 + fi
93481 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
93482 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
93484 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
93485 + for ac_func in _fabsl
93486 +do :
93487 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
93488 +if test "x$ac_cv_func__fabsl" = x""yes; then :
93489 + cat >>confdefs.h <<_ACEOF
93490 +#define HAVE__FABSL 1
93491 +_ACEOF
93494 +done
93496 + fi
93497 + fi
93503 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
93504 +$as_echo_n "checking for fmodl declaration... " >&6; }
93505 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
93506 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
93507 + $as_echo_n "(cached) " >&6
93508 +else
93511 + ac_ext=cpp
93512 +ac_cpp='$CXXCPP $CPPFLAGS'
93513 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93514 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93515 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93517 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93518 +/* end confdefs.h. */
93519 +#include <math.h>
93520 +int
93521 +main ()
93523 + fmodl(0, 0);
93525 + return 0;
93527 +_ACEOF
93528 +if ac_fn_cxx_try_compile "$LINENO"; then :
93529 + glibcxx_cv_func_fmodl_use=yes
93530 +else
93531 + glibcxx_cv_func_fmodl_use=no
93533 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93534 + ac_ext=c
93535 +ac_cpp='$CPP $CPPFLAGS'
93536 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93537 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93538 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93543 + fi
93544 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
93545 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
93547 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
93548 + for ac_func in fmodl
93549 +do :
93550 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
93551 +if test "x$ac_cv_func_fmodl" = x""yes; then :
93552 + cat >>confdefs.h <<_ACEOF
93553 +#define HAVE_FMODL 1
93554 +_ACEOF
93557 +done
93559 + else
93561 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
93562 +$as_echo_n "checking for _fmodl declaration... " >&6; }
93563 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
93564 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
93565 + $as_echo_n "(cached) " >&6
93566 +else
93569 + ac_ext=cpp
93570 +ac_cpp='$CXXCPP $CPPFLAGS'
93571 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93572 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93573 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93575 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93576 +/* end confdefs.h. */
93577 +#include <math.h>
93578 +int
93579 +main ()
93581 + _fmodl(0, 0);
93583 + return 0;
93585 +_ACEOF
93586 +if ac_fn_cxx_try_compile "$LINENO"; then :
93587 + glibcxx_cv_func__fmodl_use=yes
93588 +else
93589 + glibcxx_cv_func__fmodl_use=no
93591 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93592 + ac_ext=c
93593 +ac_cpp='$CPP $CPPFLAGS'
93594 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93595 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93596 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93601 + fi
93602 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
93603 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
93605 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
93606 + for ac_func in _fmodl
93607 +do :
93608 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
93609 +if test "x$ac_cv_func__fmodl" = x""yes; then :
93610 + cat >>confdefs.h <<_ACEOF
93611 +#define HAVE__FMODL 1
93612 +_ACEOF
93615 +done
93617 + fi
93618 + fi
93624 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
93625 +$as_echo_n "checking for frexpl declaration... " >&6; }
93626 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
93627 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
93628 + $as_echo_n "(cached) " >&6
93629 +else
93632 + ac_ext=cpp
93633 +ac_cpp='$CXXCPP $CPPFLAGS'
93634 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93635 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93636 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93638 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93639 +/* end confdefs.h. */
93640 +#include <math.h>
93641 +int
93642 +main ()
93644 + frexpl(0, 0);
93646 + return 0;
93648 +_ACEOF
93649 +if ac_fn_cxx_try_compile "$LINENO"; then :
93650 + glibcxx_cv_func_frexpl_use=yes
93651 +else
93652 + glibcxx_cv_func_frexpl_use=no
93654 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93655 + ac_ext=c
93656 +ac_cpp='$CPP $CPPFLAGS'
93657 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93658 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93659 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93664 + fi
93665 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
93666 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
93668 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
93669 + for ac_func in frexpl
93670 +do :
93671 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
93672 +if test "x$ac_cv_func_frexpl" = x""yes; then :
93673 + cat >>confdefs.h <<_ACEOF
93674 +#define HAVE_FREXPL 1
93675 +_ACEOF
93678 +done
93680 + else
93682 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
93683 +$as_echo_n "checking for _frexpl declaration... " >&6; }
93684 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
93685 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
93686 + $as_echo_n "(cached) " >&6
93687 +else
93690 + ac_ext=cpp
93691 +ac_cpp='$CXXCPP $CPPFLAGS'
93692 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93693 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93694 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93696 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93697 +/* end confdefs.h. */
93698 +#include <math.h>
93699 +int
93700 +main ()
93702 + _frexpl(0, 0);
93704 + return 0;
93706 +_ACEOF
93707 +if ac_fn_cxx_try_compile "$LINENO"; then :
93708 + glibcxx_cv_func__frexpl_use=yes
93709 +else
93710 + glibcxx_cv_func__frexpl_use=no
93712 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93713 + ac_ext=c
93714 +ac_cpp='$CPP $CPPFLAGS'
93715 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93716 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93717 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93722 + fi
93723 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
93724 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
93726 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
93727 + for ac_func in _frexpl
93728 +do :
93729 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
93730 +if test "x$ac_cv_func__frexpl" = x""yes; then :
93731 + cat >>confdefs.h <<_ACEOF
93732 +#define HAVE__FREXPL 1
93733 +_ACEOF
93736 +done
93738 + fi
93739 + fi
93745 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
93746 +$as_echo_n "checking for hypotl declaration... " >&6; }
93747 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
93748 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
93749 + $as_echo_n "(cached) " >&6
93750 +else
93753 + ac_ext=cpp
93754 +ac_cpp='$CXXCPP $CPPFLAGS'
93755 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93756 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93757 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93759 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93760 +/* end confdefs.h. */
93761 +#include <math.h>
93762 +int
93763 +main ()
93765 + hypotl(0, 0);
93767 + return 0;
93769 +_ACEOF
93770 +if ac_fn_cxx_try_compile "$LINENO"; then :
93771 + glibcxx_cv_func_hypotl_use=yes
93772 +else
93773 + glibcxx_cv_func_hypotl_use=no
93775 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93776 + ac_ext=c
93777 +ac_cpp='$CPP $CPPFLAGS'
93778 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93779 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93780 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93785 + fi
93786 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
93787 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
93789 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
93790 + for ac_func in hypotl
93791 +do :
93792 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
93793 +if test "x$ac_cv_func_hypotl" = x""yes; then :
93794 + cat >>confdefs.h <<_ACEOF
93795 +#define HAVE_HYPOTL 1
93796 +_ACEOF
93799 +done
93801 + else
93803 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
93804 +$as_echo_n "checking for _hypotl declaration... " >&6; }
93805 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
93806 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
93807 + $as_echo_n "(cached) " >&6
93808 +else
93811 + ac_ext=cpp
93812 +ac_cpp='$CXXCPP $CPPFLAGS'
93813 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93814 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93815 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93817 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93818 +/* end confdefs.h. */
93819 +#include <math.h>
93820 +int
93821 +main ()
93823 + _hypotl(0, 0);
93825 + return 0;
93827 +_ACEOF
93828 +if ac_fn_cxx_try_compile "$LINENO"; then :
93829 + glibcxx_cv_func__hypotl_use=yes
93830 +else
93831 + glibcxx_cv_func__hypotl_use=no
93833 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93834 + ac_ext=c
93835 +ac_cpp='$CPP $CPPFLAGS'
93836 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93837 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93838 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93843 + fi
93844 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
93845 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
93847 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
93848 + for ac_func in _hypotl
93849 +do :
93850 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
93851 +if test "x$ac_cv_func__hypotl" = x""yes; then :
93852 + cat >>confdefs.h <<_ACEOF
93853 +#define HAVE__HYPOTL 1
93854 +_ACEOF
93857 +done
93859 + fi
93860 + fi
93866 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
93867 +$as_echo_n "checking for ldexpl declaration... " >&6; }
93868 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
93869 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
93870 + $as_echo_n "(cached) " >&6
93871 +else
93874 + ac_ext=cpp
93875 +ac_cpp='$CXXCPP $CPPFLAGS'
93876 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93877 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93878 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93880 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93881 +/* end confdefs.h. */
93882 +#include <math.h>
93883 +int
93884 +main ()
93886 + ldexpl(0, 0);
93888 + return 0;
93890 +_ACEOF
93891 +if ac_fn_cxx_try_compile "$LINENO"; then :
93892 + glibcxx_cv_func_ldexpl_use=yes
93893 +else
93894 + glibcxx_cv_func_ldexpl_use=no
93896 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93897 + ac_ext=c
93898 +ac_cpp='$CPP $CPPFLAGS'
93899 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93900 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93901 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93906 + fi
93907 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
93908 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
93910 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
93911 + for ac_func in ldexpl
93912 +do :
93913 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
93914 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
93915 + cat >>confdefs.h <<_ACEOF
93916 +#define HAVE_LDEXPL 1
93917 +_ACEOF
93920 +done
93922 + else
93924 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
93925 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
93926 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
93927 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
93928 + $as_echo_n "(cached) " >&6
93929 +else
93932 + ac_ext=cpp
93933 +ac_cpp='$CXXCPP $CPPFLAGS'
93934 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93935 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93936 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
93938 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
93939 +/* end confdefs.h. */
93940 +#include <math.h>
93941 +int
93942 +main ()
93944 + _ldexpl(0, 0);
93946 + return 0;
93948 +_ACEOF
93949 +if ac_fn_cxx_try_compile "$LINENO"; then :
93950 + glibcxx_cv_func__ldexpl_use=yes
93951 +else
93952 + glibcxx_cv_func__ldexpl_use=no
93954 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
93955 + ac_ext=c
93956 +ac_cpp='$CPP $CPPFLAGS'
93957 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93958 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93959 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
93964 + fi
93965 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
93966 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
93968 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
93969 + for ac_func in _ldexpl
93970 +do :
93971 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
93972 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
93973 + cat >>confdefs.h <<_ACEOF
93974 +#define HAVE__LDEXPL 1
93975 +_ACEOF
93978 +done
93980 + fi
93981 + fi
93987 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
93988 +$as_echo_n "checking for logl declaration... " >&6; }
93989 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
93990 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
93991 + $as_echo_n "(cached) " >&6
93992 +else
93995 + ac_ext=cpp
93996 +ac_cpp='$CXXCPP $CPPFLAGS'
93997 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
93998 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
93999 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94001 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94002 +/* end confdefs.h. */
94003 +#include <math.h>
94004 + #ifdef HAVE_IEEEFP_H
94005 + #include <ieeefp.h>
94006 + #endif
94008 +int
94009 +main ()
94011 + logl(0);
94013 + return 0;
94015 +_ACEOF
94016 +if ac_fn_cxx_try_compile "$LINENO"; then :
94017 + glibcxx_cv_func_logl_use=yes
94018 +else
94019 + glibcxx_cv_func_logl_use=no
94021 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94022 + ac_ext=c
94023 +ac_cpp='$CPP $CPPFLAGS'
94024 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94025 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94026 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94031 + fi
94032 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
94033 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
94035 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
94036 + for ac_func in logl
94037 +do :
94038 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
94039 +if test "x$ac_cv_func_logl" = x""yes; then :
94040 + cat >>confdefs.h <<_ACEOF
94041 +#define HAVE_LOGL 1
94042 +_ACEOF
94045 +done
94047 + else
94049 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
94050 +$as_echo_n "checking for _logl declaration... " >&6; }
94051 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
94052 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
94053 + $as_echo_n "(cached) " >&6
94054 +else
94057 + ac_ext=cpp
94058 +ac_cpp='$CXXCPP $CPPFLAGS'
94059 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94060 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94061 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94063 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94064 +/* end confdefs.h. */
94065 +#include <math.h>
94066 + #ifdef HAVE_IEEEFP_H
94067 + #include <ieeefp.h>
94068 + #endif
94070 +int
94071 +main ()
94073 + _logl(0);
94075 + return 0;
94077 +_ACEOF
94078 +if ac_fn_cxx_try_compile "$LINENO"; then :
94079 + glibcxx_cv_func__logl_use=yes
94080 +else
94081 + glibcxx_cv_func__logl_use=no
94083 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94084 + ac_ext=c
94085 +ac_cpp='$CPP $CPPFLAGS'
94086 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94087 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94088 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94093 + fi
94094 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
94095 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
94097 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
94098 + for ac_func in _logl
94099 +do :
94100 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
94101 +if test "x$ac_cv_func__logl" = x""yes; then :
94102 + cat >>confdefs.h <<_ACEOF
94103 +#define HAVE__LOGL 1
94104 +_ACEOF
94107 +done
94109 + fi
94110 + fi
94116 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
94117 +$as_echo_n "checking for log10l declaration... " >&6; }
94118 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
94119 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
94120 + $as_echo_n "(cached) " >&6
94121 +else
94124 + ac_ext=cpp
94125 +ac_cpp='$CXXCPP $CPPFLAGS'
94126 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94127 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94128 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94130 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94131 +/* end confdefs.h. */
94132 +#include <math.h>
94133 + #ifdef HAVE_IEEEFP_H
94134 + #include <ieeefp.h>
94135 + #endif
94137 +int
94138 +main ()
94140 + log10l(0);
94142 + return 0;
94144 +_ACEOF
94145 +if ac_fn_cxx_try_compile "$LINENO"; then :
94146 + glibcxx_cv_func_log10l_use=yes
94147 +else
94148 + glibcxx_cv_func_log10l_use=no
94150 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94151 + ac_ext=c
94152 +ac_cpp='$CPP $CPPFLAGS'
94153 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94154 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94155 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94160 + fi
94161 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
94162 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
94164 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
94165 + for ac_func in log10l
94166 +do :
94167 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
94168 +if test "x$ac_cv_func_log10l" = x""yes; then :
94169 + cat >>confdefs.h <<_ACEOF
94170 +#define HAVE_LOG10L 1
94171 +_ACEOF
94174 +done
94176 + else
94178 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
94179 +$as_echo_n "checking for _log10l declaration... " >&6; }
94180 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
94181 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
94182 + $as_echo_n "(cached) " >&6
94183 +else
94186 + ac_ext=cpp
94187 +ac_cpp='$CXXCPP $CPPFLAGS'
94188 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94189 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94190 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94192 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94193 +/* end confdefs.h. */
94194 +#include <math.h>
94195 + #ifdef HAVE_IEEEFP_H
94196 + #include <ieeefp.h>
94197 + #endif
94199 +int
94200 +main ()
94202 + _log10l(0);
94204 + return 0;
94206 +_ACEOF
94207 +if ac_fn_cxx_try_compile "$LINENO"; then :
94208 + glibcxx_cv_func__log10l_use=yes
94209 +else
94210 + glibcxx_cv_func__log10l_use=no
94212 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94213 + ac_ext=c
94214 +ac_cpp='$CPP $CPPFLAGS'
94215 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94216 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94217 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94222 + fi
94223 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
94224 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
94226 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
94227 + for ac_func in _log10l
94228 +do :
94229 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
94230 +if test "x$ac_cv_func__log10l" = x""yes; then :
94231 + cat >>confdefs.h <<_ACEOF
94232 +#define HAVE__LOG10L 1
94233 +_ACEOF
94236 +done
94238 + fi
94239 + fi
94245 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
94246 +$as_echo_n "checking for modfl declaration... " >&6; }
94247 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
94248 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
94249 + $as_echo_n "(cached) " >&6
94250 +else
94253 + ac_ext=cpp
94254 +ac_cpp='$CXXCPP $CPPFLAGS'
94255 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94256 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94257 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94259 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94260 +/* end confdefs.h. */
94261 +#include <math.h>
94262 +int
94263 +main ()
94265 + modfl(0, 0);
94267 + return 0;
94269 +_ACEOF
94270 +if ac_fn_cxx_try_compile "$LINENO"; then :
94271 + glibcxx_cv_func_modfl_use=yes
94272 +else
94273 + glibcxx_cv_func_modfl_use=no
94275 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94276 + ac_ext=c
94277 +ac_cpp='$CPP $CPPFLAGS'
94278 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94279 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94280 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94285 + fi
94286 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
94287 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
94289 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
94290 + for ac_func in modfl
94291 +do :
94292 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
94293 +if test "x$ac_cv_func_modfl" = x""yes; then :
94294 + cat >>confdefs.h <<_ACEOF
94295 +#define HAVE_MODFL 1
94296 +_ACEOF
94299 +done
94301 + else
94303 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
94304 +$as_echo_n "checking for _modfl declaration... " >&6; }
94305 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
94306 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
94307 + $as_echo_n "(cached) " >&6
94308 +else
94311 + ac_ext=cpp
94312 +ac_cpp='$CXXCPP $CPPFLAGS'
94313 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94314 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94315 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94317 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94318 +/* end confdefs.h. */
94319 +#include <math.h>
94320 +int
94321 +main ()
94323 + _modfl(0, 0);
94325 + return 0;
94327 +_ACEOF
94328 +if ac_fn_cxx_try_compile "$LINENO"; then :
94329 + glibcxx_cv_func__modfl_use=yes
94330 +else
94331 + glibcxx_cv_func__modfl_use=no
94333 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94334 + ac_ext=c
94335 +ac_cpp='$CPP $CPPFLAGS'
94336 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94337 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94338 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94343 + fi
94344 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
94345 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
94347 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
94348 + for ac_func in _modfl
94349 +do :
94350 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
94351 +if test "x$ac_cv_func__modfl" = x""yes; then :
94352 + cat >>confdefs.h <<_ACEOF
94353 +#define HAVE__MODFL 1
94354 +_ACEOF
94357 +done
94359 + fi
94360 + fi
94366 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
94367 +$as_echo_n "checking for powl declaration... " >&6; }
94368 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
94369 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
94370 + $as_echo_n "(cached) " >&6
94371 +else
94374 + ac_ext=cpp
94375 +ac_cpp='$CXXCPP $CPPFLAGS'
94376 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94377 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94378 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94380 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94381 +/* end confdefs.h. */
94382 +#include <math.h>
94383 +int
94384 +main ()
94386 + powl(0, 0);
94388 + return 0;
94390 +_ACEOF
94391 +if ac_fn_cxx_try_compile "$LINENO"; then :
94392 + glibcxx_cv_func_powl_use=yes
94393 +else
94394 + glibcxx_cv_func_powl_use=no
94396 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94397 + ac_ext=c
94398 +ac_cpp='$CPP $CPPFLAGS'
94399 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94400 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94401 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94406 + fi
94407 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
94408 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
94410 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
94411 + for ac_func in powl
94412 +do :
94413 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
94414 +if test "x$ac_cv_func_powl" = x""yes; then :
94415 + cat >>confdefs.h <<_ACEOF
94416 +#define HAVE_POWL 1
94417 +_ACEOF
94420 +done
94422 + else
94424 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
94425 +$as_echo_n "checking for _powl declaration... " >&6; }
94426 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
94427 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
94428 + $as_echo_n "(cached) " >&6
94429 +else
94432 + ac_ext=cpp
94433 +ac_cpp='$CXXCPP $CPPFLAGS'
94434 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94435 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94436 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94438 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94439 +/* end confdefs.h. */
94440 +#include <math.h>
94441 +int
94442 +main ()
94444 + _powl(0, 0);
94446 + return 0;
94448 +_ACEOF
94449 +if ac_fn_cxx_try_compile "$LINENO"; then :
94450 + glibcxx_cv_func__powl_use=yes
94451 +else
94452 + glibcxx_cv_func__powl_use=no
94454 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94455 + ac_ext=c
94456 +ac_cpp='$CPP $CPPFLAGS'
94457 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94458 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94459 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94464 + fi
94465 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
94466 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
94468 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
94469 + for ac_func in _powl
94470 +do :
94471 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
94472 +if test "x$ac_cv_func__powl" = x""yes; then :
94473 + cat >>confdefs.h <<_ACEOF
94474 +#define HAVE__POWL 1
94475 +_ACEOF
94478 +done
94480 + fi
94481 + fi
94487 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
94488 +$as_echo_n "checking for sqrtl declaration... " >&6; }
94489 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
94490 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
94491 + $as_echo_n "(cached) " >&6
94492 +else
94495 + ac_ext=cpp
94496 +ac_cpp='$CXXCPP $CPPFLAGS'
94497 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94498 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94499 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94501 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94502 +/* end confdefs.h. */
94503 +#include <math.h>
94504 + #ifdef HAVE_IEEEFP_H
94505 + #include <ieeefp.h>
94506 + #endif
94508 +int
94509 +main ()
94511 + sqrtl(0);
94513 + return 0;
94515 +_ACEOF
94516 +if ac_fn_cxx_try_compile "$LINENO"; then :
94517 + glibcxx_cv_func_sqrtl_use=yes
94518 +else
94519 + glibcxx_cv_func_sqrtl_use=no
94521 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94522 + ac_ext=c
94523 +ac_cpp='$CPP $CPPFLAGS'
94524 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94525 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94526 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94531 + fi
94532 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
94533 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
94535 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
94536 + for ac_func in sqrtl
94537 +do :
94538 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
94539 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
94540 + cat >>confdefs.h <<_ACEOF
94541 +#define HAVE_SQRTL 1
94542 +_ACEOF
94545 +done
94547 + else
94549 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
94550 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
94551 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
94552 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
94553 + $as_echo_n "(cached) " >&6
94554 +else
94557 + ac_ext=cpp
94558 +ac_cpp='$CXXCPP $CPPFLAGS'
94559 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94560 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94561 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94563 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94564 +/* end confdefs.h. */
94565 +#include <math.h>
94566 + #ifdef HAVE_IEEEFP_H
94567 + #include <ieeefp.h>
94568 + #endif
94570 +int
94571 +main ()
94573 + _sqrtl(0);
94575 + return 0;
94577 +_ACEOF
94578 +if ac_fn_cxx_try_compile "$LINENO"; then :
94579 + glibcxx_cv_func__sqrtl_use=yes
94580 +else
94581 + glibcxx_cv_func__sqrtl_use=no
94583 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94584 + ac_ext=c
94585 +ac_cpp='$CPP $CPPFLAGS'
94586 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94587 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94588 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94593 + fi
94594 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
94595 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
94597 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
94598 + for ac_func in _sqrtl
94599 +do :
94600 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
94601 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
94602 + cat >>confdefs.h <<_ACEOF
94603 +#define HAVE__SQRTL 1
94604 +_ACEOF
94607 +done
94609 + fi
94610 + fi
94616 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
94617 +$as_echo_n "checking for sincosl declaration... " >&6; }
94618 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
94619 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
94620 + $as_echo_n "(cached) " >&6
94621 +else
94624 + ac_ext=cpp
94625 +ac_cpp='$CXXCPP $CPPFLAGS'
94626 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94627 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94628 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94630 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94631 +/* end confdefs.h. */
94632 +#include <math.h>
94633 +int
94634 +main ()
94636 + sincosl(0, 0, 0);
94638 + return 0;
94640 +_ACEOF
94641 +if ac_fn_cxx_try_compile "$LINENO"; then :
94642 + glibcxx_cv_func_sincosl_use=yes
94643 +else
94644 + glibcxx_cv_func_sincosl_use=no
94646 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94647 + ac_ext=c
94648 +ac_cpp='$CPP $CPPFLAGS'
94649 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94650 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94651 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94656 + fi
94657 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
94658 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
94660 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
94661 + for ac_func in sincosl
94662 +do :
94663 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
94664 +if test "x$ac_cv_func_sincosl" = x""yes; then :
94665 + cat >>confdefs.h <<_ACEOF
94666 +#define HAVE_SINCOSL 1
94667 +_ACEOF
94670 +done
94672 + else
94674 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
94675 +$as_echo_n "checking for _sincosl declaration... " >&6; }
94676 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
94677 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
94678 + $as_echo_n "(cached) " >&6
94679 +else
94682 + ac_ext=cpp
94683 +ac_cpp='$CXXCPP $CPPFLAGS'
94684 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94685 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94686 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94688 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94689 +/* end confdefs.h. */
94690 +#include <math.h>
94691 +int
94692 +main ()
94694 + _sincosl(0, 0, 0);
94696 + return 0;
94698 +_ACEOF
94699 +if ac_fn_cxx_try_compile "$LINENO"; then :
94700 + glibcxx_cv_func__sincosl_use=yes
94701 +else
94702 + glibcxx_cv_func__sincosl_use=no
94704 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94705 + ac_ext=c
94706 +ac_cpp='$CPP $CPPFLAGS'
94707 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94708 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94709 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94714 + fi
94715 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
94716 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
94718 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
94719 + for ac_func in _sincosl
94720 +do :
94721 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
94722 +if test "x$ac_cv_func__sincosl" = x""yes; then :
94723 + cat >>confdefs.h <<_ACEOF
94724 +#define HAVE__SINCOSL 1
94725 +_ACEOF
94728 +done
94730 + fi
94731 + fi
94737 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
94738 +$as_echo_n "checking for finitel declaration... " >&6; }
94739 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
94740 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
94741 + $as_echo_n "(cached) " >&6
94742 +else
94745 + ac_ext=cpp
94746 +ac_cpp='$CXXCPP $CPPFLAGS'
94747 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94748 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94749 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94751 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94752 +/* end confdefs.h. */
94753 +#include <math.h>
94754 + #ifdef HAVE_IEEEFP_H
94755 + #include <ieeefp.h>
94756 + #endif
94758 +int
94759 +main ()
94761 + finitel(0);
94763 + return 0;
94765 +_ACEOF
94766 +if ac_fn_cxx_try_compile "$LINENO"; then :
94767 + glibcxx_cv_func_finitel_use=yes
94768 +else
94769 + glibcxx_cv_func_finitel_use=no
94771 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94772 + ac_ext=c
94773 +ac_cpp='$CPP $CPPFLAGS'
94774 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94775 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94776 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94781 + fi
94782 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
94783 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
94785 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
94786 + for ac_func in finitel
94787 +do :
94788 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
94789 +if test "x$ac_cv_func_finitel" = x""yes; then :
94790 + cat >>confdefs.h <<_ACEOF
94791 +#define HAVE_FINITEL 1
94792 +_ACEOF
94795 +done
94797 + else
94799 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
94800 +$as_echo_n "checking for _finitel declaration... " >&6; }
94801 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
94802 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
94803 + $as_echo_n "(cached) " >&6
94804 +else
94807 + ac_ext=cpp
94808 +ac_cpp='$CXXCPP $CPPFLAGS'
94809 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94810 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94811 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94813 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94814 +/* end confdefs.h. */
94815 +#include <math.h>
94816 + #ifdef HAVE_IEEEFP_H
94817 + #include <ieeefp.h>
94818 + #endif
94820 +int
94821 +main ()
94823 + _finitel(0);
94825 + return 0;
94827 +_ACEOF
94828 +if ac_fn_cxx_try_compile "$LINENO"; then :
94829 + glibcxx_cv_func__finitel_use=yes
94830 +else
94831 + glibcxx_cv_func__finitel_use=no
94833 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94834 + ac_ext=c
94835 +ac_cpp='$CPP $CPPFLAGS'
94836 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94837 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94838 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94843 + fi
94844 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
94845 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
94847 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
94848 + for ac_func in _finitel
94849 +do :
94850 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
94851 +if test "x$ac_cv_func__finitel" = x""yes; then :
94852 + cat >>confdefs.h <<_ACEOF
94853 +#define HAVE__FINITEL 1
94854 +_ACEOF
94857 +done
94859 + fi
94860 + fi
94865 + LIBS="$ac_save_LIBS"
94866 + CXXFLAGS="$ac_save_CXXFLAGS"
94869 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
94870 + ac_save_CXXFLAGS="$CXXFLAGS"
94871 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
94874 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
94875 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
94876 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
94877 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
94878 + $as_echo_n "(cached) " >&6
94879 +else
94882 + ac_ext=cpp
94883 +ac_cpp='$CXXCPP $CPPFLAGS'
94884 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94885 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94886 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94888 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94889 +/* end confdefs.h. */
94890 +#include <stdlib.h>
94891 +int
94892 +main ()
94894 + at_quick_exit(0);
94896 + return 0;
94898 +_ACEOF
94899 +if ac_fn_cxx_try_compile "$LINENO"; then :
94900 + glibcxx_cv_func_at_quick_exit_use=yes
94901 +else
94902 + glibcxx_cv_func_at_quick_exit_use=no
94904 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94905 + ac_ext=c
94906 +ac_cpp='$CPP $CPPFLAGS'
94907 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94908 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94909 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94914 + fi
94915 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
94916 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
94917 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
94918 + for ac_func in at_quick_exit
94919 +do :
94920 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
94921 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
94922 + cat >>confdefs.h <<_ACEOF
94923 +#define HAVE_AT_QUICK_EXIT 1
94924 +_ACEOF
94927 +done
94929 + fi
94932 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
94933 +$as_echo_n "checking for quick_exit declaration... " >&6; }
94934 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
94935 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
94936 + $as_echo_n "(cached) " >&6
94937 +else
94940 + ac_ext=cpp
94941 +ac_cpp='$CXXCPP $CPPFLAGS'
94942 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94943 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94944 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
94946 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
94947 +/* end confdefs.h. */
94948 +#include <stdlib.h>
94949 +int
94950 +main ()
94952 + quick_exit(0);
94954 + return 0;
94956 +_ACEOF
94957 +if ac_fn_cxx_try_compile "$LINENO"; then :
94958 + glibcxx_cv_func_quick_exit_use=yes
94959 +else
94960 + glibcxx_cv_func_quick_exit_use=no
94962 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
94963 + ac_ext=c
94964 +ac_cpp='$CPP $CPPFLAGS'
94965 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
94966 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
94967 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
94972 + fi
94973 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
94974 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
94975 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
94976 + for ac_func in quick_exit
94977 +do :
94978 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
94979 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
94980 + cat >>confdefs.h <<_ACEOF
94981 +#define HAVE_QUICK_EXIT 1
94982 +_ACEOF
94985 +done
94987 + fi
94990 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
94991 +$as_echo_n "checking for strtold declaration... " >&6; }
94992 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
94993 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
94994 + $as_echo_n "(cached) " >&6
94995 +else
94998 + ac_ext=cpp
94999 +ac_cpp='$CXXCPP $CPPFLAGS'
95000 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
95001 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
95002 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
95004 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95005 +/* end confdefs.h. */
95006 +#include <stdlib.h>
95007 +int
95008 +main ()
95010 + strtold(0, 0);
95012 + return 0;
95014 +_ACEOF
95015 +if ac_fn_cxx_try_compile "$LINENO"; then :
95016 + glibcxx_cv_func_strtold_use=yes
95017 +else
95018 + glibcxx_cv_func_strtold_use=no
95020 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
95021 + ac_ext=c
95022 +ac_cpp='$CPP $CPPFLAGS'
95023 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
95024 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
95025 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
95030 + fi
95031 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
95032 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
95033 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
95034 + for ac_func in strtold
95035 +do :
95036 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
95037 +if test "x$ac_cv_func_strtold" = x""yes; then :
95038 + cat >>confdefs.h <<_ACEOF
95039 +#define HAVE_STRTOLD 1
95040 +_ACEOF
95043 +done
95045 + fi
95050 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
95051 +$as_echo_n "checking for strtof declaration... " >&6; }
95052 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
95053 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
95054 + $as_echo_n "(cached) " >&6
95055 +else
95058 + ac_ext=cpp
95059 +ac_cpp='$CXXCPP $CPPFLAGS'
95060 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
95061 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
95062 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
95064 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95065 +/* end confdefs.h. */
95066 +#include <stdlib.h>
95067 +int
95068 +main ()
95070 + strtof(0, 0);
95072 + return 0;
95074 +_ACEOF
95075 +if ac_fn_cxx_try_compile "$LINENO"; then :
95076 + glibcxx_cv_func_strtof_use=yes
95077 +else
95078 + glibcxx_cv_func_strtof_use=no
95080 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
95081 + ac_ext=c
95082 +ac_cpp='$CPP $CPPFLAGS'
95083 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
95084 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
95085 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
95090 + fi
95091 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
95092 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
95093 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
95094 + for ac_func in strtof
95095 +do :
95096 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
95097 +if test "x$ac_cv_func_strtof" = x""yes; then :
95098 + cat >>confdefs.h <<_ACEOF
95099 +#define HAVE_STRTOF 1
95100 +_ACEOF
95103 +done
95105 + fi
95110 + CXXFLAGS="$ac_save_CXXFLAGS"
95112 + ;;
95114 + *djgpp)
95115 + # GLIBCXX_CHECK_MATH_SUPPORT
95116 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
95118 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
95120 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
95122 + $as_echo "#define HAVE_SINCOS 1" >>confdefs.h
95124 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
95126 + ;;
95128 + *-freebsd*)
95129 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
95132 + # If we're not using GNU ld, then there's no point in even trying these
95133 + # tests. Check for that first. We should have already tested for gld
95134 + # by now (in libtool), but require it now just to be safe...
95135 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
95136 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
95140 + # The name set by libtool depends on the version of libtool. Shame on us
95141 + # for depending on an impl detail, but c'est la vie. Older versions used
95142 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
95143 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
95144 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
95145 + # set (hence we're using an older libtool), then set it.
95146 + if test x${with_gnu_ld+set} != xset; then
95147 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
95148 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
95149 + with_gnu_ld=no
95150 + else
95151 + with_gnu_ld=$ac_cv_prog_gnu_ld
95152 + fi
95153 + fi
95155 + # Start by getting the version number. I think the libtool test already
95156 + # does some of this, but throws away the result.
95157 + glibcxx_ld_is_gold=no
95158 + if test x"$with_gnu_ld" = x"yes"; then
95159 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
95160 +$as_echo_n "checking for ld version... " >&6; }
95162 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
95163 + glibcxx_ld_is_gold=yes
95164 + fi
95165 + ldver=`$LD --version 2>/dev/null |
95166 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
95168 + glibcxx_gnu_ld_version=`echo $ldver | \
95169 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
95170 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
95171 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
95172 + fi
95174 + # Set --gc-sections.
95175 + glibcxx_have_gc_sections=no
95176 + if test "$glibcxx_ld_is_gold" = "yes"; then
95177 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
95178 + glibcxx_have_gc_sections=yes
95179 + fi
95180 + else
95181 + glibcxx_gcsections_min_ld=21602
95182 + if test x"$with_gnu_ld" = x"yes" &&
95183 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
95184 + glibcxx_have_gc_sections=yes
95185 + fi
95186 + fi
95187 + if test "$glibcxx_have_gc_sections" = "yes"; then
95188 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
95189 + # NB: This flag only works reliably after 2.16.1. Configure tests
95190 + # for this are difficult, so hard wire a value that should work.
95192 + ac_test_CFLAGS="${CFLAGS+set}"
95193 + ac_save_CFLAGS="$CFLAGS"
95194 + CFLAGS='-Wl,--gc-sections'
95196 + # Check for -Wl,--gc-sections
95197 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
95198 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
95199 + if test x$gcc_no_link = xyes; then
95200 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95202 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95203 +/* end confdefs.h. */
95204 + int one(void) { return 1; }
95205 + int two(void) { return 2; }
95207 +int
95208 +main ()
95210 + two();
95212 + return 0;
95214 +_ACEOF
95215 +if ac_fn_c_try_link "$LINENO"; then :
95216 + ac_gcsections=yes
95217 +else
95218 + ac_gcsections=no
95220 +rm -f core conftest.err conftest.$ac_objext \
95221 + conftest$ac_exeext conftest.$ac_ext
95222 + if test "$ac_gcsections" = "yes"; then
95223 + rm -f conftest.c
95224 + touch conftest.c
95225 + if $CC -c conftest.c; then
95226 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
95227 + grep "Warning: gc-sections option ignored" > /dev/null; then
95228 + ac_gcsections=no
95229 + fi
95230 + fi
95231 + rm -f conftest.c conftest.o conftest
95232 + fi
95233 + if test "$ac_gcsections" = "yes"; then
95234 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
95235 + fi
95236 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
95237 +$as_echo "$ac_gcsections" >&6; }
95239 + if test "$ac_test_CFLAGS" = set; then
95240 + CFLAGS="$ac_save_CFLAGS"
95241 + else
95242 + # this is the suspicious part
95243 + CFLAGS=''
95244 + fi
95245 + fi
95247 + # Set -z,relro.
95248 + # Note this is only for shared objects.
95249 + ac_ld_relro=no
95250 + if test x"$with_gnu_ld" = x"yes"; then
95251 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
95252 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
95253 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
95254 + if test -n "$cxx_z_relo"; then
95255 + OPT_LDFLAGS="-Wl,-z,relro"
95256 + ac_ld_relro=yes
95257 + fi
95258 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
95259 +$as_echo "$ac_ld_relro" >&6; }
95260 + fi
95262 + # Set linker optimization flags.
95263 + if test x"$with_gnu_ld" = x"yes"; then
95264 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
95265 + fi
95270 + $as_echo "#define HAVE_SETENV 1" >>confdefs.h
95272 + $as_echo "#define HAVE_FINITEF 1" >>confdefs.h
95274 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
95276 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
95278 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
95280 + $as_echo "#define HAVE_HYPOTF 1" >>confdefs.h
95282 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
95284 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
95286 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
95289 + $as_echo "#define HAVE_ACOSF 1" >>confdefs.h
95291 + $as_echo "#define HAVE_ASINF 1" >>confdefs.h
95293 + $as_echo "#define HAVE_ATAN2F 1" >>confdefs.h
95295 + $as_echo "#define HAVE_ATANF 1" >>confdefs.h
95297 + $as_echo "#define HAVE_CEILF 1" >>confdefs.h
95299 + $as_echo "#define HAVE_COSF 1" >>confdefs.h
95301 + $as_echo "#define HAVE_COSHF 1" >>confdefs.h
95303 + $as_echo "#define HAVE_EXPF 1" >>confdefs.h
95305 + $as_echo "#define HAVE_FABSF 1" >>confdefs.h
95307 + $as_echo "#define HAVE_FLOORF 1" >>confdefs.h
95309 + $as_echo "#define HAVE_FMODF 1" >>confdefs.h
95311 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
95313 + $as_echo "#define HAVE_LDEXPF 1" >>confdefs.h
95315 + $as_echo "#define HAVE_LOG10F 1" >>confdefs.h
95317 + $as_echo "#define HAVE_LOGF 1" >>confdefs.h
95319 + $as_echo "#define HAVE_MODFF 1" >>confdefs.h
95321 + $as_echo "#define HAVE_POWF 1" >>confdefs.h
95323 + $as_echo "#define HAVE_SINF 1" >>confdefs.h
95325 + $as_echo "#define HAVE_SINHF 1" >>confdefs.h
95327 + $as_echo "#define HAVE_SQRTF 1" >>confdefs.h
95329 + $as_echo "#define HAVE_TANF 1" >>confdefs.h
95331 + $as_echo "#define HAVE_TANHF 1" >>confdefs.h
95333 + if test x"long_double_math_on_this_cpu" = x"yes"; then
95334 + $as_echo "#define HAVE_FINITEL 1" >>confdefs.h
95336 + $as_echo "#define HAVE_ISINFL 1" >>confdefs.h
95338 + $as_echo "#define HAVE_ISNANL 1" >>confdefs.h
95340 + fi
95341 + ;;
95342 + *-hpux*)
95343 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
95346 + # If we're not using GNU ld, then there's no point in even trying these
95347 + # tests. Check for that first. We should have already tested for gld
95348 + # by now (in libtool), but require it now just to be safe...
95349 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
95350 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
95354 + # The name set by libtool depends on the version of libtool. Shame on us
95355 + # for depending on an impl detail, but c'est la vie. Older versions used
95356 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
95357 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
95358 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
95359 + # set (hence we're using an older libtool), then set it.
95360 + if test x${with_gnu_ld+set} != xset; then
95361 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
95362 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
95363 + with_gnu_ld=no
95364 + else
95365 + with_gnu_ld=$ac_cv_prog_gnu_ld
95366 + fi
95367 + fi
95369 + # Start by getting the version number. I think the libtool test already
95370 + # does some of this, but throws away the result.
95371 + glibcxx_ld_is_gold=no
95372 + if test x"$with_gnu_ld" = x"yes"; then
95373 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
95374 +$as_echo_n "checking for ld version... " >&6; }
95376 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
95377 + glibcxx_ld_is_gold=yes
95378 + fi
95379 + ldver=`$LD --version 2>/dev/null |
95380 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
95382 + glibcxx_gnu_ld_version=`echo $ldver | \
95383 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
95384 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
95385 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
95386 + fi
95388 + # Set --gc-sections.
95389 + glibcxx_have_gc_sections=no
95390 + if test "$glibcxx_ld_is_gold" = "yes"; then
95391 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
95392 + glibcxx_have_gc_sections=yes
95393 + fi
95394 + else
95395 + glibcxx_gcsections_min_ld=21602
95396 + if test x"$with_gnu_ld" = x"yes" &&
95397 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
95398 + glibcxx_have_gc_sections=yes
95399 + fi
95400 + fi
95401 + if test "$glibcxx_have_gc_sections" = "yes"; then
95402 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
95403 + # NB: This flag only works reliably after 2.16.1. Configure tests
95404 + # for this are difficult, so hard wire a value that should work.
95406 + ac_test_CFLAGS="${CFLAGS+set}"
95407 + ac_save_CFLAGS="$CFLAGS"
95408 + CFLAGS='-Wl,--gc-sections'
95410 + # Check for -Wl,--gc-sections
95411 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
95412 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
95413 + if test x$gcc_no_link = xyes; then
95414 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95416 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95417 +/* end confdefs.h. */
95418 + int one(void) { return 1; }
95419 + int two(void) { return 2; }
95421 +int
95422 +main ()
95424 + two();
95426 + return 0;
95428 +_ACEOF
95429 +if ac_fn_c_try_link "$LINENO"; then :
95430 + ac_gcsections=yes
95431 +else
95432 + ac_gcsections=no
95434 +rm -f core conftest.err conftest.$ac_objext \
95435 + conftest$ac_exeext conftest.$ac_ext
95436 + if test "$ac_gcsections" = "yes"; then
95437 + rm -f conftest.c
95438 + touch conftest.c
95439 + if $CC -c conftest.c; then
95440 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
95441 + grep "Warning: gc-sections option ignored" > /dev/null; then
95442 + ac_gcsections=no
95443 + fi
95444 + fi
95445 + rm -f conftest.c conftest.o conftest
95446 + fi
95447 + if test "$ac_gcsections" = "yes"; then
95448 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
95449 + fi
95450 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
95451 +$as_echo "$ac_gcsections" >&6; }
95453 + if test "$ac_test_CFLAGS" = set; then
95454 + CFLAGS="$ac_save_CFLAGS"
95455 + else
95456 + # this is the suspicious part
95457 + CFLAGS=''
95458 + fi
95459 + fi
95461 + # Set -z,relro.
95462 + # Note this is only for shared objects.
95463 + ac_ld_relro=no
95464 + if test x"$with_gnu_ld" = x"yes"; then
95465 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
95466 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
95467 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
95468 + if test -n "$cxx_z_relo"; then
95469 + OPT_LDFLAGS="-Wl,-z,relro"
95470 + ac_ld_relro=yes
95471 + fi
95472 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
95473 +$as_echo "$ac_ld_relro" >&6; }
95474 + fi
95476 + # Set linker optimization flags.
95477 + if test x"$with_gnu_ld" = x"yes"; then
95478 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
95479 + fi
95485 + # GLIBCXX_CHECK_MATH_SUPPORT
95486 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
95488 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
95490 + $as_echo "#define HAVE_ACOSF 1" >>confdefs.h
95492 + $as_echo "#define HAVE_ASINF 1" >>confdefs.h
95494 + $as_echo "#define HAVE_ATANF 1" >>confdefs.h
95496 + $as_echo "#define HAVE_COSF 1" >>confdefs.h
95498 + $as_echo "#define HAVE_COSHF 1" >>confdefs.h
95500 + $as_echo "#define HAVE_SINF 1" >>confdefs.h
95502 + $as_echo "#define HAVE_SINHF 1" >>confdefs.h
95504 + $as_echo "#define HAVE_TANF 1" >>confdefs.h
95506 + $as_echo "#define HAVE_TANHF 1" >>confdefs.h
95508 + $as_echo "#define HAVE_EXPF 1" >>confdefs.h
95510 + $as_echo "#define HAVE_ATAN2F 1" >>confdefs.h
95512 + $as_echo "#define HAVE_FABSF 1" >>confdefs.h
95514 + $as_echo "#define HAVE_FMODF 1" >>confdefs.h
95516 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
95518 + $as_echo "#define HAVE_LOGF 1" >>confdefs.h
95520 + $as_echo "#define HAVE_LOG10F 1" >>confdefs.h
95522 + $as_echo "#define HAVE_MODF 1" >>confdefs.h
95524 + $as_echo "#define HAVE_POWF 1" >>confdefs.h
95526 + $as_echo "#define HAVE_SQRTF 1" >>confdefs.h
95529 + # GLIBCXX_CHECK_STDLIB_SUPPORT
95530 + $as_echo "#define HAVE_STRTOLD 1" >>confdefs.h
95535 + # Check whether --enable-tls was given.
95536 +if test "${enable_tls+set}" = set; then :
95537 + enableval=$enable_tls;
95538 + case "$enableval" in
95539 + yes|no) ;;
95540 + *) as_fn_error "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
95541 + esac
95543 +else
95544 + enable_tls=yes
95548 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
95549 +$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
95550 +if test "${gcc_cv_have_tls+set}" = set; then :
95551 + $as_echo_n "(cached) " >&6
95552 +else
95554 + if test "$cross_compiling" = yes; then :
95555 + if test x$gcc_no_link = xyes; then
95556 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95558 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95559 +/* end confdefs.h. */
95560 +__thread int a; int b; int main() { return a = b; }
95561 +_ACEOF
95562 +if ac_fn_c_try_link "$LINENO"; then :
95563 + chktls_save_LDFLAGS="$LDFLAGS"
95564 + case $host in
95565 + *-*-linux*)
95566 + LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
95567 + ;;
95568 + esac
95569 + chktls_save_CFLAGS="$CFLAGS"
95570 + CFLAGS="-fPIC $CFLAGS"
95571 + if test x$gcc_no_link = xyes; then
95572 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95574 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95575 +/* end confdefs.h. */
95576 +int f() { return 0; }
95577 +_ACEOF
95578 +if ac_fn_c_try_link "$LINENO"; then :
95579 + if test x$gcc_no_link = xyes; then
95580 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95582 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95583 +/* end confdefs.h. */
95584 +__thread int a; int b; int f() { return a = b; }
95585 +_ACEOF
95586 +if ac_fn_c_try_link "$LINENO"; then :
95587 + gcc_cv_have_tls=yes
95588 +else
95589 + gcc_cv_have_tls=no
95591 +rm -f core conftest.err conftest.$ac_objext \
95592 + conftest$ac_exeext conftest.$ac_ext
95593 +else
95594 + gcc_cv_have_tls=yes
95596 +rm -f core conftest.err conftest.$ac_objext \
95597 + conftest$ac_exeext conftest.$ac_ext
95598 + CFLAGS="$chktls_save_CFLAGS"
95599 + LDFLAGS="$chktls_save_LDFLAGS"
95600 +else
95601 + gcc_cv_have_tls=no
95603 +rm -f core conftest.err conftest.$ac_objext \
95604 + conftest$ac_exeext conftest.$ac_ext
95607 +else
95608 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95609 +/* end confdefs.h. */
95610 +__thread int a; int b; int main() { return a = b; }
95611 +_ACEOF
95612 +if ac_fn_c_try_run "$LINENO"; then :
95613 + chktls_save_LDFLAGS="$LDFLAGS"
95614 + LDFLAGS="-static $LDFLAGS"
95615 + if test x$gcc_no_link = xyes; then
95616 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95618 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95619 +/* end confdefs.h. */
95620 +int main() { return 0; }
95621 +_ACEOF
95622 +if ac_fn_c_try_link "$LINENO"; then :
95623 + if test "$cross_compiling" = yes; then :
95624 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
95625 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
95626 +as_fn_error "cannot run test program while cross compiling
95627 +See \`config.log' for more details." "$LINENO" 5; }
95628 +else
95629 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95630 +/* end confdefs.h. */
95631 +__thread int a; int b; int main() { return a = b; }
95632 +_ACEOF
95633 +if ac_fn_c_try_run "$LINENO"; then :
95634 + gcc_cv_have_tls=yes
95635 +else
95636 + gcc_cv_have_tls=no
95638 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
95639 + conftest.$ac_objext conftest.beam conftest.$ac_ext
95642 +else
95643 + gcc_cv_have_tls=yes
95645 +rm -f core conftest.err conftest.$ac_objext \
95646 + conftest$ac_exeext conftest.$ac_ext
95647 + LDFLAGS="$chktls_save_LDFLAGS"
95648 + if test $gcc_cv_have_tls = yes; then
95649 + chktls_save_CFLAGS="$CFLAGS"
95650 + thread_CFLAGS=failed
95651 + for flag in '' '-pthread' '-lpthread'; do
95652 + CFLAGS="$flag $chktls_save_CFLAGS"
95653 + if test x$gcc_no_link = xyes; then
95654 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95656 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95657 +/* end confdefs.h. */
95658 +#include <pthread.h>
95659 + void *g(void *d) { return NULL; }
95660 +int
95661 +main ()
95663 +pthread_t t; pthread_create(&t,NULL,g,NULL);
95665 + return 0;
95667 +_ACEOF
95668 +if ac_fn_c_try_link "$LINENO"; then :
95669 + thread_CFLAGS="$flag"
95671 +rm -f core conftest.err conftest.$ac_objext \
95672 + conftest$ac_exeext conftest.$ac_ext
95673 + if test "X$thread_CFLAGS" != Xfailed; then
95674 + break
95675 + fi
95676 + done
95677 + CFLAGS="$chktls_save_CFLAGS"
95678 + if test "X$thread_CFLAGS" != Xfailed; then
95679 + CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
95680 + if test "$cross_compiling" = yes; then :
95681 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
95682 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
95683 +as_fn_error "cannot run test program while cross compiling
95684 +See \`config.log' for more details." "$LINENO" 5; }
95685 +else
95686 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95687 +/* end confdefs.h. */
95688 +#include <pthread.h>
95689 + __thread int a;
95690 + static int *volatile a_in_other_thread;
95691 + static void *
95692 + thread_func (void *arg)
95694 + a_in_other_thread = &a;
95695 + return (void *)0;
95697 +int
95698 +main ()
95700 +pthread_t thread;
95701 + void *thread_retval;
95702 + int *volatile a_in_main_thread;
95703 + a_in_main_thread = &a;
95704 + if (pthread_create (&thread, (pthread_attr_t *)0,
95705 + thread_func, (void *)0))
95706 + return 0;
95707 + if (pthread_join (thread, &thread_retval))
95708 + return 0;
95709 + return (a_in_other_thread == a_in_main_thread);
95711 + return 0;
95713 +_ACEOF
95714 +if ac_fn_c_try_run "$LINENO"; then :
95715 + gcc_cv_have_tls=yes
95716 +else
95717 + gcc_cv_have_tls=no
95719 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
95720 + conftest.$ac_objext conftest.beam conftest.$ac_ext
95723 + CFLAGS="$chktls_save_CFLAGS"
95724 + fi
95725 + fi
95726 +else
95727 + gcc_cv_have_tls=no
95729 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
95730 + conftest.$ac_objext conftest.beam conftest.$ac_ext
95734 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
95735 +$as_echo "$gcc_cv_have_tls" >&6; }
95736 + if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
95738 +$as_echo "#define HAVE_TLS 1" >>confdefs.h
95740 + fi
95741 + case "$target" in
95742 + *-hpux10*)
95743 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
95745 + $as_echo "#define HAVE_ISINFF 1" >>confdefs.h
95747 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
95749 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
95751 + $as_echo "#define HAVE_FINITEF 1" >>confdefs.h
95753 + ;;
95754 + esac
95755 + ;;
95756 + *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*)
95758 + # All these tests are for C++; save the language and the compiler flags.
95759 + # The CXXFLAGS thing is suspicious, but based on similar bits previously
95760 + # found in GLIBCXX_CONFIGURE.
95762 + ac_ext=cpp
95763 +ac_cpp='$CXXCPP $CPPFLAGS'
95764 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
95765 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
95766 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
95768 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
95769 + ac_save_CXXFLAGS="$CXXFLAGS"
95771 + # Check for maintainer-mode bits.
95772 + if test x"$USE_MAINTAINER_MODE" = xno; then
95773 + WERROR=''
95774 + else
95775 + WERROR='-Werror'
95776 + fi
95778 + # Check for -ffunction-sections -fdata-sections
95779 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
95780 +$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
95781 + CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
95782 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95783 +/* end confdefs.h. */
95784 +int foo; void bar() { };
95785 +int
95786 +main ()
95790 + return 0;
95792 +_ACEOF
95793 +if ac_fn_cxx_try_compile "$LINENO"; then :
95794 + ac_fdsections=yes
95795 +else
95796 + ac_fdsections=no
95798 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
95799 + if test "$ac_test_CXXFLAGS" = set; then
95800 + CXXFLAGS="$ac_save_CXXFLAGS"
95801 + else
95802 + # this is the suspicious part
95803 + CXXFLAGS=''
95804 + fi
95805 + if test x"$ac_fdsections" = x"yes"; then
95806 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
95807 + fi
95808 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
95809 +$as_echo "$ac_fdsections" >&6; }
95811 + ac_ext=c
95812 +ac_cpp='$CPP $CPPFLAGS'
95813 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
95814 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
95815 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
95821 + # If we're not using GNU ld, then there's no point in even trying these
95822 + # tests. Check for that first. We should have already tested for gld
95823 + # by now (in libtool), but require it now just to be safe...
95824 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
95825 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
95829 + # The name set by libtool depends on the version of libtool. Shame on us
95830 + # for depending on an impl detail, but c'est la vie. Older versions used
95831 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
95832 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
95833 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
95834 + # set (hence we're using an older libtool), then set it.
95835 + if test x${with_gnu_ld+set} != xset; then
95836 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
95837 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
95838 + with_gnu_ld=no
95839 + else
95840 + with_gnu_ld=$ac_cv_prog_gnu_ld
95841 + fi
95842 + fi
95844 + # Start by getting the version number. I think the libtool test already
95845 + # does some of this, but throws away the result.
95846 + glibcxx_ld_is_gold=no
95847 + if test x"$with_gnu_ld" = x"yes"; then
95848 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
95849 +$as_echo_n "checking for ld version... " >&6; }
95851 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
95852 + glibcxx_ld_is_gold=yes
95853 + fi
95854 + ldver=`$LD --version 2>/dev/null |
95855 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
95857 + glibcxx_gnu_ld_version=`echo $ldver | \
95858 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
95859 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
95860 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
95861 + fi
95863 + # Set --gc-sections.
95864 + glibcxx_have_gc_sections=no
95865 + if test "$glibcxx_ld_is_gold" = "yes"; then
95866 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
95867 + glibcxx_have_gc_sections=yes
95868 + fi
95869 + else
95870 + glibcxx_gcsections_min_ld=21602
95871 + if test x"$with_gnu_ld" = x"yes" &&
95872 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
95873 + glibcxx_have_gc_sections=yes
95874 + fi
95875 + fi
95876 + if test "$glibcxx_have_gc_sections" = "yes"; then
95877 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
95878 + # NB: This flag only works reliably after 2.16.1. Configure tests
95879 + # for this are difficult, so hard wire a value that should work.
95881 + ac_test_CFLAGS="${CFLAGS+set}"
95882 + ac_save_CFLAGS="$CFLAGS"
95883 + CFLAGS='-Wl,--gc-sections'
95885 + # Check for -Wl,--gc-sections
95886 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
95887 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
95888 + if test x$gcc_no_link = xyes; then
95889 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95891 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95892 +/* end confdefs.h. */
95893 + int one(void) { return 1; }
95894 + int two(void) { return 2; }
95896 +int
95897 +main ()
95899 + two();
95901 + return 0;
95903 +_ACEOF
95904 +if ac_fn_c_try_link "$LINENO"; then :
95905 + ac_gcsections=yes
95906 +else
95907 + ac_gcsections=no
95909 +rm -f core conftest.err conftest.$ac_objext \
95910 + conftest$ac_exeext conftest.$ac_ext
95911 + if test "$ac_gcsections" = "yes"; then
95912 + rm -f conftest.c
95913 + touch conftest.c
95914 + if $CC -c conftest.c; then
95915 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
95916 + grep "Warning: gc-sections option ignored" > /dev/null; then
95917 + ac_gcsections=no
95918 + fi
95919 + fi
95920 + rm -f conftest.c conftest.o conftest
95921 + fi
95922 + if test "$ac_gcsections" = "yes"; then
95923 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
95924 + fi
95925 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
95926 +$as_echo "$ac_gcsections" >&6; }
95928 + if test "$ac_test_CFLAGS" = set; then
95929 + CFLAGS="$ac_save_CFLAGS"
95930 + else
95931 + # this is the suspicious part
95932 + CFLAGS=''
95933 + fi
95934 + fi
95936 + # Set -z,relro.
95937 + # Note this is only for shared objects.
95938 + ac_ld_relro=no
95939 + if test x"$with_gnu_ld" = x"yes"; then
95940 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
95941 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
95942 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
95943 + if test -n "$cxx_z_relo"; then
95944 + OPT_LDFLAGS="-Wl,-z,relro"
95945 + ac_ld_relro=yes
95946 + fi
95947 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
95948 +$as_echo "$ac_ld_relro" >&6; }
95949 + fi
95951 + # Set linker optimization flags.
95952 + if test x"$with_gnu_ld" = x"yes"; then
95953 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
95954 + fi
95960 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
95961 + ac_save_CXXFLAGS="$CXXFLAGS"
95962 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
95964 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
95965 +$as_echo_n "checking for sin in -lm... " >&6; }
95966 +if test "${ac_cv_lib_m_sin+set}" = set; then :
95967 + $as_echo_n "(cached) " >&6
95968 +else
95969 + ac_check_lib_save_LIBS=$LIBS
95970 +LIBS="-lm $LIBS"
95971 +if test x$gcc_no_link = xyes; then
95972 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
95974 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
95975 +/* end confdefs.h. */
95977 +/* Override any GCC internal prototype to avoid an error.
95978 + Use char because int might match the return type of a GCC
95979 + builtin and then its argument prototype would still apply. */
95980 +#ifdef __cplusplus
95981 +extern "C"
95982 +#endif
95983 +char sin ();
95984 +int
95985 +main ()
95987 +return sin ();
95989 + return 0;
95991 +_ACEOF
95992 +if ac_fn_c_try_link "$LINENO"; then :
95993 + ac_cv_lib_m_sin=yes
95994 +else
95995 + ac_cv_lib_m_sin=no
95997 +rm -f core conftest.err conftest.$ac_objext \
95998 + conftest$ac_exeext conftest.$ac_ext
95999 +LIBS=$ac_check_lib_save_LIBS
96001 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
96002 +$as_echo "$ac_cv_lib_m_sin" >&6; }
96003 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
96004 + libm="-lm"
96007 + ac_save_LIBS="$LIBS"
96008 + LIBS="$LIBS $libm"
96012 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
96013 +$as_echo_n "checking for isinf declaration... " >&6; }
96014 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
96015 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
96016 + $as_echo_n "(cached) " >&6
96017 +else
96020 + ac_ext=cpp
96021 +ac_cpp='$CXXCPP $CPPFLAGS'
96022 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96023 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96024 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96026 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96027 +/* end confdefs.h. */
96028 +#include <math.h>
96029 + #ifdef HAVE_IEEEFP_H
96030 + #include <ieeefp.h>
96031 + #endif
96033 +int
96034 +main ()
96036 + isinf(0);
96038 + return 0;
96040 +_ACEOF
96041 +if ac_fn_cxx_try_compile "$LINENO"; then :
96042 + glibcxx_cv_func_isinf_use=yes
96043 +else
96044 + glibcxx_cv_func_isinf_use=no
96046 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96047 + ac_ext=c
96048 +ac_cpp='$CPP $CPPFLAGS'
96049 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96050 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96051 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96056 + fi
96057 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
96058 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
96060 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
96061 + for ac_func in isinf
96062 +do :
96063 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
96064 +if test "x$ac_cv_func_isinf" = x""yes; then :
96065 + cat >>confdefs.h <<_ACEOF
96066 +#define HAVE_ISINF 1
96067 +_ACEOF
96070 +done
96072 + else
96074 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
96075 +$as_echo_n "checking for _isinf declaration... " >&6; }
96076 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
96077 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
96078 + $as_echo_n "(cached) " >&6
96079 +else
96082 + ac_ext=cpp
96083 +ac_cpp='$CXXCPP $CPPFLAGS'
96084 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96085 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96086 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96088 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96089 +/* end confdefs.h. */
96090 +#include <math.h>
96091 + #ifdef HAVE_IEEEFP_H
96092 + #include <ieeefp.h>
96093 + #endif
96095 +int
96096 +main ()
96098 + _isinf(0);
96100 + return 0;
96102 +_ACEOF
96103 +if ac_fn_cxx_try_compile "$LINENO"; then :
96104 + glibcxx_cv_func__isinf_use=yes
96105 +else
96106 + glibcxx_cv_func__isinf_use=no
96108 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96109 + ac_ext=c
96110 +ac_cpp='$CPP $CPPFLAGS'
96111 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96112 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96113 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96118 + fi
96119 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
96120 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
96122 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
96123 + for ac_func in _isinf
96124 +do :
96125 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
96126 +if test "x$ac_cv_func__isinf" = x""yes; then :
96127 + cat >>confdefs.h <<_ACEOF
96128 +#define HAVE__ISINF 1
96129 +_ACEOF
96132 +done
96134 + fi
96135 + fi
96141 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
96142 +$as_echo_n "checking for isnan declaration... " >&6; }
96143 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
96144 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
96145 + $as_echo_n "(cached) " >&6
96146 +else
96149 + ac_ext=cpp
96150 +ac_cpp='$CXXCPP $CPPFLAGS'
96151 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96152 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96153 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96155 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96156 +/* end confdefs.h. */
96157 +#include <math.h>
96158 + #ifdef HAVE_IEEEFP_H
96159 + #include <ieeefp.h>
96160 + #endif
96162 +int
96163 +main ()
96165 + isnan(0);
96167 + return 0;
96169 +_ACEOF
96170 +if ac_fn_cxx_try_compile "$LINENO"; then :
96171 + glibcxx_cv_func_isnan_use=yes
96172 +else
96173 + glibcxx_cv_func_isnan_use=no
96175 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96176 + ac_ext=c
96177 +ac_cpp='$CPP $CPPFLAGS'
96178 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96179 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96180 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96185 + fi
96186 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
96187 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
96189 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
96190 + for ac_func in isnan
96191 +do :
96192 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
96193 +if test "x$ac_cv_func_isnan" = x""yes; then :
96194 + cat >>confdefs.h <<_ACEOF
96195 +#define HAVE_ISNAN 1
96196 +_ACEOF
96199 +done
96201 + else
96203 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
96204 +$as_echo_n "checking for _isnan declaration... " >&6; }
96205 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
96206 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
96207 + $as_echo_n "(cached) " >&6
96208 +else
96211 + ac_ext=cpp
96212 +ac_cpp='$CXXCPP $CPPFLAGS'
96213 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96214 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96215 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96217 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96218 +/* end confdefs.h. */
96219 +#include <math.h>
96220 + #ifdef HAVE_IEEEFP_H
96221 + #include <ieeefp.h>
96222 + #endif
96224 +int
96225 +main ()
96227 + _isnan(0);
96229 + return 0;
96231 +_ACEOF
96232 +if ac_fn_cxx_try_compile "$LINENO"; then :
96233 + glibcxx_cv_func__isnan_use=yes
96234 +else
96235 + glibcxx_cv_func__isnan_use=no
96237 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96238 + ac_ext=c
96239 +ac_cpp='$CPP $CPPFLAGS'
96240 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96241 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96242 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96247 + fi
96248 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
96249 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
96251 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
96252 + for ac_func in _isnan
96253 +do :
96254 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
96255 +if test "x$ac_cv_func__isnan" = x""yes; then :
96256 + cat >>confdefs.h <<_ACEOF
96257 +#define HAVE__ISNAN 1
96258 +_ACEOF
96261 +done
96263 + fi
96264 + fi
96270 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
96271 +$as_echo_n "checking for finite declaration... " >&6; }
96272 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
96273 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
96274 + $as_echo_n "(cached) " >&6
96275 +else
96278 + ac_ext=cpp
96279 +ac_cpp='$CXXCPP $CPPFLAGS'
96280 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96281 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96282 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96284 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96285 +/* end confdefs.h. */
96286 +#include <math.h>
96287 + #ifdef HAVE_IEEEFP_H
96288 + #include <ieeefp.h>
96289 + #endif
96291 +int
96292 +main ()
96294 + finite(0);
96296 + return 0;
96298 +_ACEOF
96299 +if ac_fn_cxx_try_compile "$LINENO"; then :
96300 + glibcxx_cv_func_finite_use=yes
96301 +else
96302 + glibcxx_cv_func_finite_use=no
96304 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96305 + ac_ext=c
96306 +ac_cpp='$CPP $CPPFLAGS'
96307 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96308 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96309 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96314 + fi
96315 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
96316 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
96318 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
96319 + for ac_func in finite
96320 +do :
96321 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
96322 +if test "x$ac_cv_func_finite" = x""yes; then :
96323 + cat >>confdefs.h <<_ACEOF
96324 +#define HAVE_FINITE 1
96325 +_ACEOF
96328 +done
96330 + else
96332 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
96333 +$as_echo_n "checking for _finite declaration... " >&6; }
96334 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
96335 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
96336 + $as_echo_n "(cached) " >&6
96337 +else
96340 + ac_ext=cpp
96341 +ac_cpp='$CXXCPP $CPPFLAGS'
96342 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96343 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96344 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96346 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96347 +/* end confdefs.h. */
96348 +#include <math.h>
96349 + #ifdef HAVE_IEEEFP_H
96350 + #include <ieeefp.h>
96351 + #endif
96353 +int
96354 +main ()
96356 + _finite(0);
96358 + return 0;
96360 +_ACEOF
96361 +if ac_fn_cxx_try_compile "$LINENO"; then :
96362 + glibcxx_cv_func__finite_use=yes
96363 +else
96364 + glibcxx_cv_func__finite_use=no
96366 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96367 + ac_ext=c
96368 +ac_cpp='$CPP $CPPFLAGS'
96369 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96370 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96371 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96376 + fi
96377 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
96378 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
96380 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
96381 + for ac_func in _finite
96382 +do :
96383 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
96384 +if test "x$ac_cv_func__finite" = x""yes; then :
96385 + cat >>confdefs.h <<_ACEOF
96386 +#define HAVE__FINITE 1
96387 +_ACEOF
96390 +done
96392 + fi
96393 + fi
96399 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
96400 +$as_echo_n "checking for sincos declaration... " >&6; }
96401 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
96402 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
96403 + $as_echo_n "(cached) " >&6
96404 +else
96407 + ac_ext=cpp
96408 +ac_cpp='$CXXCPP $CPPFLAGS'
96409 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96410 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96411 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96413 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96414 +/* end confdefs.h. */
96415 +#include <math.h>
96416 +int
96417 +main ()
96419 + sincos(0, 0, 0);
96421 + return 0;
96423 +_ACEOF
96424 +if ac_fn_cxx_try_compile "$LINENO"; then :
96425 + glibcxx_cv_func_sincos_use=yes
96426 +else
96427 + glibcxx_cv_func_sincos_use=no
96429 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96430 + ac_ext=c
96431 +ac_cpp='$CPP $CPPFLAGS'
96432 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96433 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96434 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96439 + fi
96440 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
96441 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
96443 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
96444 + for ac_func in sincos
96445 +do :
96446 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
96447 +if test "x$ac_cv_func_sincos" = x""yes; then :
96448 + cat >>confdefs.h <<_ACEOF
96449 +#define HAVE_SINCOS 1
96450 +_ACEOF
96453 +done
96455 + else
96457 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
96458 +$as_echo_n "checking for _sincos declaration... " >&6; }
96459 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
96460 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
96461 + $as_echo_n "(cached) " >&6
96462 +else
96465 + ac_ext=cpp
96466 +ac_cpp='$CXXCPP $CPPFLAGS'
96467 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96468 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96469 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96471 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96472 +/* end confdefs.h. */
96473 +#include <math.h>
96474 +int
96475 +main ()
96477 + _sincos(0, 0, 0);
96479 + return 0;
96481 +_ACEOF
96482 +if ac_fn_cxx_try_compile "$LINENO"; then :
96483 + glibcxx_cv_func__sincos_use=yes
96484 +else
96485 + glibcxx_cv_func__sincos_use=no
96487 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96488 + ac_ext=c
96489 +ac_cpp='$CPP $CPPFLAGS'
96490 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96491 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96492 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96497 + fi
96498 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
96499 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
96501 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
96502 + for ac_func in _sincos
96503 +do :
96504 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
96505 +if test "x$ac_cv_func__sincos" = x""yes; then :
96506 + cat >>confdefs.h <<_ACEOF
96507 +#define HAVE__SINCOS 1
96508 +_ACEOF
96511 +done
96513 + fi
96514 + fi
96520 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
96521 +$as_echo_n "checking for fpclass declaration... " >&6; }
96522 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
96523 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
96524 + $as_echo_n "(cached) " >&6
96525 +else
96528 + ac_ext=cpp
96529 +ac_cpp='$CXXCPP $CPPFLAGS'
96530 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96531 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96532 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96534 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96535 +/* end confdefs.h. */
96536 +#include <math.h>
96537 + #ifdef HAVE_IEEEFP_H
96538 + #include <ieeefp.h>
96539 + #endif
96541 +int
96542 +main ()
96544 + fpclass(0);
96546 + return 0;
96548 +_ACEOF
96549 +if ac_fn_cxx_try_compile "$LINENO"; then :
96550 + glibcxx_cv_func_fpclass_use=yes
96551 +else
96552 + glibcxx_cv_func_fpclass_use=no
96554 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96555 + ac_ext=c
96556 +ac_cpp='$CPP $CPPFLAGS'
96557 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96558 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96559 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96564 + fi
96565 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
96566 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
96568 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
96569 + for ac_func in fpclass
96570 +do :
96571 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
96572 +if test "x$ac_cv_func_fpclass" = x""yes; then :
96573 + cat >>confdefs.h <<_ACEOF
96574 +#define HAVE_FPCLASS 1
96575 +_ACEOF
96578 +done
96580 + else
96582 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
96583 +$as_echo_n "checking for _fpclass declaration... " >&6; }
96584 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
96585 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
96586 + $as_echo_n "(cached) " >&6
96587 +else
96590 + ac_ext=cpp
96591 +ac_cpp='$CXXCPP $CPPFLAGS'
96592 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96593 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96594 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96596 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96597 +/* end confdefs.h. */
96598 +#include <math.h>
96599 + #ifdef HAVE_IEEEFP_H
96600 + #include <ieeefp.h>
96601 + #endif
96603 +int
96604 +main ()
96606 + _fpclass(0);
96608 + return 0;
96610 +_ACEOF
96611 +if ac_fn_cxx_try_compile "$LINENO"; then :
96612 + glibcxx_cv_func__fpclass_use=yes
96613 +else
96614 + glibcxx_cv_func__fpclass_use=no
96616 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96617 + ac_ext=c
96618 +ac_cpp='$CPP $CPPFLAGS'
96619 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96620 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96621 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96626 + fi
96627 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
96628 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
96630 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
96631 + for ac_func in _fpclass
96632 +do :
96633 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
96634 +if test "x$ac_cv_func__fpclass" = x""yes; then :
96635 + cat >>confdefs.h <<_ACEOF
96636 +#define HAVE__FPCLASS 1
96637 +_ACEOF
96640 +done
96642 + fi
96643 + fi
96649 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
96650 +$as_echo_n "checking for qfpclass declaration... " >&6; }
96651 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
96652 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
96653 + $as_echo_n "(cached) " >&6
96654 +else
96657 + ac_ext=cpp
96658 +ac_cpp='$CXXCPP $CPPFLAGS'
96659 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96660 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96661 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96663 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96664 +/* end confdefs.h. */
96665 +#include <math.h>
96666 + #ifdef HAVE_IEEEFP_H
96667 + #include <ieeefp.h>
96668 + #endif
96670 +int
96671 +main ()
96673 + qfpclass(0);
96675 + return 0;
96677 +_ACEOF
96678 +if ac_fn_cxx_try_compile "$LINENO"; then :
96679 + glibcxx_cv_func_qfpclass_use=yes
96680 +else
96681 + glibcxx_cv_func_qfpclass_use=no
96683 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96684 + ac_ext=c
96685 +ac_cpp='$CPP $CPPFLAGS'
96686 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96687 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96688 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96693 + fi
96694 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
96695 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
96697 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
96698 + for ac_func in qfpclass
96699 +do :
96700 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
96701 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
96702 + cat >>confdefs.h <<_ACEOF
96703 +#define HAVE_QFPCLASS 1
96704 +_ACEOF
96707 +done
96709 + else
96711 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
96712 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
96713 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
96714 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
96715 + $as_echo_n "(cached) " >&6
96716 +else
96719 + ac_ext=cpp
96720 +ac_cpp='$CXXCPP $CPPFLAGS'
96721 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96722 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96723 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96725 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96726 +/* end confdefs.h. */
96727 +#include <math.h>
96728 + #ifdef HAVE_IEEEFP_H
96729 + #include <ieeefp.h>
96730 + #endif
96732 +int
96733 +main ()
96735 + _qfpclass(0);
96737 + return 0;
96739 +_ACEOF
96740 +if ac_fn_cxx_try_compile "$LINENO"; then :
96741 + glibcxx_cv_func__qfpclass_use=yes
96742 +else
96743 + glibcxx_cv_func__qfpclass_use=no
96745 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96746 + ac_ext=c
96747 +ac_cpp='$CPP $CPPFLAGS'
96748 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96749 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96750 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96755 + fi
96756 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
96757 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
96759 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
96760 + for ac_func in _qfpclass
96761 +do :
96762 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
96763 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
96764 + cat >>confdefs.h <<_ACEOF
96765 +#define HAVE__QFPCLASS 1
96766 +_ACEOF
96769 +done
96771 + fi
96772 + fi
96778 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
96779 +$as_echo_n "checking for hypot declaration... " >&6; }
96780 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
96781 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
96782 + $as_echo_n "(cached) " >&6
96783 +else
96786 + ac_ext=cpp
96787 +ac_cpp='$CXXCPP $CPPFLAGS'
96788 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96789 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96790 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96792 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96793 +/* end confdefs.h. */
96794 +#include <math.h>
96795 +int
96796 +main ()
96798 + hypot(0, 0);
96800 + return 0;
96802 +_ACEOF
96803 +if ac_fn_cxx_try_compile "$LINENO"; then :
96804 + glibcxx_cv_func_hypot_use=yes
96805 +else
96806 + glibcxx_cv_func_hypot_use=no
96808 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96809 + ac_ext=c
96810 +ac_cpp='$CPP $CPPFLAGS'
96811 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96812 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96813 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96818 + fi
96819 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
96820 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
96822 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
96823 + for ac_func in hypot
96824 +do :
96825 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
96826 +if test "x$ac_cv_func_hypot" = x""yes; then :
96827 + cat >>confdefs.h <<_ACEOF
96828 +#define HAVE_HYPOT 1
96829 +_ACEOF
96832 +done
96834 + else
96836 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
96837 +$as_echo_n "checking for _hypot declaration... " >&6; }
96838 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
96839 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
96840 + $as_echo_n "(cached) " >&6
96841 +else
96844 + ac_ext=cpp
96845 +ac_cpp='$CXXCPP $CPPFLAGS'
96846 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96847 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96848 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96850 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96851 +/* end confdefs.h. */
96852 +#include <math.h>
96853 +int
96854 +main ()
96856 + _hypot(0, 0);
96858 + return 0;
96860 +_ACEOF
96861 +if ac_fn_cxx_try_compile "$LINENO"; then :
96862 + glibcxx_cv_func__hypot_use=yes
96863 +else
96864 + glibcxx_cv_func__hypot_use=no
96866 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96867 + ac_ext=c
96868 +ac_cpp='$CPP $CPPFLAGS'
96869 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96870 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96871 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96876 + fi
96877 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
96878 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
96880 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
96881 + for ac_func in _hypot
96882 +do :
96883 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
96884 +if test "x$ac_cv_func__hypot" = x""yes; then :
96885 + cat >>confdefs.h <<_ACEOF
96886 +#define HAVE__HYPOT 1
96887 +_ACEOF
96890 +done
96892 + fi
96893 + fi
96899 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
96900 +$as_echo_n "checking for float trig functions... " >&6; }
96901 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
96902 + $as_echo_n "(cached) " >&6
96903 +else
96906 + ac_ext=cpp
96907 +ac_cpp='$CXXCPP $CPPFLAGS'
96908 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96909 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96910 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96912 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96913 +/* end confdefs.h. */
96914 +#include <math.h>
96915 +int
96916 +main ()
96918 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
96920 + return 0;
96922 +_ACEOF
96923 +if ac_fn_cxx_try_compile "$LINENO"; then :
96924 + glibcxx_cv_func_float_trig_use=yes
96925 +else
96926 + glibcxx_cv_func_float_trig_use=no
96928 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96929 + ac_ext=c
96930 +ac_cpp='$CPP $CPPFLAGS'
96931 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96932 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96933 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96937 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
96938 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
96939 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
96940 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
96941 +do :
96942 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
96943 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
96944 +eval as_val=\$$as_ac_var
96945 + if test "x$as_val" = x""yes; then :
96946 + cat >>confdefs.h <<_ACEOF
96947 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
96948 +_ACEOF
96951 +done
96953 + else
96954 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
96955 +$as_echo_n "checking for _float trig functions... " >&6; }
96956 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
96957 + $as_echo_n "(cached) " >&6
96958 +else
96961 + ac_ext=cpp
96962 +ac_cpp='$CXXCPP $CPPFLAGS'
96963 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96964 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96965 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
96967 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
96968 +/* end confdefs.h. */
96969 +#include <math.h>
96970 +int
96971 +main ()
96973 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
96975 + return 0;
96977 +_ACEOF
96978 +if ac_fn_cxx_try_compile "$LINENO"; then :
96979 + glibcxx_cv_func__float_trig_use=yes
96980 +else
96981 + glibcxx_cv_func__float_trig_use=no
96983 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
96984 + ac_ext=c
96985 +ac_cpp='$CPP $CPPFLAGS'
96986 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
96987 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
96988 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
96992 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
96993 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
96994 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
96995 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
96996 +do :
96997 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
96998 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
96999 +eval as_val=\$$as_ac_var
97000 + if test "x$as_val" = x""yes; then :
97001 + cat >>confdefs.h <<_ACEOF
97002 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
97003 +_ACEOF
97006 +done
97008 + fi
97009 + fi
97015 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
97016 +$as_echo_n "checking for float round functions... " >&6; }
97017 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
97018 + $as_echo_n "(cached) " >&6
97019 +else
97022 + ac_ext=cpp
97023 +ac_cpp='$CXXCPP $CPPFLAGS'
97024 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97025 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97026 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97028 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97029 +/* end confdefs.h. */
97030 +#include <math.h>
97031 +int
97032 +main ()
97034 +ceilf (0); floorf (0);
97036 + return 0;
97038 +_ACEOF
97039 +if ac_fn_cxx_try_compile "$LINENO"; then :
97040 + glibcxx_cv_func_float_round_use=yes
97041 +else
97042 + glibcxx_cv_func_float_round_use=no
97044 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97045 + ac_ext=c
97046 +ac_cpp='$CPP $CPPFLAGS'
97047 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97048 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97049 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97053 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
97054 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
97055 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
97056 + for ac_func in ceilf floorf
97057 +do :
97058 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
97059 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
97060 +eval as_val=\$$as_ac_var
97061 + if test "x$as_val" = x""yes; then :
97062 + cat >>confdefs.h <<_ACEOF
97063 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
97064 +_ACEOF
97067 +done
97069 + else
97070 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
97071 +$as_echo_n "checking for _float round functions... " >&6; }
97072 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
97073 + $as_echo_n "(cached) " >&6
97074 +else
97077 + ac_ext=cpp
97078 +ac_cpp='$CXXCPP $CPPFLAGS'
97079 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97080 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97081 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97083 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97084 +/* end confdefs.h. */
97085 +#include <math.h>
97086 +int
97087 +main ()
97089 +_ceilf (0); _floorf (0);
97091 + return 0;
97093 +_ACEOF
97094 +if ac_fn_cxx_try_compile "$LINENO"; then :
97095 + glibcxx_cv_func__float_round_use=yes
97096 +else
97097 + glibcxx_cv_func__float_round_use=no
97099 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97100 + ac_ext=c
97101 +ac_cpp='$CPP $CPPFLAGS'
97102 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97103 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97104 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97108 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
97109 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
97110 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
97111 + for ac_func in _ceilf _floorf
97112 +do :
97113 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
97114 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
97115 +eval as_val=\$$as_ac_var
97116 + if test "x$as_val" = x""yes; then :
97117 + cat >>confdefs.h <<_ACEOF
97118 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
97119 +_ACEOF
97122 +done
97124 + fi
97125 + fi
97132 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
97133 +$as_echo_n "checking for expf declaration... " >&6; }
97134 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
97135 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
97136 + $as_echo_n "(cached) " >&6
97137 +else
97140 + ac_ext=cpp
97141 +ac_cpp='$CXXCPP $CPPFLAGS'
97142 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97143 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97144 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97146 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97147 +/* end confdefs.h. */
97148 +#include <math.h>
97149 + #ifdef HAVE_IEEEFP_H
97150 + #include <ieeefp.h>
97151 + #endif
97153 +int
97154 +main ()
97156 + expf(0);
97158 + return 0;
97160 +_ACEOF
97161 +if ac_fn_cxx_try_compile "$LINENO"; then :
97162 + glibcxx_cv_func_expf_use=yes
97163 +else
97164 + glibcxx_cv_func_expf_use=no
97166 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97167 + ac_ext=c
97168 +ac_cpp='$CPP $CPPFLAGS'
97169 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97170 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97171 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97176 + fi
97177 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
97178 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
97180 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
97181 + for ac_func in expf
97182 +do :
97183 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
97184 +if test "x$ac_cv_func_expf" = x""yes; then :
97185 + cat >>confdefs.h <<_ACEOF
97186 +#define HAVE_EXPF 1
97187 +_ACEOF
97190 +done
97192 + else
97194 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
97195 +$as_echo_n "checking for _expf declaration... " >&6; }
97196 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
97197 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
97198 + $as_echo_n "(cached) " >&6
97199 +else
97202 + ac_ext=cpp
97203 +ac_cpp='$CXXCPP $CPPFLAGS'
97204 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97205 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97206 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97208 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97209 +/* end confdefs.h. */
97210 +#include <math.h>
97211 + #ifdef HAVE_IEEEFP_H
97212 + #include <ieeefp.h>
97213 + #endif
97215 +int
97216 +main ()
97218 + _expf(0);
97220 + return 0;
97222 +_ACEOF
97223 +if ac_fn_cxx_try_compile "$LINENO"; then :
97224 + glibcxx_cv_func__expf_use=yes
97225 +else
97226 + glibcxx_cv_func__expf_use=no
97228 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97229 + ac_ext=c
97230 +ac_cpp='$CPP $CPPFLAGS'
97231 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97232 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97233 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97238 + fi
97239 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
97240 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
97242 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
97243 + for ac_func in _expf
97244 +do :
97245 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
97246 +if test "x$ac_cv_func__expf" = x""yes; then :
97247 + cat >>confdefs.h <<_ACEOF
97248 +#define HAVE__EXPF 1
97249 +_ACEOF
97252 +done
97254 + fi
97255 + fi
97261 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
97262 +$as_echo_n "checking for isnanf declaration... " >&6; }
97263 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
97264 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
97265 + $as_echo_n "(cached) " >&6
97266 +else
97269 + ac_ext=cpp
97270 +ac_cpp='$CXXCPP $CPPFLAGS'
97271 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97272 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97273 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97275 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97276 +/* end confdefs.h. */
97277 +#include <math.h>
97278 + #ifdef HAVE_IEEEFP_H
97279 + #include <ieeefp.h>
97280 + #endif
97282 +int
97283 +main ()
97285 + isnanf(0);
97287 + return 0;
97289 +_ACEOF
97290 +if ac_fn_cxx_try_compile "$LINENO"; then :
97291 + glibcxx_cv_func_isnanf_use=yes
97292 +else
97293 + glibcxx_cv_func_isnanf_use=no
97295 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97296 + ac_ext=c
97297 +ac_cpp='$CPP $CPPFLAGS'
97298 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97299 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97300 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97305 + fi
97306 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
97307 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
97309 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
97310 + for ac_func in isnanf
97311 +do :
97312 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
97313 +if test "x$ac_cv_func_isnanf" = x""yes; then :
97314 + cat >>confdefs.h <<_ACEOF
97315 +#define HAVE_ISNANF 1
97316 +_ACEOF
97319 +done
97321 + else
97323 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
97324 +$as_echo_n "checking for _isnanf declaration... " >&6; }
97325 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
97326 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
97327 + $as_echo_n "(cached) " >&6
97328 +else
97331 + ac_ext=cpp
97332 +ac_cpp='$CXXCPP $CPPFLAGS'
97333 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97334 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97335 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97337 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97338 +/* end confdefs.h. */
97339 +#include <math.h>
97340 + #ifdef HAVE_IEEEFP_H
97341 + #include <ieeefp.h>
97342 + #endif
97344 +int
97345 +main ()
97347 + _isnanf(0);
97349 + return 0;
97351 +_ACEOF
97352 +if ac_fn_cxx_try_compile "$LINENO"; then :
97353 + glibcxx_cv_func__isnanf_use=yes
97354 +else
97355 + glibcxx_cv_func__isnanf_use=no
97357 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97358 + ac_ext=c
97359 +ac_cpp='$CPP $CPPFLAGS'
97360 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97361 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97362 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97367 + fi
97368 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
97369 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
97371 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
97372 + for ac_func in _isnanf
97373 +do :
97374 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
97375 +if test "x$ac_cv_func__isnanf" = x""yes; then :
97376 + cat >>confdefs.h <<_ACEOF
97377 +#define HAVE__ISNANF 1
97378 +_ACEOF
97381 +done
97383 + fi
97384 + fi
97390 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
97391 +$as_echo_n "checking for isinff declaration... " >&6; }
97392 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
97393 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
97394 + $as_echo_n "(cached) " >&6
97395 +else
97398 + ac_ext=cpp
97399 +ac_cpp='$CXXCPP $CPPFLAGS'
97400 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97401 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97402 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97404 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97405 +/* end confdefs.h. */
97406 +#include <math.h>
97407 + #ifdef HAVE_IEEEFP_H
97408 + #include <ieeefp.h>
97409 + #endif
97411 +int
97412 +main ()
97414 + isinff(0);
97416 + return 0;
97418 +_ACEOF
97419 +if ac_fn_cxx_try_compile "$LINENO"; then :
97420 + glibcxx_cv_func_isinff_use=yes
97421 +else
97422 + glibcxx_cv_func_isinff_use=no
97424 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97425 + ac_ext=c
97426 +ac_cpp='$CPP $CPPFLAGS'
97427 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97428 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97429 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97434 + fi
97435 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
97436 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
97438 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
97439 + for ac_func in isinff
97440 +do :
97441 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
97442 +if test "x$ac_cv_func_isinff" = x""yes; then :
97443 + cat >>confdefs.h <<_ACEOF
97444 +#define HAVE_ISINFF 1
97445 +_ACEOF
97448 +done
97450 + else
97452 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
97453 +$as_echo_n "checking for _isinff declaration... " >&6; }
97454 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
97455 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
97456 + $as_echo_n "(cached) " >&6
97457 +else
97460 + ac_ext=cpp
97461 +ac_cpp='$CXXCPP $CPPFLAGS'
97462 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97463 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97464 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97466 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97467 +/* end confdefs.h. */
97468 +#include <math.h>
97469 + #ifdef HAVE_IEEEFP_H
97470 + #include <ieeefp.h>
97471 + #endif
97473 +int
97474 +main ()
97476 + _isinff(0);
97478 + return 0;
97480 +_ACEOF
97481 +if ac_fn_cxx_try_compile "$LINENO"; then :
97482 + glibcxx_cv_func__isinff_use=yes
97483 +else
97484 + glibcxx_cv_func__isinff_use=no
97486 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97487 + ac_ext=c
97488 +ac_cpp='$CPP $CPPFLAGS'
97489 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97490 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97491 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97496 + fi
97497 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
97498 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
97500 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
97501 + for ac_func in _isinff
97502 +do :
97503 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
97504 +if test "x$ac_cv_func__isinff" = x""yes; then :
97505 + cat >>confdefs.h <<_ACEOF
97506 +#define HAVE__ISINFF 1
97507 +_ACEOF
97510 +done
97512 + fi
97513 + fi
97519 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
97520 +$as_echo_n "checking for atan2f declaration... " >&6; }
97521 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
97522 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
97523 + $as_echo_n "(cached) " >&6
97524 +else
97527 + ac_ext=cpp
97528 +ac_cpp='$CXXCPP $CPPFLAGS'
97529 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97530 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97531 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97533 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97534 +/* end confdefs.h. */
97535 +#include <math.h>
97536 +int
97537 +main ()
97539 + atan2f(0, 0);
97541 + return 0;
97543 +_ACEOF
97544 +if ac_fn_cxx_try_compile "$LINENO"; then :
97545 + glibcxx_cv_func_atan2f_use=yes
97546 +else
97547 + glibcxx_cv_func_atan2f_use=no
97549 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97550 + ac_ext=c
97551 +ac_cpp='$CPP $CPPFLAGS'
97552 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97553 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97554 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97559 + fi
97560 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
97561 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
97563 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
97564 + for ac_func in atan2f
97565 +do :
97566 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
97567 +if test "x$ac_cv_func_atan2f" = x""yes; then :
97568 + cat >>confdefs.h <<_ACEOF
97569 +#define HAVE_ATAN2F 1
97570 +_ACEOF
97573 +done
97575 + else
97577 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
97578 +$as_echo_n "checking for _atan2f declaration... " >&6; }
97579 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
97580 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
97581 + $as_echo_n "(cached) " >&6
97582 +else
97585 + ac_ext=cpp
97586 +ac_cpp='$CXXCPP $CPPFLAGS'
97587 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97588 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97589 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97591 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97592 +/* end confdefs.h. */
97593 +#include <math.h>
97594 +int
97595 +main ()
97597 + _atan2f(0, 0);
97599 + return 0;
97601 +_ACEOF
97602 +if ac_fn_cxx_try_compile "$LINENO"; then :
97603 + glibcxx_cv_func__atan2f_use=yes
97604 +else
97605 + glibcxx_cv_func__atan2f_use=no
97607 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97608 + ac_ext=c
97609 +ac_cpp='$CPP $CPPFLAGS'
97610 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97611 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97612 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97617 + fi
97618 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
97619 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
97621 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
97622 + for ac_func in _atan2f
97623 +do :
97624 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
97625 +if test "x$ac_cv_func__atan2f" = x""yes; then :
97626 + cat >>confdefs.h <<_ACEOF
97627 +#define HAVE__ATAN2F 1
97628 +_ACEOF
97631 +done
97633 + fi
97634 + fi
97640 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
97641 +$as_echo_n "checking for fabsf declaration... " >&6; }
97642 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
97643 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
97644 + $as_echo_n "(cached) " >&6
97645 +else
97648 + ac_ext=cpp
97649 +ac_cpp='$CXXCPP $CPPFLAGS'
97650 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97651 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97652 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97654 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97655 +/* end confdefs.h. */
97656 +#include <math.h>
97657 + #ifdef HAVE_IEEEFP_H
97658 + #include <ieeefp.h>
97659 + #endif
97661 +int
97662 +main ()
97664 + fabsf(0);
97666 + return 0;
97668 +_ACEOF
97669 +if ac_fn_cxx_try_compile "$LINENO"; then :
97670 + glibcxx_cv_func_fabsf_use=yes
97671 +else
97672 + glibcxx_cv_func_fabsf_use=no
97674 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97675 + ac_ext=c
97676 +ac_cpp='$CPP $CPPFLAGS'
97677 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97678 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97679 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97684 + fi
97685 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
97686 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
97688 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
97689 + for ac_func in fabsf
97690 +do :
97691 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
97692 +if test "x$ac_cv_func_fabsf" = x""yes; then :
97693 + cat >>confdefs.h <<_ACEOF
97694 +#define HAVE_FABSF 1
97695 +_ACEOF
97698 +done
97700 + else
97702 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
97703 +$as_echo_n "checking for _fabsf declaration... " >&6; }
97704 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
97705 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
97706 + $as_echo_n "(cached) " >&6
97707 +else
97710 + ac_ext=cpp
97711 +ac_cpp='$CXXCPP $CPPFLAGS'
97712 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97713 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97714 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97716 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97717 +/* end confdefs.h. */
97718 +#include <math.h>
97719 + #ifdef HAVE_IEEEFP_H
97720 + #include <ieeefp.h>
97721 + #endif
97723 +int
97724 +main ()
97726 + _fabsf(0);
97728 + return 0;
97730 +_ACEOF
97731 +if ac_fn_cxx_try_compile "$LINENO"; then :
97732 + glibcxx_cv_func__fabsf_use=yes
97733 +else
97734 + glibcxx_cv_func__fabsf_use=no
97736 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97737 + ac_ext=c
97738 +ac_cpp='$CPP $CPPFLAGS'
97739 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97740 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97741 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97746 + fi
97747 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
97748 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
97750 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
97751 + for ac_func in _fabsf
97752 +do :
97753 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
97754 +if test "x$ac_cv_func__fabsf" = x""yes; then :
97755 + cat >>confdefs.h <<_ACEOF
97756 +#define HAVE__FABSF 1
97757 +_ACEOF
97760 +done
97762 + fi
97763 + fi
97769 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
97770 +$as_echo_n "checking for fmodf declaration... " >&6; }
97771 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
97772 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
97773 + $as_echo_n "(cached) " >&6
97774 +else
97777 + ac_ext=cpp
97778 +ac_cpp='$CXXCPP $CPPFLAGS'
97779 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97780 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97781 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97783 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97784 +/* end confdefs.h. */
97785 +#include <math.h>
97786 +int
97787 +main ()
97789 + fmodf(0, 0);
97791 + return 0;
97793 +_ACEOF
97794 +if ac_fn_cxx_try_compile "$LINENO"; then :
97795 + glibcxx_cv_func_fmodf_use=yes
97796 +else
97797 + glibcxx_cv_func_fmodf_use=no
97799 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97800 + ac_ext=c
97801 +ac_cpp='$CPP $CPPFLAGS'
97802 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97803 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97804 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97809 + fi
97810 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
97811 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
97813 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
97814 + for ac_func in fmodf
97815 +do :
97816 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
97817 +if test "x$ac_cv_func_fmodf" = x""yes; then :
97818 + cat >>confdefs.h <<_ACEOF
97819 +#define HAVE_FMODF 1
97820 +_ACEOF
97823 +done
97825 + else
97827 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
97828 +$as_echo_n "checking for _fmodf declaration... " >&6; }
97829 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
97830 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
97831 + $as_echo_n "(cached) " >&6
97832 +else
97835 + ac_ext=cpp
97836 +ac_cpp='$CXXCPP $CPPFLAGS'
97837 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97838 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97839 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97841 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97842 +/* end confdefs.h. */
97843 +#include <math.h>
97844 +int
97845 +main ()
97847 + _fmodf(0, 0);
97849 + return 0;
97851 +_ACEOF
97852 +if ac_fn_cxx_try_compile "$LINENO"; then :
97853 + glibcxx_cv_func__fmodf_use=yes
97854 +else
97855 + glibcxx_cv_func__fmodf_use=no
97857 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97858 + ac_ext=c
97859 +ac_cpp='$CPP $CPPFLAGS'
97860 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97861 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97862 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97867 + fi
97868 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
97869 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
97871 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
97872 + for ac_func in _fmodf
97873 +do :
97874 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
97875 +if test "x$ac_cv_func__fmodf" = x""yes; then :
97876 + cat >>confdefs.h <<_ACEOF
97877 +#define HAVE__FMODF 1
97878 +_ACEOF
97881 +done
97883 + fi
97884 + fi
97890 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
97891 +$as_echo_n "checking for frexpf declaration... " >&6; }
97892 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
97893 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
97894 + $as_echo_n "(cached) " >&6
97895 +else
97898 + ac_ext=cpp
97899 +ac_cpp='$CXXCPP $CPPFLAGS'
97900 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97901 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97902 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97904 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97905 +/* end confdefs.h. */
97906 +#include <math.h>
97907 +int
97908 +main ()
97910 + frexpf(0, 0);
97912 + return 0;
97914 +_ACEOF
97915 +if ac_fn_cxx_try_compile "$LINENO"; then :
97916 + glibcxx_cv_func_frexpf_use=yes
97917 +else
97918 + glibcxx_cv_func_frexpf_use=no
97920 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97921 + ac_ext=c
97922 +ac_cpp='$CPP $CPPFLAGS'
97923 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97924 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97925 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97930 + fi
97931 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
97932 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
97934 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
97935 + for ac_func in frexpf
97936 +do :
97937 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
97938 +if test "x$ac_cv_func_frexpf" = x""yes; then :
97939 + cat >>confdefs.h <<_ACEOF
97940 +#define HAVE_FREXPF 1
97941 +_ACEOF
97944 +done
97946 + else
97948 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
97949 +$as_echo_n "checking for _frexpf declaration... " >&6; }
97950 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
97951 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
97952 + $as_echo_n "(cached) " >&6
97953 +else
97956 + ac_ext=cpp
97957 +ac_cpp='$CXXCPP $CPPFLAGS'
97958 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97959 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97960 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
97962 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
97963 +/* end confdefs.h. */
97964 +#include <math.h>
97965 +int
97966 +main ()
97968 + _frexpf(0, 0);
97970 + return 0;
97972 +_ACEOF
97973 +if ac_fn_cxx_try_compile "$LINENO"; then :
97974 + glibcxx_cv_func__frexpf_use=yes
97975 +else
97976 + glibcxx_cv_func__frexpf_use=no
97978 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
97979 + ac_ext=c
97980 +ac_cpp='$CPP $CPPFLAGS'
97981 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
97982 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
97983 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
97988 + fi
97989 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
97990 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
97992 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
97993 + for ac_func in _frexpf
97994 +do :
97995 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
97996 +if test "x$ac_cv_func__frexpf" = x""yes; then :
97997 + cat >>confdefs.h <<_ACEOF
97998 +#define HAVE__FREXPF 1
97999 +_ACEOF
98002 +done
98004 + fi
98005 + fi
98011 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
98012 +$as_echo_n "checking for hypotf declaration... " >&6; }
98013 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
98014 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
98015 + $as_echo_n "(cached) " >&6
98016 +else
98019 + ac_ext=cpp
98020 +ac_cpp='$CXXCPP $CPPFLAGS'
98021 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98022 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98023 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98025 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98026 +/* end confdefs.h. */
98027 +#include <math.h>
98028 +int
98029 +main ()
98031 + hypotf(0, 0);
98033 + return 0;
98035 +_ACEOF
98036 +if ac_fn_cxx_try_compile "$LINENO"; then :
98037 + glibcxx_cv_func_hypotf_use=yes
98038 +else
98039 + glibcxx_cv_func_hypotf_use=no
98041 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98042 + ac_ext=c
98043 +ac_cpp='$CPP $CPPFLAGS'
98044 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98045 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98046 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98051 + fi
98052 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
98053 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
98055 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
98056 + for ac_func in hypotf
98057 +do :
98058 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
98059 +if test "x$ac_cv_func_hypotf" = x""yes; then :
98060 + cat >>confdefs.h <<_ACEOF
98061 +#define HAVE_HYPOTF 1
98062 +_ACEOF
98065 +done
98067 + else
98069 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
98070 +$as_echo_n "checking for _hypotf declaration... " >&6; }
98071 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
98072 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
98073 + $as_echo_n "(cached) " >&6
98074 +else
98077 + ac_ext=cpp
98078 +ac_cpp='$CXXCPP $CPPFLAGS'
98079 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98080 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98081 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98083 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98084 +/* end confdefs.h. */
98085 +#include <math.h>
98086 +int
98087 +main ()
98089 + _hypotf(0, 0);
98091 + return 0;
98093 +_ACEOF
98094 +if ac_fn_cxx_try_compile "$LINENO"; then :
98095 + glibcxx_cv_func__hypotf_use=yes
98096 +else
98097 + glibcxx_cv_func__hypotf_use=no
98099 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98100 + ac_ext=c
98101 +ac_cpp='$CPP $CPPFLAGS'
98102 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98103 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98104 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98109 + fi
98110 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
98111 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
98113 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
98114 + for ac_func in _hypotf
98115 +do :
98116 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
98117 +if test "x$ac_cv_func__hypotf" = x""yes; then :
98118 + cat >>confdefs.h <<_ACEOF
98119 +#define HAVE__HYPOTF 1
98120 +_ACEOF
98123 +done
98125 + fi
98126 + fi
98132 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
98133 +$as_echo_n "checking for ldexpf declaration... " >&6; }
98134 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
98135 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
98136 + $as_echo_n "(cached) " >&6
98137 +else
98140 + ac_ext=cpp
98141 +ac_cpp='$CXXCPP $CPPFLAGS'
98142 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98143 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98144 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98146 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98147 +/* end confdefs.h. */
98148 +#include <math.h>
98149 +int
98150 +main ()
98152 + ldexpf(0, 0);
98154 + return 0;
98156 +_ACEOF
98157 +if ac_fn_cxx_try_compile "$LINENO"; then :
98158 + glibcxx_cv_func_ldexpf_use=yes
98159 +else
98160 + glibcxx_cv_func_ldexpf_use=no
98162 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98163 + ac_ext=c
98164 +ac_cpp='$CPP $CPPFLAGS'
98165 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98166 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98167 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98172 + fi
98173 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
98174 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
98176 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
98177 + for ac_func in ldexpf
98178 +do :
98179 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
98180 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
98181 + cat >>confdefs.h <<_ACEOF
98182 +#define HAVE_LDEXPF 1
98183 +_ACEOF
98186 +done
98188 + else
98190 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
98191 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
98192 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
98193 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
98194 + $as_echo_n "(cached) " >&6
98195 +else
98198 + ac_ext=cpp
98199 +ac_cpp='$CXXCPP $CPPFLAGS'
98200 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98201 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98202 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98204 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98205 +/* end confdefs.h. */
98206 +#include <math.h>
98207 +int
98208 +main ()
98210 + _ldexpf(0, 0);
98212 + return 0;
98214 +_ACEOF
98215 +if ac_fn_cxx_try_compile "$LINENO"; then :
98216 + glibcxx_cv_func__ldexpf_use=yes
98217 +else
98218 + glibcxx_cv_func__ldexpf_use=no
98220 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98221 + ac_ext=c
98222 +ac_cpp='$CPP $CPPFLAGS'
98223 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98224 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98225 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98230 + fi
98231 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
98232 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
98234 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
98235 + for ac_func in _ldexpf
98236 +do :
98237 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
98238 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
98239 + cat >>confdefs.h <<_ACEOF
98240 +#define HAVE__LDEXPF 1
98241 +_ACEOF
98244 +done
98246 + fi
98247 + fi
98253 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
98254 +$as_echo_n "checking for logf declaration... " >&6; }
98255 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
98256 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
98257 + $as_echo_n "(cached) " >&6
98258 +else
98261 + ac_ext=cpp
98262 +ac_cpp='$CXXCPP $CPPFLAGS'
98263 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98264 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98265 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98267 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98268 +/* end confdefs.h. */
98269 +#include <math.h>
98270 + #ifdef HAVE_IEEEFP_H
98271 + #include <ieeefp.h>
98272 + #endif
98274 +int
98275 +main ()
98277 + logf(0);
98279 + return 0;
98281 +_ACEOF
98282 +if ac_fn_cxx_try_compile "$LINENO"; then :
98283 + glibcxx_cv_func_logf_use=yes
98284 +else
98285 + glibcxx_cv_func_logf_use=no
98287 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98288 + ac_ext=c
98289 +ac_cpp='$CPP $CPPFLAGS'
98290 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98291 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98292 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98297 + fi
98298 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
98299 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
98301 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
98302 + for ac_func in logf
98303 +do :
98304 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
98305 +if test "x$ac_cv_func_logf" = x""yes; then :
98306 + cat >>confdefs.h <<_ACEOF
98307 +#define HAVE_LOGF 1
98308 +_ACEOF
98311 +done
98313 + else
98315 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
98316 +$as_echo_n "checking for _logf declaration... " >&6; }
98317 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
98318 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
98319 + $as_echo_n "(cached) " >&6
98320 +else
98323 + ac_ext=cpp
98324 +ac_cpp='$CXXCPP $CPPFLAGS'
98325 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98326 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98327 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98329 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98330 +/* end confdefs.h. */
98331 +#include <math.h>
98332 + #ifdef HAVE_IEEEFP_H
98333 + #include <ieeefp.h>
98334 + #endif
98336 +int
98337 +main ()
98339 + _logf(0);
98341 + return 0;
98343 +_ACEOF
98344 +if ac_fn_cxx_try_compile "$LINENO"; then :
98345 + glibcxx_cv_func__logf_use=yes
98346 +else
98347 + glibcxx_cv_func__logf_use=no
98349 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98350 + ac_ext=c
98351 +ac_cpp='$CPP $CPPFLAGS'
98352 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98353 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98354 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98359 + fi
98360 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
98361 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
98363 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
98364 + for ac_func in _logf
98365 +do :
98366 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
98367 +if test "x$ac_cv_func__logf" = x""yes; then :
98368 + cat >>confdefs.h <<_ACEOF
98369 +#define HAVE__LOGF 1
98370 +_ACEOF
98373 +done
98375 + fi
98376 + fi
98382 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
98383 +$as_echo_n "checking for log10f declaration... " >&6; }
98384 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
98385 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
98386 + $as_echo_n "(cached) " >&6
98387 +else
98390 + ac_ext=cpp
98391 +ac_cpp='$CXXCPP $CPPFLAGS'
98392 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98393 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98394 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98396 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98397 +/* end confdefs.h. */
98398 +#include <math.h>
98399 + #ifdef HAVE_IEEEFP_H
98400 + #include <ieeefp.h>
98401 + #endif
98403 +int
98404 +main ()
98406 + log10f(0);
98408 + return 0;
98410 +_ACEOF
98411 +if ac_fn_cxx_try_compile "$LINENO"; then :
98412 + glibcxx_cv_func_log10f_use=yes
98413 +else
98414 + glibcxx_cv_func_log10f_use=no
98416 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98417 + ac_ext=c
98418 +ac_cpp='$CPP $CPPFLAGS'
98419 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98420 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98421 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98426 + fi
98427 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
98428 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
98430 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
98431 + for ac_func in log10f
98432 +do :
98433 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
98434 +if test "x$ac_cv_func_log10f" = x""yes; then :
98435 + cat >>confdefs.h <<_ACEOF
98436 +#define HAVE_LOG10F 1
98437 +_ACEOF
98440 +done
98442 + else
98444 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
98445 +$as_echo_n "checking for _log10f declaration... " >&6; }
98446 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
98447 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
98448 + $as_echo_n "(cached) " >&6
98449 +else
98452 + ac_ext=cpp
98453 +ac_cpp='$CXXCPP $CPPFLAGS'
98454 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98455 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98456 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98458 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98459 +/* end confdefs.h. */
98460 +#include <math.h>
98461 + #ifdef HAVE_IEEEFP_H
98462 + #include <ieeefp.h>
98463 + #endif
98465 +int
98466 +main ()
98468 + _log10f(0);
98470 + return 0;
98472 +_ACEOF
98473 +if ac_fn_cxx_try_compile "$LINENO"; then :
98474 + glibcxx_cv_func__log10f_use=yes
98475 +else
98476 + glibcxx_cv_func__log10f_use=no
98478 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98479 + ac_ext=c
98480 +ac_cpp='$CPP $CPPFLAGS'
98481 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98482 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98483 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98488 + fi
98489 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
98490 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
98492 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
98493 + for ac_func in _log10f
98494 +do :
98495 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
98496 +if test "x$ac_cv_func__log10f" = x""yes; then :
98497 + cat >>confdefs.h <<_ACEOF
98498 +#define HAVE__LOG10F 1
98499 +_ACEOF
98502 +done
98504 + fi
98505 + fi
98511 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
98512 +$as_echo_n "checking for modff declaration... " >&6; }
98513 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
98514 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
98515 + $as_echo_n "(cached) " >&6
98516 +else
98519 + ac_ext=cpp
98520 +ac_cpp='$CXXCPP $CPPFLAGS'
98521 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98522 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98523 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98525 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98526 +/* end confdefs.h. */
98527 +#include <math.h>
98528 +int
98529 +main ()
98531 + modff(0, 0);
98533 + return 0;
98535 +_ACEOF
98536 +if ac_fn_cxx_try_compile "$LINENO"; then :
98537 + glibcxx_cv_func_modff_use=yes
98538 +else
98539 + glibcxx_cv_func_modff_use=no
98541 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98542 + ac_ext=c
98543 +ac_cpp='$CPP $CPPFLAGS'
98544 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98545 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98546 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98551 + fi
98552 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
98553 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
98555 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
98556 + for ac_func in modff
98557 +do :
98558 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
98559 +if test "x$ac_cv_func_modff" = x""yes; then :
98560 + cat >>confdefs.h <<_ACEOF
98561 +#define HAVE_MODFF 1
98562 +_ACEOF
98565 +done
98567 + else
98569 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
98570 +$as_echo_n "checking for _modff declaration... " >&6; }
98571 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
98572 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
98573 + $as_echo_n "(cached) " >&6
98574 +else
98577 + ac_ext=cpp
98578 +ac_cpp='$CXXCPP $CPPFLAGS'
98579 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98580 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98581 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98583 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98584 +/* end confdefs.h. */
98585 +#include <math.h>
98586 +int
98587 +main ()
98589 + _modff(0, 0);
98591 + return 0;
98593 +_ACEOF
98594 +if ac_fn_cxx_try_compile "$LINENO"; then :
98595 + glibcxx_cv_func__modff_use=yes
98596 +else
98597 + glibcxx_cv_func__modff_use=no
98599 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98600 + ac_ext=c
98601 +ac_cpp='$CPP $CPPFLAGS'
98602 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98603 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98604 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98609 + fi
98610 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
98611 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
98613 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
98614 + for ac_func in _modff
98615 +do :
98616 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
98617 +if test "x$ac_cv_func__modff" = x""yes; then :
98618 + cat >>confdefs.h <<_ACEOF
98619 +#define HAVE__MODFF 1
98620 +_ACEOF
98623 +done
98625 + fi
98626 + fi
98632 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
98633 +$as_echo_n "checking for modf declaration... " >&6; }
98634 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
98635 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
98636 + $as_echo_n "(cached) " >&6
98637 +else
98640 + ac_ext=cpp
98641 +ac_cpp='$CXXCPP $CPPFLAGS'
98642 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98643 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98644 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98646 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98647 +/* end confdefs.h. */
98648 +#include <math.h>
98649 +int
98650 +main ()
98652 + modf(0, 0);
98654 + return 0;
98656 +_ACEOF
98657 +if ac_fn_cxx_try_compile "$LINENO"; then :
98658 + glibcxx_cv_func_modf_use=yes
98659 +else
98660 + glibcxx_cv_func_modf_use=no
98662 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98663 + ac_ext=c
98664 +ac_cpp='$CPP $CPPFLAGS'
98665 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98666 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98667 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98672 + fi
98673 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
98674 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
98676 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
98677 + for ac_func in modf
98678 +do :
98679 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
98680 +if test "x$ac_cv_func_modf" = x""yes; then :
98681 + cat >>confdefs.h <<_ACEOF
98682 +#define HAVE_MODF 1
98683 +_ACEOF
98686 +done
98688 + else
98690 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
98691 +$as_echo_n "checking for _modf declaration... " >&6; }
98692 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
98693 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
98694 + $as_echo_n "(cached) " >&6
98695 +else
98698 + ac_ext=cpp
98699 +ac_cpp='$CXXCPP $CPPFLAGS'
98700 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98701 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98702 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98704 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98705 +/* end confdefs.h. */
98706 +#include <math.h>
98707 +int
98708 +main ()
98710 + _modf(0, 0);
98712 + return 0;
98714 +_ACEOF
98715 +if ac_fn_cxx_try_compile "$LINENO"; then :
98716 + glibcxx_cv_func__modf_use=yes
98717 +else
98718 + glibcxx_cv_func__modf_use=no
98720 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98721 + ac_ext=c
98722 +ac_cpp='$CPP $CPPFLAGS'
98723 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98724 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98725 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98730 + fi
98731 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
98732 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
98734 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
98735 + for ac_func in _modf
98736 +do :
98737 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
98738 +if test "x$ac_cv_func__modf" = x""yes; then :
98739 + cat >>confdefs.h <<_ACEOF
98740 +#define HAVE__MODF 1
98741 +_ACEOF
98744 +done
98746 + fi
98747 + fi
98753 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
98754 +$as_echo_n "checking for powf declaration... " >&6; }
98755 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
98756 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
98757 + $as_echo_n "(cached) " >&6
98758 +else
98761 + ac_ext=cpp
98762 +ac_cpp='$CXXCPP $CPPFLAGS'
98763 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98764 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98765 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98767 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98768 +/* end confdefs.h. */
98769 +#include <math.h>
98770 +int
98771 +main ()
98773 + powf(0, 0);
98775 + return 0;
98777 +_ACEOF
98778 +if ac_fn_cxx_try_compile "$LINENO"; then :
98779 + glibcxx_cv_func_powf_use=yes
98780 +else
98781 + glibcxx_cv_func_powf_use=no
98783 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98784 + ac_ext=c
98785 +ac_cpp='$CPP $CPPFLAGS'
98786 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98787 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98788 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98793 + fi
98794 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
98795 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
98797 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
98798 + for ac_func in powf
98799 +do :
98800 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
98801 +if test "x$ac_cv_func_powf" = x""yes; then :
98802 + cat >>confdefs.h <<_ACEOF
98803 +#define HAVE_POWF 1
98804 +_ACEOF
98807 +done
98809 + else
98811 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
98812 +$as_echo_n "checking for _powf declaration... " >&6; }
98813 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
98814 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
98815 + $as_echo_n "(cached) " >&6
98816 +else
98819 + ac_ext=cpp
98820 +ac_cpp='$CXXCPP $CPPFLAGS'
98821 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98822 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98823 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98825 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98826 +/* end confdefs.h. */
98827 +#include <math.h>
98828 +int
98829 +main ()
98831 + _powf(0, 0);
98833 + return 0;
98835 +_ACEOF
98836 +if ac_fn_cxx_try_compile "$LINENO"; then :
98837 + glibcxx_cv_func__powf_use=yes
98838 +else
98839 + glibcxx_cv_func__powf_use=no
98841 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98842 + ac_ext=c
98843 +ac_cpp='$CPP $CPPFLAGS'
98844 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98845 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98846 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98851 + fi
98852 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
98853 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
98855 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
98856 + for ac_func in _powf
98857 +do :
98858 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
98859 +if test "x$ac_cv_func__powf" = x""yes; then :
98860 + cat >>confdefs.h <<_ACEOF
98861 +#define HAVE__POWF 1
98862 +_ACEOF
98865 +done
98867 + fi
98868 + fi
98874 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
98875 +$as_echo_n "checking for sqrtf declaration... " >&6; }
98876 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
98877 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
98878 + $as_echo_n "(cached) " >&6
98879 +else
98882 + ac_ext=cpp
98883 +ac_cpp='$CXXCPP $CPPFLAGS'
98884 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98885 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98886 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98888 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98889 +/* end confdefs.h. */
98890 +#include <math.h>
98891 + #ifdef HAVE_IEEEFP_H
98892 + #include <ieeefp.h>
98893 + #endif
98895 +int
98896 +main ()
98898 + sqrtf(0);
98900 + return 0;
98902 +_ACEOF
98903 +if ac_fn_cxx_try_compile "$LINENO"; then :
98904 + glibcxx_cv_func_sqrtf_use=yes
98905 +else
98906 + glibcxx_cv_func_sqrtf_use=no
98908 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98909 + ac_ext=c
98910 +ac_cpp='$CPP $CPPFLAGS'
98911 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98912 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98913 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98918 + fi
98919 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
98920 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
98922 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
98923 + for ac_func in sqrtf
98924 +do :
98925 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
98926 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
98927 + cat >>confdefs.h <<_ACEOF
98928 +#define HAVE_SQRTF 1
98929 +_ACEOF
98932 +done
98934 + else
98936 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
98937 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
98938 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
98939 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
98940 + $as_echo_n "(cached) " >&6
98941 +else
98944 + ac_ext=cpp
98945 +ac_cpp='$CXXCPP $CPPFLAGS'
98946 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98947 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98948 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
98950 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
98951 +/* end confdefs.h. */
98952 +#include <math.h>
98953 + #ifdef HAVE_IEEEFP_H
98954 + #include <ieeefp.h>
98955 + #endif
98957 +int
98958 +main ()
98960 + _sqrtf(0);
98962 + return 0;
98964 +_ACEOF
98965 +if ac_fn_cxx_try_compile "$LINENO"; then :
98966 + glibcxx_cv_func__sqrtf_use=yes
98967 +else
98968 + glibcxx_cv_func__sqrtf_use=no
98970 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
98971 + ac_ext=c
98972 +ac_cpp='$CPP $CPPFLAGS'
98973 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
98974 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
98975 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
98980 + fi
98981 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
98982 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
98984 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
98985 + for ac_func in _sqrtf
98986 +do :
98987 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
98988 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
98989 + cat >>confdefs.h <<_ACEOF
98990 +#define HAVE__SQRTF 1
98991 +_ACEOF
98994 +done
98996 + fi
98997 + fi
99003 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
99004 +$as_echo_n "checking for sincosf declaration... " >&6; }
99005 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
99006 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
99007 + $as_echo_n "(cached) " >&6
99008 +else
99011 + ac_ext=cpp
99012 +ac_cpp='$CXXCPP $CPPFLAGS'
99013 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99014 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99015 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99017 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99018 +/* end confdefs.h. */
99019 +#include <math.h>
99020 +int
99021 +main ()
99023 + sincosf(0, 0, 0);
99025 + return 0;
99027 +_ACEOF
99028 +if ac_fn_cxx_try_compile "$LINENO"; then :
99029 + glibcxx_cv_func_sincosf_use=yes
99030 +else
99031 + glibcxx_cv_func_sincosf_use=no
99033 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99034 + ac_ext=c
99035 +ac_cpp='$CPP $CPPFLAGS'
99036 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99037 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99038 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99043 + fi
99044 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
99045 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
99047 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
99048 + for ac_func in sincosf
99049 +do :
99050 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
99051 +if test "x$ac_cv_func_sincosf" = x""yes; then :
99052 + cat >>confdefs.h <<_ACEOF
99053 +#define HAVE_SINCOSF 1
99054 +_ACEOF
99057 +done
99059 + else
99061 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
99062 +$as_echo_n "checking for _sincosf declaration... " >&6; }
99063 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
99064 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
99065 + $as_echo_n "(cached) " >&6
99066 +else
99069 + ac_ext=cpp
99070 +ac_cpp='$CXXCPP $CPPFLAGS'
99071 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99072 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99073 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99075 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99076 +/* end confdefs.h. */
99077 +#include <math.h>
99078 +int
99079 +main ()
99081 + _sincosf(0, 0, 0);
99083 + return 0;
99085 +_ACEOF
99086 +if ac_fn_cxx_try_compile "$LINENO"; then :
99087 + glibcxx_cv_func__sincosf_use=yes
99088 +else
99089 + glibcxx_cv_func__sincosf_use=no
99091 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99092 + ac_ext=c
99093 +ac_cpp='$CPP $CPPFLAGS'
99094 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99095 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99096 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99101 + fi
99102 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
99103 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
99105 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
99106 + for ac_func in _sincosf
99107 +do :
99108 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
99109 +if test "x$ac_cv_func__sincosf" = x""yes; then :
99110 + cat >>confdefs.h <<_ACEOF
99111 +#define HAVE__SINCOSF 1
99112 +_ACEOF
99115 +done
99117 + fi
99118 + fi
99124 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
99125 +$as_echo_n "checking for finitef declaration... " >&6; }
99126 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
99127 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
99128 + $as_echo_n "(cached) " >&6
99129 +else
99132 + ac_ext=cpp
99133 +ac_cpp='$CXXCPP $CPPFLAGS'
99134 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99135 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99136 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99138 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99139 +/* end confdefs.h. */
99140 +#include <math.h>
99141 + #ifdef HAVE_IEEEFP_H
99142 + #include <ieeefp.h>
99143 + #endif
99145 +int
99146 +main ()
99148 + finitef(0);
99150 + return 0;
99152 +_ACEOF
99153 +if ac_fn_cxx_try_compile "$LINENO"; then :
99154 + glibcxx_cv_func_finitef_use=yes
99155 +else
99156 + glibcxx_cv_func_finitef_use=no
99158 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99159 + ac_ext=c
99160 +ac_cpp='$CPP $CPPFLAGS'
99161 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99162 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99163 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99168 + fi
99169 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
99170 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
99172 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
99173 + for ac_func in finitef
99174 +do :
99175 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
99176 +if test "x$ac_cv_func_finitef" = x""yes; then :
99177 + cat >>confdefs.h <<_ACEOF
99178 +#define HAVE_FINITEF 1
99179 +_ACEOF
99182 +done
99184 + else
99186 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
99187 +$as_echo_n "checking for _finitef declaration... " >&6; }
99188 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
99189 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
99190 + $as_echo_n "(cached) " >&6
99191 +else
99194 + ac_ext=cpp
99195 +ac_cpp='$CXXCPP $CPPFLAGS'
99196 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99197 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99198 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99200 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99201 +/* end confdefs.h. */
99202 +#include <math.h>
99203 + #ifdef HAVE_IEEEFP_H
99204 + #include <ieeefp.h>
99205 + #endif
99207 +int
99208 +main ()
99210 + _finitef(0);
99212 + return 0;
99214 +_ACEOF
99215 +if ac_fn_cxx_try_compile "$LINENO"; then :
99216 + glibcxx_cv_func__finitef_use=yes
99217 +else
99218 + glibcxx_cv_func__finitef_use=no
99220 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99221 + ac_ext=c
99222 +ac_cpp='$CPP $CPPFLAGS'
99223 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99224 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99225 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99230 + fi
99231 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
99232 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
99234 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
99235 + for ac_func in _finitef
99236 +do :
99237 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
99238 +if test "x$ac_cv_func__finitef" = x""yes; then :
99239 + cat >>confdefs.h <<_ACEOF
99240 +#define HAVE__FINITEF 1
99241 +_ACEOF
99244 +done
99246 + fi
99247 + fi
99253 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
99254 +$as_echo_n "checking for long double trig functions... " >&6; }
99255 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
99256 + $as_echo_n "(cached) " >&6
99257 +else
99260 + ac_ext=cpp
99261 +ac_cpp='$CXXCPP $CPPFLAGS'
99262 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99263 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99264 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99266 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99267 +/* end confdefs.h. */
99268 +#include <math.h>
99269 +int
99270 +main ()
99272 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
99274 + return 0;
99276 +_ACEOF
99277 +if ac_fn_cxx_try_compile "$LINENO"; then :
99278 + glibcxx_cv_func_long_double_trig_use=yes
99279 +else
99280 + glibcxx_cv_func_long_double_trig_use=no
99282 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99283 + ac_ext=c
99284 +ac_cpp='$CPP $CPPFLAGS'
99285 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99286 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99287 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99291 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
99292 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
99293 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
99294 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
99295 +do :
99296 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
99297 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
99298 +eval as_val=\$$as_ac_var
99299 + if test "x$as_val" = x""yes; then :
99300 + cat >>confdefs.h <<_ACEOF
99301 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
99302 +_ACEOF
99305 +done
99307 + else
99308 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
99309 +$as_echo_n "checking for _long double trig functions... " >&6; }
99310 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
99311 + $as_echo_n "(cached) " >&6
99312 +else
99315 + ac_ext=cpp
99316 +ac_cpp='$CXXCPP $CPPFLAGS'
99317 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99318 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99319 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99321 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99322 +/* end confdefs.h. */
99323 +#include <math.h>
99324 +int
99325 +main ()
99327 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
99329 + return 0;
99331 +_ACEOF
99332 +if ac_fn_cxx_try_compile "$LINENO"; then :
99333 + glibcxx_cv_func__long_double_trig_use=yes
99334 +else
99335 + glibcxx_cv_func__long_double_trig_use=no
99337 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99338 + ac_ext=c
99339 +ac_cpp='$CPP $CPPFLAGS'
99340 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99341 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99342 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99346 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
99347 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
99348 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
99349 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
99350 +do :
99351 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
99352 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
99353 +eval as_val=\$$as_ac_var
99354 + if test "x$as_val" = x""yes; then :
99355 + cat >>confdefs.h <<_ACEOF
99356 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
99357 +_ACEOF
99360 +done
99362 + fi
99363 + fi
99369 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
99370 +$as_echo_n "checking for long double round functions... " >&6; }
99371 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
99372 + $as_echo_n "(cached) " >&6
99373 +else
99376 + ac_ext=cpp
99377 +ac_cpp='$CXXCPP $CPPFLAGS'
99378 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99379 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99380 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99382 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99383 +/* end confdefs.h. */
99384 +#include <math.h>
99385 +int
99386 +main ()
99388 +ceill (0); floorl (0);
99390 + return 0;
99392 +_ACEOF
99393 +if ac_fn_cxx_try_compile "$LINENO"; then :
99394 + glibcxx_cv_func_long_double_round_use=yes
99395 +else
99396 + glibcxx_cv_func_long_double_round_use=no
99398 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99399 + ac_ext=c
99400 +ac_cpp='$CPP $CPPFLAGS'
99401 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99402 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99403 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99407 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
99408 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
99409 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
99410 + for ac_func in ceill floorl
99411 +do :
99412 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
99413 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
99414 +eval as_val=\$$as_ac_var
99415 + if test "x$as_val" = x""yes; then :
99416 + cat >>confdefs.h <<_ACEOF
99417 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
99418 +_ACEOF
99421 +done
99423 + else
99424 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
99425 +$as_echo_n "checking for _long double round functions... " >&6; }
99426 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
99427 + $as_echo_n "(cached) " >&6
99428 +else
99431 + ac_ext=cpp
99432 +ac_cpp='$CXXCPP $CPPFLAGS'
99433 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99434 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99435 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99437 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99438 +/* end confdefs.h. */
99439 +#include <math.h>
99440 +int
99441 +main ()
99443 +_ceill (0); _floorl (0);
99445 + return 0;
99447 +_ACEOF
99448 +if ac_fn_cxx_try_compile "$LINENO"; then :
99449 + glibcxx_cv_func__long_double_round_use=yes
99450 +else
99451 + glibcxx_cv_func__long_double_round_use=no
99453 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99454 + ac_ext=c
99455 +ac_cpp='$CPP $CPPFLAGS'
99456 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99457 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99458 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99462 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
99463 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
99464 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
99465 + for ac_func in _ceill _floorl
99466 +do :
99467 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
99468 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
99469 +eval as_val=\$$as_ac_var
99470 + if test "x$as_val" = x""yes; then :
99471 + cat >>confdefs.h <<_ACEOF
99472 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
99473 +_ACEOF
99476 +done
99478 + fi
99479 + fi
99486 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
99487 +$as_echo_n "checking for isnanl declaration... " >&6; }
99488 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
99489 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
99490 + $as_echo_n "(cached) " >&6
99491 +else
99494 + ac_ext=cpp
99495 +ac_cpp='$CXXCPP $CPPFLAGS'
99496 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99497 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99498 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99500 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99501 +/* end confdefs.h. */
99502 +#include <math.h>
99503 + #ifdef HAVE_IEEEFP_H
99504 + #include <ieeefp.h>
99505 + #endif
99507 +int
99508 +main ()
99510 + isnanl(0);
99512 + return 0;
99514 +_ACEOF
99515 +if ac_fn_cxx_try_compile "$LINENO"; then :
99516 + glibcxx_cv_func_isnanl_use=yes
99517 +else
99518 + glibcxx_cv_func_isnanl_use=no
99520 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99521 + ac_ext=c
99522 +ac_cpp='$CPP $CPPFLAGS'
99523 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99524 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99525 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99530 + fi
99531 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
99532 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
99534 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
99535 + for ac_func in isnanl
99536 +do :
99537 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
99538 +if test "x$ac_cv_func_isnanl" = x""yes; then :
99539 + cat >>confdefs.h <<_ACEOF
99540 +#define HAVE_ISNANL 1
99541 +_ACEOF
99544 +done
99546 + else
99548 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
99549 +$as_echo_n "checking for _isnanl declaration... " >&6; }
99550 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
99551 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
99552 + $as_echo_n "(cached) " >&6
99553 +else
99556 + ac_ext=cpp
99557 +ac_cpp='$CXXCPP $CPPFLAGS'
99558 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99559 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99560 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99562 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99563 +/* end confdefs.h. */
99564 +#include <math.h>
99565 + #ifdef HAVE_IEEEFP_H
99566 + #include <ieeefp.h>
99567 + #endif
99569 +int
99570 +main ()
99572 + _isnanl(0);
99574 + return 0;
99576 +_ACEOF
99577 +if ac_fn_cxx_try_compile "$LINENO"; then :
99578 + glibcxx_cv_func__isnanl_use=yes
99579 +else
99580 + glibcxx_cv_func__isnanl_use=no
99582 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99583 + ac_ext=c
99584 +ac_cpp='$CPP $CPPFLAGS'
99585 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99586 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99587 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99592 + fi
99593 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
99594 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
99596 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
99597 + for ac_func in _isnanl
99598 +do :
99599 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
99600 +if test "x$ac_cv_func__isnanl" = x""yes; then :
99601 + cat >>confdefs.h <<_ACEOF
99602 +#define HAVE__ISNANL 1
99603 +_ACEOF
99606 +done
99608 + fi
99609 + fi
99615 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
99616 +$as_echo_n "checking for isinfl declaration... " >&6; }
99617 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
99618 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
99619 + $as_echo_n "(cached) " >&6
99620 +else
99623 + ac_ext=cpp
99624 +ac_cpp='$CXXCPP $CPPFLAGS'
99625 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99626 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99627 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99629 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99630 +/* end confdefs.h. */
99631 +#include <math.h>
99632 + #ifdef HAVE_IEEEFP_H
99633 + #include <ieeefp.h>
99634 + #endif
99636 +int
99637 +main ()
99639 + isinfl(0);
99641 + return 0;
99643 +_ACEOF
99644 +if ac_fn_cxx_try_compile "$LINENO"; then :
99645 + glibcxx_cv_func_isinfl_use=yes
99646 +else
99647 + glibcxx_cv_func_isinfl_use=no
99649 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99650 + ac_ext=c
99651 +ac_cpp='$CPP $CPPFLAGS'
99652 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99653 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99654 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99659 + fi
99660 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
99661 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
99663 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
99664 + for ac_func in isinfl
99665 +do :
99666 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
99667 +if test "x$ac_cv_func_isinfl" = x""yes; then :
99668 + cat >>confdefs.h <<_ACEOF
99669 +#define HAVE_ISINFL 1
99670 +_ACEOF
99673 +done
99675 + else
99677 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
99678 +$as_echo_n "checking for _isinfl declaration... " >&6; }
99679 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
99680 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
99681 + $as_echo_n "(cached) " >&6
99682 +else
99685 + ac_ext=cpp
99686 +ac_cpp='$CXXCPP $CPPFLAGS'
99687 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99688 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99689 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99691 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99692 +/* end confdefs.h. */
99693 +#include <math.h>
99694 + #ifdef HAVE_IEEEFP_H
99695 + #include <ieeefp.h>
99696 + #endif
99698 +int
99699 +main ()
99701 + _isinfl(0);
99703 + return 0;
99705 +_ACEOF
99706 +if ac_fn_cxx_try_compile "$LINENO"; then :
99707 + glibcxx_cv_func__isinfl_use=yes
99708 +else
99709 + glibcxx_cv_func__isinfl_use=no
99711 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99712 + ac_ext=c
99713 +ac_cpp='$CPP $CPPFLAGS'
99714 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99715 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99716 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99721 + fi
99722 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
99723 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
99725 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
99726 + for ac_func in _isinfl
99727 +do :
99728 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
99729 +if test "x$ac_cv_func__isinfl" = x""yes; then :
99730 + cat >>confdefs.h <<_ACEOF
99731 +#define HAVE__ISINFL 1
99732 +_ACEOF
99735 +done
99737 + fi
99738 + fi
99744 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
99745 +$as_echo_n "checking for atan2l declaration... " >&6; }
99746 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
99747 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
99748 + $as_echo_n "(cached) " >&6
99749 +else
99752 + ac_ext=cpp
99753 +ac_cpp='$CXXCPP $CPPFLAGS'
99754 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99755 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99756 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99758 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99759 +/* end confdefs.h. */
99760 +#include <math.h>
99761 +int
99762 +main ()
99764 + atan2l(0, 0);
99766 + return 0;
99768 +_ACEOF
99769 +if ac_fn_cxx_try_compile "$LINENO"; then :
99770 + glibcxx_cv_func_atan2l_use=yes
99771 +else
99772 + glibcxx_cv_func_atan2l_use=no
99774 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99775 + ac_ext=c
99776 +ac_cpp='$CPP $CPPFLAGS'
99777 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99778 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99779 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99784 + fi
99785 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
99786 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
99788 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
99789 + for ac_func in atan2l
99790 +do :
99791 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
99792 +if test "x$ac_cv_func_atan2l" = x""yes; then :
99793 + cat >>confdefs.h <<_ACEOF
99794 +#define HAVE_ATAN2L 1
99795 +_ACEOF
99798 +done
99800 + else
99802 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
99803 +$as_echo_n "checking for _atan2l declaration... " >&6; }
99804 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
99805 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
99806 + $as_echo_n "(cached) " >&6
99807 +else
99810 + ac_ext=cpp
99811 +ac_cpp='$CXXCPP $CPPFLAGS'
99812 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99813 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99814 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99816 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99817 +/* end confdefs.h. */
99818 +#include <math.h>
99819 +int
99820 +main ()
99822 + _atan2l(0, 0);
99824 + return 0;
99826 +_ACEOF
99827 +if ac_fn_cxx_try_compile "$LINENO"; then :
99828 + glibcxx_cv_func__atan2l_use=yes
99829 +else
99830 + glibcxx_cv_func__atan2l_use=no
99832 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99833 + ac_ext=c
99834 +ac_cpp='$CPP $CPPFLAGS'
99835 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99836 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99837 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99842 + fi
99843 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
99844 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
99846 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
99847 + for ac_func in _atan2l
99848 +do :
99849 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
99850 +if test "x$ac_cv_func__atan2l" = x""yes; then :
99851 + cat >>confdefs.h <<_ACEOF
99852 +#define HAVE__ATAN2L 1
99853 +_ACEOF
99856 +done
99858 + fi
99859 + fi
99865 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
99866 +$as_echo_n "checking for expl declaration... " >&6; }
99867 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
99868 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
99869 + $as_echo_n "(cached) " >&6
99870 +else
99873 + ac_ext=cpp
99874 +ac_cpp='$CXXCPP $CPPFLAGS'
99875 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99876 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99877 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99879 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99880 +/* end confdefs.h. */
99881 +#include <math.h>
99882 + #ifdef HAVE_IEEEFP_H
99883 + #include <ieeefp.h>
99884 + #endif
99886 +int
99887 +main ()
99889 + expl(0);
99891 + return 0;
99893 +_ACEOF
99894 +if ac_fn_cxx_try_compile "$LINENO"; then :
99895 + glibcxx_cv_func_expl_use=yes
99896 +else
99897 + glibcxx_cv_func_expl_use=no
99899 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99900 + ac_ext=c
99901 +ac_cpp='$CPP $CPPFLAGS'
99902 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99903 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99904 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99909 + fi
99910 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
99911 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
99913 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
99914 + for ac_func in expl
99915 +do :
99916 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
99917 +if test "x$ac_cv_func_expl" = x""yes; then :
99918 + cat >>confdefs.h <<_ACEOF
99919 +#define HAVE_EXPL 1
99920 +_ACEOF
99923 +done
99925 + else
99927 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
99928 +$as_echo_n "checking for _expl declaration... " >&6; }
99929 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
99930 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
99931 + $as_echo_n "(cached) " >&6
99932 +else
99935 + ac_ext=cpp
99936 +ac_cpp='$CXXCPP $CPPFLAGS'
99937 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99938 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99939 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
99941 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
99942 +/* end confdefs.h. */
99943 +#include <math.h>
99944 + #ifdef HAVE_IEEEFP_H
99945 + #include <ieeefp.h>
99946 + #endif
99948 +int
99949 +main ()
99951 + _expl(0);
99953 + return 0;
99955 +_ACEOF
99956 +if ac_fn_cxx_try_compile "$LINENO"; then :
99957 + glibcxx_cv_func__expl_use=yes
99958 +else
99959 + glibcxx_cv_func__expl_use=no
99961 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
99962 + ac_ext=c
99963 +ac_cpp='$CPP $CPPFLAGS'
99964 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
99965 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
99966 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
99971 + fi
99972 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
99973 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
99975 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
99976 + for ac_func in _expl
99977 +do :
99978 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
99979 +if test "x$ac_cv_func__expl" = x""yes; then :
99980 + cat >>confdefs.h <<_ACEOF
99981 +#define HAVE__EXPL 1
99982 +_ACEOF
99985 +done
99987 + fi
99988 + fi
99994 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
99995 +$as_echo_n "checking for fabsl declaration... " >&6; }
99996 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
99997 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
99998 + $as_echo_n "(cached) " >&6
99999 +else
100002 + ac_ext=cpp
100003 +ac_cpp='$CXXCPP $CPPFLAGS'
100004 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100005 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100006 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100008 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100009 +/* end confdefs.h. */
100010 +#include <math.h>
100011 + #ifdef HAVE_IEEEFP_H
100012 + #include <ieeefp.h>
100013 + #endif
100016 +main ()
100018 + fabsl(0);
100020 + return 0;
100022 +_ACEOF
100023 +if ac_fn_cxx_try_compile "$LINENO"; then :
100024 + glibcxx_cv_func_fabsl_use=yes
100025 +else
100026 + glibcxx_cv_func_fabsl_use=no
100028 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100029 + ac_ext=c
100030 +ac_cpp='$CPP $CPPFLAGS'
100031 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100032 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100033 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100039 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
100040 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
100042 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
100043 + for ac_func in fabsl
100044 +do :
100045 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
100046 +if test "x$ac_cv_func_fabsl" = x""yes; then :
100047 + cat >>confdefs.h <<_ACEOF
100048 +#define HAVE_FABSL 1
100049 +_ACEOF
100052 +done
100054 + else
100056 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
100057 +$as_echo_n "checking for _fabsl declaration... " >&6; }
100058 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
100059 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
100060 + $as_echo_n "(cached) " >&6
100061 +else
100064 + ac_ext=cpp
100065 +ac_cpp='$CXXCPP $CPPFLAGS'
100066 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100067 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100068 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100070 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100071 +/* end confdefs.h. */
100072 +#include <math.h>
100073 + #ifdef HAVE_IEEEFP_H
100074 + #include <ieeefp.h>
100075 + #endif
100078 +main ()
100080 + _fabsl(0);
100082 + return 0;
100084 +_ACEOF
100085 +if ac_fn_cxx_try_compile "$LINENO"; then :
100086 + glibcxx_cv_func__fabsl_use=yes
100087 +else
100088 + glibcxx_cv_func__fabsl_use=no
100090 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100091 + ac_ext=c
100092 +ac_cpp='$CPP $CPPFLAGS'
100093 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100094 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100095 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100101 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
100102 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
100104 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
100105 + for ac_func in _fabsl
100106 +do :
100107 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
100108 +if test "x$ac_cv_func__fabsl" = x""yes; then :
100109 + cat >>confdefs.h <<_ACEOF
100110 +#define HAVE__FABSL 1
100111 +_ACEOF
100114 +done
100123 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
100124 +$as_echo_n "checking for fmodl declaration... " >&6; }
100125 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
100126 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
100127 + $as_echo_n "(cached) " >&6
100128 +else
100131 + ac_ext=cpp
100132 +ac_cpp='$CXXCPP $CPPFLAGS'
100133 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100134 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100135 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100137 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100138 +/* end confdefs.h. */
100139 +#include <math.h>
100141 +main ()
100143 + fmodl(0, 0);
100145 + return 0;
100147 +_ACEOF
100148 +if ac_fn_cxx_try_compile "$LINENO"; then :
100149 + glibcxx_cv_func_fmodl_use=yes
100150 +else
100151 + glibcxx_cv_func_fmodl_use=no
100153 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100154 + ac_ext=c
100155 +ac_cpp='$CPP $CPPFLAGS'
100156 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100157 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100158 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100164 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
100165 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
100167 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
100168 + for ac_func in fmodl
100169 +do :
100170 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
100171 +if test "x$ac_cv_func_fmodl" = x""yes; then :
100172 + cat >>confdefs.h <<_ACEOF
100173 +#define HAVE_FMODL 1
100174 +_ACEOF
100177 +done
100179 + else
100181 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
100182 +$as_echo_n "checking for _fmodl declaration... " >&6; }
100183 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
100184 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
100185 + $as_echo_n "(cached) " >&6
100186 +else
100189 + ac_ext=cpp
100190 +ac_cpp='$CXXCPP $CPPFLAGS'
100191 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100192 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100193 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100195 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100196 +/* end confdefs.h. */
100197 +#include <math.h>
100199 +main ()
100201 + _fmodl(0, 0);
100203 + return 0;
100205 +_ACEOF
100206 +if ac_fn_cxx_try_compile "$LINENO"; then :
100207 + glibcxx_cv_func__fmodl_use=yes
100208 +else
100209 + glibcxx_cv_func__fmodl_use=no
100211 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100212 + ac_ext=c
100213 +ac_cpp='$CPP $CPPFLAGS'
100214 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100215 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100216 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100222 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
100223 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
100225 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
100226 + for ac_func in _fmodl
100227 +do :
100228 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
100229 +if test "x$ac_cv_func__fmodl" = x""yes; then :
100230 + cat >>confdefs.h <<_ACEOF
100231 +#define HAVE__FMODL 1
100232 +_ACEOF
100235 +done
100244 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
100245 +$as_echo_n "checking for frexpl declaration... " >&6; }
100246 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
100247 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
100248 + $as_echo_n "(cached) " >&6
100249 +else
100252 + ac_ext=cpp
100253 +ac_cpp='$CXXCPP $CPPFLAGS'
100254 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100255 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100256 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100258 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100259 +/* end confdefs.h. */
100260 +#include <math.h>
100262 +main ()
100264 + frexpl(0, 0);
100266 + return 0;
100268 +_ACEOF
100269 +if ac_fn_cxx_try_compile "$LINENO"; then :
100270 + glibcxx_cv_func_frexpl_use=yes
100271 +else
100272 + glibcxx_cv_func_frexpl_use=no
100274 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100275 + ac_ext=c
100276 +ac_cpp='$CPP $CPPFLAGS'
100277 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100278 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100279 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100285 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
100286 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
100288 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
100289 + for ac_func in frexpl
100290 +do :
100291 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
100292 +if test "x$ac_cv_func_frexpl" = x""yes; then :
100293 + cat >>confdefs.h <<_ACEOF
100294 +#define HAVE_FREXPL 1
100295 +_ACEOF
100298 +done
100300 + else
100302 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
100303 +$as_echo_n "checking for _frexpl declaration... " >&6; }
100304 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
100305 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
100306 + $as_echo_n "(cached) " >&6
100307 +else
100310 + ac_ext=cpp
100311 +ac_cpp='$CXXCPP $CPPFLAGS'
100312 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100313 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100314 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100316 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100317 +/* end confdefs.h. */
100318 +#include <math.h>
100320 +main ()
100322 + _frexpl(0, 0);
100324 + return 0;
100326 +_ACEOF
100327 +if ac_fn_cxx_try_compile "$LINENO"; then :
100328 + glibcxx_cv_func__frexpl_use=yes
100329 +else
100330 + glibcxx_cv_func__frexpl_use=no
100332 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100333 + ac_ext=c
100334 +ac_cpp='$CPP $CPPFLAGS'
100335 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100336 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100337 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100343 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
100344 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
100346 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
100347 + for ac_func in _frexpl
100348 +do :
100349 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
100350 +if test "x$ac_cv_func__frexpl" = x""yes; then :
100351 + cat >>confdefs.h <<_ACEOF
100352 +#define HAVE__FREXPL 1
100353 +_ACEOF
100356 +done
100365 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
100366 +$as_echo_n "checking for hypotl declaration... " >&6; }
100367 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
100368 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
100369 + $as_echo_n "(cached) " >&6
100370 +else
100373 + ac_ext=cpp
100374 +ac_cpp='$CXXCPP $CPPFLAGS'
100375 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100376 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100377 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100379 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100380 +/* end confdefs.h. */
100381 +#include <math.h>
100383 +main ()
100385 + hypotl(0, 0);
100387 + return 0;
100389 +_ACEOF
100390 +if ac_fn_cxx_try_compile "$LINENO"; then :
100391 + glibcxx_cv_func_hypotl_use=yes
100392 +else
100393 + glibcxx_cv_func_hypotl_use=no
100395 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100396 + ac_ext=c
100397 +ac_cpp='$CPP $CPPFLAGS'
100398 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100399 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100400 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100406 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
100407 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
100409 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
100410 + for ac_func in hypotl
100411 +do :
100412 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
100413 +if test "x$ac_cv_func_hypotl" = x""yes; then :
100414 + cat >>confdefs.h <<_ACEOF
100415 +#define HAVE_HYPOTL 1
100416 +_ACEOF
100419 +done
100421 + else
100423 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
100424 +$as_echo_n "checking for _hypotl declaration... " >&6; }
100425 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
100426 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
100427 + $as_echo_n "(cached) " >&6
100428 +else
100431 + ac_ext=cpp
100432 +ac_cpp='$CXXCPP $CPPFLAGS'
100433 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100434 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100435 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100437 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100438 +/* end confdefs.h. */
100439 +#include <math.h>
100441 +main ()
100443 + _hypotl(0, 0);
100445 + return 0;
100447 +_ACEOF
100448 +if ac_fn_cxx_try_compile "$LINENO"; then :
100449 + glibcxx_cv_func__hypotl_use=yes
100450 +else
100451 + glibcxx_cv_func__hypotl_use=no
100453 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100454 + ac_ext=c
100455 +ac_cpp='$CPP $CPPFLAGS'
100456 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100457 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100458 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100464 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
100465 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
100467 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
100468 + for ac_func in _hypotl
100469 +do :
100470 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
100471 +if test "x$ac_cv_func__hypotl" = x""yes; then :
100472 + cat >>confdefs.h <<_ACEOF
100473 +#define HAVE__HYPOTL 1
100474 +_ACEOF
100477 +done
100486 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
100487 +$as_echo_n "checking for ldexpl declaration... " >&6; }
100488 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
100489 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
100490 + $as_echo_n "(cached) " >&6
100491 +else
100494 + ac_ext=cpp
100495 +ac_cpp='$CXXCPP $CPPFLAGS'
100496 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100497 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100498 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100500 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100501 +/* end confdefs.h. */
100502 +#include <math.h>
100504 +main ()
100506 + ldexpl(0, 0);
100508 + return 0;
100510 +_ACEOF
100511 +if ac_fn_cxx_try_compile "$LINENO"; then :
100512 + glibcxx_cv_func_ldexpl_use=yes
100513 +else
100514 + glibcxx_cv_func_ldexpl_use=no
100516 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100517 + ac_ext=c
100518 +ac_cpp='$CPP $CPPFLAGS'
100519 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100520 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100521 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100527 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
100528 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
100530 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
100531 + for ac_func in ldexpl
100532 +do :
100533 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
100534 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
100535 + cat >>confdefs.h <<_ACEOF
100536 +#define HAVE_LDEXPL 1
100537 +_ACEOF
100540 +done
100542 + else
100544 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
100545 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
100546 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
100547 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
100548 + $as_echo_n "(cached) " >&6
100549 +else
100552 + ac_ext=cpp
100553 +ac_cpp='$CXXCPP $CPPFLAGS'
100554 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100555 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100556 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100558 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100559 +/* end confdefs.h. */
100560 +#include <math.h>
100562 +main ()
100564 + _ldexpl(0, 0);
100566 + return 0;
100568 +_ACEOF
100569 +if ac_fn_cxx_try_compile "$LINENO"; then :
100570 + glibcxx_cv_func__ldexpl_use=yes
100571 +else
100572 + glibcxx_cv_func__ldexpl_use=no
100574 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100575 + ac_ext=c
100576 +ac_cpp='$CPP $CPPFLAGS'
100577 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100578 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100579 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100585 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
100586 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
100588 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
100589 + for ac_func in _ldexpl
100590 +do :
100591 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
100592 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
100593 + cat >>confdefs.h <<_ACEOF
100594 +#define HAVE__LDEXPL 1
100595 +_ACEOF
100598 +done
100607 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
100608 +$as_echo_n "checking for logl declaration... " >&6; }
100609 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
100610 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
100611 + $as_echo_n "(cached) " >&6
100612 +else
100615 + ac_ext=cpp
100616 +ac_cpp='$CXXCPP $CPPFLAGS'
100617 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100618 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100619 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100621 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100622 +/* end confdefs.h. */
100623 +#include <math.h>
100624 + #ifdef HAVE_IEEEFP_H
100625 + #include <ieeefp.h>
100626 + #endif
100629 +main ()
100631 + logl(0);
100633 + return 0;
100635 +_ACEOF
100636 +if ac_fn_cxx_try_compile "$LINENO"; then :
100637 + glibcxx_cv_func_logl_use=yes
100638 +else
100639 + glibcxx_cv_func_logl_use=no
100641 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100642 + ac_ext=c
100643 +ac_cpp='$CPP $CPPFLAGS'
100644 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100645 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100646 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100652 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
100653 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
100655 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
100656 + for ac_func in logl
100657 +do :
100658 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
100659 +if test "x$ac_cv_func_logl" = x""yes; then :
100660 + cat >>confdefs.h <<_ACEOF
100661 +#define HAVE_LOGL 1
100662 +_ACEOF
100665 +done
100667 + else
100669 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
100670 +$as_echo_n "checking for _logl declaration... " >&6; }
100671 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
100672 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
100673 + $as_echo_n "(cached) " >&6
100674 +else
100677 + ac_ext=cpp
100678 +ac_cpp='$CXXCPP $CPPFLAGS'
100679 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100680 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100681 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100683 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100684 +/* end confdefs.h. */
100685 +#include <math.h>
100686 + #ifdef HAVE_IEEEFP_H
100687 + #include <ieeefp.h>
100688 + #endif
100691 +main ()
100693 + _logl(0);
100695 + return 0;
100697 +_ACEOF
100698 +if ac_fn_cxx_try_compile "$LINENO"; then :
100699 + glibcxx_cv_func__logl_use=yes
100700 +else
100701 + glibcxx_cv_func__logl_use=no
100703 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100704 + ac_ext=c
100705 +ac_cpp='$CPP $CPPFLAGS'
100706 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100707 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100708 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100714 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
100715 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
100717 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
100718 + for ac_func in _logl
100719 +do :
100720 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
100721 +if test "x$ac_cv_func__logl" = x""yes; then :
100722 + cat >>confdefs.h <<_ACEOF
100723 +#define HAVE__LOGL 1
100724 +_ACEOF
100727 +done
100736 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
100737 +$as_echo_n "checking for log10l declaration... " >&6; }
100738 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
100739 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
100740 + $as_echo_n "(cached) " >&6
100741 +else
100744 + ac_ext=cpp
100745 +ac_cpp='$CXXCPP $CPPFLAGS'
100746 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100747 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100748 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100750 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100751 +/* end confdefs.h. */
100752 +#include <math.h>
100753 + #ifdef HAVE_IEEEFP_H
100754 + #include <ieeefp.h>
100755 + #endif
100758 +main ()
100760 + log10l(0);
100762 + return 0;
100764 +_ACEOF
100765 +if ac_fn_cxx_try_compile "$LINENO"; then :
100766 + glibcxx_cv_func_log10l_use=yes
100767 +else
100768 + glibcxx_cv_func_log10l_use=no
100770 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100771 + ac_ext=c
100772 +ac_cpp='$CPP $CPPFLAGS'
100773 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100774 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100775 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100781 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
100782 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
100784 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
100785 + for ac_func in log10l
100786 +do :
100787 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
100788 +if test "x$ac_cv_func_log10l" = x""yes; then :
100789 + cat >>confdefs.h <<_ACEOF
100790 +#define HAVE_LOG10L 1
100791 +_ACEOF
100794 +done
100796 + else
100798 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
100799 +$as_echo_n "checking for _log10l declaration... " >&6; }
100800 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
100801 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
100802 + $as_echo_n "(cached) " >&6
100803 +else
100806 + ac_ext=cpp
100807 +ac_cpp='$CXXCPP $CPPFLAGS'
100808 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100809 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100810 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100812 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100813 +/* end confdefs.h. */
100814 +#include <math.h>
100815 + #ifdef HAVE_IEEEFP_H
100816 + #include <ieeefp.h>
100817 + #endif
100820 +main ()
100822 + _log10l(0);
100824 + return 0;
100826 +_ACEOF
100827 +if ac_fn_cxx_try_compile "$LINENO"; then :
100828 + glibcxx_cv_func__log10l_use=yes
100829 +else
100830 + glibcxx_cv_func__log10l_use=no
100832 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100833 + ac_ext=c
100834 +ac_cpp='$CPP $CPPFLAGS'
100835 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100836 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100837 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100843 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
100844 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
100846 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
100847 + for ac_func in _log10l
100848 +do :
100849 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
100850 +if test "x$ac_cv_func__log10l" = x""yes; then :
100851 + cat >>confdefs.h <<_ACEOF
100852 +#define HAVE__LOG10L 1
100853 +_ACEOF
100856 +done
100865 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
100866 +$as_echo_n "checking for modfl declaration... " >&6; }
100867 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
100868 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
100869 + $as_echo_n "(cached) " >&6
100870 +else
100873 + ac_ext=cpp
100874 +ac_cpp='$CXXCPP $CPPFLAGS'
100875 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100876 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100877 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100879 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100880 +/* end confdefs.h. */
100881 +#include <math.h>
100883 +main ()
100885 + modfl(0, 0);
100887 + return 0;
100889 +_ACEOF
100890 +if ac_fn_cxx_try_compile "$LINENO"; then :
100891 + glibcxx_cv_func_modfl_use=yes
100892 +else
100893 + glibcxx_cv_func_modfl_use=no
100895 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100896 + ac_ext=c
100897 +ac_cpp='$CPP $CPPFLAGS'
100898 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100899 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100900 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100906 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
100907 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
100909 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
100910 + for ac_func in modfl
100911 +do :
100912 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
100913 +if test "x$ac_cv_func_modfl" = x""yes; then :
100914 + cat >>confdefs.h <<_ACEOF
100915 +#define HAVE_MODFL 1
100916 +_ACEOF
100919 +done
100921 + else
100923 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
100924 +$as_echo_n "checking for _modfl declaration... " >&6; }
100925 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
100926 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
100927 + $as_echo_n "(cached) " >&6
100928 +else
100931 + ac_ext=cpp
100932 +ac_cpp='$CXXCPP $CPPFLAGS'
100933 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100934 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100935 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
100937 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
100938 +/* end confdefs.h. */
100939 +#include <math.h>
100941 +main ()
100943 + _modfl(0, 0);
100945 + return 0;
100947 +_ACEOF
100948 +if ac_fn_cxx_try_compile "$LINENO"; then :
100949 + glibcxx_cv_func__modfl_use=yes
100950 +else
100951 + glibcxx_cv_func__modfl_use=no
100953 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
100954 + ac_ext=c
100955 +ac_cpp='$CPP $CPPFLAGS'
100956 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100957 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100958 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
100964 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
100965 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
100967 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
100968 + for ac_func in _modfl
100969 +do :
100970 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
100971 +if test "x$ac_cv_func__modfl" = x""yes; then :
100972 + cat >>confdefs.h <<_ACEOF
100973 +#define HAVE__MODFL 1
100974 +_ACEOF
100977 +done
100986 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
100987 +$as_echo_n "checking for powl declaration... " >&6; }
100988 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
100989 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
100990 + $as_echo_n "(cached) " >&6
100991 +else
100994 + ac_ext=cpp
100995 +ac_cpp='$CXXCPP $CPPFLAGS'
100996 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
100997 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
100998 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101000 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101001 +/* end confdefs.h. */
101002 +#include <math.h>
101004 +main ()
101006 + powl(0, 0);
101008 + return 0;
101010 +_ACEOF
101011 +if ac_fn_cxx_try_compile "$LINENO"; then :
101012 + glibcxx_cv_func_powl_use=yes
101013 +else
101014 + glibcxx_cv_func_powl_use=no
101016 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101017 + ac_ext=c
101018 +ac_cpp='$CPP $CPPFLAGS'
101019 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101020 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101021 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101027 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
101028 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
101030 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
101031 + for ac_func in powl
101032 +do :
101033 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
101034 +if test "x$ac_cv_func_powl" = x""yes; then :
101035 + cat >>confdefs.h <<_ACEOF
101036 +#define HAVE_POWL 1
101037 +_ACEOF
101040 +done
101042 + else
101044 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
101045 +$as_echo_n "checking for _powl declaration... " >&6; }
101046 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
101047 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
101048 + $as_echo_n "(cached) " >&6
101049 +else
101052 + ac_ext=cpp
101053 +ac_cpp='$CXXCPP $CPPFLAGS'
101054 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101055 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101056 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101058 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101059 +/* end confdefs.h. */
101060 +#include <math.h>
101062 +main ()
101064 + _powl(0, 0);
101066 + return 0;
101068 +_ACEOF
101069 +if ac_fn_cxx_try_compile "$LINENO"; then :
101070 + glibcxx_cv_func__powl_use=yes
101071 +else
101072 + glibcxx_cv_func__powl_use=no
101074 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101075 + ac_ext=c
101076 +ac_cpp='$CPP $CPPFLAGS'
101077 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101078 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101079 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101085 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
101086 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
101088 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
101089 + for ac_func in _powl
101090 +do :
101091 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
101092 +if test "x$ac_cv_func__powl" = x""yes; then :
101093 + cat >>confdefs.h <<_ACEOF
101094 +#define HAVE__POWL 1
101095 +_ACEOF
101098 +done
101107 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
101108 +$as_echo_n "checking for sqrtl declaration... " >&6; }
101109 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
101110 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
101111 + $as_echo_n "(cached) " >&6
101112 +else
101115 + ac_ext=cpp
101116 +ac_cpp='$CXXCPP $CPPFLAGS'
101117 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101118 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101119 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101121 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101122 +/* end confdefs.h. */
101123 +#include <math.h>
101124 + #ifdef HAVE_IEEEFP_H
101125 + #include <ieeefp.h>
101126 + #endif
101129 +main ()
101131 + sqrtl(0);
101133 + return 0;
101135 +_ACEOF
101136 +if ac_fn_cxx_try_compile "$LINENO"; then :
101137 + glibcxx_cv_func_sqrtl_use=yes
101138 +else
101139 + glibcxx_cv_func_sqrtl_use=no
101141 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101142 + ac_ext=c
101143 +ac_cpp='$CPP $CPPFLAGS'
101144 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101145 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101146 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101152 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
101153 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
101155 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
101156 + for ac_func in sqrtl
101157 +do :
101158 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
101159 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
101160 + cat >>confdefs.h <<_ACEOF
101161 +#define HAVE_SQRTL 1
101162 +_ACEOF
101165 +done
101167 + else
101169 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
101170 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
101171 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
101172 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
101173 + $as_echo_n "(cached) " >&6
101174 +else
101177 + ac_ext=cpp
101178 +ac_cpp='$CXXCPP $CPPFLAGS'
101179 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101180 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101181 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101183 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101184 +/* end confdefs.h. */
101185 +#include <math.h>
101186 + #ifdef HAVE_IEEEFP_H
101187 + #include <ieeefp.h>
101188 + #endif
101191 +main ()
101193 + _sqrtl(0);
101195 + return 0;
101197 +_ACEOF
101198 +if ac_fn_cxx_try_compile "$LINENO"; then :
101199 + glibcxx_cv_func__sqrtl_use=yes
101200 +else
101201 + glibcxx_cv_func__sqrtl_use=no
101203 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101204 + ac_ext=c
101205 +ac_cpp='$CPP $CPPFLAGS'
101206 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101207 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101208 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101214 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
101215 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
101217 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
101218 + for ac_func in _sqrtl
101219 +do :
101220 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
101221 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
101222 + cat >>confdefs.h <<_ACEOF
101223 +#define HAVE__SQRTL 1
101224 +_ACEOF
101227 +done
101236 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
101237 +$as_echo_n "checking for sincosl declaration... " >&6; }
101238 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
101239 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
101240 + $as_echo_n "(cached) " >&6
101241 +else
101244 + ac_ext=cpp
101245 +ac_cpp='$CXXCPP $CPPFLAGS'
101246 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101247 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101248 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101250 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101251 +/* end confdefs.h. */
101252 +#include <math.h>
101254 +main ()
101256 + sincosl(0, 0, 0);
101258 + return 0;
101260 +_ACEOF
101261 +if ac_fn_cxx_try_compile "$LINENO"; then :
101262 + glibcxx_cv_func_sincosl_use=yes
101263 +else
101264 + glibcxx_cv_func_sincosl_use=no
101266 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101267 + ac_ext=c
101268 +ac_cpp='$CPP $CPPFLAGS'
101269 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101270 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101271 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101277 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
101278 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
101280 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
101281 + for ac_func in sincosl
101282 +do :
101283 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
101284 +if test "x$ac_cv_func_sincosl" = x""yes; then :
101285 + cat >>confdefs.h <<_ACEOF
101286 +#define HAVE_SINCOSL 1
101287 +_ACEOF
101290 +done
101292 + else
101294 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
101295 +$as_echo_n "checking for _sincosl declaration... " >&6; }
101296 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
101297 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
101298 + $as_echo_n "(cached) " >&6
101299 +else
101302 + ac_ext=cpp
101303 +ac_cpp='$CXXCPP $CPPFLAGS'
101304 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101305 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101306 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101308 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101309 +/* end confdefs.h. */
101310 +#include <math.h>
101312 +main ()
101314 + _sincosl(0, 0, 0);
101316 + return 0;
101318 +_ACEOF
101319 +if ac_fn_cxx_try_compile "$LINENO"; then :
101320 + glibcxx_cv_func__sincosl_use=yes
101321 +else
101322 + glibcxx_cv_func__sincosl_use=no
101324 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101325 + ac_ext=c
101326 +ac_cpp='$CPP $CPPFLAGS'
101327 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101328 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101329 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101335 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
101336 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
101338 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
101339 + for ac_func in _sincosl
101340 +do :
101341 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
101342 +if test "x$ac_cv_func__sincosl" = x""yes; then :
101343 + cat >>confdefs.h <<_ACEOF
101344 +#define HAVE__SINCOSL 1
101345 +_ACEOF
101348 +done
101357 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
101358 +$as_echo_n "checking for finitel declaration... " >&6; }
101359 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
101360 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
101361 + $as_echo_n "(cached) " >&6
101362 +else
101365 + ac_ext=cpp
101366 +ac_cpp='$CXXCPP $CPPFLAGS'
101367 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101368 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101369 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101371 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101372 +/* end confdefs.h. */
101373 +#include <math.h>
101374 + #ifdef HAVE_IEEEFP_H
101375 + #include <ieeefp.h>
101376 + #endif
101379 +main ()
101381 + finitel(0);
101383 + return 0;
101385 +_ACEOF
101386 +if ac_fn_cxx_try_compile "$LINENO"; then :
101387 + glibcxx_cv_func_finitel_use=yes
101388 +else
101389 + glibcxx_cv_func_finitel_use=no
101391 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101392 + ac_ext=c
101393 +ac_cpp='$CPP $CPPFLAGS'
101394 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101395 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101396 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101402 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
101403 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
101405 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
101406 + for ac_func in finitel
101407 +do :
101408 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
101409 +if test "x$ac_cv_func_finitel" = x""yes; then :
101410 + cat >>confdefs.h <<_ACEOF
101411 +#define HAVE_FINITEL 1
101412 +_ACEOF
101415 +done
101417 + else
101419 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
101420 +$as_echo_n "checking for _finitel declaration... " >&6; }
101421 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
101422 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
101423 + $as_echo_n "(cached) " >&6
101424 +else
101427 + ac_ext=cpp
101428 +ac_cpp='$CXXCPP $CPPFLAGS'
101429 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101430 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101431 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101433 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101434 +/* end confdefs.h. */
101435 +#include <math.h>
101436 + #ifdef HAVE_IEEEFP_H
101437 + #include <ieeefp.h>
101438 + #endif
101441 +main ()
101443 + _finitel(0);
101445 + return 0;
101447 +_ACEOF
101448 +if ac_fn_cxx_try_compile "$LINENO"; then :
101449 + glibcxx_cv_func__finitel_use=yes
101450 +else
101451 + glibcxx_cv_func__finitel_use=no
101453 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101454 + ac_ext=c
101455 +ac_cpp='$CPP $CPPFLAGS'
101456 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101457 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101458 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101464 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
101465 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
101467 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
101468 + for ac_func in _finitel
101469 +do :
101470 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
101471 +if test "x$ac_cv_func__finitel" = x""yes; then :
101472 + cat >>confdefs.h <<_ACEOF
101473 +#define HAVE__FINITEL 1
101474 +_ACEOF
101477 +done
101485 + LIBS="$ac_save_LIBS"
101486 + CXXFLAGS="$ac_save_CXXFLAGS"
101489 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
101490 + ac_save_CXXFLAGS="$CXXFLAGS"
101491 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
101494 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
101495 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
101496 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
101497 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
101498 + $as_echo_n "(cached) " >&6
101499 +else
101502 + ac_ext=cpp
101503 +ac_cpp='$CXXCPP $CPPFLAGS'
101504 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101505 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101506 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101508 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101509 +/* end confdefs.h. */
101510 +#include <stdlib.h>
101512 +main ()
101514 + at_quick_exit(0);
101516 + return 0;
101518 +_ACEOF
101519 +if ac_fn_cxx_try_compile "$LINENO"; then :
101520 + glibcxx_cv_func_at_quick_exit_use=yes
101521 +else
101522 + glibcxx_cv_func_at_quick_exit_use=no
101524 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101525 + ac_ext=c
101526 +ac_cpp='$CPP $CPPFLAGS'
101527 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101528 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101529 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101535 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
101536 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
101537 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
101538 + for ac_func in at_quick_exit
101539 +do :
101540 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
101541 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
101542 + cat >>confdefs.h <<_ACEOF
101543 +#define HAVE_AT_QUICK_EXIT 1
101544 +_ACEOF
101547 +done
101552 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
101553 +$as_echo_n "checking for quick_exit declaration... " >&6; }
101554 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
101555 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
101556 + $as_echo_n "(cached) " >&6
101557 +else
101560 + ac_ext=cpp
101561 +ac_cpp='$CXXCPP $CPPFLAGS'
101562 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101563 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101564 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101566 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101567 +/* end confdefs.h. */
101568 +#include <stdlib.h>
101570 +main ()
101572 + quick_exit(0);
101574 + return 0;
101576 +_ACEOF
101577 +if ac_fn_cxx_try_compile "$LINENO"; then :
101578 + glibcxx_cv_func_quick_exit_use=yes
101579 +else
101580 + glibcxx_cv_func_quick_exit_use=no
101582 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101583 + ac_ext=c
101584 +ac_cpp='$CPP $CPPFLAGS'
101585 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101586 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101587 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101593 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
101594 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
101595 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
101596 + for ac_func in quick_exit
101597 +do :
101598 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
101599 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
101600 + cat >>confdefs.h <<_ACEOF
101601 +#define HAVE_QUICK_EXIT 1
101602 +_ACEOF
101605 +done
101610 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
101611 +$as_echo_n "checking for strtold declaration... " >&6; }
101612 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
101613 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
101614 + $as_echo_n "(cached) " >&6
101615 +else
101618 + ac_ext=cpp
101619 +ac_cpp='$CXXCPP $CPPFLAGS'
101620 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101621 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101622 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101624 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101625 +/* end confdefs.h. */
101626 +#include <stdlib.h>
101628 +main ()
101630 + strtold(0, 0);
101632 + return 0;
101634 +_ACEOF
101635 +if ac_fn_cxx_try_compile "$LINENO"; then :
101636 + glibcxx_cv_func_strtold_use=yes
101637 +else
101638 + glibcxx_cv_func_strtold_use=no
101640 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101641 + ac_ext=c
101642 +ac_cpp='$CPP $CPPFLAGS'
101643 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101644 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101645 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101651 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
101652 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
101653 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
101654 + for ac_func in strtold
101655 +do :
101656 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
101657 +if test "x$ac_cv_func_strtold" = x""yes; then :
101658 + cat >>confdefs.h <<_ACEOF
101659 +#define HAVE_STRTOLD 1
101660 +_ACEOF
101663 +done
101670 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
101671 +$as_echo_n "checking for strtof declaration... " >&6; }
101672 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
101673 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
101674 + $as_echo_n "(cached) " >&6
101675 +else
101678 + ac_ext=cpp
101679 +ac_cpp='$CXXCPP $CPPFLAGS'
101680 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101681 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101682 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
101684 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101685 +/* end confdefs.h. */
101686 +#include <stdlib.h>
101688 +main ()
101690 + strtof(0, 0);
101692 + return 0;
101694 +_ACEOF
101695 +if ac_fn_cxx_try_compile "$LINENO"; then :
101696 + glibcxx_cv_func_strtof_use=yes
101697 +else
101698 + glibcxx_cv_func_strtof_use=no
101700 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
101701 + ac_ext=c
101702 +ac_cpp='$CPP $CPPFLAGS'
101703 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
101704 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
101705 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
101711 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
101712 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
101713 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
101714 + for ac_func in strtof
101715 +do :
101716 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
101717 +if test "x$ac_cv_func_strtof" = x""yes; then :
101718 + cat >>confdefs.h <<_ACEOF
101719 +#define HAVE_STRTOF 1
101720 +_ACEOF
101723 +done
101730 + CXXFLAGS="$ac_save_CXXFLAGS"
101732 + $as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
101736 + # Check whether --enable-tls was given.
101737 +if test "${enable_tls+set}" = set; then :
101738 + enableval=$enable_tls;
101739 + case "$enableval" in
101740 + yes|no) ;;
101741 + *) as_fn_error "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
101742 + esac
101744 +else
101745 + enable_tls=yes
101749 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
101750 +$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
101751 +if test "${gcc_cv_have_tls+set}" = set; then :
101752 + $as_echo_n "(cached) " >&6
101753 +else
101755 + if test "$cross_compiling" = yes; then :
101756 + if test x$gcc_no_link = xyes; then
101757 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
101759 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101760 +/* end confdefs.h. */
101761 +__thread int a; int b; int main() { return a = b; }
101762 +_ACEOF
101763 +if ac_fn_c_try_link "$LINENO"; then :
101764 + chktls_save_LDFLAGS="$LDFLAGS"
101765 + case $host in
101766 + *-*-linux*)
101767 + LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
101769 + esac
101770 + chktls_save_CFLAGS="$CFLAGS"
101771 + CFLAGS="-fPIC $CFLAGS"
101772 + if test x$gcc_no_link = xyes; then
101773 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
101775 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101776 +/* end confdefs.h. */
101777 +int f() { return 0; }
101778 +_ACEOF
101779 +if ac_fn_c_try_link "$LINENO"; then :
101780 + if test x$gcc_no_link = xyes; then
101781 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
101783 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101784 +/* end confdefs.h. */
101785 +__thread int a; int b; int f() { return a = b; }
101786 +_ACEOF
101787 +if ac_fn_c_try_link "$LINENO"; then :
101788 + gcc_cv_have_tls=yes
101789 +else
101790 + gcc_cv_have_tls=no
101792 +rm -f core conftest.err conftest.$ac_objext \
101793 + conftest$ac_exeext conftest.$ac_ext
101794 +else
101795 + gcc_cv_have_tls=yes
101797 +rm -f core conftest.err conftest.$ac_objext \
101798 + conftest$ac_exeext conftest.$ac_ext
101799 + CFLAGS="$chktls_save_CFLAGS"
101800 + LDFLAGS="$chktls_save_LDFLAGS"
101801 +else
101802 + gcc_cv_have_tls=no
101804 +rm -f core conftest.err conftest.$ac_objext \
101805 + conftest$ac_exeext conftest.$ac_ext
101808 +else
101809 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101810 +/* end confdefs.h. */
101811 +__thread int a; int b; int main() { return a = b; }
101812 +_ACEOF
101813 +if ac_fn_c_try_run "$LINENO"; then :
101814 + chktls_save_LDFLAGS="$LDFLAGS"
101815 + LDFLAGS="-static $LDFLAGS"
101816 + if test x$gcc_no_link = xyes; then
101817 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
101819 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101820 +/* end confdefs.h. */
101821 +int main() { return 0; }
101822 +_ACEOF
101823 +if ac_fn_c_try_link "$LINENO"; then :
101824 + if test "$cross_compiling" = yes; then :
101825 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
101826 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
101827 +as_fn_error "cannot run test program while cross compiling
101828 +See \`config.log' for more details." "$LINENO" 5; }
101829 +else
101830 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101831 +/* end confdefs.h. */
101832 +__thread int a; int b; int main() { return a = b; }
101833 +_ACEOF
101834 +if ac_fn_c_try_run "$LINENO"; then :
101835 + gcc_cv_have_tls=yes
101836 +else
101837 + gcc_cv_have_tls=no
101839 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
101840 + conftest.$ac_objext conftest.beam conftest.$ac_ext
101843 +else
101844 + gcc_cv_have_tls=yes
101846 +rm -f core conftest.err conftest.$ac_objext \
101847 + conftest$ac_exeext conftest.$ac_ext
101848 + LDFLAGS="$chktls_save_LDFLAGS"
101849 + if test $gcc_cv_have_tls = yes; then
101850 + chktls_save_CFLAGS="$CFLAGS"
101851 + thread_CFLAGS=failed
101852 + for flag in '' '-pthread' '-lpthread'; do
101853 + CFLAGS="$flag $chktls_save_CFLAGS"
101854 + if test x$gcc_no_link = xyes; then
101855 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
101857 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101858 +/* end confdefs.h. */
101859 +#include <pthread.h>
101860 + void *g(void *d) { return NULL; }
101862 +main ()
101864 +pthread_t t; pthread_create(&t,NULL,g,NULL);
101866 + return 0;
101868 +_ACEOF
101869 +if ac_fn_c_try_link "$LINENO"; then :
101870 + thread_CFLAGS="$flag"
101872 +rm -f core conftest.err conftest.$ac_objext \
101873 + conftest$ac_exeext conftest.$ac_ext
101874 + if test "X$thread_CFLAGS" != Xfailed; then
101875 + break
101877 + done
101878 + CFLAGS="$chktls_save_CFLAGS"
101879 + if test "X$thread_CFLAGS" != Xfailed; then
101880 + CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
101881 + if test "$cross_compiling" = yes; then :
101882 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
101883 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
101884 +as_fn_error "cannot run test program while cross compiling
101885 +See \`config.log' for more details." "$LINENO" 5; }
101886 +else
101887 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101888 +/* end confdefs.h. */
101889 +#include <pthread.h>
101890 + __thread int a;
101891 + static int *volatile a_in_other_thread;
101892 + static void *
101893 + thread_func (void *arg)
101895 + a_in_other_thread = &a;
101896 + return (void *)0;
101899 +main ()
101901 +pthread_t thread;
101902 + void *thread_retval;
101903 + int *volatile a_in_main_thread;
101904 + a_in_main_thread = &a;
101905 + if (pthread_create (&thread, (pthread_attr_t *)0,
101906 + thread_func, (void *)0))
101907 + return 0;
101908 + if (pthread_join (thread, &thread_retval))
101909 + return 0;
101910 + return (a_in_other_thread == a_in_main_thread);
101912 + return 0;
101914 +_ACEOF
101915 +if ac_fn_c_try_run "$LINENO"; then :
101916 + gcc_cv_have_tls=yes
101917 +else
101918 + gcc_cv_have_tls=no
101920 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
101921 + conftest.$ac_objext conftest.beam conftest.$ac_ext
101924 + CFLAGS="$chktls_save_CFLAGS"
101927 +else
101928 + gcc_cv_have_tls=no
101930 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
101931 + conftest.$ac_objext conftest.beam conftest.$ac_ext
101935 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
101936 +$as_echo "$gcc_cv_have_tls" >&6; }
101937 + if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
101939 +$as_echo "#define HAVE_TLS 1" >>confdefs.h
101947 + am_save_CPPFLAGS="$CPPFLAGS"
101949 + for element in $INCICONV; do
101950 + haveit=
101951 + for x in $CPPFLAGS; do
101953 + acl_save_prefix="$prefix"
101954 + prefix="$acl_final_prefix"
101955 + acl_save_exec_prefix="$exec_prefix"
101956 + exec_prefix="$acl_final_exec_prefix"
101957 + eval x=\"$x\"
101958 + exec_prefix="$acl_save_exec_prefix"
101959 + prefix="$acl_save_prefix"
101961 + if test "X$x" = "X$element"; then
101962 + haveit=yes
101963 + break
101965 + done
101966 + if test -z "$haveit"; then
101967 + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
101969 + done
101972 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
101973 +$as_echo_n "checking for iconv... " >&6; }
101974 +if test "${am_cv_func_iconv+set}" = set; then :
101975 + $as_echo_n "(cached) " >&6
101976 +else
101978 + am_cv_func_iconv="no, consider installing GNU libiconv"
101979 + am_cv_lib_iconv=no
101980 + if test x$gcc_no_link = xyes; then
101981 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
101983 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
101984 +/* end confdefs.h. */
101985 +#include <stdlib.h>
101986 +#include <iconv.h>
101988 +main ()
101990 +iconv_t cd = iconv_open("","");
101991 + iconv(cd,NULL,NULL,NULL,NULL);
101992 + iconv_close(cd);
101994 + return 0;
101996 +_ACEOF
101997 +if ac_fn_c_try_link "$LINENO"; then :
101998 + am_cv_func_iconv=yes
102000 +rm -f core conftest.err conftest.$ac_objext \
102001 + conftest$ac_exeext conftest.$ac_ext
102002 + if test "$am_cv_func_iconv" != yes; then
102003 + am_save_LIBS="$LIBS"
102004 + LIBS="$LIBS $LIBICONV"
102005 + if test x$gcc_no_link = xyes; then
102006 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
102008 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102009 +/* end confdefs.h. */
102010 +#include <stdlib.h>
102011 +#include <iconv.h>
102013 +main ()
102015 +iconv_t cd = iconv_open("","");
102016 + iconv(cd,NULL,NULL,NULL,NULL);
102017 + iconv_close(cd);
102019 + return 0;
102021 +_ACEOF
102022 +if ac_fn_c_try_link "$LINENO"; then :
102023 + am_cv_lib_iconv=yes
102024 + am_cv_func_iconv=yes
102026 +rm -f core conftest.err conftest.$ac_objext \
102027 + conftest$ac_exeext conftest.$ac_ext
102028 + LIBS="$am_save_LIBS"
102032 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
102033 +$as_echo "$am_cv_func_iconv" >&6; }
102034 + if test "$am_cv_func_iconv" = yes; then
102036 +$as_echo "#define HAVE_ICONV 1" >>confdefs.h
102039 + if test "$am_cv_lib_iconv" = yes; then
102040 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
102041 +$as_echo_n "checking how to link with libiconv... " >&6; }
102042 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
102043 +$as_echo "$LIBICONV" >&6; }
102044 + else
102045 + CPPFLAGS="$am_save_CPPFLAGS"
102046 + LIBICONV=
102047 + LTLIBICONV=
102052 + if test "$am_cv_func_iconv" = yes; then
102053 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
102054 +$as_echo_n "checking for iconv declaration... " >&6; }
102055 + if test "${am_cv_proto_iconv+set}" = set; then :
102056 + $as_echo_n "(cached) " >&6
102057 +else
102059 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102060 +/* end confdefs.h. */
102062 +#include <stdlib.h>
102063 +#include <iconv.h>
102064 +extern
102065 +#ifdef __cplusplus
102067 +#endif
102068 +#if defined(__STDC__) || defined(__cplusplus)
102069 +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
102070 +#else
102071 +size_t iconv();
102072 +#endif
102075 +main ()
102079 + return 0;
102081 +_ACEOF
102082 +if ac_fn_c_try_compile "$LINENO"; then :
102083 + am_cv_proto_iconv_arg1=""
102084 +else
102085 + am_cv_proto_iconv_arg1="const"
102087 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102088 + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
102091 + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
102092 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
102093 + }$am_cv_proto_iconv" >&5
102094 +$as_echo "${ac_t:-
102095 + }$am_cv_proto_iconv" >&6; }
102097 +cat >>confdefs.h <<_ACEOF
102098 +#define ICONV_CONST $am_cv_proto_iconv_arg1
102099 +_ACEOF
102104 + *-mingw32*)
102106 + # If we're not using GNU ld, then there's no point in even trying these
102107 + # tests. Check for that first. We should have already tested for gld
102108 + # by now (in libtool), but require it now just to be safe...
102109 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
102110 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
102114 + # The name set by libtool depends on the version of libtool. Shame on us
102115 + # for depending on an impl detail, but c'est la vie. Older versions used
102116 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
102117 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
102118 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
102119 + # set (hence we're using an older libtool), then set it.
102120 + if test x${with_gnu_ld+set} != xset; then
102121 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
102122 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
102123 + with_gnu_ld=no
102124 + else
102125 + with_gnu_ld=$ac_cv_prog_gnu_ld
102129 + # Start by getting the version number. I think the libtool test already
102130 + # does some of this, but throws away the result.
102131 + glibcxx_ld_is_gold=no
102132 + if test x"$with_gnu_ld" = x"yes"; then
102133 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
102134 +$as_echo_n "checking for ld version... " >&6; }
102136 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
102137 + glibcxx_ld_is_gold=yes
102139 + ldver=`$LD --version 2>/dev/null |
102140 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
102142 + glibcxx_gnu_ld_version=`echo $ldver | \
102143 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
102144 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
102145 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
102148 + # Set --gc-sections.
102149 + glibcxx_have_gc_sections=no
102150 + if test "$glibcxx_ld_is_gold" = "yes"; then
102151 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
102152 + glibcxx_have_gc_sections=yes
102154 + else
102155 + glibcxx_gcsections_min_ld=21602
102156 + if test x"$with_gnu_ld" = x"yes" &&
102157 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
102158 + glibcxx_have_gc_sections=yes
102161 + if test "$glibcxx_have_gc_sections" = "yes"; then
102162 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
102163 + # NB: This flag only works reliably after 2.16.1. Configure tests
102164 + # for this are difficult, so hard wire a value that should work.
102166 + ac_test_CFLAGS="${CFLAGS+set}"
102167 + ac_save_CFLAGS="$CFLAGS"
102168 + CFLAGS='-Wl,--gc-sections'
102170 + # Check for -Wl,--gc-sections
102171 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
102172 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
102173 + if test x$gcc_no_link = xyes; then
102174 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
102176 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102177 +/* end confdefs.h. */
102178 + int one(void) { return 1; }
102179 + int two(void) { return 2; }
102182 +main ()
102184 + two();
102186 + return 0;
102188 +_ACEOF
102189 +if ac_fn_c_try_link "$LINENO"; then :
102190 + ac_gcsections=yes
102191 +else
102192 + ac_gcsections=no
102194 +rm -f core conftest.err conftest.$ac_objext \
102195 + conftest$ac_exeext conftest.$ac_ext
102196 + if test "$ac_gcsections" = "yes"; then
102197 + rm -f conftest.c
102198 + touch conftest.c
102199 + if $CC -c conftest.c; then
102200 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
102201 + grep "Warning: gc-sections option ignored" > /dev/null; then
102202 + ac_gcsections=no
102205 + rm -f conftest.c conftest.o conftest
102207 + if test "$ac_gcsections" = "yes"; then
102208 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
102210 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
102211 +$as_echo "$ac_gcsections" >&6; }
102213 + if test "$ac_test_CFLAGS" = set; then
102214 + CFLAGS="$ac_save_CFLAGS"
102215 + else
102216 + # this is the suspicious part
102217 + CFLAGS=''
102221 + # Set -z,relro.
102222 + # Note this is only for shared objects.
102223 + ac_ld_relro=no
102224 + if test x"$with_gnu_ld" = x"yes"; then
102225 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
102226 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
102227 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
102228 + if test -n "$cxx_z_relo"; then
102229 + OPT_LDFLAGS="-Wl,-z,relro"
102230 + ac_ld_relro=yes
102232 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
102233 +$as_echo "$ac_ld_relro" >&6; }
102236 + # Set linker optimization flags.
102237 + if test x"$with_gnu_ld" = x"yes"; then
102238 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
102245 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
102246 + ac_save_CXXFLAGS="$CXXFLAGS"
102247 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
102249 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
102250 +$as_echo_n "checking for sin in -lm... " >&6; }
102251 +if test "${ac_cv_lib_m_sin+set}" = set; then :
102252 + $as_echo_n "(cached) " >&6
102253 +else
102254 + ac_check_lib_save_LIBS=$LIBS
102255 +LIBS="-lm $LIBS"
102256 +if test x$gcc_no_link = xyes; then
102257 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
102259 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102260 +/* end confdefs.h. */
102262 +/* Override any GCC internal prototype to avoid an error.
102263 + Use char because int might match the return type of a GCC
102264 + builtin and then its argument prototype would still apply. */
102265 +#ifdef __cplusplus
102266 +extern "C"
102267 +#endif
102268 +char sin ();
102270 +main ()
102272 +return sin ();
102274 + return 0;
102276 +_ACEOF
102277 +if ac_fn_c_try_link "$LINENO"; then :
102278 + ac_cv_lib_m_sin=yes
102279 +else
102280 + ac_cv_lib_m_sin=no
102282 +rm -f core conftest.err conftest.$ac_objext \
102283 + conftest$ac_exeext conftest.$ac_ext
102284 +LIBS=$ac_check_lib_save_LIBS
102286 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
102287 +$as_echo "$ac_cv_lib_m_sin" >&6; }
102288 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
102289 + libm="-lm"
102292 + ac_save_LIBS="$LIBS"
102293 + LIBS="$LIBS $libm"
102297 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
102298 +$as_echo_n "checking for isinf declaration... " >&6; }
102299 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
102300 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
102301 + $as_echo_n "(cached) " >&6
102302 +else
102305 + ac_ext=cpp
102306 +ac_cpp='$CXXCPP $CPPFLAGS'
102307 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102308 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102309 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102311 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102312 +/* end confdefs.h. */
102313 +#include <math.h>
102314 + #ifdef HAVE_IEEEFP_H
102315 + #include <ieeefp.h>
102316 + #endif
102319 +main ()
102321 + isinf(0);
102323 + return 0;
102325 +_ACEOF
102326 +if ac_fn_cxx_try_compile "$LINENO"; then :
102327 + glibcxx_cv_func_isinf_use=yes
102328 +else
102329 + glibcxx_cv_func_isinf_use=no
102331 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102332 + ac_ext=c
102333 +ac_cpp='$CPP $CPPFLAGS'
102334 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102335 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102336 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102342 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
102343 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
102345 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
102346 + for ac_func in isinf
102347 +do :
102348 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
102349 +if test "x$ac_cv_func_isinf" = x""yes; then :
102350 + cat >>confdefs.h <<_ACEOF
102351 +#define HAVE_ISINF 1
102352 +_ACEOF
102355 +done
102357 + else
102359 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
102360 +$as_echo_n "checking for _isinf declaration... " >&6; }
102361 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
102362 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
102363 + $as_echo_n "(cached) " >&6
102364 +else
102367 + ac_ext=cpp
102368 +ac_cpp='$CXXCPP $CPPFLAGS'
102369 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102370 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102371 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102373 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102374 +/* end confdefs.h. */
102375 +#include <math.h>
102376 + #ifdef HAVE_IEEEFP_H
102377 + #include <ieeefp.h>
102378 + #endif
102381 +main ()
102383 + _isinf(0);
102385 + return 0;
102387 +_ACEOF
102388 +if ac_fn_cxx_try_compile "$LINENO"; then :
102389 + glibcxx_cv_func__isinf_use=yes
102390 +else
102391 + glibcxx_cv_func__isinf_use=no
102393 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102394 + ac_ext=c
102395 +ac_cpp='$CPP $CPPFLAGS'
102396 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102397 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102398 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102404 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
102405 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
102407 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
102408 + for ac_func in _isinf
102409 +do :
102410 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
102411 +if test "x$ac_cv_func__isinf" = x""yes; then :
102412 + cat >>confdefs.h <<_ACEOF
102413 +#define HAVE__ISINF 1
102414 +_ACEOF
102417 +done
102426 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
102427 +$as_echo_n "checking for isnan declaration... " >&6; }
102428 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
102429 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
102430 + $as_echo_n "(cached) " >&6
102431 +else
102434 + ac_ext=cpp
102435 +ac_cpp='$CXXCPP $CPPFLAGS'
102436 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102437 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102438 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102440 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102441 +/* end confdefs.h. */
102442 +#include <math.h>
102443 + #ifdef HAVE_IEEEFP_H
102444 + #include <ieeefp.h>
102445 + #endif
102448 +main ()
102450 + isnan(0);
102452 + return 0;
102454 +_ACEOF
102455 +if ac_fn_cxx_try_compile "$LINENO"; then :
102456 + glibcxx_cv_func_isnan_use=yes
102457 +else
102458 + glibcxx_cv_func_isnan_use=no
102460 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102461 + ac_ext=c
102462 +ac_cpp='$CPP $CPPFLAGS'
102463 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102464 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102465 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102471 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
102472 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
102474 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
102475 + for ac_func in isnan
102476 +do :
102477 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
102478 +if test "x$ac_cv_func_isnan" = x""yes; then :
102479 + cat >>confdefs.h <<_ACEOF
102480 +#define HAVE_ISNAN 1
102481 +_ACEOF
102484 +done
102486 + else
102488 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
102489 +$as_echo_n "checking for _isnan declaration... " >&6; }
102490 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
102491 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
102492 + $as_echo_n "(cached) " >&6
102493 +else
102496 + ac_ext=cpp
102497 +ac_cpp='$CXXCPP $CPPFLAGS'
102498 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102499 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102500 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102502 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102503 +/* end confdefs.h. */
102504 +#include <math.h>
102505 + #ifdef HAVE_IEEEFP_H
102506 + #include <ieeefp.h>
102507 + #endif
102510 +main ()
102512 + _isnan(0);
102514 + return 0;
102516 +_ACEOF
102517 +if ac_fn_cxx_try_compile "$LINENO"; then :
102518 + glibcxx_cv_func__isnan_use=yes
102519 +else
102520 + glibcxx_cv_func__isnan_use=no
102522 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102523 + ac_ext=c
102524 +ac_cpp='$CPP $CPPFLAGS'
102525 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102526 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102527 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102533 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
102534 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
102536 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
102537 + for ac_func in _isnan
102538 +do :
102539 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
102540 +if test "x$ac_cv_func__isnan" = x""yes; then :
102541 + cat >>confdefs.h <<_ACEOF
102542 +#define HAVE__ISNAN 1
102543 +_ACEOF
102546 +done
102555 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
102556 +$as_echo_n "checking for finite declaration... " >&6; }
102557 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
102558 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
102559 + $as_echo_n "(cached) " >&6
102560 +else
102563 + ac_ext=cpp
102564 +ac_cpp='$CXXCPP $CPPFLAGS'
102565 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102566 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102567 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102569 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102570 +/* end confdefs.h. */
102571 +#include <math.h>
102572 + #ifdef HAVE_IEEEFP_H
102573 + #include <ieeefp.h>
102574 + #endif
102577 +main ()
102579 + finite(0);
102581 + return 0;
102583 +_ACEOF
102584 +if ac_fn_cxx_try_compile "$LINENO"; then :
102585 + glibcxx_cv_func_finite_use=yes
102586 +else
102587 + glibcxx_cv_func_finite_use=no
102589 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102590 + ac_ext=c
102591 +ac_cpp='$CPP $CPPFLAGS'
102592 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102593 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102594 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102600 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
102601 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
102603 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
102604 + for ac_func in finite
102605 +do :
102606 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
102607 +if test "x$ac_cv_func_finite" = x""yes; then :
102608 + cat >>confdefs.h <<_ACEOF
102609 +#define HAVE_FINITE 1
102610 +_ACEOF
102613 +done
102615 + else
102617 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
102618 +$as_echo_n "checking for _finite declaration... " >&6; }
102619 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
102620 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
102621 + $as_echo_n "(cached) " >&6
102622 +else
102625 + ac_ext=cpp
102626 +ac_cpp='$CXXCPP $CPPFLAGS'
102627 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102628 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102629 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102631 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102632 +/* end confdefs.h. */
102633 +#include <math.h>
102634 + #ifdef HAVE_IEEEFP_H
102635 + #include <ieeefp.h>
102636 + #endif
102639 +main ()
102641 + _finite(0);
102643 + return 0;
102645 +_ACEOF
102646 +if ac_fn_cxx_try_compile "$LINENO"; then :
102647 + glibcxx_cv_func__finite_use=yes
102648 +else
102649 + glibcxx_cv_func__finite_use=no
102651 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102652 + ac_ext=c
102653 +ac_cpp='$CPP $CPPFLAGS'
102654 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102655 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102656 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102662 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
102663 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
102665 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
102666 + for ac_func in _finite
102667 +do :
102668 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
102669 +if test "x$ac_cv_func__finite" = x""yes; then :
102670 + cat >>confdefs.h <<_ACEOF
102671 +#define HAVE__FINITE 1
102672 +_ACEOF
102675 +done
102684 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
102685 +$as_echo_n "checking for sincos declaration... " >&6; }
102686 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
102687 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
102688 + $as_echo_n "(cached) " >&6
102689 +else
102692 + ac_ext=cpp
102693 +ac_cpp='$CXXCPP $CPPFLAGS'
102694 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102695 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102696 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102698 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102699 +/* end confdefs.h. */
102700 +#include <math.h>
102702 +main ()
102704 + sincos(0, 0, 0);
102706 + return 0;
102708 +_ACEOF
102709 +if ac_fn_cxx_try_compile "$LINENO"; then :
102710 + glibcxx_cv_func_sincos_use=yes
102711 +else
102712 + glibcxx_cv_func_sincos_use=no
102714 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102715 + ac_ext=c
102716 +ac_cpp='$CPP $CPPFLAGS'
102717 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102718 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102719 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102725 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
102726 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
102728 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
102729 + for ac_func in sincos
102730 +do :
102731 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
102732 +if test "x$ac_cv_func_sincos" = x""yes; then :
102733 + cat >>confdefs.h <<_ACEOF
102734 +#define HAVE_SINCOS 1
102735 +_ACEOF
102738 +done
102740 + else
102742 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
102743 +$as_echo_n "checking for _sincos declaration... " >&6; }
102744 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
102745 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
102746 + $as_echo_n "(cached) " >&6
102747 +else
102750 + ac_ext=cpp
102751 +ac_cpp='$CXXCPP $CPPFLAGS'
102752 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102753 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102754 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102756 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102757 +/* end confdefs.h. */
102758 +#include <math.h>
102760 +main ()
102762 + _sincos(0, 0, 0);
102764 + return 0;
102766 +_ACEOF
102767 +if ac_fn_cxx_try_compile "$LINENO"; then :
102768 + glibcxx_cv_func__sincos_use=yes
102769 +else
102770 + glibcxx_cv_func__sincos_use=no
102772 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102773 + ac_ext=c
102774 +ac_cpp='$CPP $CPPFLAGS'
102775 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102776 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102777 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102783 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
102784 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
102786 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
102787 + for ac_func in _sincos
102788 +do :
102789 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
102790 +if test "x$ac_cv_func__sincos" = x""yes; then :
102791 + cat >>confdefs.h <<_ACEOF
102792 +#define HAVE__SINCOS 1
102793 +_ACEOF
102796 +done
102805 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
102806 +$as_echo_n "checking for fpclass declaration... " >&6; }
102807 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
102808 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
102809 + $as_echo_n "(cached) " >&6
102810 +else
102813 + ac_ext=cpp
102814 +ac_cpp='$CXXCPP $CPPFLAGS'
102815 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102816 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102817 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102819 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102820 +/* end confdefs.h. */
102821 +#include <math.h>
102822 + #ifdef HAVE_IEEEFP_H
102823 + #include <ieeefp.h>
102824 + #endif
102827 +main ()
102829 + fpclass(0);
102831 + return 0;
102833 +_ACEOF
102834 +if ac_fn_cxx_try_compile "$LINENO"; then :
102835 + glibcxx_cv_func_fpclass_use=yes
102836 +else
102837 + glibcxx_cv_func_fpclass_use=no
102839 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102840 + ac_ext=c
102841 +ac_cpp='$CPP $CPPFLAGS'
102842 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102843 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102844 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102850 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
102851 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
102853 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
102854 + for ac_func in fpclass
102855 +do :
102856 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
102857 +if test "x$ac_cv_func_fpclass" = x""yes; then :
102858 + cat >>confdefs.h <<_ACEOF
102859 +#define HAVE_FPCLASS 1
102860 +_ACEOF
102863 +done
102865 + else
102867 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
102868 +$as_echo_n "checking for _fpclass declaration... " >&6; }
102869 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
102870 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
102871 + $as_echo_n "(cached) " >&6
102872 +else
102875 + ac_ext=cpp
102876 +ac_cpp='$CXXCPP $CPPFLAGS'
102877 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102878 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102879 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102881 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102882 +/* end confdefs.h. */
102883 +#include <math.h>
102884 + #ifdef HAVE_IEEEFP_H
102885 + #include <ieeefp.h>
102886 + #endif
102889 +main ()
102891 + _fpclass(0);
102893 + return 0;
102895 +_ACEOF
102896 +if ac_fn_cxx_try_compile "$LINENO"; then :
102897 + glibcxx_cv_func__fpclass_use=yes
102898 +else
102899 + glibcxx_cv_func__fpclass_use=no
102901 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102902 + ac_ext=c
102903 +ac_cpp='$CPP $CPPFLAGS'
102904 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102905 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102906 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102912 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
102913 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
102915 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
102916 + for ac_func in _fpclass
102917 +do :
102918 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
102919 +if test "x$ac_cv_func__fpclass" = x""yes; then :
102920 + cat >>confdefs.h <<_ACEOF
102921 +#define HAVE__FPCLASS 1
102922 +_ACEOF
102925 +done
102934 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
102935 +$as_echo_n "checking for qfpclass declaration... " >&6; }
102936 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
102937 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
102938 + $as_echo_n "(cached) " >&6
102939 +else
102942 + ac_ext=cpp
102943 +ac_cpp='$CXXCPP $CPPFLAGS'
102944 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102945 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102946 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
102948 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
102949 +/* end confdefs.h. */
102950 +#include <math.h>
102951 + #ifdef HAVE_IEEEFP_H
102952 + #include <ieeefp.h>
102953 + #endif
102956 +main ()
102958 + qfpclass(0);
102960 + return 0;
102962 +_ACEOF
102963 +if ac_fn_cxx_try_compile "$LINENO"; then :
102964 + glibcxx_cv_func_qfpclass_use=yes
102965 +else
102966 + glibcxx_cv_func_qfpclass_use=no
102968 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
102969 + ac_ext=c
102970 +ac_cpp='$CPP $CPPFLAGS'
102971 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
102972 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
102973 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
102979 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
102980 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
102982 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
102983 + for ac_func in qfpclass
102984 +do :
102985 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
102986 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
102987 + cat >>confdefs.h <<_ACEOF
102988 +#define HAVE_QFPCLASS 1
102989 +_ACEOF
102992 +done
102994 + else
102996 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
102997 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
102998 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
102999 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
103000 + $as_echo_n "(cached) " >&6
103001 +else
103004 + ac_ext=cpp
103005 +ac_cpp='$CXXCPP $CPPFLAGS'
103006 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103007 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103008 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103010 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103011 +/* end confdefs.h. */
103012 +#include <math.h>
103013 + #ifdef HAVE_IEEEFP_H
103014 + #include <ieeefp.h>
103015 + #endif
103018 +main ()
103020 + _qfpclass(0);
103022 + return 0;
103024 +_ACEOF
103025 +if ac_fn_cxx_try_compile "$LINENO"; then :
103026 + glibcxx_cv_func__qfpclass_use=yes
103027 +else
103028 + glibcxx_cv_func__qfpclass_use=no
103030 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103031 + ac_ext=c
103032 +ac_cpp='$CPP $CPPFLAGS'
103033 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103034 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103035 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103041 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
103042 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
103044 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
103045 + for ac_func in _qfpclass
103046 +do :
103047 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
103048 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
103049 + cat >>confdefs.h <<_ACEOF
103050 +#define HAVE__QFPCLASS 1
103051 +_ACEOF
103054 +done
103063 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
103064 +$as_echo_n "checking for hypot declaration... " >&6; }
103065 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
103066 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
103067 + $as_echo_n "(cached) " >&6
103068 +else
103071 + ac_ext=cpp
103072 +ac_cpp='$CXXCPP $CPPFLAGS'
103073 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103074 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103075 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103077 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103078 +/* end confdefs.h. */
103079 +#include <math.h>
103081 +main ()
103083 + hypot(0, 0);
103085 + return 0;
103087 +_ACEOF
103088 +if ac_fn_cxx_try_compile "$LINENO"; then :
103089 + glibcxx_cv_func_hypot_use=yes
103090 +else
103091 + glibcxx_cv_func_hypot_use=no
103093 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103094 + ac_ext=c
103095 +ac_cpp='$CPP $CPPFLAGS'
103096 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103097 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103098 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103104 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
103105 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
103107 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
103108 + for ac_func in hypot
103109 +do :
103110 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
103111 +if test "x$ac_cv_func_hypot" = x""yes; then :
103112 + cat >>confdefs.h <<_ACEOF
103113 +#define HAVE_HYPOT 1
103114 +_ACEOF
103117 +done
103119 + else
103121 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
103122 +$as_echo_n "checking for _hypot declaration... " >&6; }
103123 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
103124 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
103125 + $as_echo_n "(cached) " >&6
103126 +else
103129 + ac_ext=cpp
103130 +ac_cpp='$CXXCPP $CPPFLAGS'
103131 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103132 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103133 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103135 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103136 +/* end confdefs.h. */
103137 +#include <math.h>
103139 +main ()
103141 + _hypot(0, 0);
103143 + return 0;
103145 +_ACEOF
103146 +if ac_fn_cxx_try_compile "$LINENO"; then :
103147 + glibcxx_cv_func__hypot_use=yes
103148 +else
103149 + glibcxx_cv_func__hypot_use=no
103151 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103152 + ac_ext=c
103153 +ac_cpp='$CPP $CPPFLAGS'
103154 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103155 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103156 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103162 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
103163 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
103165 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
103166 + for ac_func in _hypot
103167 +do :
103168 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
103169 +if test "x$ac_cv_func__hypot" = x""yes; then :
103170 + cat >>confdefs.h <<_ACEOF
103171 +#define HAVE__HYPOT 1
103172 +_ACEOF
103175 +done
103184 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
103185 +$as_echo_n "checking for float trig functions... " >&6; }
103186 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
103187 + $as_echo_n "(cached) " >&6
103188 +else
103191 + ac_ext=cpp
103192 +ac_cpp='$CXXCPP $CPPFLAGS'
103193 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103194 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103195 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103197 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103198 +/* end confdefs.h. */
103199 +#include <math.h>
103201 +main ()
103203 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
103205 + return 0;
103207 +_ACEOF
103208 +if ac_fn_cxx_try_compile "$LINENO"; then :
103209 + glibcxx_cv_func_float_trig_use=yes
103210 +else
103211 + glibcxx_cv_func_float_trig_use=no
103213 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103214 + ac_ext=c
103215 +ac_cpp='$CPP $CPPFLAGS'
103216 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103217 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103218 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103222 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
103223 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
103224 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
103225 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
103226 +do :
103227 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
103228 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
103229 +eval as_val=\$$as_ac_var
103230 + if test "x$as_val" = x""yes; then :
103231 + cat >>confdefs.h <<_ACEOF
103232 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
103233 +_ACEOF
103236 +done
103238 + else
103239 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
103240 +$as_echo_n "checking for _float trig functions... " >&6; }
103241 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
103242 + $as_echo_n "(cached) " >&6
103243 +else
103246 + ac_ext=cpp
103247 +ac_cpp='$CXXCPP $CPPFLAGS'
103248 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103249 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103250 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103252 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103253 +/* end confdefs.h. */
103254 +#include <math.h>
103256 +main ()
103258 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
103260 + return 0;
103262 +_ACEOF
103263 +if ac_fn_cxx_try_compile "$LINENO"; then :
103264 + glibcxx_cv_func__float_trig_use=yes
103265 +else
103266 + glibcxx_cv_func__float_trig_use=no
103268 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103269 + ac_ext=c
103270 +ac_cpp='$CPP $CPPFLAGS'
103271 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103272 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103273 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103277 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
103278 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
103279 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
103280 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
103281 +do :
103282 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
103283 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
103284 +eval as_val=\$$as_ac_var
103285 + if test "x$as_val" = x""yes; then :
103286 + cat >>confdefs.h <<_ACEOF
103287 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
103288 +_ACEOF
103291 +done
103300 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
103301 +$as_echo_n "checking for float round functions... " >&6; }
103302 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
103303 + $as_echo_n "(cached) " >&6
103304 +else
103307 + ac_ext=cpp
103308 +ac_cpp='$CXXCPP $CPPFLAGS'
103309 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103310 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103311 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103313 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103314 +/* end confdefs.h. */
103315 +#include <math.h>
103317 +main ()
103319 +ceilf (0); floorf (0);
103321 + return 0;
103323 +_ACEOF
103324 +if ac_fn_cxx_try_compile "$LINENO"; then :
103325 + glibcxx_cv_func_float_round_use=yes
103326 +else
103327 + glibcxx_cv_func_float_round_use=no
103329 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103330 + ac_ext=c
103331 +ac_cpp='$CPP $CPPFLAGS'
103332 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103333 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103334 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103338 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
103339 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
103340 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
103341 + for ac_func in ceilf floorf
103342 +do :
103343 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
103344 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
103345 +eval as_val=\$$as_ac_var
103346 + if test "x$as_val" = x""yes; then :
103347 + cat >>confdefs.h <<_ACEOF
103348 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
103349 +_ACEOF
103352 +done
103354 + else
103355 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
103356 +$as_echo_n "checking for _float round functions... " >&6; }
103357 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
103358 + $as_echo_n "(cached) " >&6
103359 +else
103362 + ac_ext=cpp
103363 +ac_cpp='$CXXCPP $CPPFLAGS'
103364 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103365 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103366 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103368 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103369 +/* end confdefs.h. */
103370 +#include <math.h>
103372 +main ()
103374 +_ceilf (0); _floorf (0);
103376 + return 0;
103378 +_ACEOF
103379 +if ac_fn_cxx_try_compile "$LINENO"; then :
103380 + glibcxx_cv_func__float_round_use=yes
103381 +else
103382 + glibcxx_cv_func__float_round_use=no
103384 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103385 + ac_ext=c
103386 +ac_cpp='$CPP $CPPFLAGS'
103387 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103388 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103389 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103393 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
103394 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
103395 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
103396 + for ac_func in _ceilf _floorf
103397 +do :
103398 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
103399 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
103400 +eval as_val=\$$as_ac_var
103401 + if test "x$as_val" = x""yes; then :
103402 + cat >>confdefs.h <<_ACEOF
103403 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
103404 +_ACEOF
103407 +done
103417 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
103418 +$as_echo_n "checking for expf declaration... " >&6; }
103419 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
103420 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
103421 + $as_echo_n "(cached) " >&6
103422 +else
103425 + ac_ext=cpp
103426 +ac_cpp='$CXXCPP $CPPFLAGS'
103427 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103428 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103429 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103431 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103432 +/* end confdefs.h. */
103433 +#include <math.h>
103434 + #ifdef HAVE_IEEEFP_H
103435 + #include <ieeefp.h>
103436 + #endif
103439 +main ()
103441 + expf(0);
103443 + return 0;
103445 +_ACEOF
103446 +if ac_fn_cxx_try_compile "$LINENO"; then :
103447 + glibcxx_cv_func_expf_use=yes
103448 +else
103449 + glibcxx_cv_func_expf_use=no
103451 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103452 + ac_ext=c
103453 +ac_cpp='$CPP $CPPFLAGS'
103454 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103455 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103456 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103462 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
103463 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
103465 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
103466 + for ac_func in expf
103467 +do :
103468 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
103469 +if test "x$ac_cv_func_expf" = x""yes; then :
103470 + cat >>confdefs.h <<_ACEOF
103471 +#define HAVE_EXPF 1
103472 +_ACEOF
103475 +done
103477 + else
103479 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
103480 +$as_echo_n "checking for _expf declaration... " >&6; }
103481 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
103482 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
103483 + $as_echo_n "(cached) " >&6
103484 +else
103487 + ac_ext=cpp
103488 +ac_cpp='$CXXCPP $CPPFLAGS'
103489 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103490 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103491 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103493 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103494 +/* end confdefs.h. */
103495 +#include <math.h>
103496 + #ifdef HAVE_IEEEFP_H
103497 + #include <ieeefp.h>
103498 + #endif
103501 +main ()
103503 + _expf(0);
103505 + return 0;
103507 +_ACEOF
103508 +if ac_fn_cxx_try_compile "$LINENO"; then :
103509 + glibcxx_cv_func__expf_use=yes
103510 +else
103511 + glibcxx_cv_func__expf_use=no
103513 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103514 + ac_ext=c
103515 +ac_cpp='$CPP $CPPFLAGS'
103516 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103517 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103518 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103524 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
103525 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
103527 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
103528 + for ac_func in _expf
103529 +do :
103530 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
103531 +if test "x$ac_cv_func__expf" = x""yes; then :
103532 + cat >>confdefs.h <<_ACEOF
103533 +#define HAVE__EXPF 1
103534 +_ACEOF
103537 +done
103546 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
103547 +$as_echo_n "checking for isnanf declaration... " >&6; }
103548 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
103549 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
103550 + $as_echo_n "(cached) " >&6
103551 +else
103554 + ac_ext=cpp
103555 +ac_cpp='$CXXCPP $CPPFLAGS'
103556 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103557 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103558 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103560 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103561 +/* end confdefs.h. */
103562 +#include <math.h>
103563 + #ifdef HAVE_IEEEFP_H
103564 + #include <ieeefp.h>
103565 + #endif
103568 +main ()
103570 + isnanf(0);
103572 + return 0;
103574 +_ACEOF
103575 +if ac_fn_cxx_try_compile "$LINENO"; then :
103576 + glibcxx_cv_func_isnanf_use=yes
103577 +else
103578 + glibcxx_cv_func_isnanf_use=no
103580 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103581 + ac_ext=c
103582 +ac_cpp='$CPP $CPPFLAGS'
103583 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103584 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103585 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103591 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
103592 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
103594 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
103595 + for ac_func in isnanf
103596 +do :
103597 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
103598 +if test "x$ac_cv_func_isnanf" = x""yes; then :
103599 + cat >>confdefs.h <<_ACEOF
103600 +#define HAVE_ISNANF 1
103601 +_ACEOF
103604 +done
103606 + else
103608 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
103609 +$as_echo_n "checking for _isnanf declaration... " >&6; }
103610 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
103611 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
103612 + $as_echo_n "(cached) " >&6
103613 +else
103616 + ac_ext=cpp
103617 +ac_cpp='$CXXCPP $CPPFLAGS'
103618 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103619 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103620 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103622 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103623 +/* end confdefs.h. */
103624 +#include <math.h>
103625 + #ifdef HAVE_IEEEFP_H
103626 + #include <ieeefp.h>
103627 + #endif
103630 +main ()
103632 + _isnanf(0);
103634 + return 0;
103636 +_ACEOF
103637 +if ac_fn_cxx_try_compile "$LINENO"; then :
103638 + glibcxx_cv_func__isnanf_use=yes
103639 +else
103640 + glibcxx_cv_func__isnanf_use=no
103642 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103643 + ac_ext=c
103644 +ac_cpp='$CPP $CPPFLAGS'
103645 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103646 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103647 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103653 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
103654 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
103656 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
103657 + for ac_func in _isnanf
103658 +do :
103659 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
103660 +if test "x$ac_cv_func__isnanf" = x""yes; then :
103661 + cat >>confdefs.h <<_ACEOF
103662 +#define HAVE__ISNANF 1
103663 +_ACEOF
103666 +done
103675 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
103676 +$as_echo_n "checking for isinff declaration... " >&6; }
103677 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
103678 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
103679 + $as_echo_n "(cached) " >&6
103680 +else
103683 + ac_ext=cpp
103684 +ac_cpp='$CXXCPP $CPPFLAGS'
103685 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103686 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103687 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103689 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103690 +/* end confdefs.h. */
103691 +#include <math.h>
103692 + #ifdef HAVE_IEEEFP_H
103693 + #include <ieeefp.h>
103694 + #endif
103697 +main ()
103699 + isinff(0);
103701 + return 0;
103703 +_ACEOF
103704 +if ac_fn_cxx_try_compile "$LINENO"; then :
103705 + glibcxx_cv_func_isinff_use=yes
103706 +else
103707 + glibcxx_cv_func_isinff_use=no
103709 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103710 + ac_ext=c
103711 +ac_cpp='$CPP $CPPFLAGS'
103712 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103713 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103714 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103720 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
103721 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
103723 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
103724 + for ac_func in isinff
103725 +do :
103726 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
103727 +if test "x$ac_cv_func_isinff" = x""yes; then :
103728 + cat >>confdefs.h <<_ACEOF
103729 +#define HAVE_ISINFF 1
103730 +_ACEOF
103733 +done
103735 + else
103737 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
103738 +$as_echo_n "checking for _isinff declaration... " >&6; }
103739 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
103740 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
103741 + $as_echo_n "(cached) " >&6
103742 +else
103745 + ac_ext=cpp
103746 +ac_cpp='$CXXCPP $CPPFLAGS'
103747 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103748 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103749 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103751 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103752 +/* end confdefs.h. */
103753 +#include <math.h>
103754 + #ifdef HAVE_IEEEFP_H
103755 + #include <ieeefp.h>
103756 + #endif
103759 +main ()
103761 + _isinff(0);
103763 + return 0;
103765 +_ACEOF
103766 +if ac_fn_cxx_try_compile "$LINENO"; then :
103767 + glibcxx_cv_func__isinff_use=yes
103768 +else
103769 + glibcxx_cv_func__isinff_use=no
103771 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103772 + ac_ext=c
103773 +ac_cpp='$CPP $CPPFLAGS'
103774 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103775 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103776 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103782 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
103783 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
103785 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
103786 + for ac_func in _isinff
103787 +do :
103788 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
103789 +if test "x$ac_cv_func__isinff" = x""yes; then :
103790 + cat >>confdefs.h <<_ACEOF
103791 +#define HAVE__ISINFF 1
103792 +_ACEOF
103795 +done
103804 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
103805 +$as_echo_n "checking for atan2f declaration... " >&6; }
103806 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
103807 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
103808 + $as_echo_n "(cached) " >&6
103809 +else
103812 + ac_ext=cpp
103813 +ac_cpp='$CXXCPP $CPPFLAGS'
103814 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103815 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103816 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103818 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103819 +/* end confdefs.h. */
103820 +#include <math.h>
103822 +main ()
103824 + atan2f(0, 0);
103826 + return 0;
103828 +_ACEOF
103829 +if ac_fn_cxx_try_compile "$LINENO"; then :
103830 + glibcxx_cv_func_atan2f_use=yes
103831 +else
103832 + glibcxx_cv_func_atan2f_use=no
103834 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103835 + ac_ext=c
103836 +ac_cpp='$CPP $CPPFLAGS'
103837 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103838 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103839 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103845 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
103846 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
103848 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
103849 + for ac_func in atan2f
103850 +do :
103851 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
103852 +if test "x$ac_cv_func_atan2f" = x""yes; then :
103853 + cat >>confdefs.h <<_ACEOF
103854 +#define HAVE_ATAN2F 1
103855 +_ACEOF
103858 +done
103860 + else
103862 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
103863 +$as_echo_n "checking for _atan2f declaration... " >&6; }
103864 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
103865 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
103866 + $as_echo_n "(cached) " >&6
103867 +else
103870 + ac_ext=cpp
103871 +ac_cpp='$CXXCPP $CPPFLAGS'
103872 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103873 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103874 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103876 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103877 +/* end confdefs.h. */
103878 +#include <math.h>
103880 +main ()
103882 + _atan2f(0, 0);
103884 + return 0;
103886 +_ACEOF
103887 +if ac_fn_cxx_try_compile "$LINENO"; then :
103888 + glibcxx_cv_func__atan2f_use=yes
103889 +else
103890 + glibcxx_cv_func__atan2f_use=no
103892 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103893 + ac_ext=c
103894 +ac_cpp='$CPP $CPPFLAGS'
103895 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103896 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103897 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103903 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
103904 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
103906 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
103907 + for ac_func in _atan2f
103908 +do :
103909 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
103910 +if test "x$ac_cv_func__atan2f" = x""yes; then :
103911 + cat >>confdefs.h <<_ACEOF
103912 +#define HAVE__ATAN2F 1
103913 +_ACEOF
103916 +done
103925 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
103926 +$as_echo_n "checking for fabsf declaration... " >&6; }
103927 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
103928 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
103929 + $as_echo_n "(cached) " >&6
103930 +else
103933 + ac_ext=cpp
103934 +ac_cpp='$CXXCPP $CPPFLAGS'
103935 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103936 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103937 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
103939 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
103940 +/* end confdefs.h. */
103941 +#include <math.h>
103942 + #ifdef HAVE_IEEEFP_H
103943 + #include <ieeefp.h>
103944 + #endif
103947 +main ()
103949 + fabsf(0);
103951 + return 0;
103953 +_ACEOF
103954 +if ac_fn_cxx_try_compile "$LINENO"; then :
103955 + glibcxx_cv_func_fabsf_use=yes
103956 +else
103957 + glibcxx_cv_func_fabsf_use=no
103959 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
103960 + ac_ext=c
103961 +ac_cpp='$CPP $CPPFLAGS'
103962 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103963 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103964 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
103970 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
103971 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
103973 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
103974 + for ac_func in fabsf
103975 +do :
103976 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
103977 +if test "x$ac_cv_func_fabsf" = x""yes; then :
103978 + cat >>confdefs.h <<_ACEOF
103979 +#define HAVE_FABSF 1
103980 +_ACEOF
103983 +done
103985 + else
103987 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
103988 +$as_echo_n "checking for _fabsf declaration... " >&6; }
103989 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
103990 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
103991 + $as_echo_n "(cached) " >&6
103992 +else
103995 + ac_ext=cpp
103996 +ac_cpp='$CXXCPP $CPPFLAGS'
103997 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
103998 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
103999 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104001 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104002 +/* end confdefs.h. */
104003 +#include <math.h>
104004 + #ifdef HAVE_IEEEFP_H
104005 + #include <ieeefp.h>
104006 + #endif
104009 +main ()
104011 + _fabsf(0);
104013 + return 0;
104015 +_ACEOF
104016 +if ac_fn_cxx_try_compile "$LINENO"; then :
104017 + glibcxx_cv_func__fabsf_use=yes
104018 +else
104019 + glibcxx_cv_func__fabsf_use=no
104021 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104022 + ac_ext=c
104023 +ac_cpp='$CPP $CPPFLAGS'
104024 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104025 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104026 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104032 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
104033 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
104035 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
104036 + for ac_func in _fabsf
104037 +do :
104038 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
104039 +if test "x$ac_cv_func__fabsf" = x""yes; then :
104040 + cat >>confdefs.h <<_ACEOF
104041 +#define HAVE__FABSF 1
104042 +_ACEOF
104045 +done
104054 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
104055 +$as_echo_n "checking for fmodf declaration... " >&6; }
104056 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
104057 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
104058 + $as_echo_n "(cached) " >&6
104059 +else
104062 + ac_ext=cpp
104063 +ac_cpp='$CXXCPP $CPPFLAGS'
104064 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104065 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104066 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104068 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104069 +/* end confdefs.h. */
104070 +#include <math.h>
104072 +main ()
104074 + fmodf(0, 0);
104076 + return 0;
104078 +_ACEOF
104079 +if ac_fn_cxx_try_compile "$LINENO"; then :
104080 + glibcxx_cv_func_fmodf_use=yes
104081 +else
104082 + glibcxx_cv_func_fmodf_use=no
104084 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104085 + ac_ext=c
104086 +ac_cpp='$CPP $CPPFLAGS'
104087 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104088 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104089 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104095 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
104096 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
104098 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
104099 + for ac_func in fmodf
104100 +do :
104101 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
104102 +if test "x$ac_cv_func_fmodf" = x""yes; then :
104103 + cat >>confdefs.h <<_ACEOF
104104 +#define HAVE_FMODF 1
104105 +_ACEOF
104108 +done
104110 + else
104112 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
104113 +$as_echo_n "checking for _fmodf declaration... " >&6; }
104114 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
104115 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
104116 + $as_echo_n "(cached) " >&6
104117 +else
104120 + ac_ext=cpp
104121 +ac_cpp='$CXXCPP $CPPFLAGS'
104122 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104123 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104124 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104126 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104127 +/* end confdefs.h. */
104128 +#include <math.h>
104130 +main ()
104132 + _fmodf(0, 0);
104134 + return 0;
104136 +_ACEOF
104137 +if ac_fn_cxx_try_compile "$LINENO"; then :
104138 + glibcxx_cv_func__fmodf_use=yes
104139 +else
104140 + glibcxx_cv_func__fmodf_use=no
104142 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104143 + ac_ext=c
104144 +ac_cpp='$CPP $CPPFLAGS'
104145 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104146 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104147 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104153 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
104154 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
104156 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
104157 + for ac_func in _fmodf
104158 +do :
104159 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
104160 +if test "x$ac_cv_func__fmodf" = x""yes; then :
104161 + cat >>confdefs.h <<_ACEOF
104162 +#define HAVE__FMODF 1
104163 +_ACEOF
104166 +done
104175 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
104176 +$as_echo_n "checking for frexpf declaration... " >&6; }
104177 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
104178 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
104179 + $as_echo_n "(cached) " >&6
104180 +else
104183 + ac_ext=cpp
104184 +ac_cpp='$CXXCPP $CPPFLAGS'
104185 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104186 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104187 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104189 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104190 +/* end confdefs.h. */
104191 +#include <math.h>
104193 +main ()
104195 + frexpf(0, 0);
104197 + return 0;
104199 +_ACEOF
104200 +if ac_fn_cxx_try_compile "$LINENO"; then :
104201 + glibcxx_cv_func_frexpf_use=yes
104202 +else
104203 + glibcxx_cv_func_frexpf_use=no
104205 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104206 + ac_ext=c
104207 +ac_cpp='$CPP $CPPFLAGS'
104208 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104209 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104210 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104216 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
104217 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
104219 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
104220 + for ac_func in frexpf
104221 +do :
104222 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
104223 +if test "x$ac_cv_func_frexpf" = x""yes; then :
104224 + cat >>confdefs.h <<_ACEOF
104225 +#define HAVE_FREXPF 1
104226 +_ACEOF
104229 +done
104231 + else
104233 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
104234 +$as_echo_n "checking for _frexpf declaration... " >&6; }
104235 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
104236 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
104237 + $as_echo_n "(cached) " >&6
104238 +else
104241 + ac_ext=cpp
104242 +ac_cpp='$CXXCPP $CPPFLAGS'
104243 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104244 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104245 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104247 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104248 +/* end confdefs.h. */
104249 +#include <math.h>
104251 +main ()
104253 + _frexpf(0, 0);
104255 + return 0;
104257 +_ACEOF
104258 +if ac_fn_cxx_try_compile "$LINENO"; then :
104259 + glibcxx_cv_func__frexpf_use=yes
104260 +else
104261 + glibcxx_cv_func__frexpf_use=no
104263 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104264 + ac_ext=c
104265 +ac_cpp='$CPP $CPPFLAGS'
104266 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104267 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104268 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104274 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
104275 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
104277 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
104278 + for ac_func in _frexpf
104279 +do :
104280 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
104281 +if test "x$ac_cv_func__frexpf" = x""yes; then :
104282 + cat >>confdefs.h <<_ACEOF
104283 +#define HAVE__FREXPF 1
104284 +_ACEOF
104287 +done
104296 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
104297 +$as_echo_n "checking for hypotf declaration... " >&6; }
104298 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
104299 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
104300 + $as_echo_n "(cached) " >&6
104301 +else
104304 + ac_ext=cpp
104305 +ac_cpp='$CXXCPP $CPPFLAGS'
104306 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104307 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104308 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104310 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104311 +/* end confdefs.h. */
104312 +#include <math.h>
104314 +main ()
104316 + hypotf(0, 0);
104318 + return 0;
104320 +_ACEOF
104321 +if ac_fn_cxx_try_compile "$LINENO"; then :
104322 + glibcxx_cv_func_hypotf_use=yes
104323 +else
104324 + glibcxx_cv_func_hypotf_use=no
104326 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104327 + ac_ext=c
104328 +ac_cpp='$CPP $CPPFLAGS'
104329 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104330 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104331 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104337 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
104338 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
104340 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
104341 + for ac_func in hypotf
104342 +do :
104343 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
104344 +if test "x$ac_cv_func_hypotf" = x""yes; then :
104345 + cat >>confdefs.h <<_ACEOF
104346 +#define HAVE_HYPOTF 1
104347 +_ACEOF
104350 +done
104352 + else
104354 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
104355 +$as_echo_n "checking for _hypotf declaration... " >&6; }
104356 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
104357 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
104358 + $as_echo_n "(cached) " >&6
104359 +else
104362 + ac_ext=cpp
104363 +ac_cpp='$CXXCPP $CPPFLAGS'
104364 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104365 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104366 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104368 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104369 +/* end confdefs.h. */
104370 +#include <math.h>
104372 +main ()
104374 + _hypotf(0, 0);
104376 + return 0;
104378 +_ACEOF
104379 +if ac_fn_cxx_try_compile "$LINENO"; then :
104380 + glibcxx_cv_func__hypotf_use=yes
104381 +else
104382 + glibcxx_cv_func__hypotf_use=no
104384 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104385 + ac_ext=c
104386 +ac_cpp='$CPP $CPPFLAGS'
104387 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104388 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104389 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104395 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
104396 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
104398 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
104399 + for ac_func in _hypotf
104400 +do :
104401 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
104402 +if test "x$ac_cv_func__hypotf" = x""yes; then :
104403 + cat >>confdefs.h <<_ACEOF
104404 +#define HAVE__HYPOTF 1
104405 +_ACEOF
104408 +done
104417 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
104418 +$as_echo_n "checking for ldexpf declaration... " >&6; }
104419 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
104420 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
104421 + $as_echo_n "(cached) " >&6
104422 +else
104425 + ac_ext=cpp
104426 +ac_cpp='$CXXCPP $CPPFLAGS'
104427 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104428 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104429 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104431 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104432 +/* end confdefs.h. */
104433 +#include <math.h>
104435 +main ()
104437 + ldexpf(0, 0);
104439 + return 0;
104441 +_ACEOF
104442 +if ac_fn_cxx_try_compile "$LINENO"; then :
104443 + glibcxx_cv_func_ldexpf_use=yes
104444 +else
104445 + glibcxx_cv_func_ldexpf_use=no
104447 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104448 + ac_ext=c
104449 +ac_cpp='$CPP $CPPFLAGS'
104450 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104451 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104452 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104458 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
104459 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
104461 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
104462 + for ac_func in ldexpf
104463 +do :
104464 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
104465 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
104466 + cat >>confdefs.h <<_ACEOF
104467 +#define HAVE_LDEXPF 1
104468 +_ACEOF
104471 +done
104473 + else
104475 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
104476 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
104477 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
104478 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
104479 + $as_echo_n "(cached) " >&6
104480 +else
104483 + ac_ext=cpp
104484 +ac_cpp='$CXXCPP $CPPFLAGS'
104485 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104486 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104487 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104489 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104490 +/* end confdefs.h. */
104491 +#include <math.h>
104493 +main ()
104495 + _ldexpf(0, 0);
104497 + return 0;
104499 +_ACEOF
104500 +if ac_fn_cxx_try_compile "$LINENO"; then :
104501 + glibcxx_cv_func__ldexpf_use=yes
104502 +else
104503 + glibcxx_cv_func__ldexpf_use=no
104505 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104506 + ac_ext=c
104507 +ac_cpp='$CPP $CPPFLAGS'
104508 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104509 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104510 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104516 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
104517 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
104519 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
104520 + for ac_func in _ldexpf
104521 +do :
104522 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
104523 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
104524 + cat >>confdefs.h <<_ACEOF
104525 +#define HAVE__LDEXPF 1
104526 +_ACEOF
104529 +done
104538 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
104539 +$as_echo_n "checking for logf declaration... " >&6; }
104540 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
104541 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
104542 + $as_echo_n "(cached) " >&6
104543 +else
104546 + ac_ext=cpp
104547 +ac_cpp='$CXXCPP $CPPFLAGS'
104548 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104549 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104550 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104552 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104553 +/* end confdefs.h. */
104554 +#include <math.h>
104555 + #ifdef HAVE_IEEEFP_H
104556 + #include <ieeefp.h>
104557 + #endif
104560 +main ()
104562 + logf(0);
104564 + return 0;
104566 +_ACEOF
104567 +if ac_fn_cxx_try_compile "$LINENO"; then :
104568 + glibcxx_cv_func_logf_use=yes
104569 +else
104570 + glibcxx_cv_func_logf_use=no
104572 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104573 + ac_ext=c
104574 +ac_cpp='$CPP $CPPFLAGS'
104575 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104576 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104577 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104583 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
104584 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
104586 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
104587 + for ac_func in logf
104588 +do :
104589 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
104590 +if test "x$ac_cv_func_logf" = x""yes; then :
104591 + cat >>confdefs.h <<_ACEOF
104592 +#define HAVE_LOGF 1
104593 +_ACEOF
104596 +done
104598 + else
104600 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
104601 +$as_echo_n "checking for _logf declaration... " >&6; }
104602 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
104603 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
104604 + $as_echo_n "(cached) " >&6
104605 +else
104608 + ac_ext=cpp
104609 +ac_cpp='$CXXCPP $CPPFLAGS'
104610 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104611 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104612 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104614 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104615 +/* end confdefs.h. */
104616 +#include <math.h>
104617 + #ifdef HAVE_IEEEFP_H
104618 + #include <ieeefp.h>
104619 + #endif
104622 +main ()
104624 + _logf(0);
104626 + return 0;
104628 +_ACEOF
104629 +if ac_fn_cxx_try_compile "$LINENO"; then :
104630 + glibcxx_cv_func__logf_use=yes
104631 +else
104632 + glibcxx_cv_func__logf_use=no
104634 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104635 + ac_ext=c
104636 +ac_cpp='$CPP $CPPFLAGS'
104637 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104638 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104639 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104645 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
104646 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
104648 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
104649 + for ac_func in _logf
104650 +do :
104651 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
104652 +if test "x$ac_cv_func__logf" = x""yes; then :
104653 + cat >>confdefs.h <<_ACEOF
104654 +#define HAVE__LOGF 1
104655 +_ACEOF
104658 +done
104667 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
104668 +$as_echo_n "checking for log10f declaration... " >&6; }
104669 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
104670 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
104671 + $as_echo_n "(cached) " >&6
104672 +else
104675 + ac_ext=cpp
104676 +ac_cpp='$CXXCPP $CPPFLAGS'
104677 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104678 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104679 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104681 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104682 +/* end confdefs.h. */
104683 +#include <math.h>
104684 + #ifdef HAVE_IEEEFP_H
104685 + #include <ieeefp.h>
104686 + #endif
104689 +main ()
104691 + log10f(0);
104693 + return 0;
104695 +_ACEOF
104696 +if ac_fn_cxx_try_compile "$LINENO"; then :
104697 + glibcxx_cv_func_log10f_use=yes
104698 +else
104699 + glibcxx_cv_func_log10f_use=no
104701 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104702 + ac_ext=c
104703 +ac_cpp='$CPP $CPPFLAGS'
104704 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104705 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104706 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104712 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
104713 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
104715 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
104716 + for ac_func in log10f
104717 +do :
104718 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
104719 +if test "x$ac_cv_func_log10f" = x""yes; then :
104720 + cat >>confdefs.h <<_ACEOF
104721 +#define HAVE_LOG10F 1
104722 +_ACEOF
104725 +done
104727 + else
104729 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
104730 +$as_echo_n "checking for _log10f declaration... " >&6; }
104731 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
104732 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
104733 + $as_echo_n "(cached) " >&6
104734 +else
104737 + ac_ext=cpp
104738 +ac_cpp='$CXXCPP $CPPFLAGS'
104739 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104740 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104741 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104743 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104744 +/* end confdefs.h. */
104745 +#include <math.h>
104746 + #ifdef HAVE_IEEEFP_H
104747 + #include <ieeefp.h>
104748 + #endif
104751 +main ()
104753 + _log10f(0);
104755 + return 0;
104757 +_ACEOF
104758 +if ac_fn_cxx_try_compile "$LINENO"; then :
104759 + glibcxx_cv_func__log10f_use=yes
104760 +else
104761 + glibcxx_cv_func__log10f_use=no
104763 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104764 + ac_ext=c
104765 +ac_cpp='$CPP $CPPFLAGS'
104766 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104767 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104768 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104774 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
104775 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
104777 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
104778 + for ac_func in _log10f
104779 +do :
104780 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
104781 +if test "x$ac_cv_func__log10f" = x""yes; then :
104782 + cat >>confdefs.h <<_ACEOF
104783 +#define HAVE__LOG10F 1
104784 +_ACEOF
104787 +done
104796 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
104797 +$as_echo_n "checking for modff declaration... " >&6; }
104798 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
104799 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
104800 + $as_echo_n "(cached) " >&6
104801 +else
104804 + ac_ext=cpp
104805 +ac_cpp='$CXXCPP $CPPFLAGS'
104806 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104807 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104808 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104810 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104811 +/* end confdefs.h. */
104812 +#include <math.h>
104814 +main ()
104816 + modff(0, 0);
104818 + return 0;
104820 +_ACEOF
104821 +if ac_fn_cxx_try_compile "$LINENO"; then :
104822 + glibcxx_cv_func_modff_use=yes
104823 +else
104824 + glibcxx_cv_func_modff_use=no
104826 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104827 + ac_ext=c
104828 +ac_cpp='$CPP $CPPFLAGS'
104829 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104830 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104831 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104837 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
104838 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
104840 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
104841 + for ac_func in modff
104842 +do :
104843 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
104844 +if test "x$ac_cv_func_modff" = x""yes; then :
104845 + cat >>confdefs.h <<_ACEOF
104846 +#define HAVE_MODFF 1
104847 +_ACEOF
104850 +done
104852 + else
104854 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
104855 +$as_echo_n "checking for _modff declaration... " >&6; }
104856 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
104857 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
104858 + $as_echo_n "(cached) " >&6
104859 +else
104862 + ac_ext=cpp
104863 +ac_cpp='$CXXCPP $CPPFLAGS'
104864 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104865 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104866 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104868 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104869 +/* end confdefs.h. */
104870 +#include <math.h>
104872 +main ()
104874 + _modff(0, 0);
104876 + return 0;
104878 +_ACEOF
104879 +if ac_fn_cxx_try_compile "$LINENO"; then :
104880 + glibcxx_cv_func__modff_use=yes
104881 +else
104882 + glibcxx_cv_func__modff_use=no
104884 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104885 + ac_ext=c
104886 +ac_cpp='$CPP $CPPFLAGS'
104887 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104888 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104889 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104895 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
104896 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
104898 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
104899 + for ac_func in _modff
104900 +do :
104901 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
104902 +if test "x$ac_cv_func__modff" = x""yes; then :
104903 + cat >>confdefs.h <<_ACEOF
104904 +#define HAVE__MODFF 1
104905 +_ACEOF
104908 +done
104917 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
104918 +$as_echo_n "checking for modf declaration... " >&6; }
104919 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
104920 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
104921 + $as_echo_n "(cached) " >&6
104922 +else
104925 + ac_ext=cpp
104926 +ac_cpp='$CXXCPP $CPPFLAGS'
104927 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104928 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104929 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104931 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104932 +/* end confdefs.h. */
104933 +#include <math.h>
104935 +main ()
104937 + modf(0, 0);
104939 + return 0;
104941 +_ACEOF
104942 +if ac_fn_cxx_try_compile "$LINENO"; then :
104943 + glibcxx_cv_func_modf_use=yes
104944 +else
104945 + glibcxx_cv_func_modf_use=no
104947 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
104948 + ac_ext=c
104949 +ac_cpp='$CPP $CPPFLAGS'
104950 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104951 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104952 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
104958 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
104959 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
104961 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
104962 + for ac_func in modf
104963 +do :
104964 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
104965 +if test "x$ac_cv_func_modf" = x""yes; then :
104966 + cat >>confdefs.h <<_ACEOF
104967 +#define HAVE_MODF 1
104968 +_ACEOF
104971 +done
104973 + else
104975 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
104976 +$as_echo_n "checking for _modf declaration... " >&6; }
104977 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
104978 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
104979 + $as_echo_n "(cached) " >&6
104980 +else
104983 + ac_ext=cpp
104984 +ac_cpp='$CXXCPP $CPPFLAGS'
104985 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
104986 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
104987 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
104989 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
104990 +/* end confdefs.h. */
104991 +#include <math.h>
104993 +main ()
104995 + _modf(0, 0);
104997 + return 0;
104999 +_ACEOF
105000 +if ac_fn_cxx_try_compile "$LINENO"; then :
105001 + glibcxx_cv_func__modf_use=yes
105002 +else
105003 + glibcxx_cv_func__modf_use=no
105005 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105006 + ac_ext=c
105007 +ac_cpp='$CPP $CPPFLAGS'
105008 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105009 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105010 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105016 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
105017 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
105019 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
105020 + for ac_func in _modf
105021 +do :
105022 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
105023 +if test "x$ac_cv_func__modf" = x""yes; then :
105024 + cat >>confdefs.h <<_ACEOF
105025 +#define HAVE__MODF 1
105026 +_ACEOF
105029 +done
105038 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
105039 +$as_echo_n "checking for powf declaration... " >&6; }
105040 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
105041 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
105042 + $as_echo_n "(cached) " >&6
105043 +else
105046 + ac_ext=cpp
105047 +ac_cpp='$CXXCPP $CPPFLAGS'
105048 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105049 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105050 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105052 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105053 +/* end confdefs.h. */
105054 +#include <math.h>
105056 +main ()
105058 + powf(0, 0);
105060 + return 0;
105062 +_ACEOF
105063 +if ac_fn_cxx_try_compile "$LINENO"; then :
105064 + glibcxx_cv_func_powf_use=yes
105065 +else
105066 + glibcxx_cv_func_powf_use=no
105068 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105069 + ac_ext=c
105070 +ac_cpp='$CPP $CPPFLAGS'
105071 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105072 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105073 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105079 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
105080 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
105082 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
105083 + for ac_func in powf
105084 +do :
105085 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
105086 +if test "x$ac_cv_func_powf" = x""yes; then :
105087 + cat >>confdefs.h <<_ACEOF
105088 +#define HAVE_POWF 1
105089 +_ACEOF
105092 +done
105094 + else
105096 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
105097 +$as_echo_n "checking for _powf declaration... " >&6; }
105098 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
105099 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
105100 + $as_echo_n "(cached) " >&6
105101 +else
105104 + ac_ext=cpp
105105 +ac_cpp='$CXXCPP $CPPFLAGS'
105106 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105107 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105108 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105110 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105111 +/* end confdefs.h. */
105112 +#include <math.h>
105114 +main ()
105116 + _powf(0, 0);
105118 + return 0;
105120 +_ACEOF
105121 +if ac_fn_cxx_try_compile "$LINENO"; then :
105122 + glibcxx_cv_func__powf_use=yes
105123 +else
105124 + glibcxx_cv_func__powf_use=no
105126 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105127 + ac_ext=c
105128 +ac_cpp='$CPP $CPPFLAGS'
105129 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105130 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105131 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105137 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
105138 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
105140 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
105141 + for ac_func in _powf
105142 +do :
105143 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
105144 +if test "x$ac_cv_func__powf" = x""yes; then :
105145 + cat >>confdefs.h <<_ACEOF
105146 +#define HAVE__POWF 1
105147 +_ACEOF
105150 +done
105159 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
105160 +$as_echo_n "checking for sqrtf declaration... " >&6; }
105161 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
105162 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
105163 + $as_echo_n "(cached) " >&6
105164 +else
105167 + ac_ext=cpp
105168 +ac_cpp='$CXXCPP $CPPFLAGS'
105169 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105170 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105171 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105173 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105174 +/* end confdefs.h. */
105175 +#include <math.h>
105176 + #ifdef HAVE_IEEEFP_H
105177 + #include <ieeefp.h>
105178 + #endif
105181 +main ()
105183 + sqrtf(0);
105185 + return 0;
105187 +_ACEOF
105188 +if ac_fn_cxx_try_compile "$LINENO"; then :
105189 + glibcxx_cv_func_sqrtf_use=yes
105190 +else
105191 + glibcxx_cv_func_sqrtf_use=no
105193 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105194 + ac_ext=c
105195 +ac_cpp='$CPP $CPPFLAGS'
105196 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105197 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105198 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105204 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
105205 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
105207 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
105208 + for ac_func in sqrtf
105209 +do :
105210 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
105211 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
105212 + cat >>confdefs.h <<_ACEOF
105213 +#define HAVE_SQRTF 1
105214 +_ACEOF
105217 +done
105219 + else
105221 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
105222 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
105223 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
105224 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
105225 + $as_echo_n "(cached) " >&6
105226 +else
105229 + ac_ext=cpp
105230 +ac_cpp='$CXXCPP $CPPFLAGS'
105231 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105232 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105233 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105235 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105236 +/* end confdefs.h. */
105237 +#include <math.h>
105238 + #ifdef HAVE_IEEEFP_H
105239 + #include <ieeefp.h>
105240 + #endif
105243 +main ()
105245 + _sqrtf(0);
105247 + return 0;
105249 +_ACEOF
105250 +if ac_fn_cxx_try_compile "$LINENO"; then :
105251 + glibcxx_cv_func__sqrtf_use=yes
105252 +else
105253 + glibcxx_cv_func__sqrtf_use=no
105255 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105256 + ac_ext=c
105257 +ac_cpp='$CPP $CPPFLAGS'
105258 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105259 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105260 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105266 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
105267 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
105269 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
105270 + for ac_func in _sqrtf
105271 +do :
105272 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
105273 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
105274 + cat >>confdefs.h <<_ACEOF
105275 +#define HAVE__SQRTF 1
105276 +_ACEOF
105279 +done
105288 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
105289 +$as_echo_n "checking for sincosf declaration... " >&6; }
105290 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
105291 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
105292 + $as_echo_n "(cached) " >&6
105293 +else
105296 + ac_ext=cpp
105297 +ac_cpp='$CXXCPP $CPPFLAGS'
105298 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105299 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105300 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105302 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105303 +/* end confdefs.h. */
105304 +#include <math.h>
105306 +main ()
105308 + sincosf(0, 0, 0);
105310 + return 0;
105312 +_ACEOF
105313 +if ac_fn_cxx_try_compile "$LINENO"; then :
105314 + glibcxx_cv_func_sincosf_use=yes
105315 +else
105316 + glibcxx_cv_func_sincosf_use=no
105318 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105319 + ac_ext=c
105320 +ac_cpp='$CPP $CPPFLAGS'
105321 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105322 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105323 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105329 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
105330 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
105332 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
105333 + for ac_func in sincosf
105334 +do :
105335 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
105336 +if test "x$ac_cv_func_sincosf" = x""yes; then :
105337 + cat >>confdefs.h <<_ACEOF
105338 +#define HAVE_SINCOSF 1
105339 +_ACEOF
105342 +done
105344 + else
105346 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
105347 +$as_echo_n "checking for _sincosf declaration... " >&6; }
105348 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
105349 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
105350 + $as_echo_n "(cached) " >&6
105351 +else
105354 + ac_ext=cpp
105355 +ac_cpp='$CXXCPP $CPPFLAGS'
105356 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105357 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105358 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105360 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105361 +/* end confdefs.h. */
105362 +#include <math.h>
105364 +main ()
105366 + _sincosf(0, 0, 0);
105368 + return 0;
105370 +_ACEOF
105371 +if ac_fn_cxx_try_compile "$LINENO"; then :
105372 + glibcxx_cv_func__sincosf_use=yes
105373 +else
105374 + glibcxx_cv_func__sincosf_use=no
105376 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105377 + ac_ext=c
105378 +ac_cpp='$CPP $CPPFLAGS'
105379 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105380 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105381 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105387 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
105388 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
105390 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
105391 + for ac_func in _sincosf
105392 +do :
105393 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
105394 +if test "x$ac_cv_func__sincosf" = x""yes; then :
105395 + cat >>confdefs.h <<_ACEOF
105396 +#define HAVE__SINCOSF 1
105397 +_ACEOF
105400 +done
105409 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
105410 +$as_echo_n "checking for finitef declaration... " >&6; }
105411 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
105412 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
105413 + $as_echo_n "(cached) " >&6
105414 +else
105417 + ac_ext=cpp
105418 +ac_cpp='$CXXCPP $CPPFLAGS'
105419 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105420 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105421 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105423 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105424 +/* end confdefs.h. */
105425 +#include <math.h>
105426 + #ifdef HAVE_IEEEFP_H
105427 + #include <ieeefp.h>
105428 + #endif
105431 +main ()
105433 + finitef(0);
105435 + return 0;
105437 +_ACEOF
105438 +if ac_fn_cxx_try_compile "$LINENO"; then :
105439 + glibcxx_cv_func_finitef_use=yes
105440 +else
105441 + glibcxx_cv_func_finitef_use=no
105443 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105444 + ac_ext=c
105445 +ac_cpp='$CPP $CPPFLAGS'
105446 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105447 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105448 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105454 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
105455 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
105457 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
105458 + for ac_func in finitef
105459 +do :
105460 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
105461 +if test "x$ac_cv_func_finitef" = x""yes; then :
105462 + cat >>confdefs.h <<_ACEOF
105463 +#define HAVE_FINITEF 1
105464 +_ACEOF
105467 +done
105469 + else
105471 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
105472 +$as_echo_n "checking for _finitef declaration... " >&6; }
105473 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
105474 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
105475 + $as_echo_n "(cached) " >&6
105476 +else
105479 + ac_ext=cpp
105480 +ac_cpp='$CXXCPP $CPPFLAGS'
105481 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105482 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105483 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105485 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105486 +/* end confdefs.h. */
105487 +#include <math.h>
105488 + #ifdef HAVE_IEEEFP_H
105489 + #include <ieeefp.h>
105490 + #endif
105493 +main ()
105495 + _finitef(0);
105497 + return 0;
105499 +_ACEOF
105500 +if ac_fn_cxx_try_compile "$LINENO"; then :
105501 + glibcxx_cv_func__finitef_use=yes
105502 +else
105503 + glibcxx_cv_func__finitef_use=no
105505 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105506 + ac_ext=c
105507 +ac_cpp='$CPP $CPPFLAGS'
105508 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105509 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105510 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105516 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
105517 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
105519 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
105520 + for ac_func in _finitef
105521 +do :
105522 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
105523 +if test "x$ac_cv_func__finitef" = x""yes; then :
105524 + cat >>confdefs.h <<_ACEOF
105525 +#define HAVE__FINITEF 1
105526 +_ACEOF
105529 +done
105538 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
105539 +$as_echo_n "checking for long double trig functions... " >&6; }
105540 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
105541 + $as_echo_n "(cached) " >&6
105542 +else
105545 + ac_ext=cpp
105546 +ac_cpp='$CXXCPP $CPPFLAGS'
105547 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105548 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105549 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105551 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105552 +/* end confdefs.h. */
105553 +#include <math.h>
105555 +main ()
105557 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
105559 + return 0;
105561 +_ACEOF
105562 +if ac_fn_cxx_try_compile "$LINENO"; then :
105563 + glibcxx_cv_func_long_double_trig_use=yes
105564 +else
105565 + glibcxx_cv_func_long_double_trig_use=no
105567 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105568 + ac_ext=c
105569 +ac_cpp='$CPP $CPPFLAGS'
105570 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105571 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105572 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105576 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
105577 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
105578 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
105579 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
105580 +do :
105581 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
105582 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
105583 +eval as_val=\$$as_ac_var
105584 + if test "x$as_val" = x""yes; then :
105585 + cat >>confdefs.h <<_ACEOF
105586 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
105587 +_ACEOF
105590 +done
105592 + else
105593 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
105594 +$as_echo_n "checking for _long double trig functions... " >&6; }
105595 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
105596 + $as_echo_n "(cached) " >&6
105597 +else
105600 + ac_ext=cpp
105601 +ac_cpp='$CXXCPP $CPPFLAGS'
105602 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105603 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105604 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105606 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105607 +/* end confdefs.h. */
105608 +#include <math.h>
105610 +main ()
105612 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
105614 + return 0;
105616 +_ACEOF
105617 +if ac_fn_cxx_try_compile "$LINENO"; then :
105618 + glibcxx_cv_func__long_double_trig_use=yes
105619 +else
105620 + glibcxx_cv_func__long_double_trig_use=no
105622 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105623 + ac_ext=c
105624 +ac_cpp='$CPP $CPPFLAGS'
105625 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105626 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105627 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105631 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
105632 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
105633 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
105634 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
105635 +do :
105636 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
105637 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
105638 +eval as_val=\$$as_ac_var
105639 + if test "x$as_val" = x""yes; then :
105640 + cat >>confdefs.h <<_ACEOF
105641 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
105642 +_ACEOF
105645 +done
105654 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
105655 +$as_echo_n "checking for long double round functions... " >&6; }
105656 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
105657 + $as_echo_n "(cached) " >&6
105658 +else
105661 + ac_ext=cpp
105662 +ac_cpp='$CXXCPP $CPPFLAGS'
105663 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105664 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105665 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105667 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105668 +/* end confdefs.h. */
105669 +#include <math.h>
105671 +main ()
105673 +ceill (0); floorl (0);
105675 + return 0;
105677 +_ACEOF
105678 +if ac_fn_cxx_try_compile "$LINENO"; then :
105679 + glibcxx_cv_func_long_double_round_use=yes
105680 +else
105681 + glibcxx_cv_func_long_double_round_use=no
105683 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105684 + ac_ext=c
105685 +ac_cpp='$CPP $CPPFLAGS'
105686 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105687 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105688 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105692 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
105693 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
105694 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
105695 + for ac_func in ceill floorl
105696 +do :
105697 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
105698 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
105699 +eval as_val=\$$as_ac_var
105700 + if test "x$as_val" = x""yes; then :
105701 + cat >>confdefs.h <<_ACEOF
105702 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
105703 +_ACEOF
105706 +done
105708 + else
105709 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
105710 +$as_echo_n "checking for _long double round functions... " >&6; }
105711 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
105712 + $as_echo_n "(cached) " >&6
105713 +else
105716 + ac_ext=cpp
105717 +ac_cpp='$CXXCPP $CPPFLAGS'
105718 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105719 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105720 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105722 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105723 +/* end confdefs.h. */
105724 +#include <math.h>
105726 +main ()
105728 +_ceill (0); _floorl (0);
105730 + return 0;
105732 +_ACEOF
105733 +if ac_fn_cxx_try_compile "$LINENO"; then :
105734 + glibcxx_cv_func__long_double_round_use=yes
105735 +else
105736 + glibcxx_cv_func__long_double_round_use=no
105738 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105739 + ac_ext=c
105740 +ac_cpp='$CPP $CPPFLAGS'
105741 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105742 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105743 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105747 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
105748 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
105749 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
105750 + for ac_func in _ceill _floorl
105751 +do :
105752 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
105753 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
105754 +eval as_val=\$$as_ac_var
105755 + if test "x$as_val" = x""yes; then :
105756 + cat >>confdefs.h <<_ACEOF
105757 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
105758 +_ACEOF
105761 +done
105771 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
105772 +$as_echo_n "checking for isnanl declaration... " >&6; }
105773 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
105774 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
105775 + $as_echo_n "(cached) " >&6
105776 +else
105779 + ac_ext=cpp
105780 +ac_cpp='$CXXCPP $CPPFLAGS'
105781 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105782 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105783 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105785 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105786 +/* end confdefs.h. */
105787 +#include <math.h>
105788 + #ifdef HAVE_IEEEFP_H
105789 + #include <ieeefp.h>
105790 + #endif
105793 +main ()
105795 + isnanl(0);
105797 + return 0;
105799 +_ACEOF
105800 +if ac_fn_cxx_try_compile "$LINENO"; then :
105801 + glibcxx_cv_func_isnanl_use=yes
105802 +else
105803 + glibcxx_cv_func_isnanl_use=no
105805 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105806 + ac_ext=c
105807 +ac_cpp='$CPP $CPPFLAGS'
105808 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105809 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105810 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105816 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
105817 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
105819 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
105820 + for ac_func in isnanl
105821 +do :
105822 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
105823 +if test "x$ac_cv_func_isnanl" = x""yes; then :
105824 + cat >>confdefs.h <<_ACEOF
105825 +#define HAVE_ISNANL 1
105826 +_ACEOF
105829 +done
105831 + else
105833 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
105834 +$as_echo_n "checking for _isnanl declaration... " >&6; }
105835 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
105836 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
105837 + $as_echo_n "(cached) " >&6
105838 +else
105841 + ac_ext=cpp
105842 +ac_cpp='$CXXCPP $CPPFLAGS'
105843 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105844 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105845 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105847 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105848 +/* end confdefs.h. */
105849 +#include <math.h>
105850 + #ifdef HAVE_IEEEFP_H
105851 + #include <ieeefp.h>
105852 + #endif
105855 +main ()
105857 + _isnanl(0);
105859 + return 0;
105861 +_ACEOF
105862 +if ac_fn_cxx_try_compile "$LINENO"; then :
105863 + glibcxx_cv_func__isnanl_use=yes
105864 +else
105865 + glibcxx_cv_func__isnanl_use=no
105867 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105868 + ac_ext=c
105869 +ac_cpp='$CPP $CPPFLAGS'
105870 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105871 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105872 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105878 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
105879 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
105881 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
105882 + for ac_func in _isnanl
105883 +do :
105884 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
105885 +if test "x$ac_cv_func__isnanl" = x""yes; then :
105886 + cat >>confdefs.h <<_ACEOF
105887 +#define HAVE__ISNANL 1
105888 +_ACEOF
105891 +done
105900 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
105901 +$as_echo_n "checking for isinfl declaration... " >&6; }
105902 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
105903 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
105904 + $as_echo_n "(cached) " >&6
105905 +else
105908 + ac_ext=cpp
105909 +ac_cpp='$CXXCPP $CPPFLAGS'
105910 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105911 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105912 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105914 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105915 +/* end confdefs.h. */
105916 +#include <math.h>
105917 + #ifdef HAVE_IEEEFP_H
105918 + #include <ieeefp.h>
105919 + #endif
105922 +main ()
105924 + isinfl(0);
105926 + return 0;
105928 +_ACEOF
105929 +if ac_fn_cxx_try_compile "$LINENO"; then :
105930 + glibcxx_cv_func_isinfl_use=yes
105931 +else
105932 + glibcxx_cv_func_isinfl_use=no
105934 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105935 + ac_ext=c
105936 +ac_cpp='$CPP $CPPFLAGS'
105937 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105938 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105939 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
105945 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
105946 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
105948 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
105949 + for ac_func in isinfl
105950 +do :
105951 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
105952 +if test "x$ac_cv_func_isinfl" = x""yes; then :
105953 + cat >>confdefs.h <<_ACEOF
105954 +#define HAVE_ISINFL 1
105955 +_ACEOF
105958 +done
105960 + else
105962 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
105963 +$as_echo_n "checking for _isinfl declaration... " >&6; }
105964 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
105965 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
105966 + $as_echo_n "(cached) " >&6
105967 +else
105970 + ac_ext=cpp
105971 +ac_cpp='$CXXCPP $CPPFLAGS'
105972 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
105973 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
105974 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
105976 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
105977 +/* end confdefs.h. */
105978 +#include <math.h>
105979 + #ifdef HAVE_IEEEFP_H
105980 + #include <ieeefp.h>
105981 + #endif
105984 +main ()
105986 + _isinfl(0);
105988 + return 0;
105990 +_ACEOF
105991 +if ac_fn_cxx_try_compile "$LINENO"; then :
105992 + glibcxx_cv_func__isinfl_use=yes
105993 +else
105994 + glibcxx_cv_func__isinfl_use=no
105996 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
105997 + ac_ext=c
105998 +ac_cpp='$CPP $CPPFLAGS'
105999 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106000 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106001 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106007 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
106008 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
106010 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
106011 + for ac_func in _isinfl
106012 +do :
106013 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
106014 +if test "x$ac_cv_func__isinfl" = x""yes; then :
106015 + cat >>confdefs.h <<_ACEOF
106016 +#define HAVE__ISINFL 1
106017 +_ACEOF
106020 +done
106029 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
106030 +$as_echo_n "checking for atan2l declaration... " >&6; }
106031 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
106032 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
106033 + $as_echo_n "(cached) " >&6
106034 +else
106037 + ac_ext=cpp
106038 +ac_cpp='$CXXCPP $CPPFLAGS'
106039 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106040 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106041 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106043 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106044 +/* end confdefs.h. */
106045 +#include <math.h>
106047 +main ()
106049 + atan2l(0, 0);
106051 + return 0;
106053 +_ACEOF
106054 +if ac_fn_cxx_try_compile "$LINENO"; then :
106055 + glibcxx_cv_func_atan2l_use=yes
106056 +else
106057 + glibcxx_cv_func_atan2l_use=no
106059 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106060 + ac_ext=c
106061 +ac_cpp='$CPP $CPPFLAGS'
106062 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106063 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106064 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106070 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
106071 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
106073 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
106074 + for ac_func in atan2l
106075 +do :
106076 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
106077 +if test "x$ac_cv_func_atan2l" = x""yes; then :
106078 + cat >>confdefs.h <<_ACEOF
106079 +#define HAVE_ATAN2L 1
106080 +_ACEOF
106083 +done
106085 + else
106087 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
106088 +$as_echo_n "checking for _atan2l declaration... " >&6; }
106089 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
106090 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
106091 + $as_echo_n "(cached) " >&6
106092 +else
106095 + ac_ext=cpp
106096 +ac_cpp='$CXXCPP $CPPFLAGS'
106097 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106098 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106099 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106101 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106102 +/* end confdefs.h. */
106103 +#include <math.h>
106105 +main ()
106107 + _atan2l(0, 0);
106109 + return 0;
106111 +_ACEOF
106112 +if ac_fn_cxx_try_compile "$LINENO"; then :
106113 + glibcxx_cv_func__atan2l_use=yes
106114 +else
106115 + glibcxx_cv_func__atan2l_use=no
106117 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106118 + ac_ext=c
106119 +ac_cpp='$CPP $CPPFLAGS'
106120 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106121 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106122 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106128 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
106129 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
106131 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
106132 + for ac_func in _atan2l
106133 +do :
106134 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
106135 +if test "x$ac_cv_func__atan2l" = x""yes; then :
106136 + cat >>confdefs.h <<_ACEOF
106137 +#define HAVE__ATAN2L 1
106138 +_ACEOF
106141 +done
106150 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
106151 +$as_echo_n "checking for expl declaration... " >&6; }
106152 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
106153 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
106154 + $as_echo_n "(cached) " >&6
106155 +else
106158 + ac_ext=cpp
106159 +ac_cpp='$CXXCPP $CPPFLAGS'
106160 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106161 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106162 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106164 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106165 +/* end confdefs.h. */
106166 +#include <math.h>
106167 + #ifdef HAVE_IEEEFP_H
106168 + #include <ieeefp.h>
106169 + #endif
106172 +main ()
106174 + expl(0);
106176 + return 0;
106178 +_ACEOF
106179 +if ac_fn_cxx_try_compile "$LINENO"; then :
106180 + glibcxx_cv_func_expl_use=yes
106181 +else
106182 + glibcxx_cv_func_expl_use=no
106184 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106185 + ac_ext=c
106186 +ac_cpp='$CPP $CPPFLAGS'
106187 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106188 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106189 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106195 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
106196 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
106198 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
106199 + for ac_func in expl
106200 +do :
106201 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
106202 +if test "x$ac_cv_func_expl" = x""yes; then :
106203 + cat >>confdefs.h <<_ACEOF
106204 +#define HAVE_EXPL 1
106205 +_ACEOF
106208 +done
106210 + else
106212 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
106213 +$as_echo_n "checking for _expl declaration... " >&6; }
106214 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
106215 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
106216 + $as_echo_n "(cached) " >&6
106217 +else
106220 + ac_ext=cpp
106221 +ac_cpp='$CXXCPP $CPPFLAGS'
106222 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106223 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106224 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106226 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106227 +/* end confdefs.h. */
106228 +#include <math.h>
106229 + #ifdef HAVE_IEEEFP_H
106230 + #include <ieeefp.h>
106231 + #endif
106234 +main ()
106236 + _expl(0);
106238 + return 0;
106240 +_ACEOF
106241 +if ac_fn_cxx_try_compile "$LINENO"; then :
106242 + glibcxx_cv_func__expl_use=yes
106243 +else
106244 + glibcxx_cv_func__expl_use=no
106246 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106247 + ac_ext=c
106248 +ac_cpp='$CPP $CPPFLAGS'
106249 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106250 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106251 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106257 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
106258 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
106260 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
106261 + for ac_func in _expl
106262 +do :
106263 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
106264 +if test "x$ac_cv_func__expl" = x""yes; then :
106265 + cat >>confdefs.h <<_ACEOF
106266 +#define HAVE__EXPL 1
106267 +_ACEOF
106270 +done
106279 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
106280 +$as_echo_n "checking for fabsl declaration... " >&6; }
106281 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
106282 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
106283 + $as_echo_n "(cached) " >&6
106284 +else
106287 + ac_ext=cpp
106288 +ac_cpp='$CXXCPP $CPPFLAGS'
106289 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106290 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106291 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106293 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106294 +/* end confdefs.h. */
106295 +#include <math.h>
106296 + #ifdef HAVE_IEEEFP_H
106297 + #include <ieeefp.h>
106298 + #endif
106301 +main ()
106303 + fabsl(0);
106305 + return 0;
106307 +_ACEOF
106308 +if ac_fn_cxx_try_compile "$LINENO"; then :
106309 + glibcxx_cv_func_fabsl_use=yes
106310 +else
106311 + glibcxx_cv_func_fabsl_use=no
106313 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106314 + ac_ext=c
106315 +ac_cpp='$CPP $CPPFLAGS'
106316 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106317 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106318 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106324 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
106325 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
106327 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
106328 + for ac_func in fabsl
106329 +do :
106330 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
106331 +if test "x$ac_cv_func_fabsl" = x""yes; then :
106332 + cat >>confdefs.h <<_ACEOF
106333 +#define HAVE_FABSL 1
106334 +_ACEOF
106337 +done
106339 + else
106341 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
106342 +$as_echo_n "checking for _fabsl declaration... " >&6; }
106343 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
106344 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
106345 + $as_echo_n "(cached) " >&6
106346 +else
106349 + ac_ext=cpp
106350 +ac_cpp='$CXXCPP $CPPFLAGS'
106351 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106352 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106353 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106355 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106356 +/* end confdefs.h. */
106357 +#include <math.h>
106358 + #ifdef HAVE_IEEEFP_H
106359 + #include <ieeefp.h>
106360 + #endif
106363 +main ()
106365 + _fabsl(0);
106367 + return 0;
106369 +_ACEOF
106370 +if ac_fn_cxx_try_compile "$LINENO"; then :
106371 + glibcxx_cv_func__fabsl_use=yes
106372 +else
106373 + glibcxx_cv_func__fabsl_use=no
106375 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106376 + ac_ext=c
106377 +ac_cpp='$CPP $CPPFLAGS'
106378 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106379 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106380 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106386 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
106387 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
106389 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
106390 + for ac_func in _fabsl
106391 +do :
106392 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
106393 +if test "x$ac_cv_func__fabsl" = x""yes; then :
106394 + cat >>confdefs.h <<_ACEOF
106395 +#define HAVE__FABSL 1
106396 +_ACEOF
106399 +done
106408 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
106409 +$as_echo_n "checking for fmodl declaration... " >&6; }
106410 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
106411 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
106412 + $as_echo_n "(cached) " >&6
106413 +else
106416 + ac_ext=cpp
106417 +ac_cpp='$CXXCPP $CPPFLAGS'
106418 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106419 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106420 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106422 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106423 +/* end confdefs.h. */
106424 +#include <math.h>
106426 +main ()
106428 + fmodl(0, 0);
106430 + return 0;
106432 +_ACEOF
106433 +if ac_fn_cxx_try_compile "$LINENO"; then :
106434 + glibcxx_cv_func_fmodl_use=yes
106435 +else
106436 + glibcxx_cv_func_fmodl_use=no
106438 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106439 + ac_ext=c
106440 +ac_cpp='$CPP $CPPFLAGS'
106441 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106442 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106443 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106449 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
106450 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
106452 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
106453 + for ac_func in fmodl
106454 +do :
106455 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
106456 +if test "x$ac_cv_func_fmodl" = x""yes; then :
106457 + cat >>confdefs.h <<_ACEOF
106458 +#define HAVE_FMODL 1
106459 +_ACEOF
106462 +done
106464 + else
106466 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
106467 +$as_echo_n "checking for _fmodl declaration... " >&6; }
106468 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
106469 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
106470 + $as_echo_n "(cached) " >&6
106471 +else
106474 + ac_ext=cpp
106475 +ac_cpp='$CXXCPP $CPPFLAGS'
106476 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106477 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106478 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106480 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106481 +/* end confdefs.h. */
106482 +#include <math.h>
106484 +main ()
106486 + _fmodl(0, 0);
106488 + return 0;
106490 +_ACEOF
106491 +if ac_fn_cxx_try_compile "$LINENO"; then :
106492 + glibcxx_cv_func__fmodl_use=yes
106493 +else
106494 + glibcxx_cv_func__fmodl_use=no
106496 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106497 + ac_ext=c
106498 +ac_cpp='$CPP $CPPFLAGS'
106499 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106500 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106501 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106507 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
106508 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
106510 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
106511 + for ac_func in _fmodl
106512 +do :
106513 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
106514 +if test "x$ac_cv_func__fmodl" = x""yes; then :
106515 + cat >>confdefs.h <<_ACEOF
106516 +#define HAVE__FMODL 1
106517 +_ACEOF
106520 +done
106529 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
106530 +$as_echo_n "checking for frexpl declaration... " >&6; }
106531 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
106532 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
106533 + $as_echo_n "(cached) " >&6
106534 +else
106537 + ac_ext=cpp
106538 +ac_cpp='$CXXCPP $CPPFLAGS'
106539 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106540 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106541 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106543 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106544 +/* end confdefs.h. */
106545 +#include <math.h>
106547 +main ()
106549 + frexpl(0, 0);
106551 + return 0;
106553 +_ACEOF
106554 +if ac_fn_cxx_try_compile "$LINENO"; then :
106555 + glibcxx_cv_func_frexpl_use=yes
106556 +else
106557 + glibcxx_cv_func_frexpl_use=no
106559 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106560 + ac_ext=c
106561 +ac_cpp='$CPP $CPPFLAGS'
106562 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106563 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106564 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106570 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
106571 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
106573 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
106574 + for ac_func in frexpl
106575 +do :
106576 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
106577 +if test "x$ac_cv_func_frexpl" = x""yes; then :
106578 + cat >>confdefs.h <<_ACEOF
106579 +#define HAVE_FREXPL 1
106580 +_ACEOF
106583 +done
106585 + else
106587 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
106588 +$as_echo_n "checking for _frexpl declaration... " >&6; }
106589 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
106590 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
106591 + $as_echo_n "(cached) " >&6
106592 +else
106595 + ac_ext=cpp
106596 +ac_cpp='$CXXCPP $CPPFLAGS'
106597 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106598 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106599 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106601 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106602 +/* end confdefs.h. */
106603 +#include <math.h>
106605 +main ()
106607 + _frexpl(0, 0);
106609 + return 0;
106611 +_ACEOF
106612 +if ac_fn_cxx_try_compile "$LINENO"; then :
106613 + glibcxx_cv_func__frexpl_use=yes
106614 +else
106615 + glibcxx_cv_func__frexpl_use=no
106617 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106618 + ac_ext=c
106619 +ac_cpp='$CPP $CPPFLAGS'
106620 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106621 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106622 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106628 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
106629 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
106631 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
106632 + for ac_func in _frexpl
106633 +do :
106634 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
106635 +if test "x$ac_cv_func__frexpl" = x""yes; then :
106636 + cat >>confdefs.h <<_ACEOF
106637 +#define HAVE__FREXPL 1
106638 +_ACEOF
106641 +done
106650 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
106651 +$as_echo_n "checking for hypotl declaration... " >&6; }
106652 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
106653 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
106654 + $as_echo_n "(cached) " >&6
106655 +else
106658 + ac_ext=cpp
106659 +ac_cpp='$CXXCPP $CPPFLAGS'
106660 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106661 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106662 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106664 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106665 +/* end confdefs.h. */
106666 +#include <math.h>
106668 +main ()
106670 + hypotl(0, 0);
106672 + return 0;
106674 +_ACEOF
106675 +if ac_fn_cxx_try_compile "$LINENO"; then :
106676 + glibcxx_cv_func_hypotl_use=yes
106677 +else
106678 + glibcxx_cv_func_hypotl_use=no
106680 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106681 + ac_ext=c
106682 +ac_cpp='$CPP $CPPFLAGS'
106683 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106684 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106685 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106691 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
106692 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
106694 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
106695 + for ac_func in hypotl
106696 +do :
106697 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
106698 +if test "x$ac_cv_func_hypotl" = x""yes; then :
106699 + cat >>confdefs.h <<_ACEOF
106700 +#define HAVE_HYPOTL 1
106701 +_ACEOF
106704 +done
106706 + else
106708 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
106709 +$as_echo_n "checking for _hypotl declaration... " >&6; }
106710 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
106711 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
106712 + $as_echo_n "(cached) " >&6
106713 +else
106716 + ac_ext=cpp
106717 +ac_cpp='$CXXCPP $CPPFLAGS'
106718 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106719 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106720 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106722 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106723 +/* end confdefs.h. */
106724 +#include <math.h>
106726 +main ()
106728 + _hypotl(0, 0);
106730 + return 0;
106732 +_ACEOF
106733 +if ac_fn_cxx_try_compile "$LINENO"; then :
106734 + glibcxx_cv_func__hypotl_use=yes
106735 +else
106736 + glibcxx_cv_func__hypotl_use=no
106738 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106739 + ac_ext=c
106740 +ac_cpp='$CPP $CPPFLAGS'
106741 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106742 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106743 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106749 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
106750 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
106752 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
106753 + for ac_func in _hypotl
106754 +do :
106755 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
106756 +if test "x$ac_cv_func__hypotl" = x""yes; then :
106757 + cat >>confdefs.h <<_ACEOF
106758 +#define HAVE__HYPOTL 1
106759 +_ACEOF
106762 +done
106771 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
106772 +$as_echo_n "checking for ldexpl declaration... " >&6; }
106773 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
106774 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
106775 + $as_echo_n "(cached) " >&6
106776 +else
106779 + ac_ext=cpp
106780 +ac_cpp='$CXXCPP $CPPFLAGS'
106781 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106782 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106783 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106785 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106786 +/* end confdefs.h. */
106787 +#include <math.h>
106789 +main ()
106791 + ldexpl(0, 0);
106793 + return 0;
106795 +_ACEOF
106796 +if ac_fn_cxx_try_compile "$LINENO"; then :
106797 + glibcxx_cv_func_ldexpl_use=yes
106798 +else
106799 + glibcxx_cv_func_ldexpl_use=no
106801 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106802 + ac_ext=c
106803 +ac_cpp='$CPP $CPPFLAGS'
106804 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106805 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106806 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106812 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
106813 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
106815 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
106816 + for ac_func in ldexpl
106817 +do :
106818 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
106819 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
106820 + cat >>confdefs.h <<_ACEOF
106821 +#define HAVE_LDEXPL 1
106822 +_ACEOF
106825 +done
106827 + else
106829 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
106830 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
106831 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
106832 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
106833 + $as_echo_n "(cached) " >&6
106834 +else
106837 + ac_ext=cpp
106838 +ac_cpp='$CXXCPP $CPPFLAGS'
106839 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106840 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106841 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106843 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106844 +/* end confdefs.h. */
106845 +#include <math.h>
106847 +main ()
106849 + _ldexpl(0, 0);
106851 + return 0;
106853 +_ACEOF
106854 +if ac_fn_cxx_try_compile "$LINENO"; then :
106855 + glibcxx_cv_func__ldexpl_use=yes
106856 +else
106857 + glibcxx_cv_func__ldexpl_use=no
106859 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106860 + ac_ext=c
106861 +ac_cpp='$CPP $CPPFLAGS'
106862 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106863 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106864 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106870 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
106871 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
106873 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
106874 + for ac_func in _ldexpl
106875 +do :
106876 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
106877 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
106878 + cat >>confdefs.h <<_ACEOF
106879 +#define HAVE__LDEXPL 1
106880 +_ACEOF
106883 +done
106892 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
106893 +$as_echo_n "checking for logl declaration... " >&6; }
106894 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
106895 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
106896 + $as_echo_n "(cached) " >&6
106897 +else
106900 + ac_ext=cpp
106901 +ac_cpp='$CXXCPP $CPPFLAGS'
106902 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106903 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106904 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106906 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106907 +/* end confdefs.h. */
106908 +#include <math.h>
106909 + #ifdef HAVE_IEEEFP_H
106910 + #include <ieeefp.h>
106911 + #endif
106914 +main ()
106916 + logl(0);
106918 + return 0;
106920 +_ACEOF
106921 +if ac_fn_cxx_try_compile "$LINENO"; then :
106922 + glibcxx_cv_func_logl_use=yes
106923 +else
106924 + glibcxx_cv_func_logl_use=no
106926 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106927 + ac_ext=c
106928 +ac_cpp='$CPP $CPPFLAGS'
106929 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106930 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106931 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106937 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
106938 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
106940 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
106941 + for ac_func in logl
106942 +do :
106943 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
106944 +if test "x$ac_cv_func_logl" = x""yes; then :
106945 + cat >>confdefs.h <<_ACEOF
106946 +#define HAVE_LOGL 1
106947 +_ACEOF
106950 +done
106952 + else
106954 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
106955 +$as_echo_n "checking for _logl declaration... " >&6; }
106956 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
106957 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
106958 + $as_echo_n "(cached) " >&6
106959 +else
106962 + ac_ext=cpp
106963 +ac_cpp='$CXXCPP $CPPFLAGS'
106964 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106965 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106966 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
106968 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
106969 +/* end confdefs.h. */
106970 +#include <math.h>
106971 + #ifdef HAVE_IEEEFP_H
106972 + #include <ieeefp.h>
106973 + #endif
106976 +main ()
106978 + _logl(0);
106980 + return 0;
106982 +_ACEOF
106983 +if ac_fn_cxx_try_compile "$LINENO"; then :
106984 + glibcxx_cv_func__logl_use=yes
106985 +else
106986 + glibcxx_cv_func__logl_use=no
106988 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
106989 + ac_ext=c
106990 +ac_cpp='$CPP $CPPFLAGS'
106991 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
106992 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
106993 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
106999 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
107000 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
107002 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
107003 + for ac_func in _logl
107004 +do :
107005 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
107006 +if test "x$ac_cv_func__logl" = x""yes; then :
107007 + cat >>confdefs.h <<_ACEOF
107008 +#define HAVE__LOGL 1
107009 +_ACEOF
107012 +done
107021 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
107022 +$as_echo_n "checking for log10l declaration... " >&6; }
107023 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
107024 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
107025 + $as_echo_n "(cached) " >&6
107026 +else
107029 + ac_ext=cpp
107030 +ac_cpp='$CXXCPP $CPPFLAGS'
107031 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107032 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107033 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107035 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107036 +/* end confdefs.h. */
107037 +#include <math.h>
107038 + #ifdef HAVE_IEEEFP_H
107039 + #include <ieeefp.h>
107040 + #endif
107043 +main ()
107045 + log10l(0);
107047 + return 0;
107049 +_ACEOF
107050 +if ac_fn_cxx_try_compile "$LINENO"; then :
107051 + glibcxx_cv_func_log10l_use=yes
107052 +else
107053 + glibcxx_cv_func_log10l_use=no
107055 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107056 + ac_ext=c
107057 +ac_cpp='$CPP $CPPFLAGS'
107058 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107059 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107060 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107066 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
107067 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
107069 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
107070 + for ac_func in log10l
107071 +do :
107072 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
107073 +if test "x$ac_cv_func_log10l" = x""yes; then :
107074 + cat >>confdefs.h <<_ACEOF
107075 +#define HAVE_LOG10L 1
107076 +_ACEOF
107079 +done
107081 + else
107083 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
107084 +$as_echo_n "checking for _log10l declaration... " >&6; }
107085 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
107086 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
107087 + $as_echo_n "(cached) " >&6
107088 +else
107091 + ac_ext=cpp
107092 +ac_cpp='$CXXCPP $CPPFLAGS'
107093 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107094 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107095 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107097 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107098 +/* end confdefs.h. */
107099 +#include <math.h>
107100 + #ifdef HAVE_IEEEFP_H
107101 + #include <ieeefp.h>
107102 + #endif
107105 +main ()
107107 + _log10l(0);
107109 + return 0;
107111 +_ACEOF
107112 +if ac_fn_cxx_try_compile "$LINENO"; then :
107113 + glibcxx_cv_func__log10l_use=yes
107114 +else
107115 + glibcxx_cv_func__log10l_use=no
107117 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107118 + ac_ext=c
107119 +ac_cpp='$CPP $CPPFLAGS'
107120 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107121 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107122 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107128 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
107129 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
107131 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
107132 + for ac_func in _log10l
107133 +do :
107134 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
107135 +if test "x$ac_cv_func__log10l" = x""yes; then :
107136 + cat >>confdefs.h <<_ACEOF
107137 +#define HAVE__LOG10L 1
107138 +_ACEOF
107141 +done
107150 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
107151 +$as_echo_n "checking for modfl declaration... " >&6; }
107152 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
107153 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
107154 + $as_echo_n "(cached) " >&6
107155 +else
107158 + ac_ext=cpp
107159 +ac_cpp='$CXXCPP $CPPFLAGS'
107160 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107161 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107162 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107164 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107165 +/* end confdefs.h. */
107166 +#include <math.h>
107168 +main ()
107170 + modfl(0, 0);
107172 + return 0;
107174 +_ACEOF
107175 +if ac_fn_cxx_try_compile "$LINENO"; then :
107176 + glibcxx_cv_func_modfl_use=yes
107177 +else
107178 + glibcxx_cv_func_modfl_use=no
107180 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107181 + ac_ext=c
107182 +ac_cpp='$CPP $CPPFLAGS'
107183 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107184 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107185 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107191 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
107192 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
107194 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
107195 + for ac_func in modfl
107196 +do :
107197 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
107198 +if test "x$ac_cv_func_modfl" = x""yes; then :
107199 + cat >>confdefs.h <<_ACEOF
107200 +#define HAVE_MODFL 1
107201 +_ACEOF
107204 +done
107206 + else
107208 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
107209 +$as_echo_n "checking for _modfl declaration... " >&6; }
107210 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
107211 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
107212 + $as_echo_n "(cached) " >&6
107213 +else
107216 + ac_ext=cpp
107217 +ac_cpp='$CXXCPP $CPPFLAGS'
107218 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107219 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107220 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107222 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107223 +/* end confdefs.h. */
107224 +#include <math.h>
107226 +main ()
107228 + _modfl(0, 0);
107230 + return 0;
107232 +_ACEOF
107233 +if ac_fn_cxx_try_compile "$LINENO"; then :
107234 + glibcxx_cv_func__modfl_use=yes
107235 +else
107236 + glibcxx_cv_func__modfl_use=no
107238 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107239 + ac_ext=c
107240 +ac_cpp='$CPP $CPPFLAGS'
107241 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107242 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107243 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107249 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
107250 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
107252 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
107253 + for ac_func in _modfl
107254 +do :
107255 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
107256 +if test "x$ac_cv_func__modfl" = x""yes; then :
107257 + cat >>confdefs.h <<_ACEOF
107258 +#define HAVE__MODFL 1
107259 +_ACEOF
107262 +done
107271 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
107272 +$as_echo_n "checking for powl declaration... " >&6; }
107273 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
107274 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
107275 + $as_echo_n "(cached) " >&6
107276 +else
107279 + ac_ext=cpp
107280 +ac_cpp='$CXXCPP $CPPFLAGS'
107281 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107282 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107283 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107285 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107286 +/* end confdefs.h. */
107287 +#include <math.h>
107289 +main ()
107291 + powl(0, 0);
107293 + return 0;
107295 +_ACEOF
107296 +if ac_fn_cxx_try_compile "$LINENO"; then :
107297 + glibcxx_cv_func_powl_use=yes
107298 +else
107299 + glibcxx_cv_func_powl_use=no
107301 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107302 + ac_ext=c
107303 +ac_cpp='$CPP $CPPFLAGS'
107304 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107305 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107306 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107312 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
107313 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
107315 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
107316 + for ac_func in powl
107317 +do :
107318 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
107319 +if test "x$ac_cv_func_powl" = x""yes; then :
107320 + cat >>confdefs.h <<_ACEOF
107321 +#define HAVE_POWL 1
107322 +_ACEOF
107325 +done
107327 + else
107329 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
107330 +$as_echo_n "checking for _powl declaration... " >&6; }
107331 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
107332 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
107333 + $as_echo_n "(cached) " >&6
107334 +else
107337 + ac_ext=cpp
107338 +ac_cpp='$CXXCPP $CPPFLAGS'
107339 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107340 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107341 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107343 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107344 +/* end confdefs.h. */
107345 +#include <math.h>
107347 +main ()
107349 + _powl(0, 0);
107351 + return 0;
107353 +_ACEOF
107354 +if ac_fn_cxx_try_compile "$LINENO"; then :
107355 + glibcxx_cv_func__powl_use=yes
107356 +else
107357 + glibcxx_cv_func__powl_use=no
107359 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107360 + ac_ext=c
107361 +ac_cpp='$CPP $CPPFLAGS'
107362 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107363 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107364 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107370 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
107371 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
107373 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
107374 + for ac_func in _powl
107375 +do :
107376 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
107377 +if test "x$ac_cv_func__powl" = x""yes; then :
107378 + cat >>confdefs.h <<_ACEOF
107379 +#define HAVE__POWL 1
107380 +_ACEOF
107383 +done
107392 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
107393 +$as_echo_n "checking for sqrtl declaration... " >&6; }
107394 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
107395 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
107396 + $as_echo_n "(cached) " >&6
107397 +else
107400 + ac_ext=cpp
107401 +ac_cpp='$CXXCPP $CPPFLAGS'
107402 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107403 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107404 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107406 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107407 +/* end confdefs.h. */
107408 +#include <math.h>
107409 + #ifdef HAVE_IEEEFP_H
107410 + #include <ieeefp.h>
107411 + #endif
107414 +main ()
107416 + sqrtl(0);
107418 + return 0;
107420 +_ACEOF
107421 +if ac_fn_cxx_try_compile "$LINENO"; then :
107422 + glibcxx_cv_func_sqrtl_use=yes
107423 +else
107424 + glibcxx_cv_func_sqrtl_use=no
107426 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107427 + ac_ext=c
107428 +ac_cpp='$CPP $CPPFLAGS'
107429 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107430 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107431 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107437 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
107438 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
107440 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
107441 + for ac_func in sqrtl
107442 +do :
107443 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
107444 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
107445 + cat >>confdefs.h <<_ACEOF
107446 +#define HAVE_SQRTL 1
107447 +_ACEOF
107450 +done
107452 + else
107454 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
107455 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
107456 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
107457 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
107458 + $as_echo_n "(cached) " >&6
107459 +else
107462 + ac_ext=cpp
107463 +ac_cpp='$CXXCPP $CPPFLAGS'
107464 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107465 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107466 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107468 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107469 +/* end confdefs.h. */
107470 +#include <math.h>
107471 + #ifdef HAVE_IEEEFP_H
107472 + #include <ieeefp.h>
107473 + #endif
107476 +main ()
107478 + _sqrtl(0);
107480 + return 0;
107482 +_ACEOF
107483 +if ac_fn_cxx_try_compile "$LINENO"; then :
107484 + glibcxx_cv_func__sqrtl_use=yes
107485 +else
107486 + glibcxx_cv_func__sqrtl_use=no
107488 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107489 + ac_ext=c
107490 +ac_cpp='$CPP $CPPFLAGS'
107491 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107492 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107493 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107499 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
107500 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
107502 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
107503 + for ac_func in _sqrtl
107504 +do :
107505 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
107506 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
107507 + cat >>confdefs.h <<_ACEOF
107508 +#define HAVE__SQRTL 1
107509 +_ACEOF
107512 +done
107521 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
107522 +$as_echo_n "checking for sincosl declaration... " >&6; }
107523 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
107524 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
107525 + $as_echo_n "(cached) " >&6
107526 +else
107529 + ac_ext=cpp
107530 +ac_cpp='$CXXCPP $CPPFLAGS'
107531 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107532 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107533 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107535 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107536 +/* end confdefs.h. */
107537 +#include <math.h>
107539 +main ()
107541 + sincosl(0, 0, 0);
107543 + return 0;
107545 +_ACEOF
107546 +if ac_fn_cxx_try_compile "$LINENO"; then :
107547 + glibcxx_cv_func_sincosl_use=yes
107548 +else
107549 + glibcxx_cv_func_sincosl_use=no
107551 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107552 + ac_ext=c
107553 +ac_cpp='$CPP $CPPFLAGS'
107554 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107555 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107556 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107562 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
107563 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
107565 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
107566 + for ac_func in sincosl
107567 +do :
107568 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
107569 +if test "x$ac_cv_func_sincosl" = x""yes; then :
107570 + cat >>confdefs.h <<_ACEOF
107571 +#define HAVE_SINCOSL 1
107572 +_ACEOF
107575 +done
107577 + else
107579 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
107580 +$as_echo_n "checking for _sincosl declaration... " >&6; }
107581 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
107582 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
107583 + $as_echo_n "(cached) " >&6
107584 +else
107587 + ac_ext=cpp
107588 +ac_cpp='$CXXCPP $CPPFLAGS'
107589 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107590 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107591 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107593 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107594 +/* end confdefs.h. */
107595 +#include <math.h>
107597 +main ()
107599 + _sincosl(0, 0, 0);
107601 + return 0;
107603 +_ACEOF
107604 +if ac_fn_cxx_try_compile "$LINENO"; then :
107605 + glibcxx_cv_func__sincosl_use=yes
107606 +else
107607 + glibcxx_cv_func__sincosl_use=no
107609 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107610 + ac_ext=c
107611 +ac_cpp='$CPP $CPPFLAGS'
107612 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107613 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107614 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107620 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
107621 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
107623 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
107624 + for ac_func in _sincosl
107625 +do :
107626 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
107627 +if test "x$ac_cv_func__sincosl" = x""yes; then :
107628 + cat >>confdefs.h <<_ACEOF
107629 +#define HAVE__SINCOSL 1
107630 +_ACEOF
107633 +done
107642 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
107643 +$as_echo_n "checking for finitel declaration... " >&6; }
107644 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
107645 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
107646 + $as_echo_n "(cached) " >&6
107647 +else
107650 + ac_ext=cpp
107651 +ac_cpp='$CXXCPP $CPPFLAGS'
107652 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107653 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107654 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107656 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107657 +/* end confdefs.h. */
107658 +#include <math.h>
107659 + #ifdef HAVE_IEEEFP_H
107660 + #include <ieeefp.h>
107661 + #endif
107664 +main ()
107666 + finitel(0);
107668 + return 0;
107670 +_ACEOF
107671 +if ac_fn_cxx_try_compile "$LINENO"; then :
107672 + glibcxx_cv_func_finitel_use=yes
107673 +else
107674 + glibcxx_cv_func_finitel_use=no
107676 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107677 + ac_ext=c
107678 +ac_cpp='$CPP $CPPFLAGS'
107679 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107680 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107681 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107687 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
107688 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
107690 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
107691 + for ac_func in finitel
107692 +do :
107693 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
107694 +if test "x$ac_cv_func_finitel" = x""yes; then :
107695 + cat >>confdefs.h <<_ACEOF
107696 +#define HAVE_FINITEL 1
107697 +_ACEOF
107700 +done
107702 + else
107704 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
107705 +$as_echo_n "checking for _finitel declaration... " >&6; }
107706 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
107707 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
107708 + $as_echo_n "(cached) " >&6
107709 +else
107712 + ac_ext=cpp
107713 +ac_cpp='$CXXCPP $CPPFLAGS'
107714 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107715 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107716 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107718 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107719 +/* end confdefs.h. */
107720 +#include <math.h>
107721 + #ifdef HAVE_IEEEFP_H
107722 + #include <ieeefp.h>
107723 + #endif
107726 +main ()
107728 + _finitel(0);
107730 + return 0;
107732 +_ACEOF
107733 +if ac_fn_cxx_try_compile "$LINENO"; then :
107734 + glibcxx_cv_func__finitel_use=yes
107735 +else
107736 + glibcxx_cv_func__finitel_use=no
107738 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107739 + ac_ext=c
107740 +ac_cpp='$CPP $CPPFLAGS'
107741 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107742 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107743 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107749 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
107750 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
107752 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
107753 + for ac_func in _finitel
107754 +do :
107755 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
107756 +if test "x$ac_cv_func__finitel" = x""yes; then :
107757 + cat >>confdefs.h <<_ACEOF
107758 +#define HAVE__FINITEL 1
107759 +_ACEOF
107762 +done
107770 + LIBS="$ac_save_LIBS"
107771 + CXXFLAGS="$ac_save_CXXFLAGS"
107774 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
107775 + ac_save_CXXFLAGS="$CXXFLAGS"
107776 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
107779 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
107780 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
107781 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
107782 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
107783 + $as_echo_n "(cached) " >&6
107784 +else
107787 + ac_ext=cpp
107788 +ac_cpp='$CXXCPP $CPPFLAGS'
107789 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107790 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107791 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107793 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107794 +/* end confdefs.h. */
107795 +#include <stdlib.h>
107797 +main ()
107799 + at_quick_exit(0);
107801 + return 0;
107803 +_ACEOF
107804 +if ac_fn_cxx_try_compile "$LINENO"; then :
107805 + glibcxx_cv_func_at_quick_exit_use=yes
107806 +else
107807 + glibcxx_cv_func_at_quick_exit_use=no
107809 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107810 + ac_ext=c
107811 +ac_cpp='$CPP $CPPFLAGS'
107812 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107813 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107814 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107820 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
107821 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
107822 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
107823 + for ac_func in at_quick_exit
107824 +do :
107825 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
107826 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
107827 + cat >>confdefs.h <<_ACEOF
107828 +#define HAVE_AT_QUICK_EXIT 1
107829 +_ACEOF
107832 +done
107837 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
107838 +$as_echo_n "checking for quick_exit declaration... " >&6; }
107839 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
107840 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
107841 + $as_echo_n "(cached) " >&6
107842 +else
107845 + ac_ext=cpp
107846 +ac_cpp='$CXXCPP $CPPFLAGS'
107847 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107848 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107849 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107851 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107852 +/* end confdefs.h. */
107853 +#include <stdlib.h>
107855 +main ()
107857 + quick_exit(0);
107859 + return 0;
107861 +_ACEOF
107862 +if ac_fn_cxx_try_compile "$LINENO"; then :
107863 + glibcxx_cv_func_quick_exit_use=yes
107864 +else
107865 + glibcxx_cv_func_quick_exit_use=no
107867 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107868 + ac_ext=c
107869 +ac_cpp='$CPP $CPPFLAGS'
107870 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107871 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107872 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107878 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
107879 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
107880 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
107881 + for ac_func in quick_exit
107882 +do :
107883 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
107884 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
107885 + cat >>confdefs.h <<_ACEOF
107886 +#define HAVE_QUICK_EXIT 1
107887 +_ACEOF
107890 +done
107895 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
107896 +$as_echo_n "checking for strtold declaration... " >&6; }
107897 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
107898 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
107899 + $as_echo_n "(cached) " >&6
107900 +else
107903 + ac_ext=cpp
107904 +ac_cpp='$CXXCPP $CPPFLAGS'
107905 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107906 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107907 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107909 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107910 +/* end confdefs.h. */
107911 +#include <stdlib.h>
107913 +main ()
107915 + strtold(0, 0);
107917 + return 0;
107919 +_ACEOF
107920 +if ac_fn_cxx_try_compile "$LINENO"; then :
107921 + glibcxx_cv_func_strtold_use=yes
107922 +else
107923 + glibcxx_cv_func_strtold_use=no
107925 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107926 + ac_ext=c
107927 +ac_cpp='$CPP $CPPFLAGS'
107928 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107929 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107930 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107936 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
107937 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
107938 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
107939 + for ac_func in strtold
107940 +do :
107941 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
107942 +if test "x$ac_cv_func_strtold" = x""yes; then :
107943 + cat >>confdefs.h <<_ACEOF
107944 +#define HAVE_STRTOLD 1
107945 +_ACEOF
107948 +done
107955 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
107956 +$as_echo_n "checking for strtof declaration... " >&6; }
107957 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
107958 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
107959 + $as_echo_n "(cached) " >&6
107960 +else
107963 + ac_ext=cpp
107964 +ac_cpp='$CXXCPP $CPPFLAGS'
107965 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107966 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107967 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
107969 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
107970 +/* end confdefs.h. */
107971 +#include <stdlib.h>
107973 +main ()
107975 + strtof(0, 0);
107977 + return 0;
107979 +_ACEOF
107980 +if ac_fn_cxx_try_compile "$LINENO"; then :
107981 + glibcxx_cv_func_strtof_use=yes
107982 +else
107983 + glibcxx_cv_func_strtof_use=no
107985 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
107986 + ac_ext=c
107987 +ac_cpp='$CPP $CPPFLAGS'
107988 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
107989 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
107990 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
107996 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
107997 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
107998 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
107999 + for ac_func in strtof
108000 +do :
108001 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
108002 +if test "x$ac_cv_func_strtof" = x""yes; then :
108003 + cat >>confdefs.h <<_ACEOF
108004 +#define HAVE_STRTOF 1
108005 +_ACEOF
108008 +done
108015 + CXXFLAGS="$ac_save_CXXFLAGS"
108018 + *-netbsd*)
108019 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
108022 + # If we're not using GNU ld, then there's no point in even trying these
108023 + # tests. Check for that first. We should have already tested for gld
108024 + # by now (in libtool), but require it now just to be safe...
108025 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
108026 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
108030 + # The name set by libtool depends on the version of libtool. Shame on us
108031 + # for depending on an impl detail, but c'est la vie. Older versions used
108032 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
108033 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
108034 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
108035 + # set (hence we're using an older libtool), then set it.
108036 + if test x${with_gnu_ld+set} != xset; then
108037 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
108038 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
108039 + with_gnu_ld=no
108040 + else
108041 + with_gnu_ld=$ac_cv_prog_gnu_ld
108045 + # Start by getting the version number. I think the libtool test already
108046 + # does some of this, but throws away the result.
108047 + glibcxx_ld_is_gold=no
108048 + if test x"$with_gnu_ld" = x"yes"; then
108049 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
108050 +$as_echo_n "checking for ld version... " >&6; }
108052 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
108053 + glibcxx_ld_is_gold=yes
108055 + ldver=`$LD --version 2>/dev/null |
108056 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
108058 + glibcxx_gnu_ld_version=`echo $ldver | \
108059 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
108060 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
108061 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
108064 + # Set --gc-sections.
108065 + glibcxx_have_gc_sections=no
108066 + if test "$glibcxx_ld_is_gold" = "yes"; then
108067 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
108068 + glibcxx_have_gc_sections=yes
108070 + else
108071 + glibcxx_gcsections_min_ld=21602
108072 + if test x"$with_gnu_ld" = x"yes" &&
108073 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
108074 + glibcxx_have_gc_sections=yes
108077 + if test "$glibcxx_have_gc_sections" = "yes"; then
108078 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
108079 + # NB: This flag only works reliably after 2.16.1. Configure tests
108080 + # for this are difficult, so hard wire a value that should work.
108082 + ac_test_CFLAGS="${CFLAGS+set}"
108083 + ac_save_CFLAGS="$CFLAGS"
108084 + CFLAGS='-Wl,--gc-sections'
108086 + # Check for -Wl,--gc-sections
108087 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
108088 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
108089 + if test x$gcc_no_link = xyes; then
108090 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
108092 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108093 +/* end confdefs.h. */
108094 + int one(void) { return 1; }
108095 + int two(void) { return 2; }
108098 +main ()
108100 + two();
108102 + return 0;
108104 +_ACEOF
108105 +if ac_fn_c_try_link "$LINENO"; then :
108106 + ac_gcsections=yes
108107 +else
108108 + ac_gcsections=no
108110 +rm -f core conftest.err conftest.$ac_objext \
108111 + conftest$ac_exeext conftest.$ac_ext
108112 + if test "$ac_gcsections" = "yes"; then
108113 + rm -f conftest.c
108114 + touch conftest.c
108115 + if $CC -c conftest.c; then
108116 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
108117 + grep "Warning: gc-sections option ignored" > /dev/null; then
108118 + ac_gcsections=no
108121 + rm -f conftest.c conftest.o conftest
108123 + if test "$ac_gcsections" = "yes"; then
108124 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
108126 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
108127 +$as_echo "$ac_gcsections" >&6; }
108129 + if test "$ac_test_CFLAGS" = set; then
108130 + CFLAGS="$ac_save_CFLAGS"
108131 + else
108132 + # this is the suspicious part
108133 + CFLAGS=''
108137 + # Set -z,relro.
108138 + # Note this is only for shared objects.
108139 + ac_ld_relro=no
108140 + if test x"$with_gnu_ld" = x"yes"; then
108141 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
108142 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
108143 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
108144 + if test -n "$cxx_z_relo"; then
108145 + OPT_LDFLAGS="-Wl,-z,relro"
108146 + ac_ld_relro=yes
108148 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
108149 +$as_echo "$ac_ld_relro" >&6; }
108152 + # Set linker optimization flags.
108153 + if test x"$with_gnu_ld" = x"yes"; then
108154 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
108160 + $as_echo "#define HAVE_FINITEF 1" >>confdefs.h
108162 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
108164 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
108166 + $as_echo "#define HAVE_HYPOTF 1" >>confdefs.h
108168 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
108170 + $as_echo "#define HAVE_ISINFF 1" >>confdefs.h
108172 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
108174 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
108176 + if test x"long_double_math_on_this_cpu" = x"yes"; then
108177 + $as_echo "#define HAVE_FINITEL 1" >>confdefs.h
108179 + $as_echo "#define HAVE_ISINFL 1" >>confdefs.h
108181 + $as_echo "#define HAVE_ISNANL 1" >>confdefs.h
108185 + *-qnx6.1* | *-qnx6.2*)
108186 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
108189 + # If we're not using GNU ld, then there's no point in even trying these
108190 + # tests. Check for that first. We should have already tested for gld
108191 + # by now (in libtool), but require it now just to be safe...
108192 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
108193 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
108197 + # The name set by libtool depends on the version of libtool. Shame on us
108198 + # for depending on an impl detail, but c'est la vie. Older versions used
108199 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
108200 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
108201 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
108202 + # set (hence we're using an older libtool), then set it.
108203 + if test x${with_gnu_ld+set} != xset; then
108204 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
108205 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
108206 + with_gnu_ld=no
108207 + else
108208 + with_gnu_ld=$ac_cv_prog_gnu_ld
108212 + # Start by getting the version number. I think the libtool test already
108213 + # does some of this, but throws away the result.
108214 + glibcxx_ld_is_gold=no
108215 + if test x"$with_gnu_ld" = x"yes"; then
108216 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
108217 +$as_echo_n "checking for ld version... " >&6; }
108219 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
108220 + glibcxx_ld_is_gold=yes
108222 + ldver=`$LD --version 2>/dev/null |
108223 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
108225 + glibcxx_gnu_ld_version=`echo $ldver | \
108226 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
108227 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
108228 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
108231 + # Set --gc-sections.
108232 + glibcxx_have_gc_sections=no
108233 + if test "$glibcxx_ld_is_gold" = "yes"; then
108234 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
108235 + glibcxx_have_gc_sections=yes
108237 + else
108238 + glibcxx_gcsections_min_ld=21602
108239 + if test x"$with_gnu_ld" = x"yes" &&
108240 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
108241 + glibcxx_have_gc_sections=yes
108244 + if test "$glibcxx_have_gc_sections" = "yes"; then
108245 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
108246 + # NB: This flag only works reliably after 2.16.1. Configure tests
108247 + # for this are difficult, so hard wire a value that should work.
108249 + ac_test_CFLAGS="${CFLAGS+set}"
108250 + ac_save_CFLAGS="$CFLAGS"
108251 + CFLAGS='-Wl,--gc-sections'
108253 + # Check for -Wl,--gc-sections
108254 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
108255 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
108256 + if test x$gcc_no_link = xyes; then
108257 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
108259 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108260 +/* end confdefs.h. */
108261 + int one(void) { return 1; }
108262 + int two(void) { return 2; }
108265 +main ()
108267 + two();
108269 + return 0;
108271 +_ACEOF
108272 +if ac_fn_c_try_link "$LINENO"; then :
108273 + ac_gcsections=yes
108274 +else
108275 + ac_gcsections=no
108277 +rm -f core conftest.err conftest.$ac_objext \
108278 + conftest$ac_exeext conftest.$ac_ext
108279 + if test "$ac_gcsections" = "yes"; then
108280 + rm -f conftest.c
108281 + touch conftest.c
108282 + if $CC -c conftest.c; then
108283 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
108284 + grep "Warning: gc-sections option ignored" > /dev/null; then
108285 + ac_gcsections=no
108288 + rm -f conftest.c conftest.o conftest
108290 + if test "$ac_gcsections" = "yes"; then
108291 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
108293 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
108294 +$as_echo "$ac_gcsections" >&6; }
108296 + if test "$ac_test_CFLAGS" = set; then
108297 + CFLAGS="$ac_save_CFLAGS"
108298 + else
108299 + # this is the suspicious part
108300 + CFLAGS=''
108304 + # Set -z,relro.
108305 + # Note this is only for shared objects.
108306 + ac_ld_relro=no
108307 + if test x"$with_gnu_ld" = x"yes"; then
108308 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
108309 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
108310 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
108311 + if test -n "$cxx_z_relo"; then
108312 + OPT_LDFLAGS="-Wl,-z,relro"
108313 + ac_ld_relro=yes
108315 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
108316 +$as_echo "$ac_ld_relro" >&6; }
108319 + # Set linker optimization flags.
108320 + if test x"$with_gnu_ld" = x"yes"; then
108321 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
108327 + $as_echo "#define HAVE_COSF 1" >>confdefs.h
108329 + $as_echo "#define HAVE_COSL 1" >>confdefs.h
108331 + $as_echo "#define HAVE_COSHF 1" >>confdefs.h
108333 + $as_echo "#define HAVE_COSHL 1" >>confdefs.h
108335 + $as_echo "#define HAVE_LOGF 1" >>confdefs.h
108337 + $as_echo "#define HAVE_LOGL 1" >>confdefs.h
108339 + $as_echo "#define HAVE_LOG10F 1" >>confdefs.h
108341 + $as_echo "#define HAVE_LOG10L 1" >>confdefs.h
108343 + $as_echo "#define HAVE_SINF 1" >>confdefs.h
108345 + $as_echo "#define HAVE_SINL 1" >>confdefs.h
108347 + $as_echo "#define HAVE_SINHF 1" >>confdefs.h
108349 + $as_echo "#define HAVE_SINHL 1" >>confdefs.h
108352 + *-rtems*)
108354 + # All these tests are for C++; save the language and the compiler flags.
108355 + # The CXXFLAGS thing is suspicious, but based on similar bits previously
108356 + # found in GLIBCXX_CONFIGURE.
108358 + ac_ext=cpp
108359 +ac_cpp='$CXXCPP $CPPFLAGS'
108360 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108361 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108362 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108364 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
108365 + ac_save_CXXFLAGS="$CXXFLAGS"
108367 + # Check for maintainer-mode bits.
108368 + if test x"$USE_MAINTAINER_MODE" = xno; then
108369 + WERROR=''
108370 + else
108371 + WERROR='-Werror'
108374 + # Check for -ffunction-sections -fdata-sections
108375 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
108376 +$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
108377 + CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
108378 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108379 +/* end confdefs.h. */
108380 +int foo; void bar() { };
108382 +main ()
108386 + return 0;
108388 +_ACEOF
108389 +if ac_fn_cxx_try_compile "$LINENO"; then :
108390 + ac_fdsections=yes
108391 +else
108392 + ac_fdsections=no
108394 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108395 + if test "$ac_test_CXXFLAGS" = set; then
108396 + CXXFLAGS="$ac_save_CXXFLAGS"
108397 + else
108398 + # this is the suspicious part
108399 + CXXFLAGS=''
108401 + if test x"$ac_fdsections" = x"yes"; then
108402 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
108404 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
108405 +$as_echo "$ac_fdsections" >&6; }
108407 + ac_ext=c
108408 +ac_cpp='$CPP $CPPFLAGS'
108409 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108410 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108411 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108417 + # If we're not using GNU ld, then there's no point in even trying these
108418 + # tests. Check for that first. We should have already tested for gld
108419 + # by now (in libtool), but require it now just to be safe...
108420 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
108421 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
108425 + # The name set by libtool depends on the version of libtool. Shame on us
108426 + # for depending on an impl detail, but c'est la vie. Older versions used
108427 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
108428 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
108429 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
108430 + # set (hence we're using an older libtool), then set it.
108431 + if test x${with_gnu_ld+set} != xset; then
108432 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
108433 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
108434 + with_gnu_ld=no
108435 + else
108436 + with_gnu_ld=$ac_cv_prog_gnu_ld
108440 + # Start by getting the version number. I think the libtool test already
108441 + # does some of this, but throws away the result.
108442 + glibcxx_ld_is_gold=no
108443 + if test x"$with_gnu_ld" = x"yes"; then
108444 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
108445 +$as_echo_n "checking for ld version... " >&6; }
108447 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
108448 + glibcxx_ld_is_gold=yes
108450 + ldver=`$LD --version 2>/dev/null |
108451 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
108453 + glibcxx_gnu_ld_version=`echo $ldver | \
108454 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
108455 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
108456 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
108459 + # Set --gc-sections.
108460 + glibcxx_have_gc_sections=no
108461 + if test "$glibcxx_ld_is_gold" = "yes"; then
108462 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
108463 + glibcxx_have_gc_sections=yes
108465 + else
108466 + glibcxx_gcsections_min_ld=21602
108467 + if test x"$with_gnu_ld" = x"yes" &&
108468 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
108469 + glibcxx_have_gc_sections=yes
108472 + if test "$glibcxx_have_gc_sections" = "yes"; then
108473 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
108474 + # NB: This flag only works reliably after 2.16.1. Configure tests
108475 + # for this are difficult, so hard wire a value that should work.
108477 + ac_test_CFLAGS="${CFLAGS+set}"
108478 + ac_save_CFLAGS="$CFLAGS"
108479 + CFLAGS='-Wl,--gc-sections'
108481 + # Check for -Wl,--gc-sections
108482 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
108483 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
108484 + if test x$gcc_no_link = xyes; then
108485 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
108487 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108488 +/* end confdefs.h. */
108489 + int one(void) { return 1; }
108490 + int two(void) { return 2; }
108493 +main ()
108495 + two();
108497 + return 0;
108499 +_ACEOF
108500 +if ac_fn_c_try_link "$LINENO"; then :
108501 + ac_gcsections=yes
108502 +else
108503 + ac_gcsections=no
108505 +rm -f core conftest.err conftest.$ac_objext \
108506 + conftest$ac_exeext conftest.$ac_ext
108507 + if test "$ac_gcsections" = "yes"; then
108508 + rm -f conftest.c
108509 + touch conftest.c
108510 + if $CC -c conftest.c; then
108511 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
108512 + grep "Warning: gc-sections option ignored" > /dev/null; then
108513 + ac_gcsections=no
108516 + rm -f conftest.c conftest.o conftest
108518 + if test "$ac_gcsections" = "yes"; then
108519 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
108521 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
108522 +$as_echo "$ac_gcsections" >&6; }
108524 + if test "$ac_test_CFLAGS" = set; then
108525 + CFLAGS="$ac_save_CFLAGS"
108526 + else
108527 + # this is the suspicious part
108528 + CFLAGS=''
108532 + # Set -z,relro.
108533 + # Note this is only for shared objects.
108534 + ac_ld_relro=no
108535 + if test x"$with_gnu_ld" = x"yes"; then
108536 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
108537 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
108538 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
108539 + if test -n "$cxx_z_relo"; then
108540 + OPT_LDFLAGS="-Wl,-z,relro"
108541 + ac_ld_relro=yes
108543 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
108544 +$as_echo "$ac_ld_relro" >&6; }
108547 + # Set linker optimization flags.
108548 + if test x"$with_gnu_ld" = x"yes"; then
108549 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
108556 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
108557 + ac_save_CXXFLAGS="$CXXFLAGS"
108558 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
108560 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
108561 +$as_echo_n "checking for sin in -lm... " >&6; }
108562 +if test "${ac_cv_lib_m_sin+set}" = set; then :
108563 + $as_echo_n "(cached) " >&6
108564 +else
108565 + ac_check_lib_save_LIBS=$LIBS
108566 +LIBS="-lm $LIBS"
108567 +if test x$gcc_no_link = xyes; then
108568 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
108570 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108571 +/* end confdefs.h. */
108573 +/* Override any GCC internal prototype to avoid an error.
108574 + Use char because int might match the return type of a GCC
108575 + builtin and then its argument prototype would still apply. */
108576 +#ifdef __cplusplus
108577 +extern "C"
108578 +#endif
108579 +char sin ();
108581 +main ()
108583 +return sin ();
108585 + return 0;
108587 +_ACEOF
108588 +if ac_fn_c_try_link "$LINENO"; then :
108589 + ac_cv_lib_m_sin=yes
108590 +else
108591 + ac_cv_lib_m_sin=no
108593 +rm -f core conftest.err conftest.$ac_objext \
108594 + conftest$ac_exeext conftest.$ac_ext
108595 +LIBS=$ac_check_lib_save_LIBS
108597 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
108598 +$as_echo "$ac_cv_lib_m_sin" >&6; }
108599 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
108600 + libm="-lm"
108603 + ac_save_LIBS="$LIBS"
108604 + LIBS="$LIBS $libm"
108608 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
108609 +$as_echo_n "checking for isinf declaration... " >&6; }
108610 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
108611 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
108612 + $as_echo_n "(cached) " >&6
108613 +else
108616 + ac_ext=cpp
108617 +ac_cpp='$CXXCPP $CPPFLAGS'
108618 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108619 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108620 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108622 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108623 +/* end confdefs.h. */
108624 +#include <math.h>
108625 + #ifdef HAVE_IEEEFP_H
108626 + #include <ieeefp.h>
108627 + #endif
108630 +main ()
108632 + isinf(0);
108634 + return 0;
108636 +_ACEOF
108637 +if ac_fn_cxx_try_compile "$LINENO"; then :
108638 + glibcxx_cv_func_isinf_use=yes
108639 +else
108640 + glibcxx_cv_func_isinf_use=no
108642 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108643 + ac_ext=c
108644 +ac_cpp='$CPP $CPPFLAGS'
108645 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108646 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108647 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108653 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
108654 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
108656 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
108657 + for ac_func in isinf
108658 +do :
108659 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
108660 +if test "x$ac_cv_func_isinf" = x""yes; then :
108661 + cat >>confdefs.h <<_ACEOF
108662 +#define HAVE_ISINF 1
108663 +_ACEOF
108666 +done
108668 + else
108670 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
108671 +$as_echo_n "checking for _isinf declaration... " >&6; }
108672 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
108673 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
108674 + $as_echo_n "(cached) " >&6
108675 +else
108678 + ac_ext=cpp
108679 +ac_cpp='$CXXCPP $CPPFLAGS'
108680 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108681 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108682 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108684 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108685 +/* end confdefs.h. */
108686 +#include <math.h>
108687 + #ifdef HAVE_IEEEFP_H
108688 + #include <ieeefp.h>
108689 + #endif
108692 +main ()
108694 + _isinf(0);
108696 + return 0;
108698 +_ACEOF
108699 +if ac_fn_cxx_try_compile "$LINENO"; then :
108700 + glibcxx_cv_func__isinf_use=yes
108701 +else
108702 + glibcxx_cv_func__isinf_use=no
108704 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108705 + ac_ext=c
108706 +ac_cpp='$CPP $CPPFLAGS'
108707 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108708 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108709 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108715 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
108716 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
108718 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
108719 + for ac_func in _isinf
108720 +do :
108721 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
108722 +if test "x$ac_cv_func__isinf" = x""yes; then :
108723 + cat >>confdefs.h <<_ACEOF
108724 +#define HAVE__ISINF 1
108725 +_ACEOF
108728 +done
108737 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
108738 +$as_echo_n "checking for isnan declaration... " >&6; }
108739 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
108740 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
108741 + $as_echo_n "(cached) " >&6
108742 +else
108745 + ac_ext=cpp
108746 +ac_cpp='$CXXCPP $CPPFLAGS'
108747 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108748 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108749 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108751 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108752 +/* end confdefs.h. */
108753 +#include <math.h>
108754 + #ifdef HAVE_IEEEFP_H
108755 + #include <ieeefp.h>
108756 + #endif
108759 +main ()
108761 + isnan(0);
108763 + return 0;
108765 +_ACEOF
108766 +if ac_fn_cxx_try_compile "$LINENO"; then :
108767 + glibcxx_cv_func_isnan_use=yes
108768 +else
108769 + glibcxx_cv_func_isnan_use=no
108771 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108772 + ac_ext=c
108773 +ac_cpp='$CPP $CPPFLAGS'
108774 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108775 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108776 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108782 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
108783 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
108785 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
108786 + for ac_func in isnan
108787 +do :
108788 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
108789 +if test "x$ac_cv_func_isnan" = x""yes; then :
108790 + cat >>confdefs.h <<_ACEOF
108791 +#define HAVE_ISNAN 1
108792 +_ACEOF
108795 +done
108797 + else
108799 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
108800 +$as_echo_n "checking for _isnan declaration... " >&6; }
108801 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
108802 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
108803 + $as_echo_n "(cached) " >&6
108804 +else
108807 + ac_ext=cpp
108808 +ac_cpp='$CXXCPP $CPPFLAGS'
108809 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108810 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108811 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108813 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108814 +/* end confdefs.h. */
108815 +#include <math.h>
108816 + #ifdef HAVE_IEEEFP_H
108817 + #include <ieeefp.h>
108818 + #endif
108821 +main ()
108823 + _isnan(0);
108825 + return 0;
108827 +_ACEOF
108828 +if ac_fn_cxx_try_compile "$LINENO"; then :
108829 + glibcxx_cv_func__isnan_use=yes
108830 +else
108831 + glibcxx_cv_func__isnan_use=no
108833 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108834 + ac_ext=c
108835 +ac_cpp='$CPP $CPPFLAGS'
108836 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108837 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108838 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108844 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
108845 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
108847 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
108848 + for ac_func in _isnan
108849 +do :
108850 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
108851 +if test "x$ac_cv_func__isnan" = x""yes; then :
108852 + cat >>confdefs.h <<_ACEOF
108853 +#define HAVE__ISNAN 1
108854 +_ACEOF
108857 +done
108866 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
108867 +$as_echo_n "checking for finite declaration... " >&6; }
108868 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
108869 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
108870 + $as_echo_n "(cached) " >&6
108871 +else
108874 + ac_ext=cpp
108875 +ac_cpp='$CXXCPP $CPPFLAGS'
108876 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108877 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108878 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108880 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108881 +/* end confdefs.h. */
108882 +#include <math.h>
108883 + #ifdef HAVE_IEEEFP_H
108884 + #include <ieeefp.h>
108885 + #endif
108888 +main ()
108890 + finite(0);
108892 + return 0;
108894 +_ACEOF
108895 +if ac_fn_cxx_try_compile "$LINENO"; then :
108896 + glibcxx_cv_func_finite_use=yes
108897 +else
108898 + glibcxx_cv_func_finite_use=no
108900 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108901 + ac_ext=c
108902 +ac_cpp='$CPP $CPPFLAGS'
108903 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108904 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108905 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108911 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
108912 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
108914 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
108915 + for ac_func in finite
108916 +do :
108917 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
108918 +if test "x$ac_cv_func_finite" = x""yes; then :
108919 + cat >>confdefs.h <<_ACEOF
108920 +#define HAVE_FINITE 1
108921 +_ACEOF
108924 +done
108926 + else
108928 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
108929 +$as_echo_n "checking for _finite declaration... " >&6; }
108930 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
108931 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
108932 + $as_echo_n "(cached) " >&6
108933 +else
108936 + ac_ext=cpp
108937 +ac_cpp='$CXXCPP $CPPFLAGS'
108938 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108939 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108940 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
108942 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
108943 +/* end confdefs.h. */
108944 +#include <math.h>
108945 + #ifdef HAVE_IEEEFP_H
108946 + #include <ieeefp.h>
108947 + #endif
108950 +main ()
108952 + _finite(0);
108954 + return 0;
108956 +_ACEOF
108957 +if ac_fn_cxx_try_compile "$LINENO"; then :
108958 + glibcxx_cv_func__finite_use=yes
108959 +else
108960 + glibcxx_cv_func__finite_use=no
108962 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
108963 + ac_ext=c
108964 +ac_cpp='$CPP $CPPFLAGS'
108965 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
108966 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
108967 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
108973 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
108974 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
108976 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
108977 + for ac_func in _finite
108978 +do :
108979 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
108980 +if test "x$ac_cv_func__finite" = x""yes; then :
108981 + cat >>confdefs.h <<_ACEOF
108982 +#define HAVE__FINITE 1
108983 +_ACEOF
108986 +done
108995 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
108996 +$as_echo_n "checking for sincos declaration... " >&6; }
108997 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
108998 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
108999 + $as_echo_n "(cached) " >&6
109000 +else
109003 + ac_ext=cpp
109004 +ac_cpp='$CXXCPP $CPPFLAGS'
109005 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109006 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109007 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109009 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109010 +/* end confdefs.h. */
109011 +#include <math.h>
109013 +main ()
109015 + sincos(0, 0, 0);
109017 + return 0;
109019 +_ACEOF
109020 +if ac_fn_cxx_try_compile "$LINENO"; then :
109021 + glibcxx_cv_func_sincos_use=yes
109022 +else
109023 + glibcxx_cv_func_sincos_use=no
109025 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109026 + ac_ext=c
109027 +ac_cpp='$CPP $CPPFLAGS'
109028 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109029 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109030 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109036 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
109037 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
109039 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
109040 + for ac_func in sincos
109041 +do :
109042 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
109043 +if test "x$ac_cv_func_sincos" = x""yes; then :
109044 + cat >>confdefs.h <<_ACEOF
109045 +#define HAVE_SINCOS 1
109046 +_ACEOF
109049 +done
109051 + else
109053 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
109054 +$as_echo_n "checking for _sincos declaration... " >&6; }
109055 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
109056 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
109057 + $as_echo_n "(cached) " >&6
109058 +else
109061 + ac_ext=cpp
109062 +ac_cpp='$CXXCPP $CPPFLAGS'
109063 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109064 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109065 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109067 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109068 +/* end confdefs.h. */
109069 +#include <math.h>
109071 +main ()
109073 + _sincos(0, 0, 0);
109075 + return 0;
109077 +_ACEOF
109078 +if ac_fn_cxx_try_compile "$LINENO"; then :
109079 + glibcxx_cv_func__sincos_use=yes
109080 +else
109081 + glibcxx_cv_func__sincos_use=no
109083 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109084 + ac_ext=c
109085 +ac_cpp='$CPP $CPPFLAGS'
109086 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109087 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109088 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109094 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
109095 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
109097 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
109098 + for ac_func in _sincos
109099 +do :
109100 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
109101 +if test "x$ac_cv_func__sincos" = x""yes; then :
109102 + cat >>confdefs.h <<_ACEOF
109103 +#define HAVE__SINCOS 1
109104 +_ACEOF
109107 +done
109116 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
109117 +$as_echo_n "checking for fpclass declaration... " >&6; }
109118 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
109119 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
109120 + $as_echo_n "(cached) " >&6
109121 +else
109124 + ac_ext=cpp
109125 +ac_cpp='$CXXCPP $CPPFLAGS'
109126 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109127 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109128 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109130 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109131 +/* end confdefs.h. */
109132 +#include <math.h>
109133 + #ifdef HAVE_IEEEFP_H
109134 + #include <ieeefp.h>
109135 + #endif
109138 +main ()
109140 + fpclass(0);
109142 + return 0;
109144 +_ACEOF
109145 +if ac_fn_cxx_try_compile "$LINENO"; then :
109146 + glibcxx_cv_func_fpclass_use=yes
109147 +else
109148 + glibcxx_cv_func_fpclass_use=no
109150 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109151 + ac_ext=c
109152 +ac_cpp='$CPP $CPPFLAGS'
109153 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109154 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109155 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109161 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
109162 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
109164 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
109165 + for ac_func in fpclass
109166 +do :
109167 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
109168 +if test "x$ac_cv_func_fpclass" = x""yes; then :
109169 + cat >>confdefs.h <<_ACEOF
109170 +#define HAVE_FPCLASS 1
109171 +_ACEOF
109174 +done
109176 + else
109178 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
109179 +$as_echo_n "checking for _fpclass declaration... " >&6; }
109180 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
109181 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
109182 + $as_echo_n "(cached) " >&6
109183 +else
109186 + ac_ext=cpp
109187 +ac_cpp='$CXXCPP $CPPFLAGS'
109188 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109189 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109190 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109192 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109193 +/* end confdefs.h. */
109194 +#include <math.h>
109195 + #ifdef HAVE_IEEEFP_H
109196 + #include <ieeefp.h>
109197 + #endif
109200 +main ()
109202 + _fpclass(0);
109204 + return 0;
109206 +_ACEOF
109207 +if ac_fn_cxx_try_compile "$LINENO"; then :
109208 + glibcxx_cv_func__fpclass_use=yes
109209 +else
109210 + glibcxx_cv_func__fpclass_use=no
109212 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109213 + ac_ext=c
109214 +ac_cpp='$CPP $CPPFLAGS'
109215 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109216 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109217 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109223 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
109224 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
109226 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
109227 + for ac_func in _fpclass
109228 +do :
109229 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
109230 +if test "x$ac_cv_func__fpclass" = x""yes; then :
109231 + cat >>confdefs.h <<_ACEOF
109232 +#define HAVE__FPCLASS 1
109233 +_ACEOF
109236 +done
109245 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
109246 +$as_echo_n "checking for qfpclass declaration... " >&6; }
109247 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
109248 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
109249 + $as_echo_n "(cached) " >&6
109250 +else
109253 + ac_ext=cpp
109254 +ac_cpp='$CXXCPP $CPPFLAGS'
109255 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109256 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109257 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109259 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109260 +/* end confdefs.h. */
109261 +#include <math.h>
109262 + #ifdef HAVE_IEEEFP_H
109263 + #include <ieeefp.h>
109264 + #endif
109267 +main ()
109269 + qfpclass(0);
109271 + return 0;
109273 +_ACEOF
109274 +if ac_fn_cxx_try_compile "$LINENO"; then :
109275 + glibcxx_cv_func_qfpclass_use=yes
109276 +else
109277 + glibcxx_cv_func_qfpclass_use=no
109279 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109280 + ac_ext=c
109281 +ac_cpp='$CPP $CPPFLAGS'
109282 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109283 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109284 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109290 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
109291 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
109293 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
109294 + for ac_func in qfpclass
109295 +do :
109296 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
109297 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
109298 + cat >>confdefs.h <<_ACEOF
109299 +#define HAVE_QFPCLASS 1
109300 +_ACEOF
109303 +done
109305 + else
109307 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
109308 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
109309 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
109310 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
109311 + $as_echo_n "(cached) " >&6
109312 +else
109315 + ac_ext=cpp
109316 +ac_cpp='$CXXCPP $CPPFLAGS'
109317 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109318 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109319 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109321 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109322 +/* end confdefs.h. */
109323 +#include <math.h>
109324 + #ifdef HAVE_IEEEFP_H
109325 + #include <ieeefp.h>
109326 + #endif
109329 +main ()
109331 + _qfpclass(0);
109333 + return 0;
109335 +_ACEOF
109336 +if ac_fn_cxx_try_compile "$LINENO"; then :
109337 + glibcxx_cv_func__qfpclass_use=yes
109338 +else
109339 + glibcxx_cv_func__qfpclass_use=no
109341 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109342 + ac_ext=c
109343 +ac_cpp='$CPP $CPPFLAGS'
109344 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109345 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109346 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109352 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
109353 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
109355 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
109356 + for ac_func in _qfpclass
109357 +do :
109358 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
109359 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
109360 + cat >>confdefs.h <<_ACEOF
109361 +#define HAVE__QFPCLASS 1
109362 +_ACEOF
109365 +done
109374 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
109375 +$as_echo_n "checking for hypot declaration... " >&6; }
109376 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
109377 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
109378 + $as_echo_n "(cached) " >&6
109379 +else
109382 + ac_ext=cpp
109383 +ac_cpp='$CXXCPP $CPPFLAGS'
109384 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109385 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109386 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109388 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109389 +/* end confdefs.h. */
109390 +#include <math.h>
109392 +main ()
109394 + hypot(0, 0);
109396 + return 0;
109398 +_ACEOF
109399 +if ac_fn_cxx_try_compile "$LINENO"; then :
109400 + glibcxx_cv_func_hypot_use=yes
109401 +else
109402 + glibcxx_cv_func_hypot_use=no
109404 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109405 + ac_ext=c
109406 +ac_cpp='$CPP $CPPFLAGS'
109407 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109408 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109409 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109415 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
109416 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
109418 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
109419 + for ac_func in hypot
109420 +do :
109421 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
109422 +if test "x$ac_cv_func_hypot" = x""yes; then :
109423 + cat >>confdefs.h <<_ACEOF
109424 +#define HAVE_HYPOT 1
109425 +_ACEOF
109428 +done
109430 + else
109432 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
109433 +$as_echo_n "checking for _hypot declaration... " >&6; }
109434 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
109435 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
109436 + $as_echo_n "(cached) " >&6
109437 +else
109440 + ac_ext=cpp
109441 +ac_cpp='$CXXCPP $CPPFLAGS'
109442 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109443 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109444 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109446 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109447 +/* end confdefs.h. */
109448 +#include <math.h>
109450 +main ()
109452 + _hypot(0, 0);
109454 + return 0;
109456 +_ACEOF
109457 +if ac_fn_cxx_try_compile "$LINENO"; then :
109458 + glibcxx_cv_func__hypot_use=yes
109459 +else
109460 + glibcxx_cv_func__hypot_use=no
109462 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109463 + ac_ext=c
109464 +ac_cpp='$CPP $CPPFLAGS'
109465 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109466 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109467 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109473 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
109474 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
109476 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
109477 + for ac_func in _hypot
109478 +do :
109479 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
109480 +if test "x$ac_cv_func__hypot" = x""yes; then :
109481 + cat >>confdefs.h <<_ACEOF
109482 +#define HAVE__HYPOT 1
109483 +_ACEOF
109486 +done
109495 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
109496 +$as_echo_n "checking for float trig functions... " >&6; }
109497 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
109498 + $as_echo_n "(cached) " >&6
109499 +else
109502 + ac_ext=cpp
109503 +ac_cpp='$CXXCPP $CPPFLAGS'
109504 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109505 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109506 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109508 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109509 +/* end confdefs.h. */
109510 +#include <math.h>
109512 +main ()
109514 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
109516 + return 0;
109518 +_ACEOF
109519 +if ac_fn_cxx_try_compile "$LINENO"; then :
109520 + glibcxx_cv_func_float_trig_use=yes
109521 +else
109522 + glibcxx_cv_func_float_trig_use=no
109524 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109525 + ac_ext=c
109526 +ac_cpp='$CPP $CPPFLAGS'
109527 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109528 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109529 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109533 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
109534 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
109535 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
109536 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
109537 +do :
109538 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
109539 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
109540 +eval as_val=\$$as_ac_var
109541 + if test "x$as_val" = x""yes; then :
109542 + cat >>confdefs.h <<_ACEOF
109543 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
109544 +_ACEOF
109547 +done
109549 + else
109550 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
109551 +$as_echo_n "checking for _float trig functions... " >&6; }
109552 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
109553 + $as_echo_n "(cached) " >&6
109554 +else
109557 + ac_ext=cpp
109558 +ac_cpp='$CXXCPP $CPPFLAGS'
109559 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109560 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109561 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109563 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109564 +/* end confdefs.h. */
109565 +#include <math.h>
109567 +main ()
109569 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
109571 + return 0;
109573 +_ACEOF
109574 +if ac_fn_cxx_try_compile "$LINENO"; then :
109575 + glibcxx_cv_func__float_trig_use=yes
109576 +else
109577 + glibcxx_cv_func__float_trig_use=no
109579 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109580 + ac_ext=c
109581 +ac_cpp='$CPP $CPPFLAGS'
109582 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109583 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109584 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109588 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
109589 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
109590 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
109591 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
109592 +do :
109593 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
109594 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
109595 +eval as_val=\$$as_ac_var
109596 + if test "x$as_val" = x""yes; then :
109597 + cat >>confdefs.h <<_ACEOF
109598 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
109599 +_ACEOF
109602 +done
109611 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
109612 +$as_echo_n "checking for float round functions... " >&6; }
109613 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
109614 + $as_echo_n "(cached) " >&6
109615 +else
109618 + ac_ext=cpp
109619 +ac_cpp='$CXXCPP $CPPFLAGS'
109620 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109621 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109622 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109624 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109625 +/* end confdefs.h. */
109626 +#include <math.h>
109628 +main ()
109630 +ceilf (0); floorf (0);
109632 + return 0;
109634 +_ACEOF
109635 +if ac_fn_cxx_try_compile "$LINENO"; then :
109636 + glibcxx_cv_func_float_round_use=yes
109637 +else
109638 + glibcxx_cv_func_float_round_use=no
109640 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109641 + ac_ext=c
109642 +ac_cpp='$CPP $CPPFLAGS'
109643 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109644 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109645 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109649 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
109650 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
109651 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
109652 + for ac_func in ceilf floorf
109653 +do :
109654 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
109655 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
109656 +eval as_val=\$$as_ac_var
109657 + if test "x$as_val" = x""yes; then :
109658 + cat >>confdefs.h <<_ACEOF
109659 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
109660 +_ACEOF
109663 +done
109665 + else
109666 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
109667 +$as_echo_n "checking for _float round functions... " >&6; }
109668 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
109669 + $as_echo_n "(cached) " >&6
109670 +else
109673 + ac_ext=cpp
109674 +ac_cpp='$CXXCPP $CPPFLAGS'
109675 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109676 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109677 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109679 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109680 +/* end confdefs.h. */
109681 +#include <math.h>
109683 +main ()
109685 +_ceilf (0); _floorf (0);
109687 + return 0;
109689 +_ACEOF
109690 +if ac_fn_cxx_try_compile "$LINENO"; then :
109691 + glibcxx_cv_func__float_round_use=yes
109692 +else
109693 + glibcxx_cv_func__float_round_use=no
109695 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109696 + ac_ext=c
109697 +ac_cpp='$CPP $CPPFLAGS'
109698 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109699 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109700 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109704 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
109705 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
109706 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
109707 + for ac_func in _ceilf _floorf
109708 +do :
109709 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
109710 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
109711 +eval as_val=\$$as_ac_var
109712 + if test "x$as_val" = x""yes; then :
109713 + cat >>confdefs.h <<_ACEOF
109714 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
109715 +_ACEOF
109718 +done
109728 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
109729 +$as_echo_n "checking for expf declaration... " >&6; }
109730 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
109731 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
109732 + $as_echo_n "(cached) " >&6
109733 +else
109736 + ac_ext=cpp
109737 +ac_cpp='$CXXCPP $CPPFLAGS'
109738 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109739 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109740 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109742 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109743 +/* end confdefs.h. */
109744 +#include <math.h>
109745 + #ifdef HAVE_IEEEFP_H
109746 + #include <ieeefp.h>
109747 + #endif
109750 +main ()
109752 + expf(0);
109754 + return 0;
109756 +_ACEOF
109757 +if ac_fn_cxx_try_compile "$LINENO"; then :
109758 + glibcxx_cv_func_expf_use=yes
109759 +else
109760 + glibcxx_cv_func_expf_use=no
109762 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109763 + ac_ext=c
109764 +ac_cpp='$CPP $CPPFLAGS'
109765 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109766 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109767 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109773 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
109774 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
109776 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
109777 + for ac_func in expf
109778 +do :
109779 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
109780 +if test "x$ac_cv_func_expf" = x""yes; then :
109781 + cat >>confdefs.h <<_ACEOF
109782 +#define HAVE_EXPF 1
109783 +_ACEOF
109786 +done
109788 + else
109790 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
109791 +$as_echo_n "checking for _expf declaration... " >&6; }
109792 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
109793 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
109794 + $as_echo_n "(cached) " >&6
109795 +else
109798 + ac_ext=cpp
109799 +ac_cpp='$CXXCPP $CPPFLAGS'
109800 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109801 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109802 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109804 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109805 +/* end confdefs.h. */
109806 +#include <math.h>
109807 + #ifdef HAVE_IEEEFP_H
109808 + #include <ieeefp.h>
109809 + #endif
109812 +main ()
109814 + _expf(0);
109816 + return 0;
109818 +_ACEOF
109819 +if ac_fn_cxx_try_compile "$LINENO"; then :
109820 + glibcxx_cv_func__expf_use=yes
109821 +else
109822 + glibcxx_cv_func__expf_use=no
109824 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109825 + ac_ext=c
109826 +ac_cpp='$CPP $CPPFLAGS'
109827 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109828 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109829 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109835 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
109836 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
109838 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
109839 + for ac_func in _expf
109840 +do :
109841 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
109842 +if test "x$ac_cv_func__expf" = x""yes; then :
109843 + cat >>confdefs.h <<_ACEOF
109844 +#define HAVE__EXPF 1
109845 +_ACEOF
109848 +done
109857 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
109858 +$as_echo_n "checking for isnanf declaration... " >&6; }
109859 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
109860 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
109861 + $as_echo_n "(cached) " >&6
109862 +else
109865 + ac_ext=cpp
109866 +ac_cpp='$CXXCPP $CPPFLAGS'
109867 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109868 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109869 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109871 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109872 +/* end confdefs.h. */
109873 +#include <math.h>
109874 + #ifdef HAVE_IEEEFP_H
109875 + #include <ieeefp.h>
109876 + #endif
109879 +main ()
109881 + isnanf(0);
109883 + return 0;
109885 +_ACEOF
109886 +if ac_fn_cxx_try_compile "$LINENO"; then :
109887 + glibcxx_cv_func_isnanf_use=yes
109888 +else
109889 + glibcxx_cv_func_isnanf_use=no
109891 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109892 + ac_ext=c
109893 +ac_cpp='$CPP $CPPFLAGS'
109894 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109895 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109896 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109902 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
109903 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
109905 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
109906 + for ac_func in isnanf
109907 +do :
109908 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
109909 +if test "x$ac_cv_func_isnanf" = x""yes; then :
109910 + cat >>confdefs.h <<_ACEOF
109911 +#define HAVE_ISNANF 1
109912 +_ACEOF
109915 +done
109917 + else
109919 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
109920 +$as_echo_n "checking for _isnanf declaration... " >&6; }
109921 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
109922 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
109923 + $as_echo_n "(cached) " >&6
109924 +else
109927 + ac_ext=cpp
109928 +ac_cpp='$CXXCPP $CPPFLAGS'
109929 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109930 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109931 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
109933 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
109934 +/* end confdefs.h. */
109935 +#include <math.h>
109936 + #ifdef HAVE_IEEEFP_H
109937 + #include <ieeefp.h>
109938 + #endif
109941 +main ()
109943 + _isnanf(0);
109945 + return 0;
109947 +_ACEOF
109948 +if ac_fn_cxx_try_compile "$LINENO"; then :
109949 + glibcxx_cv_func__isnanf_use=yes
109950 +else
109951 + glibcxx_cv_func__isnanf_use=no
109953 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
109954 + ac_ext=c
109955 +ac_cpp='$CPP $CPPFLAGS'
109956 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109957 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109958 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
109964 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
109965 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
109967 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
109968 + for ac_func in _isnanf
109969 +do :
109970 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
109971 +if test "x$ac_cv_func__isnanf" = x""yes; then :
109972 + cat >>confdefs.h <<_ACEOF
109973 +#define HAVE__ISNANF 1
109974 +_ACEOF
109977 +done
109986 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
109987 +$as_echo_n "checking for isinff declaration... " >&6; }
109988 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
109989 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
109990 + $as_echo_n "(cached) " >&6
109991 +else
109994 + ac_ext=cpp
109995 +ac_cpp='$CXXCPP $CPPFLAGS'
109996 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
109997 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
109998 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110000 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110001 +/* end confdefs.h. */
110002 +#include <math.h>
110003 + #ifdef HAVE_IEEEFP_H
110004 + #include <ieeefp.h>
110005 + #endif
110008 +main ()
110010 + isinff(0);
110012 + return 0;
110014 +_ACEOF
110015 +if ac_fn_cxx_try_compile "$LINENO"; then :
110016 + glibcxx_cv_func_isinff_use=yes
110017 +else
110018 + glibcxx_cv_func_isinff_use=no
110020 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110021 + ac_ext=c
110022 +ac_cpp='$CPP $CPPFLAGS'
110023 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110024 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110025 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110031 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
110032 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
110034 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
110035 + for ac_func in isinff
110036 +do :
110037 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
110038 +if test "x$ac_cv_func_isinff" = x""yes; then :
110039 + cat >>confdefs.h <<_ACEOF
110040 +#define HAVE_ISINFF 1
110041 +_ACEOF
110044 +done
110046 + else
110048 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
110049 +$as_echo_n "checking for _isinff declaration... " >&6; }
110050 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
110051 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
110052 + $as_echo_n "(cached) " >&6
110053 +else
110056 + ac_ext=cpp
110057 +ac_cpp='$CXXCPP $CPPFLAGS'
110058 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110059 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110060 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110062 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110063 +/* end confdefs.h. */
110064 +#include <math.h>
110065 + #ifdef HAVE_IEEEFP_H
110066 + #include <ieeefp.h>
110067 + #endif
110070 +main ()
110072 + _isinff(0);
110074 + return 0;
110076 +_ACEOF
110077 +if ac_fn_cxx_try_compile "$LINENO"; then :
110078 + glibcxx_cv_func__isinff_use=yes
110079 +else
110080 + glibcxx_cv_func__isinff_use=no
110082 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110083 + ac_ext=c
110084 +ac_cpp='$CPP $CPPFLAGS'
110085 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110086 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110087 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110093 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
110094 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
110096 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
110097 + for ac_func in _isinff
110098 +do :
110099 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
110100 +if test "x$ac_cv_func__isinff" = x""yes; then :
110101 + cat >>confdefs.h <<_ACEOF
110102 +#define HAVE__ISINFF 1
110103 +_ACEOF
110106 +done
110115 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
110116 +$as_echo_n "checking for atan2f declaration... " >&6; }
110117 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
110118 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
110119 + $as_echo_n "(cached) " >&6
110120 +else
110123 + ac_ext=cpp
110124 +ac_cpp='$CXXCPP $CPPFLAGS'
110125 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110126 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110127 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110129 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110130 +/* end confdefs.h. */
110131 +#include <math.h>
110133 +main ()
110135 + atan2f(0, 0);
110137 + return 0;
110139 +_ACEOF
110140 +if ac_fn_cxx_try_compile "$LINENO"; then :
110141 + glibcxx_cv_func_atan2f_use=yes
110142 +else
110143 + glibcxx_cv_func_atan2f_use=no
110145 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110146 + ac_ext=c
110147 +ac_cpp='$CPP $CPPFLAGS'
110148 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110149 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110150 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110156 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
110157 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
110159 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
110160 + for ac_func in atan2f
110161 +do :
110162 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
110163 +if test "x$ac_cv_func_atan2f" = x""yes; then :
110164 + cat >>confdefs.h <<_ACEOF
110165 +#define HAVE_ATAN2F 1
110166 +_ACEOF
110169 +done
110171 + else
110173 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
110174 +$as_echo_n "checking for _atan2f declaration... " >&6; }
110175 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
110176 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
110177 + $as_echo_n "(cached) " >&6
110178 +else
110181 + ac_ext=cpp
110182 +ac_cpp='$CXXCPP $CPPFLAGS'
110183 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110184 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110185 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110187 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110188 +/* end confdefs.h. */
110189 +#include <math.h>
110191 +main ()
110193 + _atan2f(0, 0);
110195 + return 0;
110197 +_ACEOF
110198 +if ac_fn_cxx_try_compile "$LINENO"; then :
110199 + glibcxx_cv_func__atan2f_use=yes
110200 +else
110201 + glibcxx_cv_func__atan2f_use=no
110203 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110204 + ac_ext=c
110205 +ac_cpp='$CPP $CPPFLAGS'
110206 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110207 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110208 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110214 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
110215 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
110217 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
110218 + for ac_func in _atan2f
110219 +do :
110220 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
110221 +if test "x$ac_cv_func__atan2f" = x""yes; then :
110222 + cat >>confdefs.h <<_ACEOF
110223 +#define HAVE__ATAN2F 1
110224 +_ACEOF
110227 +done
110236 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
110237 +$as_echo_n "checking for fabsf declaration... " >&6; }
110238 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
110239 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
110240 + $as_echo_n "(cached) " >&6
110241 +else
110244 + ac_ext=cpp
110245 +ac_cpp='$CXXCPP $CPPFLAGS'
110246 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110247 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110248 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110250 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110251 +/* end confdefs.h. */
110252 +#include <math.h>
110253 + #ifdef HAVE_IEEEFP_H
110254 + #include <ieeefp.h>
110255 + #endif
110258 +main ()
110260 + fabsf(0);
110262 + return 0;
110264 +_ACEOF
110265 +if ac_fn_cxx_try_compile "$LINENO"; then :
110266 + glibcxx_cv_func_fabsf_use=yes
110267 +else
110268 + glibcxx_cv_func_fabsf_use=no
110270 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110271 + ac_ext=c
110272 +ac_cpp='$CPP $CPPFLAGS'
110273 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110274 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110275 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110281 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
110282 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
110284 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
110285 + for ac_func in fabsf
110286 +do :
110287 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
110288 +if test "x$ac_cv_func_fabsf" = x""yes; then :
110289 + cat >>confdefs.h <<_ACEOF
110290 +#define HAVE_FABSF 1
110291 +_ACEOF
110294 +done
110296 + else
110298 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
110299 +$as_echo_n "checking for _fabsf declaration... " >&6; }
110300 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
110301 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
110302 + $as_echo_n "(cached) " >&6
110303 +else
110306 + ac_ext=cpp
110307 +ac_cpp='$CXXCPP $CPPFLAGS'
110308 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110309 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110310 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110312 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110313 +/* end confdefs.h. */
110314 +#include <math.h>
110315 + #ifdef HAVE_IEEEFP_H
110316 + #include <ieeefp.h>
110317 + #endif
110320 +main ()
110322 + _fabsf(0);
110324 + return 0;
110326 +_ACEOF
110327 +if ac_fn_cxx_try_compile "$LINENO"; then :
110328 + glibcxx_cv_func__fabsf_use=yes
110329 +else
110330 + glibcxx_cv_func__fabsf_use=no
110332 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110333 + ac_ext=c
110334 +ac_cpp='$CPP $CPPFLAGS'
110335 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110336 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110337 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110343 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
110344 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
110346 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
110347 + for ac_func in _fabsf
110348 +do :
110349 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
110350 +if test "x$ac_cv_func__fabsf" = x""yes; then :
110351 + cat >>confdefs.h <<_ACEOF
110352 +#define HAVE__FABSF 1
110353 +_ACEOF
110356 +done
110365 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
110366 +$as_echo_n "checking for fmodf declaration... " >&6; }
110367 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
110368 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
110369 + $as_echo_n "(cached) " >&6
110370 +else
110373 + ac_ext=cpp
110374 +ac_cpp='$CXXCPP $CPPFLAGS'
110375 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110376 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110377 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110379 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110380 +/* end confdefs.h. */
110381 +#include <math.h>
110383 +main ()
110385 + fmodf(0, 0);
110387 + return 0;
110389 +_ACEOF
110390 +if ac_fn_cxx_try_compile "$LINENO"; then :
110391 + glibcxx_cv_func_fmodf_use=yes
110392 +else
110393 + glibcxx_cv_func_fmodf_use=no
110395 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110396 + ac_ext=c
110397 +ac_cpp='$CPP $CPPFLAGS'
110398 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110399 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110400 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110406 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
110407 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
110409 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
110410 + for ac_func in fmodf
110411 +do :
110412 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
110413 +if test "x$ac_cv_func_fmodf" = x""yes; then :
110414 + cat >>confdefs.h <<_ACEOF
110415 +#define HAVE_FMODF 1
110416 +_ACEOF
110419 +done
110421 + else
110423 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
110424 +$as_echo_n "checking for _fmodf declaration... " >&6; }
110425 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
110426 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
110427 + $as_echo_n "(cached) " >&6
110428 +else
110431 + ac_ext=cpp
110432 +ac_cpp='$CXXCPP $CPPFLAGS'
110433 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110434 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110435 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110437 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110438 +/* end confdefs.h. */
110439 +#include <math.h>
110441 +main ()
110443 + _fmodf(0, 0);
110445 + return 0;
110447 +_ACEOF
110448 +if ac_fn_cxx_try_compile "$LINENO"; then :
110449 + glibcxx_cv_func__fmodf_use=yes
110450 +else
110451 + glibcxx_cv_func__fmodf_use=no
110453 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110454 + ac_ext=c
110455 +ac_cpp='$CPP $CPPFLAGS'
110456 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110457 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110458 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110464 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
110465 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
110467 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
110468 + for ac_func in _fmodf
110469 +do :
110470 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
110471 +if test "x$ac_cv_func__fmodf" = x""yes; then :
110472 + cat >>confdefs.h <<_ACEOF
110473 +#define HAVE__FMODF 1
110474 +_ACEOF
110477 +done
110486 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
110487 +$as_echo_n "checking for frexpf declaration... " >&6; }
110488 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
110489 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
110490 + $as_echo_n "(cached) " >&6
110491 +else
110494 + ac_ext=cpp
110495 +ac_cpp='$CXXCPP $CPPFLAGS'
110496 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110497 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110498 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110500 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110501 +/* end confdefs.h. */
110502 +#include <math.h>
110504 +main ()
110506 + frexpf(0, 0);
110508 + return 0;
110510 +_ACEOF
110511 +if ac_fn_cxx_try_compile "$LINENO"; then :
110512 + glibcxx_cv_func_frexpf_use=yes
110513 +else
110514 + glibcxx_cv_func_frexpf_use=no
110516 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110517 + ac_ext=c
110518 +ac_cpp='$CPP $CPPFLAGS'
110519 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110520 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110521 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110527 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
110528 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
110530 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
110531 + for ac_func in frexpf
110532 +do :
110533 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
110534 +if test "x$ac_cv_func_frexpf" = x""yes; then :
110535 + cat >>confdefs.h <<_ACEOF
110536 +#define HAVE_FREXPF 1
110537 +_ACEOF
110540 +done
110542 + else
110544 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
110545 +$as_echo_n "checking for _frexpf declaration... " >&6; }
110546 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
110547 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
110548 + $as_echo_n "(cached) " >&6
110549 +else
110552 + ac_ext=cpp
110553 +ac_cpp='$CXXCPP $CPPFLAGS'
110554 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110555 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110556 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110558 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110559 +/* end confdefs.h. */
110560 +#include <math.h>
110562 +main ()
110564 + _frexpf(0, 0);
110566 + return 0;
110568 +_ACEOF
110569 +if ac_fn_cxx_try_compile "$LINENO"; then :
110570 + glibcxx_cv_func__frexpf_use=yes
110571 +else
110572 + glibcxx_cv_func__frexpf_use=no
110574 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110575 + ac_ext=c
110576 +ac_cpp='$CPP $CPPFLAGS'
110577 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110578 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110579 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110585 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
110586 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
110588 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
110589 + for ac_func in _frexpf
110590 +do :
110591 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
110592 +if test "x$ac_cv_func__frexpf" = x""yes; then :
110593 + cat >>confdefs.h <<_ACEOF
110594 +#define HAVE__FREXPF 1
110595 +_ACEOF
110598 +done
110607 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
110608 +$as_echo_n "checking for hypotf declaration... " >&6; }
110609 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
110610 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
110611 + $as_echo_n "(cached) " >&6
110612 +else
110615 + ac_ext=cpp
110616 +ac_cpp='$CXXCPP $CPPFLAGS'
110617 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110618 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110619 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110621 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110622 +/* end confdefs.h. */
110623 +#include <math.h>
110625 +main ()
110627 + hypotf(0, 0);
110629 + return 0;
110631 +_ACEOF
110632 +if ac_fn_cxx_try_compile "$LINENO"; then :
110633 + glibcxx_cv_func_hypotf_use=yes
110634 +else
110635 + glibcxx_cv_func_hypotf_use=no
110637 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110638 + ac_ext=c
110639 +ac_cpp='$CPP $CPPFLAGS'
110640 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110641 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110642 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110648 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
110649 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
110651 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
110652 + for ac_func in hypotf
110653 +do :
110654 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
110655 +if test "x$ac_cv_func_hypotf" = x""yes; then :
110656 + cat >>confdefs.h <<_ACEOF
110657 +#define HAVE_HYPOTF 1
110658 +_ACEOF
110661 +done
110663 + else
110665 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
110666 +$as_echo_n "checking for _hypotf declaration... " >&6; }
110667 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
110668 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
110669 + $as_echo_n "(cached) " >&6
110670 +else
110673 + ac_ext=cpp
110674 +ac_cpp='$CXXCPP $CPPFLAGS'
110675 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110676 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110677 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110679 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110680 +/* end confdefs.h. */
110681 +#include <math.h>
110683 +main ()
110685 + _hypotf(0, 0);
110687 + return 0;
110689 +_ACEOF
110690 +if ac_fn_cxx_try_compile "$LINENO"; then :
110691 + glibcxx_cv_func__hypotf_use=yes
110692 +else
110693 + glibcxx_cv_func__hypotf_use=no
110695 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110696 + ac_ext=c
110697 +ac_cpp='$CPP $CPPFLAGS'
110698 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110699 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110700 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110706 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
110707 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
110709 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
110710 + for ac_func in _hypotf
110711 +do :
110712 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
110713 +if test "x$ac_cv_func__hypotf" = x""yes; then :
110714 + cat >>confdefs.h <<_ACEOF
110715 +#define HAVE__HYPOTF 1
110716 +_ACEOF
110719 +done
110728 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
110729 +$as_echo_n "checking for ldexpf declaration... " >&6; }
110730 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
110731 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
110732 + $as_echo_n "(cached) " >&6
110733 +else
110736 + ac_ext=cpp
110737 +ac_cpp='$CXXCPP $CPPFLAGS'
110738 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110739 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110740 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110742 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110743 +/* end confdefs.h. */
110744 +#include <math.h>
110746 +main ()
110748 + ldexpf(0, 0);
110750 + return 0;
110752 +_ACEOF
110753 +if ac_fn_cxx_try_compile "$LINENO"; then :
110754 + glibcxx_cv_func_ldexpf_use=yes
110755 +else
110756 + glibcxx_cv_func_ldexpf_use=no
110758 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110759 + ac_ext=c
110760 +ac_cpp='$CPP $CPPFLAGS'
110761 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110762 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110763 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110769 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
110770 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
110772 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
110773 + for ac_func in ldexpf
110774 +do :
110775 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
110776 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
110777 + cat >>confdefs.h <<_ACEOF
110778 +#define HAVE_LDEXPF 1
110779 +_ACEOF
110782 +done
110784 + else
110786 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
110787 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
110788 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
110789 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
110790 + $as_echo_n "(cached) " >&6
110791 +else
110794 + ac_ext=cpp
110795 +ac_cpp='$CXXCPP $CPPFLAGS'
110796 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110797 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110798 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110800 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110801 +/* end confdefs.h. */
110802 +#include <math.h>
110804 +main ()
110806 + _ldexpf(0, 0);
110808 + return 0;
110810 +_ACEOF
110811 +if ac_fn_cxx_try_compile "$LINENO"; then :
110812 + glibcxx_cv_func__ldexpf_use=yes
110813 +else
110814 + glibcxx_cv_func__ldexpf_use=no
110816 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110817 + ac_ext=c
110818 +ac_cpp='$CPP $CPPFLAGS'
110819 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110820 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110821 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110827 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
110828 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
110830 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
110831 + for ac_func in _ldexpf
110832 +do :
110833 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
110834 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
110835 + cat >>confdefs.h <<_ACEOF
110836 +#define HAVE__LDEXPF 1
110837 +_ACEOF
110840 +done
110849 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
110850 +$as_echo_n "checking for logf declaration... " >&6; }
110851 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
110852 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
110853 + $as_echo_n "(cached) " >&6
110854 +else
110857 + ac_ext=cpp
110858 +ac_cpp='$CXXCPP $CPPFLAGS'
110859 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110860 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110861 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110863 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110864 +/* end confdefs.h. */
110865 +#include <math.h>
110866 + #ifdef HAVE_IEEEFP_H
110867 + #include <ieeefp.h>
110868 + #endif
110871 +main ()
110873 + logf(0);
110875 + return 0;
110877 +_ACEOF
110878 +if ac_fn_cxx_try_compile "$LINENO"; then :
110879 + glibcxx_cv_func_logf_use=yes
110880 +else
110881 + glibcxx_cv_func_logf_use=no
110883 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110884 + ac_ext=c
110885 +ac_cpp='$CPP $CPPFLAGS'
110886 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110887 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110888 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110894 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
110895 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
110897 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
110898 + for ac_func in logf
110899 +do :
110900 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
110901 +if test "x$ac_cv_func_logf" = x""yes; then :
110902 + cat >>confdefs.h <<_ACEOF
110903 +#define HAVE_LOGF 1
110904 +_ACEOF
110907 +done
110909 + else
110911 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
110912 +$as_echo_n "checking for _logf declaration... " >&6; }
110913 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
110914 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
110915 + $as_echo_n "(cached) " >&6
110916 +else
110919 + ac_ext=cpp
110920 +ac_cpp='$CXXCPP $CPPFLAGS'
110921 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110922 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110923 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110925 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110926 +/* end confdefs.h. */
110927 +#include <math.h>
110928 + #ifdef HAVE_IEEEFP_H
110929 + #include <ieeefp.h>
110930 + #endif
110933 +main ()
110935 + _logf(0);
110937 + return 0;
110939 +_ACEOF
110940 +if ac_fn_cxx_try_compile "$LINENO"; then :
110941 + glibcxx_cv_func__logf_use=yes
110942 +else
110943 + glibcxx_cv_func__logf_use=no
110945 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
110946 + ac_ext=c
110947 +ac_cpp='$CPP $CPPFLAGS'
110948 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110949 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110950 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
110956 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
110957 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
110959 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
110960 + for ac_func in _logf
110961 +do :
110962 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
110963 +if test "x$ac_cv_func__logf" = x""yes; then :
110964 + cat >>confdefs.h <<_ACEOF
110965 +#define HAVE__LOGF 1
110966 +_ACEOF
110969 +done
110978 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
110979 +$as_echo_n "checking for log10f declaration... " >&6; }
110980 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
110981 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
110982 + $as_echo_n "(cached) " >&6
110983 +else
110986 + ac_ext=cpp
110987 +ac_cpp='$CXXCPP $CPPFLAGS'
110988 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
110989 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
110990 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
110992 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
110993 +/* end confdefs.h. */
110994 +#include <math.h>
110995 + #ifdef HAVE_IEEEFP_H
110996 + #include <ieeefp.h>
110997 + #endif
111000 +main ()
111002 + log10f(0);
111004 + return 0;
111006 +_ACEOF
111007 +if ac_fn_cxx_try_compile "$LINENO"; then :
111008 + glibcxx_cv_func_log10f_use=yes
111009 +else
111010 + glibcxx_cv_func_log10f_use=no
111012 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111013 + ac_ext=c
111014 +ac_cpp='$CPP $CPPFLAGS'
111015 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111016 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111017 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111023 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
111024 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
111026 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
111027 + for ac_func in log10f
111028 +do :
111029 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
111030 +if test "x$ac_cv_func_log10f" = x""yes; then :
111031 + cat >>confdefs.h <<_ACEOF
111032 +#define HAVE_LOG10F 1
111033 +_ACEOF
111036 +done
111038 + else
111040 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
111041 +$as_echo_n "checking for _log10f declaration... " >&6; }
111042 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
111043 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
111044 + $as_echo_n "(cached) " >&6
111045 +else
111048 + ac_ext=cpp
111049 +ac_cpp='$CXXCPP $CPPFLAGS'
111050 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111051 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111052 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111054 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111055 +/* end confdefs.h. */
111056 +#include <math.h>
111057 + #ifdef HAVE_IEEEFP_H
111058 + #include <ieeefp.h>
111059 + #endif
111062 +main ()
111064 + _log10f(0);
111066 + return 0;
111068 +_ACEOF
111069 +if ac_fn_cxx_try_compile "$LINENO"; then :
111070 + glibcxx_cv_func__log10f_use=yes
111071 +else
111072 + glibcxx_cv_func__log10f_use=no
111074 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111075 + ac_ext=c
111076 +ac_cpp='$CPP $CPPFLAGS'
111077 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111078 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111079 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111085 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
111086 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
111088 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
111089 + for ac_func in _log10f
111090 +do :
111091 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
111092 +if test "x$ac_cv_func__log10f" = x""yes; then :
111093 + cat >>confdefs.h <<_ACEOF
111094 +#define HAVE__LOG10F 1
111095 +_ACEOF
111098 +done
111107 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
111108 +$as_echo_n "checking for modff declaration... " >&6; }
111109 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
111110 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
111111 + $as_echo_n "(cached) " >&6
111112 +else
111115 + ac_ext=cpp
111116 +ac_cpp='$CXXCPP $CPPFLAGS'
111117 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111118 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111119 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111121 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111122 +/* end confdefs.h. */
111123 +#include <math.h>
111125 +main ()
111127 + modff(0, 0);
111129 + return 0;
111131 +_ACEOF
111132 +if ac_fn_cxx_try_compile "$LINENO"; then :
111133 + glibcxx_cv_func_modff_use=yes
111134 +else
111135 + glibcxx_cv_func_modff_use=no
111137 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111138 + ac_ext=c
111139 +ac_cpp='$CPP $CPPFLAGS'
111140 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111141 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111142 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111148 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
111149 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
111151 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
111152 + for ac_func in modff
111153 +do :
111154 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
111155 +if test "x$ac_cv_func_modff" = x""yes; then :
111156 + cat >>confdefs.h <<_ACEOF
111157 +#define HAVE_MODFF 1
111158 +_ACEOF
111161 +done
111163 + else
111165 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
111166 +$as_echo_n "checking for _modff declaration... " >&6; }
111167 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
111168 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
111169 + $as_echo_n "(cached) " >&6
111170 +else
111173 + ac_ext=cpp
111174 +ac_cpp='$CXXCPP $CPPFLAGS'
111175 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111176 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111177 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111179 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111180 +/* end confdefs.h. */
111181 +#include <math.h>
111183 +main ()
111185 + _modff(0, 0);
111187 + return 0;
111189 +_ACEOF
111190 +if ac_fn_cxx_try_compile "$LINENO"; then :
111191 + glibcxx_cv_func__modff_use=yes
111192 +else
111193 + glibcxx_cv_func__modff_use=no
111195 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111196 + ac_ext=c
111197 +ac_cpp='$CPP $CPPFLAGS'
111198 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111199 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111200 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111206 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
111207 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
111209 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
111210 + for ac_func in _modff
111211 +do :
111212 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
111213 +if test "x$ac_cv_func__modff" = x""yes; then :
111214 + cat >>confdefs.h <<_ACEOF
111215 +#define HAVE__MODFF 1
111216 +_ACEOF
111219 +done
111228 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
111229 +$as_echo_n "checking for modf declaration... " >&6; }
111230 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
111231 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
111232 + $as_echo_n "(cached) " >&6
111233 +else
111236 + ac_ext=cpp
111237 +ac_cpp='$CXXCPP $CPPFLAGS'
111238 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111239 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111240 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111242 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111243 +/* end confdefs.h. */
111244 +#include <math.h>
111246 +main ()
111248 + modf(0, 0);
111250 + return 0;
111252 +_ACEOF
111253 +if ac_fn_cxx_try_compile "$LINENO"; then :
111254 + glibcxx_cv_func_modf_use=yes
111255 +else
111256 + glibcxx_cv_func_modf_use=no
111258 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111259 + ac_ext=c
111260 +ac_cpp='$CPP $CPPFLAGS'
111261 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111262 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111263 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111269 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
111270 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
111272 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
111273 + for ac_func in modf
111274 +do :
111275 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
111276 +if test "x$ac_cv_func_modf" = x""yes; then :
111277 + cat >>confdefs.h <<_ACEOF
111278 +#define HAVE_MODF 1
111279 +_ACEOF
111282 +done
111284 + else
111286 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
111287 +$as_echo_n "checking for _modf declaration... " >&6; }
111288 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
111289 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
111290 + $as_echo_n "(cached) " >&6
111291 +else
111294 + ac_ext=cpp
111295 +ac_cpp='$CXXCPP $CPPFLAGS'
111296 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111297 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111298 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111300 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111301 +/* end confdefs.h. */
111302 +#include <math.h>
111304 +main ()
111306 + _modf(0, 0);
111308 + return 0;
111310 +_ACEOF
111311 +if ac_fn_cxx_try_compile "$LINENO"; then :
111312 + glibcxx_cv_func__modf_use=yes
111313 +else
111314 + glibcxx_cv_func__modf_use=no
111316 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111317 + ac_ext=c
111318 +ac_cpp='$CPP $CPPFLAGS'
111319 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111320 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111321 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111327 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
111328 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
111330 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
111331 + for ac_func in _modf
111332 +do :
111333 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
111334 +if test "x$ac_cv_func__modf" = x""yes; then :
111335 + cat >>confdefs.h <<_ACEOF
111336 +#define HAVE__MODF 1
111337 +_ACEOF
111340 +done
111349 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
111350 +$as_echo_n "checking for powf declaration... " >&6; }
111351 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
111352 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
111353 + $as_echo_n "(cached) " >&6
111354 +else
111357 + ac_ext=cpp
111358 +ac_cpp='$CXXCPP $CPPFLAGS'
111359 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111360 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111361 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111363 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111364 +/* end confdefs.h. */
111365 +#include <math.h>
111367 +main ()
111369 + powf(0, 0);
111371 + return 0;
111373 +_ACEOF
111374 +if ac_fn_cxx_try_compile "$LINENO"; then :
111375 + glibcxx_cv_func_powf_use=yes
111376 +else
111377 + glibcxx_cv_func_powf_use=no
111379 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111380 + ac_ext=c
111381 +ac_cpp='$CPP $CPPFLAGS'
111382 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111383 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111384 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111390 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
111391 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
111393 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
111394 + for ac_func in powf
111395 +do :
111396 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
111397 +if test "x$ac_cv_func_powf" = x""yes; then :
111398 + cat >>confdefs.h <<_ACEOF
111399 +#define HAVE_POWF 1
111400 +_ACEOF
111403 +done
111405 + else
111407 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
111408 +$as_echo_n "checking for _powf declaration... " >&6; }
111409 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
111410 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
111411 + $as_echo_n "(cached) " >&6
111412 +else
111415 + ac_ext=cpp
111416 +ac_cpp='$CXXCPP $CPPFLAGS'
111417 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111418 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111419 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111421 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111422 +/* end confdefs.h. */
111423 +#include <math.h>
111425 +main ()
111427 + _powf(0, 0);
111429 + return 0;
111431 +_ACEOF
111432 +if ac_fn_cxx_try_compile "$LINENO"; then :
111433 + glibcxx_cv_func__powf_use=yes
111434 +else
111435 + glibcxx_cv_func__powf_use=no
111437 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111438 + ac_ext=c
111439 +ac_cpp='$CPP $CPPFLAGS'
111440 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111441 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111442 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111448 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
111449 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
111451 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
111452 + for ac_func in _powf
111453 +do :
111454 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
111455 +if test "x$ac_cv_func__powf" = x""yes; then :
111456 + cat >>confdefs.h <<_ACEOF
111457 +#define HAVE__POWF 1
111458 +_ACEOF
111461 +done
111470 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
111471 +$as_echo_n "checking for sqrtf declaration... " >&6; }
111472 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
111473 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
111474 + $as_echo_n "(cached) " >&6
111475 +else
111478 + ac_ext=cpp
111479 +ac_cpp='$CXXCPP $CPPFLAGS'
111480 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111481 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111482 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111484 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111485 +/* end confdefs.h. */
111486 +#include <math.h>
111487 + #ifdef HAVE_IEEEFP_H
111488 + #include <ieeefp.h>
111489 + #endif
111492 +main ()
111494 + sqrtf(0);
111496 + return 0;
111498 +_ACEOF
111499 +if ac_fn_cxx_try_compile "$LINENO"; then :
111500 + glibcxx_cv_func_sqrtf_use=yes
111501 +else
111502 + glibcxx_cv_func_sqrtf_use=no
111504 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111505 + ac_ext=c
111506 +ac_cpp='$CPP $CPPFLAGS'
111507 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111508 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111509 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111515 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
111516 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
111518 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
111519 + for ac_func in sqrtf
111520 +do :
111521 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
111522 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
111523 + cat >>confdefs.h <<_ACEOF
111524 +#define HAVE_SQRTF 1
111525 +_ACEOF
111528 +done
111530 + else
111532 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
111533 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
111534 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
111535 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
111536 + $as_echo_n "(cached) " >&6
111537 +else
111540 + ac_ext=cpp
111541 +ac_cpp='$CXXCPP $CPPFLAGS'
111542 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111543 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111544 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111546 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111547 +/* end confdefs.h. */
111548 +#include <math.h>
111549 + #ifdef HAVE_IEEEFP_H
111550 + #include <ieeefp.h>
111551 + #endif
111554 +main ()
111556 + _sqrtf(0);
111558 + return 0;
111560 +_ACEOF
111561 +if ac_fn_cxx_try_compile "$LINENO"; then :
111562 + glibcxx_cv_func__sqrtf_use=yes
111563 +else
111564 + glibcxx_cv_func__sqrtf_use=no
111566 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111567 + ac_ext=c
111568 +ac_cpp='$CPP $CPPFLAGS'
111569 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111570 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111571 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111577 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
111578 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
111580 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
111581 + for ac_func in _sqrtf
111582 +do :
111583 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
111584 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
111585 + cat >>confdefs.h <<_ACEOF
111586 +#define HAVE__SQRTF 1
111587 +_ACEOF
111590 +done
111599 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
111600 +$as_echo_n "checking for sincosf declaration... " >&6; }
111601 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
111602 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
111603 + $as_echo_n "(cached) " >&6
111604 +else
111607 + ac_ext=cpp
111608 +ac_cpp='$CXXCPP $CPPFLAGS'
111609 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111610 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111611 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111613 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111614 +/* end confdefs.h. */
111615 +#include <math.h>
111617 +main ()
111619 + sincosf(0, 0, 0);
111621 + return 0;
111623 +_ACEOF
111624 +if ac_fn_cxx_try_compile "$LINENO"; then :
111625 + glibcxx_cv_func_sincosf_use=yes
111626 +else
111627 + glibcxx_cv_func_sincosf_use=no
111629 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111630 + ac_ext=c
111631 +ac_cpp='$CPP $CPPFLAGS'
111632 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111633 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111634 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111640 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
111641 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
111643 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
111644 + for ac_func in sincosf
111645 +do :
111646 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
111647 +if test "x$ac_cv_func_sincosf" = x""yes; then :
111648 + cat >>confdefs.h <<_ACEOF
111649 +#define HAVE_SINCOSF 1
111650 +_ACEOF
111653 +done
111655 + else
111657 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
111658 +$as_echo_n "checking for _sincosf declaration... " >&6; }
111659 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
111660 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
111661 + $as_echo_n "(cached) " >&6
111662 +else
111665 + ac_ext=cpp
111666 +ac_cpp='$CXXCPP $CPPFLAGS'
111667 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111668 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111669 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111671 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111672 +/* end confdefs.h. */
111673 +#include <math.h>
111675 +main ()
111677 + _sincosf(0, 0, 0);
111679 + return 0;
111681 +_ACEOF
111682 +if ac_fn_cxx_try_compile "$LINENO"; then :
111683 + glibcxx_cv_func__sincosf_use=yes
111684 +else
111685 + glibcxx_cv_func__sincosf_use=no
111687 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111688 + ac_ext=c
111689 +ac_cpp='$CPP $CPPFLAGS'
111690 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111691 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111692 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111698 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
111699 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
111701 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
111702 + for ac_func in _sincosf
111703 +do :
111704 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
111705 +if test "x$ac_cv_func__sincosf" = x""yes; then :
111706 + cat >>confdefs.h <<_ACEOF
111707 +#define HAVE__SINCOSF 1
111708 +_ACEOF
111711 +done
111720 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
111721 +$as_echo_n "checking for finitef declaration... " >&6; }
111722 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
111723 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
111724 + $as_echo_n "(cached) " >&6
111725 +else
111728 + ac_ext=cpp
111729 +ac_cpp='$CXXCPP $CPPFLAGS'
111730 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111731 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111732 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111734 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111735 +/* end confdefs.h. */
111736 +#include <math.h>
111737 + #ifdef HAVE_IEEEFP_H
111738 + #include <ieeefp.h>
111739 + #endif
111742 +main ()
111744 + finitef(0);
111746 + return 0;
111748 +_ACEOF
111749 +if ac_fn_cxx_try_compile "$LINENO"; then :
111750 + glibcxx_cv_func_finitef_use=yes
111751 +else
111752 + glibcxx_cv_func_finitef_use=no
111754 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111755 + ac_ext=c
111756 +ac_cpp='$CPP $CPPFLAGS'
111757 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111758 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111759 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111765 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
111766 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
111768 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
111769 + for ac_func in finitef
111770 +do :
111771 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
111772 +if test "x$ac_cv_func_finitef" = x""yes; then :
111773 + cat >>confdefs.h <<_ACEOF
111774 +#define HAVE_FINITEF 1
111775 +_ACEOF
111778 +done
111780 + else
111782 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
111783 +$as_echo_n "checking for _finitef declaration... " >&6; }
111784 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
111785 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
111786 + $as_echo_n "(cached) " >&6
111787 +else
111790 + ac_ext=cpp
111791 +ac_cpp='$CXXCPP $CPPFLAGS'
111792 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111793 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111794 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111796 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111797 +/* end confdefs.h. */
111798 +#include <math.h>
111799 + #ifdef HAVE_IEEEFP_H
111800 + #include <ieeefp.h>
111801 + #endif
111804 +main ()
111806 + _finitef(0);
111808 + return 0;
111810 +_ACEOF
111811 +if ac_fn_cxx_try_compile "$LINENO"; then :
111812 + glibcxx_cv_func__finitef_use=yes
111813 +else
111814 + glibcxx_cv_func__finitef_use=no
111816 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111817 + ac_ext=c
111818 +ac_cpp='$CPP $CPPFLAGS'
111819 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111820 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111821 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111827 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
111828 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
111830 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
111831 + for ac_func in _finitef
111832 +do :
111833 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
111834 +if test "x$ac_cv_func__finitef" = x""yes; then :
111835 + cat >>confdefs.h <<_ACEOF
111836 +#define HAVE__FINITEF 1
111837 +_ACEOF
111840 +done
111849 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
111850 +$as_echo_n "checking for long double trig functions... " >&6; }
111851 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
111852 + $as_echo_n "(cached) " >&6
111853 +else
111856 + ac_ext=cpp
111857 +ac_cpp='$CXXCPP $CPPFLAGS'
111858 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111859 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111860 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111862 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111863 +/* end confdefs.h. */
111864 +#include <math.h>
111866 +main ()
111868 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
111870 + return 0;
111872 +_ACEOF
111873 +if ac_fn_cxx_try_compile "$LINENO"; then :
111874 + glibcxx_cv_func_long_double_trig_use=yes
111875 +else
111876 + glibcxx_cv_func_long_double_trig_use=no
111878 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111879 + ac_ext=c
111880 +ac_cpp='$CPP $CPPFLAGS'
111881 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111882 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111883 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111887 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
111888 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
111889 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
111890 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
111891 +do :
111892 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
111893 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
111894 +eval as_val=\$$as_ac_var
111895 + if test "x$as_val" = x""yes; then :
111896 + cat >>confdefs.h <<_ACEOF
111897 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
111898 +_ACEOF
111901 +done
111903 + else
111904 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
111905 +$as_echo_n "checking for _long double trig functions... " >&6; }
111906 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
111907 + $as_echo_n "(cached) " >&6
111908 +else
111911 + ac_ext=cpp
111912 +ac_cpp='$CXXCPP $CPPFLAGS'
111913 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111914 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111915 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111917 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111918 +/* end confdefs.h. */
111919 +#include <math.h>
111921 +main ()
111923 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
111925 + return 0;
111927 +_ACEOF
111928 +if ac_fn_cxx_try_compile "$LINENO"; then :
111929 + glibcxx_cv_func__long_double_trig_use=yes
111930 +else
111931 + glibcxx_cv_func__long_double_trig_use=no
111933 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111934 + ac_ext=c
111935 +ac_cpp='$CPP $CPPFLAGS'
111936 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111937 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111938 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
111942 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
111943 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
111944 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
111945 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
111946 +do :
111947 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
111948 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
111949 +eval as_val=\$$as_ac_var
111950 + if test "x$as_val" = x""yes; then :
111951 + cat >>confdefs.h <<_ACEOF
111952 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
111953 +_ACEOF
111956 +done
111965 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
111966 +$as_echo_n "checking for long double round functions... " >&6; }
111967 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
111968 + $as_echo_n "(cached) " >&6
111969 +else
111972 + ac_ext=cpp
111973 +ac_cpp='$CXXCPP $CPPFLAGS'
111974 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111975 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111976 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
111978 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
111979 +/* end confdefs.h. */
111980 +#include <math.h>
111982 +main ()
111984 +ceill (0); floorl (0);
111986 + return 0;
111988 +_ACEOF
111989 +if ac_fn_cxx_try_compile "$LINENO"; then :
111990 + glibcxx_cv_func_long_double_round_use=yes
111991 +else
111992 + glibcxx_cv_func_long_double_round_use=no
111994 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
111995 + ac_ext=c
111996 +ac_cpp='$CPP $CPPFLAGS'
111997 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
111998 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
111999 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112003 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
112004 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
112005 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
112006 + for ac_func in ceill floorl
112007 +do :
112008 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
112009 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
112010 +eval as_val=\$$as_ac_var
112011 + if test "x$as_val" = x""yes; then :
112012 + cat >>confdefs.h <<_ACEOF
112013 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
112014 +_ACEOF
112017 +done
112019 + else
112020 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
112021 +$as_echo_n "checking for _long double round functions... " >&6; }
112022 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
112023 + $as_echo_n "(cached) " >&6
112024 +else
112027 + ac_ext=cpp
112028 +ac_cpp='$CXXCPP $CPPFLAGS'
112029 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112030 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112031 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112033 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112034 +/* end confdefs.h. */
112035 +#include <math.h>
112037 +main ()
112039 +_ceill (0); _floorl (0);
112041 + return 0;
112043 +_ACEOF
112044 +if ac_fn_cxx_try_compile "$LINENO"; then :
112045 + glibcxx_cv_func__long_double_round_use=yes
112046 +else
112047 + glibcxx_cv_func__long_double_round_use=no
112049 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112050 + ac_ext=c
112051 +ac_cpp='$CPP $CPPFLAGS'
112052 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112053 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112054 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112058 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
112059 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
112060 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
112061 + for ac_func in _ceill _floorl
112062 +do :
112063 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
112064 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
112065 +eval as_val=\$$as_ac_var
112066 + if test "x$as_val" = x""yes; then :
112067 + cat >>confdefs.h <<_ACEOF
112068 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
112069 +_ACEOF
112072 +done
112082 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
112083 +$as_echo_n "checking for isnanl declaration... " >&6; }
112084 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
112085 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
112086 + $as_echo_n "(cached) " >&6
112087 +else
112090 + ac_ext=cpp
112091 +ac_cpp='$CXXCPP $CPPFLAGS'
112092 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112093 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112094 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112096 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112097 +/* end confdefs.h. */
112098 +#include <math.h>
112099 + #ifdef HAVE_IEEEFP_H
112100 + #include <ieeefp.h>
112101 + #endif
112104 +main ()
112106 + isnanl(0);
112108 + return 0;
112110 +_ACEOF
112111 +if ac_fn_cxx_try_compile "$LINENO"; then :
112112 + glibcxx_cv_func_isnanl_use=yes
112113 +else
112114 + glibcxx_cv_func_isnanl_use=no
112116 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112117 + ac_ext=c
112118 +ac_cpp='$CPP $CPPFLAGS'
112119 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112120 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112121 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112127 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
112128 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
112130 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
112131 + for ac_func in isnanl
112132 +do :
112133 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
112134 +if test "x$ac_cv_func_isnanl" = x""yes; then :
112135 + cat >>confdefs.h <<_ACEOF
112136 +#define HAVE_ISNANL 1
112137 +_ACEOF
112140 +done
112142 + else
112144 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
112145 +$as_echo_n "checking for _isnanl declaration... " >&6; }
112146 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
112147 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
112148 + $as_echo_n "(cached) " >&6
112149 +else
112152 + ac_ext=cpp
112153 +ac_cpp='$CXXCPP $CPPFLAGS'
112154 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112155 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112156 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112158 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112159 +/* end confdefs.h. */
112160 +#include <math.h>
112161 + #ifdef HAVE_IEEEFP_H
112162 + #include <ieeefp.h>
112163 + #endif
112166 +main ()
112168 + _isnanl(0);
112170 + return 0;
112172 +_ACEOF
112173 +if ac_fn_cxx_try_compile "$LINENO"; then :
112174 + glibcxx_cv_func__isnanl_use=yes
112175 +else
112176 + glibcxx_cv_func__isnanl_use=no
112178 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112179 + ac_ext=c
112180 +ac_cpp='$CPP $CPPFLAGS'
112181 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112182 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112183 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112189 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
112190 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
112192 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
112193 + for ac_func in _isnanl
112194 +do :
112195 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
112196 +if test "x$ac_cv_func__isnanl" = x""yes; then :
112197 + cat >>confdefs.h <<_ACEOF
112198 +#define HAVE__ISNANL 1
112199 +_ACEOF
112202 +done
112211 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
112212 +$as_echo_n "checking for isinfl declaration... " >&6; }
112213 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
112214 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
112215 + $as_echo_n "(cached) " >&6
112216 +else
112219 + ac_ext=cpp
112220 +ac_cpp='$CXXCPP $CPPFLAGS'
112221 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112222 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112223 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112225 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112226 +/* end confdefs.h. */
112227 +#include <math.h>
112228 + #ifdef HAVE_IEEEFP_H
112229 + #include <ieeefp.h>
112230 + #endif
112233 +main ()
112235 + isinfl(0);
112237 + return 0;
112239 +_ACEOF
112240 +if ac_fn_cxx_try_compile "$LINENO"; then :
112241 + glibcxx_cv_func_isinfl_use=yes
112242 +else
112243 + glibcxx_cv_func_isinfl_use=no
112245 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112246 + ac_ext=c
112247 +ac_cpp='$CPP $CPPFLAGS'
112248 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112249 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112250 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112256 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
112257 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
112259 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
112260 + for ac_func in isinfl
112261 +do :
112262 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
112263 +if test "x$ac_cv_func_isinfl" = x""yes; then :
112264 + cat >>confdefs.h <<_ACEOF
112265 +#define HAVE_ISINFL 1
112266 +_ACEOF
112269 +done
112271 + else
112273 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
112274 +$as_echo_n "checking for _isinfl declaration... " >&6; }
112275 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
112276 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
112277 + $as_echo_n "(cached) " >&6
112278 +else
112281 + ac_ext=cpp
112282 +ac_cpp='$CXXCPP $CPPFLAGS'
112283 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112284 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112285 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112287 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112288 +/* end confdefs.h. */
112289 +#include <math.h>
112290 + #ifdef HAVE_IEEEFP_H
112291 + #include <ieeefp.h>
112292 + #endif
112295 +main ()
112297 + _isinfl(0);
112299 + return 0;
112301 +_ACEOF
112302 +if ac_fn_cxx_try_compile "$LINENO"; then :
112303 + glibcxx_cv_func__isinfl_use=yes
112304 +else
112305 + glibcxx_cv_func__isinfl_use=no
112307 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112308 + ac_ext=c
112309 +ac_cpp='$CPP $CPPFLAGS'
112310 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112311 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112312 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112318 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
112319 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
112321 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
112322 + for ac_func in _isinfl
112323 +do :
112324 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
112325 +if test "x$ac_cv_func__isinfl" = x""yes; then :
112326 + cat >>confdefs.h <<_ACEOF
112327 +#define HAVE__ISINFL 1
112328 +_ACEOF
112331 +done
112340 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
112341 +$as_echo_n "checking for atan2l declaration... " >&6; }
112342 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
112343 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
112344 + $as_echo_n "(cached) " >&6
112345 +else
112348 + ac_ext=cpp
112349 +ac_cpp='$CXXCPP $CPPFLAGS'
112350 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112351 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112352 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112354 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112355 +/* end confdefs.h. */
112356 +#include <math.h>
112358 +main ()
112360 + atan2l(0, 0);
112362 + return 0;
112364 +_ACEOF
112365 +if ac_fn_cxx_try_compile "$LINENO"; then :
112366 + glibcxx_cv_func_atan2l_use=yes
112367 +else
112368 + glibcxx_cv_func_atan2l_use=no
112370 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112371 + ac_ext=c
112372 +ac_cpp='$CPP $CPPFLAGS'
112373 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112374 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112375 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112381 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
112382 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
112384 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
112385 + for ac_func in atan2l
112386 +do :
112387 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
112388 +if test "x$ac_cv_func_atan2l" = x""yes; then :
112389 + cat >>confdefs.h <<_ACEOF
112390 +#define HAVE_ATAN2L 1
112391 +_ACEOF
112394 +done
112396 + else
112398 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
112399 +$as_echo_n "checking for _atan2l declaration... " >&6; }
112400 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
112401 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
112402 + $as_echo_n "(cached) " >&6
112403 +else
112406 + ac_ext=cpp
112407 +ac_cpp='$CXXCPP $CPPFLAGS'
112408 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112409 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112410 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112412 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112413 +/* end confdefs.h. */
112414 +#include <math.h>
112416 +main ()
112418 + _atan2l(0, 0);
112420 + return 0;
112422 +_ACEOF
112423 +if ac_fn_cxx_try_compile "$LINENO"; then :
112424 + glibcxx_cv_func__atan2l_use=yes
112425 +else
112426 + glibcxx_cv_func__atan2l_use=no
112428 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112429 + ac_ext=c
112430 +ac_cpp='$CPP $CPPFLAGS'
112431 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112432 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112433 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112439 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
112440 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
112442 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
112443 + for ac_func in _atan2l
112444 +do :
112445 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
112446 +if test "x$ac_cv_func__atan2l" = x""yes; then :
112447 + cat >>confdefs.h <<_ACEOF
112448 +#define HAVE__ATAN2L 1
112449 +_ACEOF
112452 +done
112461 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
112462 +$as_echo_n "checking for expl declaration... " >&6; }
112463 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
112464 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
112465 + $as_echo_n "(cached) " >&6
112466 +else
112469 + ac_ext=cpp
112470 +ac_cpp='$CXXCPP $CPPFLAGS'
112471 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112472 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112473 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112475 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112476 +/* end confdefs.h. */
112477 +#include <math.h>
112478 + #ifdef HAVE_IEEEFP_H
112479 + #include <ieeefp.h>
112480 + #endif
112483 +main ()
112485 + expl(0);
112487 + return 0;
112489 +_ACEOF
112490 +if ac_fn_cxx_try_compile "$LINENO"; then :
112491 + glibcxx_cv_func_expl_use=yes
112492 +else
112493 + glibcxx_cv_func_expl_use=no
112495 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112496 + ac_ext=c
112497 +ac_cpp='$CPP $CPPFLAGS'
112498 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112499 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112500 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112506 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
112507 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
112509 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
112510 + for ac_func in expl
112511 +do :
112512 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
112513 +if test "x$ac_cv_func_expl" = x""yes; then :
112514 + cat >>confdefs.h <<_ACEOF
112515 +#define HAVE_EXPL 1
112516 +_ACEOF
112519 +done
112521 + else
112523 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
112524 +$as_echo_n "checking for _expl declaration... " >&6; }
112525 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
112526 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
112527 + $as_echo_n "(cached) " >&6
112528 +else
112531 + ac_ext=cpp
112532 +ac_cpp='$CXXCPP $CPPFLAGS'
112533 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112534 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112535 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112537 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112538 +/* end confdefs.h. */
112539 +#include <math.h>
112540 + #ifdef HAVE_IEEEFP_H
112541 + #include <ieeefp.h>
112542 + #endif
112545 +main ()
112547 + _expl(0);
112549 + return 0;
112551 +_ACEOF
112552 +if ac_fn_cxx_try_compile "$LINENO"; then :
112553 + glibcxx_cv_func__expl_use=yes
112554 +else
112555 + glibcxx_cv_func__expl_use=no
112557 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112558 + ac_ext=c
112559 +ac_cpp='$CPP $CPPFLAGS'
112560 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112561 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112562 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112568 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
112569 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
112571 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
112572 + for ac_func in _expl
112573 +do :
112574 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
112575 +if test "x$ac_cv_func__expl" = x""yes; then :
112576 + cat >>confdefs.h <<_ACEOF
112577 +#define HAVE__EXPL 1
112578 +_ACEOF
112581 +done
112590 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
112591 +$as_echo_n "checking for fabsl declaration... " >&6; }
112592 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
112593 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
112594 + $as_echo_n "(cached) " >&6
112595 +else
112598 + ac_ext=cpp
112599 +ac_cpp='$CXXCPP $CPPFLAGS'
112600 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112601 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112602 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112604 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112605 +/* end confdefs.h. */
112606 +#include <math.h>
112607 + #ifdef HAVE_IEEEFP_H
112608 + #include <ieeefp.h>
112609 + #endif
112612 +main ()
112614 + fabsl(0);
112616 + return 0;
112618 +_ACEOF
112619 +if ac_fn_cxx_try_compile "$LINENO"; then :
112620 + glibcxx_cv_func_fabsl_use=yes
112621 +else
112622 + glibcxx_cv_func_fabsl_use=no
112624 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112625 + ac_ext=c
112626 +ac_cpp='$CPP $CPPFLAGS'
112627 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112628 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112629 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112635 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
112636 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
112638 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
112639 + for ac_func in fabsl
112640 +do :
112641 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
112642 +if test "x$ac_cv_func_fabsl" = x""yes; then :
112643 + cat >>confdefs.h <<_ACEOF
112644 +#define HAVE_FABSL 1
112645 +_ACEOF
112648 +done
112650 + else
112652 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
112653 +$as_echo_n "checking for _fabsl declaration... " >&6; }
112654 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
112655 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
112656 + $as_echo_n "(cached) " >&6
112657 +else
112660 + ac_ext=cpp
112661 +ac_cpp='$CXXCPP $CPPFLAGS'
112662 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112663 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112664 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112666 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112667 +/* end confdefs.h. */
112668 +#include <math.h>
112669 + #ifdef HAVE_IEEEFP_H
112670 + #include <ieeefp.h>
112671 + #endif
112674 +main ()
112676 + _fabsl(0);
112678 + return 0;
112680 +_ACEOF
112681 +if ac_fn_cxx_try_compile "$LINENO"; then :
112682 + glibcxx_cv_func__fabsl_use=yes
112683 +else
112684 + glibcxx_cv_func__fabsl_use=no
112686 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112687 + ac_ext=c
112688 +ac_cpp='$CPP $CPPFLAGS'
112689 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112690 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112691 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112697 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
112698 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
112700 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
112701 + for ac_func in _fabsl
112702 +do :
112703 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
112704 +if test "x$ac_cv_func__fabsl" = x""yes; then :
112705 + cat >>confdefs.h <<_ACEOF
112706 +#define HAVE__FABSL 1
112707 +_ACEOF
112710 +done
112719 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
112720 +$as_echo_n "checking for fmodl declaration... " >&6; }
112721 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
112722 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
112723 + $as_echo_n "(cached) " >&6
112724 +else
112727 + ac_ext=cpp
112728 +ac_cpp='$CXXCPP $CPPFLAGS'
112729 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112730 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112731 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112733 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112734 +/* end confdefs.h. */
112735 +#include <math.h>
112737 +main ()
112739 + fmodl(0, 0);
112741 + return 0;
112743 +_ACEOF
112744 +if ac_fn_cxx_try_compile "$LINENO"; then :
112745 + glibcxx_cv_func_fmodl_use=yes
112746 +else
112747 + glibcxx_cv_func_fmodl_use=no
112749 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112750 + ac_ext=c
112751 +ac_cpp='$CPP $CPPFLAGS'
112752 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112753 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112754 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112760 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
112761 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
112763 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
112764 + for ac_func in fmodl
112765 +do :
112766 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
112767 +if test "x$ac_cv_func_fmodl" = x""yes; then :
112768 + cat >>confdefs.h <<_ACEOF
112769 +#define HAVE_FMODL 1
112770 +_ACEOF
112773 +done
112775 + else
112777 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
112778 +$as_echo_n "checking for _fmodl declaration... " >&6; }
112779 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
112780 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
112781 + $as_echo_n "(cached) " >&6
112782 +else
112785 + ac_ext=cpp
112786 +ac_cpp='$CXXCPP $CPPFLAGS'
112787 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112788 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112789 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112791 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112792 +/* end confdefs.h. */
112793 +#include <math.h>
112795 +main ()
112797 + _fmodl(0, 0);
112799 + return 0;
112801 +_ACEOF
112802 +if ac_fn_cxx_try_compile "$LINENO"; then :
112803 + glibcxx_cv_func__fmodl_use=yes
112804 +else
112805 + glibcxx_cv_func__fmodl_use=no
112807 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112808 + ac_ext=c
112809 +ac_cpp='$CPP $CPPFLAGS'
112810 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112811 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112812 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112818 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
112819 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
112821 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
112822 + for ac_func in _fmodl
112823 +do :
112824 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
112825 +if test "x$ac_cv_func__fmodl" = x""yes; then :
112826 + cat >>confdefs.h <<_ACEOF
112827 +#define HAVE__FMODL 1
112828 +_ACEOF
112831 +done
112840 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
112841 +$as_echo_n "checking for frexpl declaration... " >&6; }
112842 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
112843 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
112844 + $as_echo_n "(cached) " >&6
112845 +else
112848 + ac_ext=cpp
112849 +ac_cpp='$CXXCPP $CPPFLAGS'
112850 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112851 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112852 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112854 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112855 +/* end confdefs.h. */
112856 +#include <math.h>
112858 +main ()
112860 + frexpl(0, 0);
112862 + return 0;
112864 +_ACEOF
112865 +if ac_fn_cxx_try_compile "$LINENO"; then :
112866 + glibcxx_cv_func_frexpl_use=yes
112867 +else
112868 + glibcxx_cv_func_frexpl_use=no
112870 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112871 + ac_ext=c
112872 +ac_cpp='$CPP $CPPFLAGS'
112873 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112874 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112875 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112881 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
112882 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
112884 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
112885 + for ac_func in frexpl
112886 +do :
112887 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
112888 +if test "x$ac_cv_func_frexpl" = x""yes; then :
112889 + cat >>confdefs.h <<_ACEOF
112890 +#define HAVE_FREXPL 1
112891 +_ACEOF
112894 +done
112896 + else
112898 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
112899 +$as_echo_n "checking for _frexpl declaration... " >&6; }
112900 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
112901 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
112902 + $as_echo_n "(cached) " >&6
112903 +else
112906 + ac_ext=cpp
112907 +ac_cpp='$CXXCPP $CPPFLAGS'
112908 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112909 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112910 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112912 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112913 +/* end confdefs.h. */
112914 +#include <math.h>
112916 +main ()
112918 + _frexpl(0, 0);
112920 + return 0;
112922 +_ACEOF
112923 +if ac_fn_cxx_try_compile "$LINENO"; then :
112924 + glibcxx_cv_func__frexpl_use=yes
112925 +else
112926 + glibcxx_cv_func__frexpl_use=no
112928 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112929 + ac_ext=c
112930 +ac_cpp='$CPP $CPPFLAGS'
112931 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112932 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112933 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
112939 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
112940 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
112942 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
112943 + for ac_func in _frexpl
112944 +do :
112945 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
112946 +if test "x$ac_cv_func__frexpl" = x""yes; then :
112947 + cat >>confdefs.h <<_ACEOF
112948 +#define HAVE__FREXPL 1
112949 +_ACEOF
112952 +done
112961 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
112962 +$as_echo_n "checking for hypotl declaration... " >&6; }
112963 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
112964 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
112965 + $as_echo_n "(cached) " >&6
112966 +else
112969 + ac_ext=cpp
112970 +ac_cpp='$CXXCPP $CPPFLAGS'
112971 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112972 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112973 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
112975 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
112976 +/* end confdefs.h. */
112977 +#include <math.h>
112979 +main ()
112981 + hypotl(0, 0);
112983 + return 0;
112985 +_ACEOF
112986 +if ac_fn_cxx_try_compile "$LINENO"; then :
112987 + glibcxx_cv_func_hypotl_use=yes
112988 +else
112989 + glibcxx_cv_func_hypotl_use=no
112991 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
112992 + ac_ext=c
112993 +ac_cpp='$CPP $CPPFLAGS'
112994 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
112995 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
112996 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113002 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
113003 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
113005 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
113006 + for ac_func in hypotl
113007 +do :
113008 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
113009 +if test "x$ac_cv_func_hypotl" = x""yes; then :
113010 + cat >>confdefs.h <<_ACEOF
113011 +#define HAVE_HYPOTL 1
113012 +_ACEOF
113015 +done
113017 + else
113019 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
113020 +$as_echo_n "checking for _hypotl declaration... " >&6; }
113021 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
113022 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
113023 + $as_echo_n "(cached) " >&6
113024 +else
113027 + ac_ext=cpp
113028 +ac_cpp='$CXXCPP $CPPFLAGS'
113029 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113030 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113031 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113033 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113034 +/* end confdefs.h. */
113035 +#include <math.h>
113037 +main ()
113039 + _hypotl(0, 0);
113041 + return 0;
113043 +_ACEOF
113044 +if ac_fn_cxx_try_compile "$LINENO"; then :
113045 + glibcxx_cv_func__hypotl_use=yes
113046 +else
113047 + glibcxx_cv_func__hypotl_use=no
113049 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113050 + ac_ext=c
113051 +ac_cpp='$CPP $CPPFLAGS'
113052 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113053 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113054 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113060 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
113061 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
113063 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
113064 + for ac_func in _hypotl
113065 +do :
113066 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
113067 +if test "x$ac_cv_func__hypotl" = x""yes; then :
113068 + cat >>confdefs.h <<_ACEOF
113069 +#define HAVE__HYPOTL 1
113070 +_ACEOF
113073 +done
113082 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
113083 +$as_echo_n "checking for ldexpl declaration... " >&6; }
113084 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
113085 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
113086 + $as_echo_n "(cached) " >&6
113087 +else
113090 + ac_ext=cpp
113091 +ac_cpp='$CXXCPP $CPPFLAGS'
113092 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113093 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113094 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113096 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113097 +/* end confdefs.h. */
113098 +#include <math.h>
113100 +main ()
113102 + ldexpl(0, 0);
113104 + return 0;
113106 +_ACEOF
113107 +if ac_fn_cxx_try_compile "$LINENO"; then :
113108 + glibcxx_cv_func_ldexpl_use=yes
113109 +else
113110 + glibcxx_cv_func_ldexpl_use=no
113112 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113113 + ac_ext=c
113114 +ac_cpp='$CPP $CPPFLAGS'
113115 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113116 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113117 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113123 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
113124 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
113126 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
113127 + for ac_func in ldexpl
113128 +do :
113129 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
113130 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
113131 + cat >>confdefs.h <<_ACEOF
113132 +#define HAVE_LDEXPL 1
113133 +_ACEOF
113136 +done
113138 + else
113140 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
113141 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
113142 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
113143 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
113144 + $as_echo_n "(cached) " >&6
113145 +else
113148 + ac_ext=cpp
113149 +ac_cpp='$CXXCPP $CPPFLAGS'
113150 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113151 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113152 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113154 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113155 +/* end confdefs.h. */
113156 +#include <math.h>
113158 +main ()
113160 + _ldexpl(0, 0);
113162 + return 0;
113164 +_ACEOF
113165 +if ac_fn_cxx_try_compile "$LINENO"; then :
113166 + glibcxx_cv_func__ldexpl_use=yes
113167 +else
113168 + glibcxx_cv_func__ldexpl_use=no
113170 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113171 + ac_ext=c
113172 +ac_cpp='$CPP $CPPFLAGS'
113173 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113174 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113175 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113181 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
113182 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
113184 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
113185 + for ac_func in _ldexpl
113186 +do :
113187 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
113188 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
113189 + cat >>confdefs.h <<_ACEOF
113190 +#define HAVE__LDEXPL 1
113191 +_ACEOF
113194 +done
113203 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
113204 +$as_echo_n "checking for logl declaration... " >&6; }
113205 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
113206 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
113207 + $as_echo_n "(cached) " >&6
113208 +else
113211 + ac_ext=cpp
113212 +ac_cpp='$CXXCPP $CPPFLAGS'
113213 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113214 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113215 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113217 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113218 +/* end confdefs.h. */
113219 +#include <math.h>
113220 + #ifdef HAVE_IEEEFP_H
113221 + #include <ieeefp.h>
113222 + #endif
113225 +main ()
113227 + logl(0);
113229 + return 0;
113231 +_ACEOF
113232 +if ac_fn_cxx_try_compile "$LINENO"; then :
113233 + glibcxx_cv_func_logl_use=yes
113234 +else
113235 + glibcxx_cv_func_logl_use=no
113237 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113238 + ac_ext=c
113239 +ac_cpp='$CPP $CPPFLAGS'
113240 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113241 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113242 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113248 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
113249 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
113251 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
113252 + for ac_func in logl
113253 +do :
113254 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
113255 +if test "x$ac_cv_func_logl" = x""yes; then :
113256 + cat >>confdefs.h <<_ACEOF
113257 +#define HAVE_LOGL 1
113258 +_ACEOF
113261 +done
113263 + else
113265 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
113266 +$as_echo_n "checking for _logl declaration... " >&6; }
113267 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
113268 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
113269 + $as_echo_n "(cached) " >&6
113270 +else
113273 + ac_ext=cpp
113274 +ac_cpp='$CXXCPP $CPPFLAGS'
113275 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113276 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113277 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113279 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113280 +/* end confdefs.h. */
113281 +#include <math.h>
113282 + #ifdef HAVE_IEEEFP_H
113283 + #include <ieeefp.h>
113284 + #endif
113287 +main ()
113289 + _logl(0);
113291 + return 0;
113293 +_ACEOF
113294 +if ac_fn_cxx_try_compile "$LINENO"; then :
113295 + glibcxx_cv_func__logl_use=yes
113296 +else
113297 + glibcxx_cv_func__logl_use=no
113299 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113300 + ac_ext=c
113301 +ac_cpp='$CPP $CPPFLAGS'
113302 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113303 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113304 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113310 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
113311 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
113313 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
113314 + for ac_func in _logl
113315 +do :
113316 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
113317 +if test "x$ac_cv_func__logl" = x""yes; then :
113318 + cat >>confdefs.h <<_ACEOF
113319 +#define HAVE__LOGL 1
113320 +_ACEOF
113323 +done
113332 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
113333 +$as_echo_n "checking for log10l declaration... " >&6; }
113334 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
113335 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
113336 + $as_echo_n "(cached) " >&6
113337 +else
113340 + ac_ext=cpp
113341 +ac_cpp='$CXXCPP $CPPFLAGS'
113342 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113343 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113344 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113346 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113347 +/* end confdefs.h. */
113348 +#include <math.h>
113349 + #ifdef HAVE_IEEEFP_H
113350 + #include <ieeefp.h>
113351 + #endif
113354 +main ()
113356 + log10l(0);
113358 + return 0;
113360 +_ACEOF
113361 +if ac_fn_cxx_try_compile "$LINENO"; then :
113362 + glibcxx_cv_func_log10l_use=yes
113363 +else
113364 + glibcxx_cv_func_log10l_use=no
113366 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113367 + ac_ext=c
113368 +ac_cpp='$CPP $CPPFLAGS'
113369 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113370 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113371 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113377 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
113378 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
113380 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
113381 + for ac_func in log10l
113382 +do :
113383 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
113384 +if test "x$ac_cv_func_log10l" = x""yes; then :
113385 + cat >>confdefs.h <<_ACEOF
113386 +#define HAVE_LOG10L 1
113387 +_ACEOF
113390 +done
113392 + else
113394 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
113395 +$as_echo_n "checking for _log10l declaration... " >&6; }
113396 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
113397 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
113398 + $as_echo_n "(cached) " >&6
113399 +else
113402 + ac_ext=cpp
113403 +ac_cpp='$CXXCPP $CPPFLAGS'
113404 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113405 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113406 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113408 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113409 +/* end confdefs.h. */
113410 +#include <math.h>
113411 + #ifdef HAVE_IEEEFP_H
113412 + #include <ieeefp.h>
113413 + #endif
113416 +main ()
113418 + _log10l(0);
113420 + return 0;
113422 +_ACEOF
113423 +if ac_fn_cxx_try_compile "$LINENO"; then :
113424 + glibcxx_cv_func__log10l_use=yes
113425 +else
113426 + glibcxx_cv_func__log10l_use=no
113428 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113429 + ac_ext=c
113430 +ac_cpp='$CPP $CPPFLAGS'
113431 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113432 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113433 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113439 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
113440 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
113442 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
113443 + for ac_func in _log10l
113444 +do :
113445 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
113446 +if test "x$ac_cv_func__log10l" = x""yes; then :
113447 + cat >>confdefs.h <<_ACEOF
113448 +#define HAVE__LOG10L 1
113449 +_ACEOF
113452 +done
113461 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
113462 +$as_echo_n "checking for modfl declaration... " >&6; }
113463 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
113464 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
113465 + $as_echo_n "(cached) " >&6
113466 +else
113469 + ac_ext=cpp
113470 +ac_cpp='$CXXCPP $CPPFLAGS'
113471 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113472 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113473 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113475 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113476 +/* end confdefs.h. */
113477 +#include <math.h>
113479 +main ()
113481 + modfl(0, 0);
113483 + return 0;
113485 +_ACEOF
113486 +if ac_fn_cxx_try_compile "$LINENO"; then :
113487 + glibcxx_cv_func_modfl_use=yes
113488 +else
113489 + glibcxx_cv_func_modfl_use=no
113491 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113492 + ac_ext=c
113493 +ac_cpp='$CPP $CPPFLAGS'
113494 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113495 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113496 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113502 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
113503 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
113505 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
113506 + for ac_func in modfl
113507 +do :
113508 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
113509 +if test "x$ac_cv_func_modfl" = x""yes; then :
113510 + cat >>confdefs.h <<_ACEOF
113511 +#define HAVE_MODFL 1
113512 +_ACEOF
113515 +done
113517 + else
113519 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
113520 +$as_echo_n "checking for _modfl declaration... " >&6; }
113521 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
113522 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
113523 + $as_echo_n "(cached) " >&6
113524 +else
113527 + ac_ext=cpp
113528 +ac_cpp='$CXXCPP $CPPFLAGS'
113529 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113530 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113531 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113533 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113534 +/* end confdefs.h. */
113535 +#include <math.h>
113537 +main ()
113539 + _modfl(0, 0);
113541 + return 0;
113543 +_ACEOF
113544 +if ac_fn_cxx_try_compile "$LINENO"; then :
113545 + glibcxx_cv_func__modfl_use=yes
113546 +else
113547 + glibcxx_cv_func__modfl_use=no
113549 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113550 + ac_ext=c
113551 +ac_cpp='$CPP $CPPFLAGS'
113552 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113553 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113554 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113560 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
113561 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
113563 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
113564 + for ac_func in _modfl
113565 +do :
113566 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
113567 +if test "x$ac_cv_func__modfl" = x""yes; then :
113568 + cat >>confdefs.h <<_ACEOF
113569 +#define HAVE__MODFL 1
113570 +_ACEOF
113573 +done
113582 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
113583 +$as_echo_n "checking for powl declaration... " >&6; }
113584 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
113585 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
113586 + $as_echo_n "(cached) " >&6
113587 +else
113590 + ac_ext=cpp
113591 +ac_cpp='$CXXCPP $CPPFLAGS'
113592 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113593 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113594 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113596 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113597 +/* end confdefs.h. */
113598 +#include <math.h>
113600 +main ()
113602 + powl(0, 0);
113604 + return 0;
113606 +_ACEOF
113607 +if ac_fn_cxx_try_compile "$LINENO"; then :
113608 + glibcxx_cv_func_powl_use=yes
113609 +else
113610 + glibcxx_cv_func_powl_use=no
113612 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113613 + ac_ext=c
113614 +ac_cpp='$CPP $CPPFLAGS'
113615 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113616 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113617 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113623 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
113624 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
113626 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
113627 + for ac_func in powl
113628 +do :
113629 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
113630 +if test "x$ac_cv_func_powl" = x""yes; then :
113631 + cat >>confdefs.h <<_ACEOF
113632 +#define HAVE_POWL 1
113633 +_ACEOF
113636 +done
113638 + else
113640 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
113641 +$as_echo_n "checking for _powl declaration... " >&6; }
113642 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
113643 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
113644 + $as_echo_n "(cached) " >&6
113645 +else
113648 + ac_ext=cpp
113649 +ac_cpp='$CXXCPP $CPPFLAGS'
113650 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113651 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113652 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113654 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113655 +/* end confdefs.h. */
113656 +#include <math.h>
113658 +main ()
113660 + _powl(0, 0);
113662 + return 0;
113664 +_ACEOF
113665 +if ac_fn_cxx_try_compile "$LINENO"; then :
113666 + glibcxx_cv_func__powl_use=yes
113667 +else
113668 + glibcxx_cv_func__powl_use=no
113670 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113671 + ac_ext=c
113672 +ac_cpp='$CPP $CPPFLAGS'
113673 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113674 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113675 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113681 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
113682 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
113684 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
113685 + for ac_func in _powl
113686 +do :
113687 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
113688 +if test "x$ac_cv_func__powl" = x""yes; then :
113689 + cat >>confdefs.h <<_ACEOF
113690 +#define HAVE__POWL 1
113691 +_ACEOF
113694 +done
113703 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
113704 +$as_echo_n "checking for sqrtl declaration... " >&6; }
113705 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
113706 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
113707 + $as_echo_n "(cached) " >&6
113708 +else
113711 + ac_ext=cpp
113712 +ac_cpp='$CXXCPP $CPPFLAGS'
113713 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113714 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113715 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113717 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113718 +/* end confdefs.h. */
113719 +#include <math.h>
113720 + #ifdef HAVE_IEEEFP_H
113721 + #include <ieeefp.h>
113722 + #endif
113725 +main ()
113727 + sqrtl(0);
113729 + return 0;
113731 +_ACEOF
113732 +if ac_fn_cxx_try_compile "$LINENO"; then :
113733 + glibcxx_cv_func_sqrtl_use=yes
113734 +else
113735 + glibcxx_cv_func_sqrtl_use=no
113737 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113738 + ac_ext=c
113739 +ac_cpp='$CPP $CPPFLAGS'
113740 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113741 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113742 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113748 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
113749 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
113751 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
113752 + for ac_func in sqrtl
113753 +do :
113754 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
113755 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
113756 + cat >>confdefs.h <<_ACEOF
113757 +#define HAVE_SQRTL 1
113758 +_ACEOF
113761 +done
113763 + else
113765 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
113766 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
113767 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
113768 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
113769 + $as_echo_n "(cached) " >&6
113770 +else
113773 + ac_ext=cpp
113774 +ac_cpp='$CXXCPP $CPPFLAGS'
113775 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113776 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113777 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113779 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113780 +/* end confdefs.h. */
113781 +#include <math.h>
113782 + #ifdef HAVE_IEEEFP_H
113783 + #include <ieeefp.h>
113784 + #endif
113787 +main ()
113789 + _sqrtl(0);
113791 + return 0;
113793 +_ACEOF
113794 +if ac_fn_cxx_try_compile "$LINENO"; then :
113795 + glibcxx_cv_func__sqrtl_use=yes
113796 +else
113797 + glibcxx_cv_func__sqrtl_use=no
113799 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113800 + ac_ext=c
113801 +ac_cpp='$CPP $CPPFLAGS'
113802 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113803 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113804 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113810 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
113811 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
113813 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
113814 + for ac_func in _sqrtl
113815 +do :
113816 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
113817 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
113818 + cat >>confdefs.h <<_ACEOF
113819 +#define HAVE__SQRTL 1
113820 +_ACEOF
113823 +done
113832 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
113833 +$as_echo_n "checking for sincosl declaration... " >&6; }
113834 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
113835 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
113836 + $as_echo_n "(cached) " >&6
113837 +else
113840 + ac_ext=cpp
113841 +ac_cpp='$CXXCPP $CPPFLAGS'
113842 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113843 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113844 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113846 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113847 +/* end confdefs.h. */
113848 +#include <math.h>
113850 +main ()
113852 + sincosl(0, 0, 0);
113854 + return 0;
113856 +_ACEOF
113857 +if ac_fn_cxx_try_compile "$LINENO"; then :
113858 + glibcxx_cv_func_sincosl_use=yes
113859 +else
113860 + glibcxx_cv_func_sincosl_use=no
113862 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113863 + ac_ext=c
113864 +ac_cpp='$CPP $CPPFLAGS'
113865 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113866 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113867 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113873 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
113874 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
113876 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
113877 + for ac_func in sincosl
113878 +do :
113879 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
113880 +if test "x$ac_cv_func_sincosl" = x""yes; then :
113881 + cat >>confdefs.h <<_ACEOF
113882 +#define HAVE_SINCOSL 1
113883 +_ACEOF
113886 +done
113888 + else
113890 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
113891 +$as_echo_n "checking for _sincosl declaration... " >&6; }
113892 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
113893 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
113894 + $as_echo_n "(cached) " >&6
113895 +else
113898 + ac_ext=cpp
113899 +ac_cpp='$CXXCPP $CPPFLAGS'
113900 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113901 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113902 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113904 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113905 +/* end confdefs.h. */
113906 +#include <math.h>
113908 +main ()
113910 + _sincosl(0, 0, 0);
113912 + return 0;
113914 +_ACEOF
113915 +if ac_fn_cxx_try_compile "$LINENO"; then :
113916 + glibcxx_cv_func__sincosl_use=yes
113917 +else
113918 + glibcxx_cv_func__sincosl_use=no
113920 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113921 + ac_ext=c
113922 +ac_cpp='$CPP $CPPFLAGS'
113923 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113924 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113925 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113931 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
113932 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
113934 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
113935 + for ac_func in _sincosl
113936 +do :
113937 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
113938 +if test "x$ac_cv_func__sincosl" = x""yes; then :
113939 + cat >>confdefs.h <<_ACEOF
113940 +#define HAVE__SINCOSL 1
113941 +_ACEOF
113944 +done
113953 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
113954 +$as_echo_n "checking for finitel declaration... " >&6; }
113955 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
113956 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
113957 + $as_echo_n "(cached) " >&6
113958 +else
113961 + ac_ext=cpp
113962 +ac_cpp='$CXXCPP $CPPFLAGS'
113963 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113964 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113965 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
113967 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
113968 +/* end confdefs.h. */
113969 +#include <math.h>
113970 + #ifdef HAVE_IEEEFP_H
113971 + #include <ieeefp.h>
113972 + #endif
113975 +main ()
113977 + finitel(0);
113979 + return 0;
113981 +_ACEOF
113982 +if ac_fn_cxx_try_compile "$LINENO"; then :
113983 + glibcxx_cv_func_finitel_use=yes
113984 +else
113985 + glibcxx_cv_func_finitel_use=no
113987 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
113988 + ac_ext=c
113989 +ac_cpp='$CPP $CPPFLAGS'
113990 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
113991 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
113992 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
113998 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
113999 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
114001 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
114002 + for ac_func in finitel
114003 +do :
114004 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
114005 +if test "x$ac_cv_func_finitel" = x""yes; then :
114006 + cat >>confdefs.h <<_ACEOF
114007 +#define HAVE_FINITEL 1
114008 +_ACEOF
114011 +done
114013 + else
114015 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
114016 +$as_echo_n "checking for _finitel declaration... " >&6; }
114017 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
114018 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
114019 + $as_echo_n "(cached) " >&6
114020 +else
114023 + ac_ext=cpp
114024 +ac_cpp='$CXXCPP $CPPFLAGS'
114025 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114026 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114027 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114029 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114030 +/* end confdefs.h. */
114031 +#include <math.h>
114032 + #ifdef HAVE_IEEEFP_H
114033 + #include <ieeefp.h>
114034 + #endif
114037 +main ()
114039 + _finitel(0);
114041 + return 0;
114043 +_ACEOF
114044 +if ac_fn_cxx_try_compile "$LINENO"; then :
114045 + glibcxx_cv_func__finitel_use=yes
114046 +else
114047 + glibcxx_cv_func__finitel_use=no
114049 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114050 + ac_ext=c
114051 +ac_cpp='$CPP $CPPFLAGS'
114052 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114053 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114054 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114060 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
114061 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
114063 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
114064 + for ac_func in _finitel
114065 +do :
114066 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
114067 +if test "x$ac_cv_func__finitel" = x""yes; then :
114068 + cat >>confdefs.h <<_ACEOF
114069 +#define HAVE__FINITEL 1
114070 +_ACEOF
114073 +done
114081 + LIBS="$ac_save_LIBS"
114082 + CXXFLAGS="$ac_save_CXXFLAGS"
114085 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
114086 + ac_save_CXXFLAGS="$CXXFLAGS"
114087 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
114090 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
114091 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
114092 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
114093 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
114094 + $as_echo_n "(cached) " >&6
114095 +else
114098 + ac_ext=cpp
114099 +ac_cpp='$CXXCPP $CPPFLAGS'
114100 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114101 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114102 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114104 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114105 +/* end confdefs.h. */
114106 +#include <stdlib.h>
114108 +main ()
114110 + at_quick_exit(0);
114112 + return 0;
114114 +_ACEOF
114115 +if ac_fn_cxx_try_compile "$LINENO"; then :
114116 + glibcxx_cv_func_at_quick_exit_use=yes
114117 +else
114118 + glibcxx_cv_func_at_quick_exit_use=no
114120 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114121 + ac_ext=c
114122 +ac_cpp='$CPP $CPPFLAGS'
114123 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114124 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114125 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114131 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
114132 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
114133 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
114134 + for ac_func in at_quick_exit
114135 +do :
114136 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
114137 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
114138 + cat >>confdefs.h <<_ACEOF
114139 +#define HAVE_AT_QUICK_EXIT 1
114140 +_ACEOF
114143 +done
114148 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
114149 +$as_echo_n "checking for quick_exit declaration... " >&6; }
114150 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
114151 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
114152 + $as_echo_n "(cached) " >&6
114153 +else
114156 + ac_ext=cpp
114157 +ac_cpp='$CXXCPP $CPPFLAGS'
114158 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114159 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114160 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114162 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114163 +/* end confdefs.h. */
114164 +#include <stdlib.h>
114166 +main ()
114168 + quick_exit(0);
114170 + return 0;
114172 +_ACEOF
114173 +if ac_fn_cxx_try_compile "$LINENO"; then :
114174 + glibcxx_cv_func_quick_exit_use=yes
114175 +else
114176 + glibcxx_cv_func_quick_exit_use=no
114178 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114179 + ac_ext=c
114180 +ac_cpp='$CPP $CPPFLAGS'
114181 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114182 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114183 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114189 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
114190 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
114191 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
114192 + for ac_func in quick_exit
114193 +do :
114194 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
114195 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
114196 + cat >>confdefs.h <<_ACEOF
114197 +#define HAVE_QUICK_EXIT 1
114198 +_ACEOF
114201 +done
114206 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
114207 +$as_echo_n "checking for strtold declaration... " >&6; }
114208 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
114209 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
114210 + $as_echo_n "(cached) " >&6
114211 +else
114214 + ac_ext=cpp
114215 +ac_cpp='$CXXCPP $CPPFLAGS'
114216 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114217 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114218 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114220 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114221 +/* end confdefs.h. */
114222 +#include <stdlib.h>
114224 +main ()
114226 + strtold(0, 0);
114228 + return 0;
114230 +_ACEOF
114231 +if ac_fn_cxx_try_compile "$LINENO"; then :
114232 + glibcxx_cv_func_strtold_use=yes
114233 +else
114234 + glibcxx_cv_func_strtold_use=no
114236 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114237 + ac_ext=c
114238 +ac_cpp='$CPP $CPPFLAGS'
114239 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114240 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114241 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114247 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
114248 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
114249 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
114250 + for ac_func in strtold
114251 +do :
114252 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
114253 +if test "x$ac_cv_func_strtold" = x""yes; then :
114254 + cat >>confdefs.h <<_ACEOF
114255 +#define HAVE_STRTOLD 1
114256 +_ACEOF
114259 +done
114266 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
114267 +$as_echo_n "checking for strtof declaration... " >&6; }
114268 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
114269 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
114270 + $as_echo_n "(cached) " >&6
114271 +else
114274 + ac_ext=cpp
114275 +ac_cpp='$CXXCPP $CPPFLAGS'
114276 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114277 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114278 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114280 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114281 +/* end confdefs.h. */
114282 +#include <stdlib.h>
114284 +main ()
114286 + strtof(0, 0);
114288 + return 0;
114290 +_ACEOF
114291 +if ac_fn_cxx_try_compile "$LINENO"; then :
114292 + glibcxx_cv_func_strtof_use=yes
114293 +else
114294 + glibcxx_cv_func_strtof_use=no
114296 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114297 + ac_ext=c
114298 +ac_cpp='$CPP $CPPFLAGS'
114299 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114300 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114301 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114307 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
114308 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
114309 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
114310 + for ac_func in strtof
114311 +do :
114312 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
114313 +if test "x$ac_cv_func_strtof" = x""yes; then :
114314 + cat >>confdefs.h <<_ACEOF
114315 +#define HAVE_STRTOF 1
114316 +_ACEOF
114319 +done
114326 + CXXFLAGS="$ac_save_CXXFLAGS"
114329 + *-solaris*)
114331 + # If we're not using GNU ld, then there's no point in even trying these
114332 + # tests. Check for that first. We should have already tested for gld
114333 + # by now (in libtool), but require it now just to be safe...
114334 + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
114335 + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
114339 + # The name set by libtool depends on the version of libtool. Shame on us
114340 + # for depending on an impl detail, but c'est la vie. Older versions used
114341 + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
114342 + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
114343 + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
114344 + # set (hence we're using an older libtool), then set it.
114345 + if test x${with_gnu_ld+set} != xset; then
114346 + if test x${ac_cv_prog_gnu_ld+set} != xset; then
114347 + # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
114348 + with_gnu_ld=no
114349 + else
114350 + with_gnu_ld=$ac_cv_prog_gnu_ld
114354 + # Start by getting the version number. I think the libtool test already
114355 + # does some of this, but throws away the result.
114356 + glibcxx_ld_is_gold=no
114357 + if test x"$with_gnu_ld" = x"yes"; then
114358 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
114359 +$as_echo_n "checking for ld version... " >&6; }
114361 + if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
114362 + glibcxx_ld_is_gold=yes
114364 + ldver=`$LD --version 2>/dev/null |
114365 + sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
114367 + glibcxx_gnu_ld_version=`echo $ldver | \
114368 + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
114369 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
114370 +$as_echo "$glibcxx_gnu_ld_version" >&6; }
114373 + # Set --gc-sections.
114374 + glibcxx_have_gc_sections=no
114375 + if test "$glibcxx_ld_is_gold" = "yes"; then
114376 + if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
114377 + glibcxx_have_gc_sections=yes
114379 + else
114380 + glibcxx_gcsections_min_ld=21602
114381 + if test x"$with_gnu_ld" = x"yes" &&
114382 + test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
114383 + glibcxx_have_gc_sections=yes
114386 + if test "$glibcxx_have_gc_sections" = "yes"; then
114387 + # Sufficiently young GNU ld it is! Joy and bunny rabbits!
114388 + # NB: This flag only works reliably after 2.16.1. Configure tests
114389 + # for this are difficult, so hard wire a value that should work.
114391 + ac_test_CFLAGS="${CFLAGS+set}"
114392 + ac_save_CFLAGS="$CFLAGS"
114393 + CFLAGS='-Wl,--gc-sections'
114395 + # Check for -Wl,--gc-sections
114396 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
114397 +$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
114398 + if test x$gcc_no_link = xyes; then
114399 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
114401 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114402 +/* end confdefs.h. */
114403 + int one(void) { return 1; }
114404 + int two(void) { return 2; }
114407 +main ()
114409 + two();
114411 + return 0;
114413 +_ACEOF
114414 +if ac_fn_c_try_link "$LINENO"; then :
114415 + ac_gcsections=yes
114416 +else
114417 + ac_gcsections=no
114419 +rm -f core conftest.err conftest.$ac_objext \
114420 + conftest$ac_exeext conftest.$ac_ext
114421 + if test "$ac_gcsections" = "yes"; then
114422 + rm -f conftest.c
114423 + touch conftest.c
114424 + if $CC -c conftest.c; then
114425 + if $LD --gc-sections -o conftest conftest.o 2>&1 | \
114426 + grep "Warning: gc-sections option ignored" > /dev/null; then
114427 + ac_gcsections=no
114430 + rm -f conftest.c conftest.o conftest
114432 + if test "$ac_gcsections" = "yes"; then
114433 + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
114435 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
114436 +$as_echo "$ac_gcsections" >&6; }
114438 + if test "$ac_test_CFLAGS" = set; then
114439 + CFLAGS="$ac_save_CFLAGS"
114440 + else
114441 + # this is the suspicious part
114442 + CFLAGS=''
114446 + # Set -z,relro.
114447 + # Note this is only for shared objects.
114448 + ac_ld_relro=no
114449 + if test x"$with_gnu_ld" = x"yes"; then
114450 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
114451 +$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
114452 + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
114453 + if test -n "$cxx_z_relo"; then
114454 + OPT_LDFLAGS="-Wl,-z,relro"
114455 + ac_ld_relro=yes
114457 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
114458 +$as_echo "$ac_ld_relro" >&6; }
114461 + # Set linker optimization flags.
114462 + if test x"$with_gnu_ld" = x"yes"; then
114463 + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
114469 + $as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h
114471 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
114473 + $as_echo "#define HAVE_FPCLASS 1" >>confdefs.h
114475 + # All of the dependencies for wide character support are here, so
114476 + # turn it on.
114477 + $as_echo "#define _GLIBCXX_USE_WCHAR_T 1" >>confdefs.h
114479 + # These two C99 functions are present only in Solaris >= 10
114480 + $as_echo "#define HAVE_STRTOF 1" >>confdefs.h
114482 + $as_echo "#define HAVE_STRTOLD 1" >>confdefs.h
114484 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
114486 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
114488 + $as_echo "#define HAVE_MODFF 1" >>confdefs.h
114490 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
114493 + *-tpf)
114494 + SECTION_FLAGS='-ffunction-sections -fdata-sections'
114495 + SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
114497 + $as_echo "#define HAVE_FINITE 1" >>confdefs.h
114499 + $as_echo "#define HAVE_FINITEF 1" >>confdefs.h
114501 + $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
114503 + $as_echo "#define HAVE_HYPOTF 1" >>confdefs.h
114505 + $as_echo "#define HAVE_ISINF 1" >>confdefs.h
114507 + $as_echo "#define HAVE_ISINFF 1" >>confdefs.h
114509 + $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
114511 + $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
114513 + $as_echo "#define HAVE_SINCOS 1" >>confdefs.h
114515 + $as_echo "#define HAVE_SINCOSF 1" >>confdefs.h
114517 + if test x"long_double_math_on_this_cpu" = x"yes"; then
114518 + $as_echo "#define HAVE_FINITEL 1" >>confdefs.h
114520 + $as_echo "#define HAVE_HYPOTL 1" >>confdefs.h
114522 + $as_echo "#define HAVE_ISINFL 1" >>confdefs.h
114524 + $as_echo "#define HAVE_ISNANL 1" >>confdefs.h
114528 + *-*vms*)
114529 + # Check for available headers.
114530 + # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
114532 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
114533 + ac_save_CXXFLAGS="$CXXFLAGS"
114534 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
114536 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
114537 +$as_echo_n "checking for sin in -lm... " >&6; }
114538 +if test "${ac_cv_lib_m_sin+set}" = set; then :
114539 + $as_echo_n "(cached) " >&6
114540 +else
114541 + ac_check_lib_save_LIBS=$LIBS
114542 +LIBS="-lm $LIBS"
114543 +if test x$gcc_no_link = xyes; then
114544 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
114546 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114547 +/* end confdefs.h. */
114549 +/* Override any GCC internal prototype to avoid an error.
114550 + Use char because int might match the return type of a GCC
114551 + builtin and then its argument prototype would still apply. */
114552 +#ifdef __cplusplus
114553 +extern "C"
114554 +#endif
114555 +char sin ();
114557 +main ()
114559 +return sin ();
114561 + return 0;
114563 +_ACEOF
114564 +if ac_fn_c_try_link "$LINENO"; then :
114565 + ac_cv_lib_m_sin=yes
114566 +else
114567 + ac_cv_lib_m_sin=no
114569 +rm -f core conftest.err conftest.$ac_objext \
114570 + conftest$ac_exeext conftest.$ac_ext
114571 +LIBS=$ac_check_lib_save_LIBS
114573 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
114574 +$as_echo "$ac_cv_lib_m_sin" >&6; }
114575 +if test "x$ac_cv_lib_m_sin" = x""yes; then :
114576 + libm="-lm"
114579 + ac_save_LIBS="$LIBS"
114580 + LIBS="$LIBS $libm"
114584 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
114585 +$as_echo_n "checking for isinf declaration... " >&6; }
114586 + if test x${glibcxx_cv_func_isinf_use+set} != xset; then
114587 + if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
114588 + $as_echo_n "(cached) " >&6
114589 +else
114592 + ac_ext=cpp
114593 +ac_cpp='$CXXCPP $CPPFLAGS'
114594 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114595 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114596 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114598 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114599 +/* end confdefs.h. */
114600 +#include <math.h>
114601 + #ifdef HAVE_IEEEFP_H
114602 + #include <ieeefp.h>
114603 + #endif
114606 +main ()
114608 + isinf(0);
114610 + return 0;
114612 +_ACEOF
114613 +if ac_fn_cxx_try_compile "$LINENO"; then :
114614 + glibcxx_cv_func_isinf_use=yes
114615 +else
114616 + glibcxx_cv_func_isinf_use=no
114618 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114619 + ac_ext=c
114620 +ac_cpp='$CPP $CPPFLAGS'
114621 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114622 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114623 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114629 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
114630 +$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
114632 + if test x$glibcxx_cv_func_isinf_use = x"yes"; then
114633 + for ac_func in isinf
114634 +do :
114635 + ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
114636 +if test "x$ac_cv_func_isinf" = x""yes; then :
114637 + cat >>confdefs.h <<_ACEOF
114638 +#define HAVE_ISINF 1
114639 +_ACEOF
114642 +done
114644 + else
114646 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
114647 +$as_echo_n "checking for _isinf declaration... " >&6; }
114648 + if test x${glibcxx_cv_func__isinf_use+set} != xset; then
114649 + if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
114650 + $as_echo_n "(cached) " >&6
114651 +else
114654 + ac_ext=cpp
114655 +ac_cpp='$CXXCPP $CPPFLAGS'
114656 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114657 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114658 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114660 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114661 +/* end confdefs.h. */
114662 +#include <math.h>
114663 + #ifdef HAVE_IEEEFP_H
114664 + #include <ieeefp.h>
114665 + #endif
114668 +main ()
114670 + _isinf(0);
114672 + return 0;
114674 +_ACEOF
114675 +if ac_fn_cxx_try_compile "$LINENO"; then :
114676 + glibcxx_cv_func__isinf_use=yes
114677 +else
114678 + glibcxx_cv_func__isinf_use=no
114680 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114681 + ac_ext=c
114682 +ac_cpp='$CPP $CPPFLAGS'
114683 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114684 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114685 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114691 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
114692 +$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
114694 + if test x$glibcxx_cv_func__isinf_use = x"yes"; then
114695 + for ac_func in _isinf
114696 +do :
114697 + ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
114698 +if test "x$ac_cv_func__isinf" = x""yes; then :
114699 + cat >>confdefs.h <<_ACEOF
114700 +#define HAVE__ISINF 1
114701 +_ACEOF
114704 +done
114713 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
114714 +$as_echo_n "checking for isnan declaration... " >&6; }
114715 + if test x${glibcxx_cv_func_isnan_use+set} != xset; then
114716 + if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
114717 + $as_echo_n "(cached) " >&6
114718 +else
114721 + ac_ext=cpp
114722 +ac_cpp='$CXXCPP $CPPFLAGS'
114723 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114724 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114725 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114727 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114728 +/* end confdefs.h. */
114729 +#include <math.h>
114730 + #ifdef HAVE_IEEEFP_H
114731 + #include <ieeefp.h>
114732 + #endif
114735 +main ()
114737 + isnan(0);
114739 + return 0;
114741 +_ACEOF
114742 +if ac_fn_cxx_try_compile "$LINENO"; then :
114743 + glibcxx_cv_func_isnan_use=yes
114744 +else
114745 + glibcxx_cv_func_isnan_use=no
114747 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114748 + ac_ext=c
114749 +ac_cpp='$CPP $CPPFLAGS'
114750 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114751 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114752 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114758 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
114759 +$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
114761 + if test x$glibcxx_cv_func_isnan_use = x"yes"; then
114762 + for ac_func in isnan
114763 +do :
114764 + ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
114765 +if test "x$ac_cv_func_isnan" = x""yes; then :
114766 + cat >>confdefs.h <<_ACEOF
114767 +#define HAVE_ISNAN 1
114768 +_ACEOF
114771 +done
114773 + else
114775 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
114776 +$as_echo_n "checking for _isnan declaration... " >&6; }
114777 + if test x${glibcxx_cv_func__isnan_use+set} != xset; then
114778 + if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
114779 + $as_echo_n "(cached) " >&6
114780 +else
114783 + ac_ext=cpp
114784 +ac_cpp='$CXXCPP $CPPFLAGS'
114785 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114786 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114787 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114789 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114790 +/* end confdefs.h. */
114791 +#include <math.h>
114792 + #ifdef HAVE_IEEEFP_H
114793 + #include <ieeefp.h>
114794 + #endif
114797 +main ()
114799 + _isnan(0);
114801 + return 0;
114803 +_ACEOF
114804 +if ac_fn_cxx_try_compile "$LINENO"; then :
114805 + glibcxx_cv_func__isnan_use=yes
114806 +else
114807 + glibcxx_cv_func__isnan_use=no
114809 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114810 + ac_ext=c
114811 +ac_cpp='$CPP $CPPFLAGS'
114812 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114813 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114814 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114820 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
114821 +$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
114823 + if test x$glibcxx_cv_func__isnan_use = x"yes"; then
114824 + for ac_func in _isnan
114825 +do :
114826 + ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
114827 +if test "x$ac_cv_func__isnan" = x""yes; then :
114828 + cat >>confdefs.h <<_ACEOF
114829 +#define HAVE__ISNAN 1
114830 +_ACEOF
114833 +done
114842 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
114843 +$as_echo_n "checking for finite declaration... " >&6; }
114844 + if test x${glibcxx_cv_func_finite_use+set} != xset; then
114845 + if test "${glibcxx_cv_func_finite_use+set}" = set; then :
114846 + $as_echo_n "(cached) " >&6
114847 +else
114850 + ac_ext=cpp
114851 +ac_cpp='$CXXCPP $CPPFLAGS'
114852 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114853 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114854 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114856 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114857 +/* end confdefs.h. */
114858 +#include <math.h>
114859 + #ifdef HAVE_IEEEFP_H
114860 + #include <ieeefp.h>
114861 + #endif
114864 +main ()
114866 + finite(0);
114868 + return 0;
114870 +_ACEOF
114871 +if ac_fn_cxx_try_compile "$LINENO"; then :
114872 + glibcxx_cv_func_finite_use=yes
114873 +else
114874 + glibcxx_cv_func_finite_use=no
114876 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114877 + ac_ext=c
114878 +ac_cpp='$CPP $CPPFLAGS'
114879 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114880 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114881 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114887 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
114888 +$as_echo "$glibcxx_cv_func_finite_use" >&6; }
114890 + if test x$glibcxx_cv_func_finite_use = x"yes"; then
114891 + for ac_func in finite
114892 +do :
114893 + ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
114894 +if test "x$ac_cv_func_finite" = x""yes; then :
114895 + cat >>confdefs.h <<_ACEOF
114896 +#define HAVE_FINITE 1
114897 +_ACEOF
114900 +done
114902 + else
114904 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
114905 +$as_echo_n "checking for _finite declaration... " >&6; }
114906 + if test x${glibcxx_cv_func__finite_use+set} != xset; then
114907 + if test "${glibcxx_cv_func__finite_use+set}" = set; then :
114908 + $as_echo_n "(cached) " >&6
114909 +else
114912 + ac_ext=cpp
114913 +ac_cpp='$CXXCPP $CPPFLAGS'
114914 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114915 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114916 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114918 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114919 +/* end confdefs.h. */
114920 +#include <math.h>
114921 + #ifdef HAVE_IEEEFP_H
114922 + #include <ieeefp.h>
114923 + #endif
114926 +main ()
114928 + _finite(0);
114930 + return 0;
114932 +_ACEOF
114933 +if ac_fn_cxx_try_compile "$LINENO"; then :
114934 + glibcxx_cv_func__finite_use=yes
114935 +else
114936 + glibcxx_cv_func__finite_use=no
114938 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
114939 + ac_ext=c
114940 +ac_cpp='$CPP $CPPFLAGS'
114941 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114942 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114943 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
114949 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
114950 +$as_echo "$glibcxx_cv_func__finite_use" >&6; }
114952 + if test x$glibcxx_cv_func__finite_use = x"yes"; then
114953 + for ac_func in _finite
114954 +do :
114955 + ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
114956 +if test "x$ac_cv_func__finite" = x""yes; then :
114957 + cat >>confdefs.h <<_ACEOF
114958 +#define HAVE__FINITE 1
114959 +_ACEOF
114962 +done
114971 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
114972 +$as_echo_n "checking for sincos declaration... " >&6; }
114973 + if test x${glibcxx_cv_func_sincos_use+set} != xset; then
114974 + if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
114975 + $as_echo_n "(cached) " >&6
114976 +else
114979 + ac_ext=cpp
114980 +ac_cpp='$CXXCPP $CPPFLAGS'
114981 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
114982 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
114983 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
114985 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
114986 +/* end confdefs.h. */
114987 +#include <math.h>
114989 +main ()
114991 + sincos(0, 0, 0);
114993 + return 0;
114995 +_ACEOF
114996 +if ac_fn_cxx_try_compile "$LINENO"; then :
114997 + glibcxx_cv_func_sincos_use=yes
114998 +else
114999 + glibcxx_cv_func_sincos_use=no
115001 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115002 + ac_ext=c
115003 +ac_cpp='$CPP $CPPFLAGS'
115004 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115005 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115006 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115012 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
115013 +$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
115015 + if test x$glibcxx_cv_func_sincos_use = x"yes"; then
115016 + for ac_func in sincos
115017 +do :
115018 + ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
115019 +if test "x$ac_cv_func_sincos" = x""yes; then :
115020 + cat >>confdefs.h <<_ACEOF
115021 +#define HAVE_SINCOS 1
115022 +_ACEOF
115025 +done
115027 + else
115029 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
115030 +$as_echo_n "checking for _sincos declaration... " >&6; }
115031 + if test x${glibcxx_cv_func__sincos_use+set} != xset; then
115032 + if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
115033 + $as_echo_n "(cached) " >&6
115034 +else
115037 + ac_ext=cpp
115038 +ac_cpp='$CXXCPP $CPPFLAGS'
115039 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115040 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115041 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115043 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115044 +/* end confdefs.h. */
115045 +#include <math.h>
115047 +main ()
115049 + _sincos(0, 0, 0);
115051 + return 0;
115053 +_ACEOF
115054 +if ac_fn_cxx_try_compile "$LINENO"; then :
115055 + glibcxx_cv_func__sincos_use=yes
115056 +else
115057 + glibcxx_cv_func__sincos_use=no
115059 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115060 + ac_ext=c
115061 +ac_cpp='$CPP $CPPFLAGS'
115062 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115063 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115064 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115070 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
115071 +$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
115073 + if test x$glibcxx_cv_func__sincos_use = x"yes"; then
115074 + for ac_func in _sincos
115075 +do :
115076 + ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
115077 +if test "x$ac_cv_func__sincos" = x""yes; then :
115078 + cat >>confdefs.h <<_ACEOF
115079 +#define HAVE__SINCOS 1
115080 +_ACEOF
115083 +done
115092 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
115093 +$as_echo_n "checking for fpclass declaration... " >&6; }
115094 + if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
115095 + if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
115096 + $as_echo_n "(cached) " >&6
115097 +else
115100 + ac_ext=cpp
115101 +ac_cpp='$CXXCPP $CPPFLAGS'
115102 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115103 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115104 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115106 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115107 +/* end confdefs.h. */
115108 +#include <math.h>
115109 + #ifdef HAVE_IEEEFP_H
115110 + #include <ieeefp.h>
115111 + #endif
115114 +main ()
115116 + fpclass(0);
115118 + return 0;
115120 +_ACEOF
115121 +if ac_fn_cxx_try_compile "$LINENO"; then :
115122 + glibcxx_cv_func_fpclass_use=yes
115123 +else
115124 + glibcxx_cv_func_fpclass_use=no
115126 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115127 + ac_ext=c
115128 +ac_cpp='$CPP $CPPFLAGS'
115129 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115130 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115131 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115137 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
115138 +$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
115140 + if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
115141 + for ac_func in fpclass
115142 +do :
115143 + ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
115144 +if test "x$ac_cv_func_fpclass" = x""yes; then :
115145 + cat >>confdefs.h <<_ACEOF
115146 +#define HAVE_FPCLASS 1
115147 +_ACEOF
115150 +done
115152 + else
115154 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
115155 +$as_echo_n "checking for _fpclass declaration... " >&6; }
115156 + if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
115157 + if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
115158 + $as_echo_n "(cached) " >&6
115159 +else
115162 + ac_ext=cpp
115163 +ac_cpp='$CXXCPP $CPPFLAGS'
115164 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115165 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115166 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115168 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115169 +/* end confdefs.h. */
115170 +#include <math.h>
115171 + #ifdef HAVE_IEEEFP_H
115172 + #include <ieeefp.h>
115173 + #endif
115176 +main ()
115178 + _fpclass(0);
115180 + return 0;
115182 +_ACEOF
115183 +if ac_fn_cxx_try_compile "$LINENO"; then :
115184 + glibcxx_cv_func__fpclass_use=yes
115185 +else
115186 + glibcxx_cv_func__fpclass_use=no
115188 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115189 + ac_ext=c
115190 +ac_cpp='$CPP $CPPFLAGS'
115191 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115192 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115193 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115199 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
115200 +$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
115202 + if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
115203 + for ac_func in _fpclass
115204 +do :
115205 + ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
115206 +if test "x$ac_cv_func__fpclass" = x""yes; then :
115207 + cat >>confdefs.h <<_ACEOF
115208 +#define HAVE__FPCLASS 1
115209 +_ACEOF
115212 +done
115221 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
115222 +$as_echo_n "checking for qfpclass declaration... " >&6; }
115223 + if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
115224 + if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
115225 + $as_echo_n "(cached) " >&6
115226 +else
115229 + ac_ext=cpp
115230 +ac_cpp='$CXXCPP $CPPFLAGS'
115231 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115232 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115233 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115235 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115236 +/* end confdefs.h. */
115237 +#include <math.h>
115238 + #ifdef HAVE_IEEEFP_H
115239 + #include <ieeefp.h>
115240 + #endif
115243 +main ()
115245 + qfpclass(0);
115247 + return 0;
115249 +_ACEOF
115250 +if ac_fn_cxx_try_compile "$LINENO"; then :
115251 + glibcxx_cv_func_qfpclass_use=yes
115252 +else
115253 + glibcxx_cv_func_qfpclass_use=no
115255 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115256 + ac_ext=c
115257 +ac_cpp='$CPP $CPPFLAGS'
115258 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115259 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115260 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115266 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
115267 +$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
115269 + if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
115270 + for ac_func in qfpclass
115271 +do :
115272 + ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
115273 +if test "x$ac_cv_func_qfpclass" = x""yes; then :
115274 + cat >>confdefs.h <<_ACEOF
115275 +#define HAVE_QFPCLASS 1
115276 +_ACEOF
115279 +done
115281 + else
115283 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
115284 +$as_echo_n "checking for _qfpclass declaration... " >&6; }
115285 + if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
115286 + if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
115287 + $as_echo_n "(cached) " >&6
115288 +else
115291 + ac_ext=cpp
115292 +ac_cpp='$CXXCPP $CPPFLAGS'
115293 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115294 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115295 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115297 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115298 +/* end confdefs.h. */
115299 +#include <math.h>
115300 + #ifdef HAVE_IEEEFP_H
115301 + #include <ieeefp.h>
115302 + #endif
115305 +main ()
115307 + _qfpclass(0);
115309 + return 0;
115311 +_ACEOF
115312 +if ac_fn_cxx_try_compile "$LINENO"; then :
115313 + glibcxx_cv_func__qfpclass_use=yes
115314 +else
115315 + glibcxx_cv_func__qfpclass_use=no
115317 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115318 + ac_ext=c
115319 +ac_cpp='$CPP $CPPFLAGS'
115320 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115321 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115322 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115328 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
115329 +$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
115331 + if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
115332 + for ac_func in _qfpclass
115333 +do :
115334 + ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
115335 +if test "x$ac_cv_func__qfpclass" = x""yes; then :
115336 + cat >>confdefs.h <<_ACEOF
115337 +#define HAVE__QFPCLASS 1
115338 +_ACEOF
115341 +done
115350 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
115351 +$as_echo_n "checking for hypot declaration... " >&6; }
115352 + if test x${glibcxx_cv_func_hypot_use+set} != xset; then
115353 + if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
115354 + $as_echo_n "(cached) " >&6
115355 +else
115358 + ac_ext=cpp
115359 +ac_cpp='$CXXCPP $CPPFLAGS'
115360 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115361 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115362 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115364 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115365 +/* end confdefs.h. */
115366 +#include <math.h>
115368 +main ()
115370 + hypot(0, 0);
115372 + return 0;
115374 +_ACEOF
115375 +if ac_fn_cxx_try_compile "$LINENO"; then :
115376 + glibcxx_cv_func_hypot_use=yes
115377 +else
115378 + glibcxx_cv_func_hypot_use=no
115380 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115381 + ac_ext=c
115382 +ac_cpp='$CPP $CPPFLAGS'
115383 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115384 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115385 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115391 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
115392 +$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
115394 + if test x$glibcxx_cv_func_hypot_use = x"yes"; then
115395 + for ac_func in hypot
115396 +do :
115397 + ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
115398 +if test "x$ac_cv_func_hypot" = x""yes; then :
115399 + cat >>confdefs.h <<_ACEOF
115400 +#define HAVE_HYPOT 1
115401 +_ACEOF
115404 +done
115406 + else
115408 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
115409 +$as_echo_n "checking for _hypot declaration... " >&6; }
115410 + if test x${glibcxx_cv_func__hypot_use+set} != xset; then
115411 + if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
115412 + $as_echo_n "(cached) " >&6
115413 +else
115416 + ac_ext=cpp
115417 +ac_cpp='$CXXCPP $CPPFLAGS'
115418 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115419 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115420 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115422 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115423 +/* end confdefs.h. */
115424 +#include <math.h>
115426 +main ()
115428 + _hypot(0, 0);
115430 + return 0;
115432 +_ACEOF
115433 +if ac_fn_cxx_try_compile "$LINENO"; then :
115434 + glibcxx_cv_func__hypot_use=yes
115435 +else
115436 + glibcxx_cv_func__hypot_use=no
115438 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115439 + ac_ext=c
115440 +ac_cpp='$CPP $CPPFLAGS'
115441 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115442 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115443 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115449 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
115450 +$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
115452 + if test x$glibcxx_cv_func__hypot_use = x"yes"; then
115453 + for ac_func in _hypot
115454 +do :
115455 + ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
115456 +if test "x$ac_cv_func__hypot" = x""yes; then :
115457 + cat >>confdefs.h <<_ACEOF
115458 +#define HAVE__HYPOT 1
115459 +_ACEOF
115462 +done
115471 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
115472 +$as_echo_n "checking for float trig functions... " >&6; }
115473 + if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
115474 + $as_echo_n "(cached) " >&6
115475 +else
115478 + ac_ext=cpp
115479 +ac_cpp='$CXXCPP $CPPFLAGS'
115480 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115481 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115482 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115484 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115485 +/* end confdefs.h. */
115486 +#include <math.h>
115488 +main ()
115490 +acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
115492 + return 0;
115494 +_ACEOF
115495 +if ac_fn_cxx_try_compile "$LINENO"; then :
115496 + glibcxx_cv_func_float_trig_use=yes
115497 +else
115498 + glibcxx_cv_func_float_trig_use=no
115500 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115501 + ac_ext=c
115502 +ac_cpp='$CPP $CPPFLAGS'
115503 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115504 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115505 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115509 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
115510 +$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
115511 + if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
115512 + for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
115513 +do :
115514 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
115515 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
115516 +eval as_val=\$$as_ac_var
115517 + if test "x$as_val" = x""yes; then :
115518 + cat >>confdefs.h <<_ACEOF
115519 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
115520 +_ACEOF
115523 +done
115525 + else
115526 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
115527 +$as_echo_n "checking for _float trig functions... " >&6; }
115528 + if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
115529 + $as_echo_n "(cached) " >&6
115530 +else
115533 + ac_ext=cpp
115534 +ac_cpp='$CXXCPP $CPPFLAGS'
115535 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115536 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115537 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115539 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115540 +/* end confdefs.h. */
115541 +#include <math.h>
115543 +main ()
115545 +_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
115547 + return 0;
115549 +_ACEOF
115550 +if ac_fn_cxx_try_compile "$LINENO"; then :
115551 + glibcxx_cv_func__float_trig_use=yes
115552 +else
115553 + glibcxx_cv_func__float_trig_use=no
115555 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115556 + ac_ext=c
115557 +ac_cpp='$CPP $CPPFLAGS'
115558 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115559 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115560 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115564 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
115565 +$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
115566 + if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
115567 + for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
115568 +do :
115569 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
115570 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
115571 +eval as_val=\$$as_ac_var
115572 + if test "x$as_val" = x""yes; then :
115573 + cat >>confdefs.h <<_ACEOF
115574 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
115575 +_ACEOF
115578 +done
115587 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
115588 +$as_echo_n "checking for float round functions... " >&6; }
115589 + if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
115590 + $as_echo_n "(cached) " >&6
115591 +else
115594 + ac_ext=cpp
115595 +ac_cpp='$CXXCPP $CPPFLAGS'
115596 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115597 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115598 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115600 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115601 +/* end confdefs.h. */
115602 +#include <math.h>
115604 +main ()
115606 +ceilf (0); floorf (0);
115608 + return 0;
115610 +_ACEOF
115611 +if ac_fn_cxx_try_compile "$LINENO"; then :
115612 + glibcxx_cv_func_float_round_use=yes
115613 +else
115614 + glibcxx_cv_func_float_round_use=no
115616 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115617 + ac_ext=c
115618 +ac_cpp='$CPP $CPPFLAGS'
115619 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115620 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115621 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115625 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
115626 +$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
115627 + if test x$glibcxx_cv_func_float_round_use = x"yes"; then
115628 + for ac_func in ceilf floorf
115629 +do :
115630 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
115631 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
115632 +eval as_val=\$$as_ac_var
115633 + if test "x$as_val" = x""yes; then :
115634 + cat >>confdefs.h <<_ACEOF
115635 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
115636 +_ACEOF
115639 +done
115641 + else
115642 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
115643 +$as_echo_n "checking for _float round functions... " >&6; }
115644 + if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
115645 + $as_echo_n "(cached) " >&6
115646 +else
115649 + ac_ext=cpp
115650 +ac_cpp='$CXXCPP $CPPFLAGS'
115651 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115652 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115653 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115655 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115656 +/* end confdefs.h. */
115657 +#include <math.h>
115659 +main ()
115661 +_ceilf (0); _floorf (0);
115663 + return 0;
115665 +_ACEOF
115666 +if ac_fn_cxx_try_compile "$LINENO"; then :
115667 + glibcxx_cv_func__float_round_use=yes
115668 +else
115669 + glibcxx_cv_func__float_round_use=no
115671 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115672 + ac_ext=c
115673 +ac_cpp='$CPP $CPPFLAGS'
115674 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115675 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115676 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115680 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
115681 +$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
115682 + if test x$glibcxx_cv_func__float_round_use = x"yes"; then
115683 + for ac_func in _ceilf _floorf
115684 +do :
115685 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
115686 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
115687 +eval as_val=\$$as_ac_var
115688 + if test "x$as_val" = x""yes; then :
115689 + cat >>confdefs.h <<_ACEOF
115690 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
115691 +_ACEOF
115694 +done
115704 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
115705 +$as_echo_n "checking for expf declaration... " >&6; }
115706 + if test x${glibcxx_cv_func_expf_use+set} != xset; then
115707 + if test "${glibcxx_cv_func_expf_use+set}" = set; then :
115708 + $as_echo_n "(cached) " >&6
115709 +else
115712 + ac_ext=cpp
115713 +ac_cpp='$CXXCPP $CPPFLAGS'
115714 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115715 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115716 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115718 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115719 +/* end confdefs.h. */
115720 +#include <math.h>
115721 + #ifdef HAVE_IEEEFP_H
115722 + #include <ieeefp.h>
115723 + #endif
115726 +main ()
115728 + expf(0);
115730 + return 0;
115732 +_ACEOF
115733 +if ac_fn_cxx_try_compile "$LINENO"; then :
115734 + glibcxx_cv_func_expf_use=yes
115735 +else
115736 + glibcxx_cv_func_expf_use=no
115738 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115739 + ac_ext=c
115740 +ac_cpp='$CPP $CPPFLAGS'
115741 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115742 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115743 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115749 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
115750 +$as_echo "$glibcxx_cv_func_expf_use" >&6; }
115752 + if test x$glibcxx_cv_func_expf_use = x"yes"; then
115753 + for ac_func in expf
115754 +do :
115755 + ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
115756 +if test "x$ac_cv_func_expf" = x""yes; then :
115757 + cat >>confdefs.h <<_ACEOF
115758 +#define HAVE_EXPF 1
115759 +_ACEOF
115762 +done
115764 + else
115766 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
115767 +$as_echo_n "checking for _expf declaration... " >&6; }
115768 + if test x${glibcxx_cv_func__expf_use+set} != xset; then
115769 + if test "${glibcxx_cv_func__expf_use+set}" = set; then :
115770 + $as_echo_n "(cached) " >&6
115771 +else
115774 + ac_ext=cpp
115775 +ac_cpp='$CXXCPP $CPPFLAGS'
115776 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115777 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115778 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115780 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115781 +/* end confdefs.h. */
115782 +#include <math.h>
115783 + #ifdef HAVE_IEEEFP_H
115784 + #include <ieeefp.h>
115785 + #endif
115788 +main ()
115790 + _expf(0);
115792 + return 0;
115794 +_ACEOF
115795 +if ac_fn_cxx_try_compile "$LINENO"; then :
115796 + glibcxx_cv_func__expf_use=yes
115797 +else
115798 + glibcxx_cv_func__expf_use=no
115800 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115801 + ac_ext=c
115802 +ac_cpp='$CPP $CPPFLAGS'
115803 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115804 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115805 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115811 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
115812 +$as_echo "$glibcxx_cv_func__expf_use" >&6; }
115814 + if test x$glibcxx_cv_func__expf_use = x"yes"; then
115815 + for ac_func in _expf
115816 +do :
115817 + ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
115818 +if test "x$ac_cv_func__expf" = x""yes; then :
115819 + cat >>confdefs.h <<_ACEOF
115820 +#define HAVE__EXPF 1
115821 +_ACEOF
115824 +done
115833 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
115834 +$as_echo_n "checking for isnanf declaration... " >&6; }
115835 + if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
115836 + if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
115837 + $as_echo_n "(cached) " >&6
115838 +else
115841 + ac_ext=cpp
115842 +ac_cpp='$CXXCPP $CPPFLAGS'
115843 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115844 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115845 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115847 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115848 +/* end confdefs.h. */
115849 +#include <math.h>
115850 + #ifdef HAVE_IEEEFP_H
115851 + #include <ieeefp.h>
115852 + #endif
115855 +main ()
115857 + isnanf(0);
115859 + return 0;
115861 +_ACEOF
115862 +if ac_fn_cxx_try_compile "$LINENO"; then :
115863 + glibcxx_cv_func_isnanf_use=yes
115864 +else
115865 + glibcxx_cv_func_isnanf_use=no
115867 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115868 + ac_ext=c
115869 +ac_cpp='$CPP $CPPFLAGS'
115870 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115871 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115872 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115878 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
115879 +$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
115881 + if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
115882 + for ac_func in isnanf
115883 +do :
115884 + ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
115885 +if test "x$ac_cv_func_isnanf" = x""yes; then :
115886 + cat >>confdefs.h <<_ACEOF
115887 +#define HAVE_ISNANF 1
115888 +_ACEOF
115891 +done
115893 + else
115895 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
115896 +$as_echo_n "checking for _isnanf declaration... " >&6; }
115897 + if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
115898 + if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
115899 + $as_echo_n "(cached) " >&6
115900 +else
115903 + ac_ext=cpp
115904 +ac_cpp='$CXXCPP $CPPFLAGS'
115905 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115906 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115907 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115909 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115910 +/* end confdefs.h. */
115911 +#include <math.h>
115912 + #ifdef HAVE_IEEEFP_H
115913 + #include <ieeefp.h>
115914 + #endif
115917 +main ()
115919 + _isnanf(0);
115921 + return 0;
115923 +_ACEOF
115924 +if ac_fn_cxx_try_compile "$LINENO"; then :
115925 + glibcxx_cv_func__isnanf_use=yes
115926 +else
115927 + glibcxx_cv_func__isnanf_use=no
115929 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115930 + ac_ext=c
115931 +ac_cpp='$CPP $CPPFLAGS'
115932 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115933 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115934 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
115940 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
115941 +$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
115943 + if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
115944 + for ac_func in _isnanf
115945 +do :
115946 + ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
115947 +if test "x$ac_cv_func__isnanf" = x""yes; then :
115948 + cat >>confdefs.h <<_ACEOF
115949 +#define HAVE__ISNANF 1
115950 +_ACEOF
115953 +done
115962 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
115963 +$as_echo_n "checking for isinff declaration... " >&6; }
115964 + if test x${glibcxx_cv_func_isinff_use+set} != xset; then
115965 + if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
115966 + $as_echo_n "(cached) " >&6
115967 +else
115970 + ac_ext=cpp
115971 +ac_cpp='$CXXCPP $CPPFLAGS'
115972 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
115973 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
115974 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
115976 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
115977 +/* end confdefs.h. */
115978 +#include <math.h>
115979 + #ifdef HAVE_IEEEFP_H
115980 + #include <ieeefp.h>
115981 + #endif
115984 +main ()
115986 + isinff(0);
115988 + return 0;
115990 +_ACEOF
115991 +if ac_fn_cxx_try_compile "$LINENO"; then :
115992 + glibcxx_cv_func_isinff_use=yes
115993 +else
115994 + glibcxx_cv_func_isinff_use=no
115996 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
115997 + ac_ext=c
115998 +ac_cpp='$CPP $CPPFLAGS'
115999 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116000 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116001 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116007 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
116008 +$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
116010 + if test x$glibcxx_cv_func_isinff_use = x"yes"; then
116011 + for ac_func in isinff
116012 +do :
116013 + ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
116014 +if test "x$ac_cv_func_isinff" = x""yes; then :
116015 + cat >>confdefs.h <<_ACEOF
116016 +#define HAVE_ISINFF 1
116017 +_ACEOF
116020 +done
116022 + else
116024 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
116025 +$as_echo_n "checking for _isinff declaration... " >&6; }
116026 + if test x${glibcxx_cv_func__isinff_use+set} != xset; then
116027 + if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
116028 + $as_echo_n "(cached) " >&6
116029 +else
116032 + ac_ext=cpp
116033 +ac_cpp='$CXXCPP $CPPFLAGS'
116034 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116035 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116036 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116038 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116039 +/* end confdefs.h. */
116040 +#include <math.h>
116041 + #ifdef HAVE_IEEEFP_H
116042 + #include <ieeefp.h>
116043 + #endif
116046 +main ()
116048 + _isinff(0);
116050 + return 0;
116052 +_ACEOF
116053 +if ac_fn_cxx_try_compile "$LINENO"; then :
116054 + glibcxx_cv_func__isinff_use=yes
116055 +else
116056 + glibcxx_cv_func__isinff_use=no
116058 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116059 + ac_ext=c
116060 +ac_cpp='$CPP $CPPFLAGS'
116061 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116062 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116063 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116069 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
116070 +$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
116072 + if test x$glibcxx_cv_func__isinff_use = x"yes"; then
116073 + for ac_func in _isinff
116074 +do :
116075 + ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
116076 +if test "x$ac_cv_func__isinff" = x""yes; then :
116077 + cat >>confdefs.h <<_ACEOF
116078 +#define HAVE__ISINFF 1
116079 +_ACEOF
116082 +done
116091 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
116092 +$as_echo_n "checking for atan2f declaration... " >&6; }
116093 + if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
116094 + if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
116095 + $as_echo_n "(cached) " >&6
116096 +else
116099 + ac_ext=cpp
116100 +ac_cpp='$CXXCPP $CPPFLAGS'
116101 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116102 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116103 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116105 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116106 +/* end confdefs.h. */
116107 +#include <math.h>
116109 +main ()
116111 + atan2f(0, 0);
116113 + return 0;
116115 +_ACEOF
116116 +if ac_fn_cxx_try_compile "$LINENO"; then :
116117 + glibcxx_cv_func_atan2f_use=yes
116118 +else
116119 + glibcxx_cv_func_atan2f_use=no
116121 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116122 + ac_ext=c
116123 +ac_cpp='$CPP $CPPFLAGS'
116124 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116125 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116126 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116132 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
116133 +$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
116135 + if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
116136 + for ac_func in atan2f
116137 +do :
116138 + ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
116139 +if test "x$ac_cv_func_atan2f" = x""yes; then :
116140 + cat >>confdefs.h <<_ACEOF
116141 +#define HAVE_ATAN2F 1
116142 +_ACEOF
116145 +done
116147 + else
116149 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
116150 +$as_echo_n "checking for _atan2f declaration... " >&6; }
116151 + if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
116152 + if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
116153 + $as_echo_n "(cached) " >&6
116154 +else
116157 + ac_ext=cpp
116158 +ac_cpp='$CXXCPP $CPPFLAGS'
116159 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116160 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116161 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116163 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116164 +/* end confdefs.h. */
116165 +#include <math.h>
116167 +main ()
116169 + _atan2f(0, 0);
116171 + return 0;
116173 +_ACEOF
116174 +if ac_fn_cxx_try_compile "$LINENO"; then :
116175 + glibcxx_cv_func__atan2f_use=yes
116176 +else
116177 + glibcxx_cv_func__atan2f_use=no
116179 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116180 + ac_ext=c
116181 +ac_cpp='$CPP $CPPFLAGS'
116182 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116183 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116184 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116190 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
116191 +$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
116193 + if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
116194 + for ac_func in _atan2f
116195 +do :
116196 + ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
116197 +if test "x$ac_cv_func__atan2f" = x""yes; then :
116198 + cat >>confdefs.h <<_ACEOF
116199 +#define HAVE__ATAN2F 1
116200 +_ACEOF
116203 +done
116212 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
116213 +$as_echo_n "checking for fabsf declaration... " >&6; }
116214 + if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
116215 + if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
116216 + $as_echo_n "(cached) " >&6
116217 +else
116220 + ac_ext=cpp
116221 +ac_cpp='$CXXCPP $CPPFLAGS'
116222 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116223 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116224 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116226 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116227 +/* end confdefs.h. */
116228 +#include <math.h>
116229 + #ifdef HAVE_IEEEFP_H
116230 + #include <ieeefp.h>
116231 + #endif
116234 +main ()
116236 + fabsf(0);
116238 + return 0;
116240 +_ACEOF
116241 +if ac_fn_cxx_try_compile "$LINENO"; then :
116242 + glibcxx_cv_func_fabsf_use=yes
116243 +else
116244 + glibcxx_cv_func_fabsf_use=no
116246 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116247 + ac_ext=c
116248 +ac_cpp='$CPP $CPPFLAGS'
116249 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116250 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116251 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116257 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
116258 +$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
116260 + if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
116261 + for ac_func in fabsf
116262 +do :
116263 + ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
116264 +if test "x$ac_cv_func_fabsf" = x""yes; then :
116265 + cat >>confdefs.h <<_ACEOF
116266 +#define HAVE_FABSF 1
116267 +_ACEOF
116270 +done
116272 + else
116274 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
116275 +$as_echo_n "checking for _fabsf declaration... " >&6; }
116276 + if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
116277 + if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
116278 + $as_echo_n "(cached) " >&6
116279 +else
116282 + ac_ext=cpp
116283 +ac_cpp='$CXXCPP $CPPFLAGS'
116284 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116285 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116286 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116288 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116289 +/* end confdefs.h. */
116290 +#include <math.h>
116291 + #ifdef HAVE_IEEEFP_H
116292 + #include <ieeefp.h>
116293 + #endif
116296 +main ()
116298 + _fabsf(0);
116300 + return 0;
116302 +_ACEOF
116303 +if ac_fn_cxx_try_compile "$LINENO"; then :
116304 + glibcxx_cv_func__fabsf_use=yes
116305 +else
116306 + glibcxx_cv_func__fabsf_use=no
116308 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116309 + ac_ext=c
116310 +ac_cpp='$CPP $CPPFLAGS'
116311 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116312 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116313 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116319 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
116320 +$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
116322 + if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
116323 + for ac_func in _fabsf
116324 +do :
116325 + ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
116326 +if test "x$ac_cv_func__fabsf" = x""yes; then :
116327 + cat >>confdefs.h <<_ACEOF
116328 +#define HAVE__FABSF 1
116329 +_ACEOF
116332 +done
116341 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
116342 +$as_echo_n "checking for fmodf declaration... " >&6; }
116343 + if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
116344 + if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
116345 + $as_echo_n "(cached) " >&6
116346 +else
116349 + ac_ext=cpp
116350 +ac_cpp='$CXXCPP $CPPFLAGS'
116351 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116352 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116353 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116355 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116356 +/* end confdefs.h. */
116357 +#include <math.h>
116359 +main ()
116361 + fmodf(0, 0);
116363 + return 0;
116365 +_ACEOF
116366 +if ac_fn_cxx_try_compile "$LINENO"; then :
116367 + glibcxx_cv_func_fmodf_use=yes
116368 +else
116369 + glibcxx_cv_func_fmodf_use=no
116371 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116372 + ac_ext=c
116373 +ac_cpp='$CPP $CPPFLAGS'
116374 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116375 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116376 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116382 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
116383 +$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
116385 + if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
116386 + for ac_func in fmodf
116387 +do :
116388 + ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
116389 +if test "x$ac_cv_func_fmodf" = x""yes; then :
116390 + cat >>confdefs.h <<_ACEOF
116391 +#define HAVE_FMODF 1
116392 +_ACEOF
116395 +done
116397 + else
116399 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
116400 +$as_echo_n "checking for _fmodf declaration... " >&6; }
116401 + if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
116402 + if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
116403 + $as_echo_n "(cached) " >&6
116404 +else
116407 + ac_ext=cpp
116408 +ac_cpp='$CXXCPP $CPPFLAGS'
116409 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116410 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116411 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116413 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116414 +/* end confdefs.h. */
116415 +#include <math.h>
116417 +main ()
116419 + _fmodf(0, 0);
116421 + return 0;
116423 +_ACEOF
116424 +if ac_fn_cxx_try_compile "$LINENO"; then :
116425 + glibcxx_cv_func__fmodf_use=yes
116426 +else
116427 + glibcxx_cv_func__fmodf_use=no
116429 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116430 + ac_ext=c
116431 +ac_cpp='$CPP $CPPFLAGS'
116432 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116433 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116434 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116440 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
116441 +$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
116443 + if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
116444 + for ac_func in _fmodf
116445 +do :
116446 + ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
116447 +if test "x$ac_cv_func__fmodf" = x""yes; then :
116448 + cat >>confdefs.h <<_ACEOF
116449 +#define HAVE__FMODF 1
116450 +_ACEOF
116453 +done
116462 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
116463 +$as_echo_n "checking for frexpf declaration... " >&6; }
116464 + if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
116465 + if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
116466 + $as_echo_n "(cached) " >&6
116467 +else
116470 + ac_ext=cpp
116471 +ac_cpp='$CXXCPP $CPPFLAGS'
116472 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116473 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116474 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116476 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116477 +/* end confdefs.h. */
116478 +#include <math.h>
116480 +main ()
116482 + frexpf(0, 0);
116484 + return 0;
116486 +_ACEOF
116487 +if ac_fn_cxx_try_compile "$LINENO"; then :
116488 + glibcxx_cv_func_frexpf_use=yes
116489 +else
116490 + glibcxx_cv_func_frexpf_use=no
116492 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116493 + ac_ext=c
116494 +ac_cpp='$CPP $CPPFLAGS'
116495 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116496 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116497 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116503 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
116504 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
116506 + if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
116507 + for ac_func in frexpf
116508 +do :
116509 + ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
116510 +if test "x$ac_cv_func_frexpf" = x""yes; then :
116511 + cat >>confdefs.h <<_ACEOF
116512 +#define HAVE_FREXPF 1
116513 +_ACEOF
116516 +done
116518 + else
116520 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
116521 +$as_echo_n "checking for _frexpf declaration... " >&6; }
116522 + if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
116523 + if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
116524 + $as_echo_n "(cached) " >&6
116525 +else
116528 + ac_ext=cpp
116529 +ac_cpp='$CXXCPP $CPPFLAGS'
116530 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116531 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116532 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116534 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116535 +/* end confdefs.h. */
116536 +#include <math.h>
116538 +main ()
116540 + _frexpf(0, 0);
116542 + return 0;
116544 +_ACEOF
116545 +if ac_fn_cxx_try_compile "$LINENO"; then :
116546 + glibcxx_cv_func__frexpf_use=yes
116547 +else
116548 + glibcxx_cv_func__frexpf_use=no
116550 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116551 + ac_ext=c
116552 +ac_cpp='$CPP $CPPFLAGS'
116553 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116554 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116555 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116561 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
116562 +$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
116564 + if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
116565 + for ac_func in _frexpf
116566 +do :
116567 + ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
116568 +if test "x$ac_cv_func__frexpf" = x""yes; then :
116569 + cat >>confdefs.h <<_ACEOF
116570 +#define HAVE__FREXPF 1
116571 +_ACEOF
116574 +done
116583 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
116584 +$as_echo_n "checking for hypotf declaration... " >&6; }
116585 + if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
116586 + if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
116587 + $as_echo_n "(cached) " >&6
116588 +else
116591 + ac_ext=cpp
116592 +ac_cpp='$CXXCPP $CPPFLAGS'
116593 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116594 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116595 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116597 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116598 +/* end confdefs.h. */
116599 +#include <math.h>
116601 +main ()
116603 + hypotf(0, 0);
116605 + return 0;
116607 +_ACEOF
116608 +if ac_fn_cxx_try_compile "$LINENO"; then :
116609 + glibcxx_cv_func_hypotf_use=yes
116610 +else
116611 + glibcxx_cv_func_hypotf_use=no
116613 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116614 + ac_ext=c
116615 +ac_cpp='$CPP $CPPFLAGS'
116616 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116617 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116618 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116624 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
116625 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
116627 + if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
116628 + for ac_func in hypotf
116629 +do :
116630 + ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
116631 +if test "x$ac_cv_func_hypotf" = x""yes; then :
116632 + cat >>confdefs.h <<_ACEOF
116633 +#define HAVE_HYPOTF 1
116634 +_ACEOF
116637 +done
116639 + else
116641 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
116642 +$as_echo_n "checking for _hypotf declaration... " >&6; }
116643 + if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
116644 + if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
116645 + $as_echo_n "(cached) " >&6
116646 +else
116649 + ac_ext=cpp
116650 +ac_cpp='$CXXCPP $CPPFLAGS'
116651 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116652 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116653 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116655 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116656 +/* end confdefs.h. */
116657 +#include <math.h>
116659 +main ()
116661 + _hypotf(0, 0);
116663 + return 0;
116665 +_ACEOF
116666 +if ac_fn_cxx_try_compile "$LINENO"; then :
116667 + glibcxx_cv_func__hypotf_use=yes
116668 +else
116669 + glibcxx_cv_func__hypotf_use=no
116671 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116672 + ac_ext=c
116673 +ac_cpp='$CPP $CPPFLAGS'
116674 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116675 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116676 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116682 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
116683 +$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
116685 + if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
116686 + for ac_func in _hypotf
116687 +do :
116688 + ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
116689 +if test "x$ac_cv_func__hypotf" = x""yes; then :
116690 + cat >>confdefs.h <<_ACEOF
116691 +#define HAVE__HYPOTF 1
116692 +_ACEOF
116695 +done
116704 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
116705 +$as_echo_n "checking for ldexpf declaration... " >&6; }
116706 + if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
116707 + if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
116708 + $as_echo_n "(cached) " >&6
116709 +else
116712 + ac_ext=cpp
116713 +ac_cpp='$CXXCPP $CPPFLAGS'
116714 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116715 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116716 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116718 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116719 +/* end confdefs.h. */
116720 +#include <math.h>
116722 +main ()
116724 + ldexpf(0, 0);
116726 + return 0;
116728 +_ACEOF
116729 +if ac_fn_cxx_try_compile "$LINENO"; then :
116730 + glibcxx_cv_func_ldexpf_use=yes
116731 +else
116732 + glibcxx_cv_func_ldexpf_use=no
116734 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116735 + ac_ext=c
116736 +ac_cpp='$CPP $CPPFLAGS'
116737 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116738 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116739 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116745 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
116746 +$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
116748 + if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
116749 + for ac_func in ldexpf
116750 +do :
116751 + ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
116752 +if test "x$ac_cv_func_ldexpf" = x""yes; then :
116753 + cat >>confdefs.h <<_ACEOF
116754 +#define HAVE_LDEXPF 1
116755 +_ACEOF
116758 +done
116760 + else
116762 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
116763 +$as_echo_n "checking for _ldexpf declaration... " >&6; }
116764 + if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
116765 + if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
116766 + $as_echo_n "(cached) " >&6
116767 +else
116770 + ac_ext=cpp
116771 +ac_cpp='$CXXCPP $CPPFLAGS'
116772 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116773 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116774 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116776 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116777 +/* end confdefs.h. */
116778 +#include <math.h>
116780 +main ()
116782 + _ldexpf(0, 0);
116784 + return 0;
116786 +_ACEOF
116787 +if ac_fn_cxx_try_compile "$LINENO"; then :
116788 + glibcxx_cv_func__ldexpf_use=yes
116789 +else
116790 + glibcxx_cv_func__ldexpf_use=no
116792 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116793 + ac_ext=c
116794 +ac_cpp='$CPP $CPPFLAGS'
116795 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116796 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116797 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116803 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
116804 +$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
116806 + if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
116807 + for ac_func in _ldexpf
116808 +do :
116809 + ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
116810 +if test "x$ac_cv_func__ldexpf" = x""yes; then :
116811 + cat >>confdefs.h <<_ACEOF
116812 +#define HAVE__LDEXPF 1
116813 +_ACEOF
116816 +done
116825 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
116826 +$as_echo_n "checking for logf declaration... " >&6; }
116827 + if test x${glibcxx_cv_func_logf_use+set} != xset; then
116828 + if test "${glibcxx_cv_func_logf_use+set}" = set; then :
116829 + $as_echo_n "(cached) " >&6
116830 +else
116833 + ac_ext=cpp
116834 +ac_cpp='$CXXCPP $CPPFLAGS'
116835 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116836 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116837 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116839 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116840 +/* end confdefs.h. */
116841 +#include <math.h>
116842 + #ifdef HAVE_IEEEFP_H
116843 + #include <ieeefp.h>
116844 + #endif
116847 +main ()
116849 + logf(0);
116851 + return 0;
116853 +_ACEOF
116854 +if ac_fn_cxx_try_compile "$LINENO"; then :
116855 + glibcxx_cv_func_logf_use=yes
116856 +else
116857 + glibcxx_cv_func_logf_use=no
116859 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116860 + ac_ext=c
116861 +ac_cpp='$CPP $CPPFLAGS'
116862 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116863 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116864 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116870 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
116871 +$as_echo "$glibcxx_cv_func_logf_use" >&6; }
116873 + if test x$glibcxx_cv_func_logf_use = x"yes"; then
116874 + for ac_func in logf
116875 +do :
116876 + ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
116877 +if test "x$ac_cv_func_logf" = x""yes; then :
116878 + cat >>confdefs.h <<_ACEOF
116879 +#define HAVE_LOGF 1
116880 +_ACEOF
116883 +done
116885 + else
116887 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
116888 +$as_echo_n "checking for _logf declaration... " >&6; }
116889 + if test x${glibcxx_cv_func__logf_use+set} != xset; then
116890 + if test "${glibcxx_cv_func__logf_use+set}" = set; then :
116891 + $as_echo_n "(cached) " >&6
116892 +else
116895 + ac_ext=cpp
116896 +ac_cpp='$CXXCPP $CPPFLAGS'
116897 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116898 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116899 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116901 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116902 +/* end confdefs.h. */
116903 +#include <math.h>
116904 + #ifdef HAVE_IEEEFP_H
116905 + #include <ieeefp.h>
116906 + #endif
116909 +main ()
116911 + _logf(0);
116913 + return 0;
116915 +_ACEOF
116916 +if ac_fn_cxx_try_compile "$LINENO"; then :
116917 + glibcxx_cv_func__logf_use=yes
116918 +else
116919 + glibcxx_cv_func__logf_use=no
116921 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116922 + ac_ext=c
116923 +ac_cpp='$CPP $CPPFLAGS'
116924 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116925 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116926 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116932 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
116933 +$as_echo "$glibcxx_cv_func__logf_use" >&6; }
116935 + if test x$glibcxx_cv_func__logf_use = x"yes"; then
116936 + for ac_func in _logf
116937 +do :
116938 + ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
116939 +if test "x$ac_cv_func__logf" = x""yes; then :
116940 + cat >>confdefs.h <<_ACEOF
116941 +#define HAVE__LOGF 1
116942 +_ACEOF
116945 +done
116954 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
116955 +$as_echo_n "checking for log10f declaration... " >&6; }
116956 + if test x${glibcxx_cv_func_log10f_use+set} != xset; then
116957 + if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
116958 + $as_echo_n "(cached) " >&6
116959 +else
116962 + ac_ext=cpp
116963 +ac_cpp='$CXXCPP $CPPFLAGS'
116964 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116965 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116966 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
116968 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
116969 +/* end confdefs.h. */
116970 +#include <math.h>
116971 + #ifdef HAVE_IEEEFP_H
116972 + #include <ieeefp.h>
116973 + #endif
116976 +main ()
116978 + log10f(0);
116980 + return 0;
116982 +_ACEOF
116983 +if ac_fn_cxx_try_compile "$LINENO"; then :
116984 + glibcxx_cv_func_log10f_use=yes
116985 +else
116986 + glibcxx_cv_func_log10f_use=no
116988 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
116989 + ac_ext=c
116990 +ac_cpp='$CPP $CPPFLAGS'
116991 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
116992 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
116993 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
116999 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
117000 +$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
117002 + if test x$glibcxx_cv_func_log10f_use = x"yes"; then
117003 + for ac_func in log10f
117004 +do :
117005 + ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
117006 +if test "x$ac_cv_func_log10f" = x""yes; then :
117007 + cat >>confdefs.h <<_ACEOF
117008 +#define HAVE_LOG10F 1
117009 +_ACEOF
117012 +done
117014 + else
117016 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
117017 +$as_echo_n "checking for _log10f declaration... " >&6; }
117018 + if test x${glibcxx_cv_func__log10f_use+set} != xset; then
117019 + if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
117020 + $as_echo_n "(cached) " >&6
117021 +else
117024 + ac_ext=cpp
117025 +ac_cpp='$CXXCPP $CPPFLAGS'
117026 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117027 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117028 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117030 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117031 +/* end confdefs.h. */
117032 +#include <math.h>
117033 + #ifdef HAVE_IEEEFP_H
117034 + #include <ieeefp.h>
117035 + #endif
117038 +main ()
117040 + _log10f(0);
117042 + return 0;
117044 +_ACEOF
117045 +if ac_fn_cxx_try_compile "$LINENO"; then :
117046 + glibcxx_cv_func__log10f_use=yes
117047 +else
117048 + glibcxx_cv_func__log10f_use=no
117050 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117051 + ac_ext=c
117052 +ac_cpp='$CPP $CPPFLAGS'
117053 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117054 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117055 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117061 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
117062 +$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
117064 + if test x$glibcxx_cv_func__log10f_use = x"yes"; then
117065 + for ac_func in _log10f
117066 +do :
117067 + ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
117068 +if test "x$ac_cv_func__log10f" = x""yes; then :
117069 + cat >>confdefs.h <<_ACEOF
117070 +#define HAVE__LOG10F 1
117071 +_ACEOF
117074 +done
117083 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
117084 +$as_echo_n "checking for modff declaration... " >&6; }
117085 + if test x${glibcxx_cv_func_modff_use+set} != xset; then
117086 + if test "${glibcxx_cv_func_modff_use+set}" = set; then :
117087 + $as_echo_n "(cached) " >&6
117088 +else
117091 + ac_ext=cpp
117092 +ac_cpp='$CXXCPP $CPPFLAGS'
117093 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117094 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117095 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117097 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117098 +/* end confdefs.h. */
117099 +#include <math.h>
117101 +main ()
117103 + modff(0, 0);
117105 + return 0;
117107 +_ACEOF
117108 +if ac_fn_cxx_try_compile "$LINENO"; then :
117109 + glibcxx_cv_func_modff_use=yes
117110 +else
117111 + glibcxx_cv_func_modff_use=no
117113 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117114 + ac_ext=c
117115 +ac_cpp='$CPP $CPPFLAGS'
117116 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117117 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117118 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117124 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
117125 +$as_echo "$glibcxx_cv_func_modff_use" >&6; }
117127 + if test x$glibcxx_cv_func_modff_use = x"yes"; then
117128 + for ac_func in modff
117129 +do :
117130 + ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
117131 +if test "x$ac_cv_func_modff" = x""yes; then :
117132 + cat >>confdefs.h <<_ACEOF
117133 +#define HAVE_MODFF 1
117134 +_ACEOF
117137 +done
117139 + else
117141 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
117142 +$as_echo_n "checking for _modff declaration... " >&6; }
117143 + if test x${glibcxx_cv_func__modff_use+set} != xset; then
117144 + if test "${glibcxx_cv_func__modff_use+set}" = set; then :
117145 + $as_echo_n "(cached) " >&6
117146 +else
117149 + ac_ext=cpp
117150 +ac_cpp='$CXXCPP $CPPFLAGS'
117151 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117152 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117153 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117155 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117156 +/* end confdefs.h. */
117157 +#include <math.h>
117159 +main ()
117161 + _modff(0, 0);
117163 + return 0;
117165 +_ACEOF
117166 +if ac_fn_cxx_try_compile "$LINENO"; then :
117167 + glibcxx_cv_func__modff_use=yes
117168 +else
117169 + glibcxx_cv_func__modff_use=no
117171 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117172 + ac_ext=c
117173 +ac_cpp='$CPP $CPPFLAGS'
117174 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117175 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117176 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117182 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
117183 +$as_echo "$glibcxx_cv_func__modff_use" >&6; }
117185 + if test x$glibcxx_cv_func__modff_use = x"yes"; then
117186 + for ac_func in _modff
117187 +do :
117188 + ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
117189 +if test "x$ac_cv_func__modff" = x""yes; then :
117190 + cat >>confdefs.h <<_ACEOF
117191 +#define HAVE__MODFF 1
117192 +_ACEOF
117195 +done
117204 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
117205 +$as_echo_n "checking for modf declaration... " >&6; }
117206 + if test x${glibcxx_cv_func_modf_use+set} != xset; then
117207 + if test "${glibcxx_cv_func_modf_use+set}" = set; then :
117208 + $as_echo_n "(cached) " >&6
117209 +else
117212 + ac_ext=cpp
117213 +ac_cpp='$CXXCPP $CPPFLAGS'
117214 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117215 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117216 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117218 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117219 +/* end confdefs.h. */
117220 +#include <math.h>
117222 +main ()
117224 + modf(0, 0);
117226 + return 0;
117228 +_ACEOF
117229 +if ac_fn_cxx_try_compile "$LINENO"; then :
117230 + glibcxx_cv_func_modf_use=yes
117231 +else
117232 + glibcxx_cv_func_modf_use=no
117234 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117235 + ac_ext=c
117236 +ac_cpp='$CPP $CPPFLAGS'
117237 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117238 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117239 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117245 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
117246 +$as_echo "$glibcxx_cv_func_modf_use" >&6; }
117248 + if test x$glibcxx_cv_func_modf_use = x"yes"; then
117249 + for ac_func in modf
117250 +do :
117251 + ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
117252 +if test "x$ac_cv_func_modf" = x""yes; then :
117253 + cat >>confdefs.h <<_ACEOF
117254 +#define HAVE_MODF 1
117255 +_ACEOF
117258 +done
117260 + else
117262 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
117263 +$as_echo_n "checking for _modf declaration... " >&6; }
117264 + if test x${glibcxx_cv_func__modf_use+set} != xset; then
117265 + if test "${glibcxx_cv_func__modf_use+set}" = set; then :
117266 + $as_echo_n "(cached) " >&6
117267 +else
117270 + ac_ext=cpp
117271 +ac_cpp='$CXXCPP $CPPFLAGS'
117272 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117273 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117274 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117276 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117277 +/* end confdefs.h. */
117278 +#include <math.h>
117280 +main ()
117282 + _modf(0, 0);
117284 + return 0;
117286 +_ACEOF
117287 +if ac_fn_cxx_try_compile "$LINENO"; then :
117288 + glibcxx_cv_func__modf_use=yes
117289 +else
117290 + glibcxx_cv_func__modf_use=no
117292 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117293 + ac_ext=c
117294 +ac_cpp='$CPP $CPPFLAGS'
117295 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117296 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117297 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117303 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
117304 +$as_echo "$glibcxx_cv_func__modf_use" >&6; }
117306 + if test x$glibcxx_cv_func__modf_use = x"yes"; then
117307 + for ac_func in _modf
117308 +do :
117309 + ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
117310 +if test "x$ac_cv_func__modf" = x""yes; then :
117311 + cat >>confdefs.h <<_ACEOF
117312 +#define HAVE__MODF 1
117313 +_ACEOF
117316 +done
117325 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
117326 +$as_echo_n "checking for powf declaration... " >&6; }
117327 + if test x${glibcxx_cv_func_powf_use+set} != xset; then
117328 + if test "${glibcxx_cv_func_powf_use+set}" = set; then :
117329 + $as_echo_n "(cached) " >&6
117330 +else
117333 + ac_ext=cpp
117334 +ac_cpp='$CXXCPP $CPPFLAGS'
117335 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117336 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117337 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117339 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117340 +/* end confdefs.h. */
117341 +#include <math.h>
117343 +main ()
117345 + powf(0, 0);
117347 + return 0;
117349 +_ACEOF
117350 +if ac_fn_cxx_try_compile "$LINENO"; then :
117351 + glibcxx_cv_func_powf_use=yes
117352 +else
117353 + glibcxx_cv_func_powf_use=no
117355 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117356 + ac_ext=c
117357 +ac_cpp='$CPP $CPPFLAGS'
117358 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117359 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117360 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117366 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
117367 +$as_echo "$glibcxx_cv_func_powf_use" >&6; }
117369 + if test x$glibcxx_cv_func_powf_use = x"yes"; then
117370 + for ac_func in powf
117371 +do :
117372 + ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
117373 +if test "x$ac_cv_func_powf" = x""yes; then :
117374 + cat >>confdefs.h <<_ACEOF
117375 +#define HAVE_POWF 1
117376 +_ACEOF
117379 +done
117381 + else
117383 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
117384 +$as_echo_n "checking for _powf declaration... " >&6; }
117385 + if test x${glibcxx_cv_func__powf_use+set} != xset; then
117386 + if test "${glibcxx_cv_func__powf_use+set}" = set; then :
117387 + $as_echo_n "(cached) " >&6
117388 +else
117391 + ac_ext=cpp
117392 +ac_cpp='$CXXCPP $CPPFLAGS'
117393 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117394 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117395 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117397 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117398 +/* end confdefs.h. */
117399 +#include <math.h>
117401 +main ()
117403 + _powf(0, 0);
117405 + return 0;
117407 +_ACEOF
117408 +if ac_fn_cxx_try_compile "$LINENO"; then :
117409 + glibcxx_cv_func__powf_use=yes
117410 +else
117411 + glibcxx_cv_func__powf_use=no
117413 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117414 + ac_ext=c
117415 +ac_cpp='$CPP $CPPFLAGS'
117416 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117417 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117418 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117424 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
117425 +$as_echo "$glibcxx_cv_func__powf_use" >&6; }
117427 + if test x$glibcxx_cv_func__powf_use = x"yes"; then
117428 + for ac_func in _powf
117429 +do :
117430 + ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
117431 +if test "x$ac_cv_func__powf" = x""yes; then :
117432 + cat >>confdefs.h <<_ACEOF
117433 +#define HAVE__POWF 1
117434 +_ACEOF
117437 +done
117446 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
117447 +$as_echo_n "checking for sqrtf declaration... " >&6; }
117448 + if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
117449 + if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
117450 + $as_echo_n "(cached) " >&6
117451 +else
117454 + ac_ext=cpp
117455 +ac_cpp='$CXXCPP $CPPFLAGS'
117456 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117457 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117458 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117460 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117461 +/* end confdefs.h. */
117462 +#include <math.h>
117463 + #ifdef HAVE_IEEEFP_H
117464 + #include <ieeefp.h>
117465 + #endif
117468 +main ()
117470 + sqrtf(0);
117472 + return 0;
117474 +_ACEOF
117475 +if ac_fn_cxx_try_compile "$LINENO"; then :
117476 + glibcxx_cv_func_sqrtf_use=yes
117477 +else
117478 + glibcxx_cv_func_sqrtf_use=no
117480 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117481 + ac_ext=c
117482 +ac_cpp='$CPP $CPPFLAGS'
117483 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117484 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117485 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117491 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
117492 +$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
117494 + if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
117495 + for ac_func in sqrtf
117496 +do :
117497 + ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
117498 +if test "x$ac_cv_func_sqrtf" = x""yes; then :
117499 + cat >>confdefs.h <<_ACEOF
117500 +#define HAVE_SQRTF 1
117501 +_ACEOF
117504 +done
117506 + else
117508 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
117509 +$as_echo_n "checking for _sqrtf declaration... " >&6; }
117510 + if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
117511 + if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
117512 + $as_echo_n "(cached) " >&6
117513 +else
117516 + ac_ext=cpp
117517 +ac_cpp='$CXXCPP $CPPFLAGS'
117518 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117519 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117520 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117522 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117523 +/* end confdefs.h. */
117524 +#include <math.h>
117525 + #ifdef HAVE_IEEEFP_H
117526 + #include <ieeefp.h>
117527 + #endif
117530 +main ()
117532 + _sqrtf(0);
117534 + return 0;
117536 +_ACEOF
117537 +if ac_fn_cxx_try_compile "$LINENO"; then :
117538 + glibcxx_cv_func__sqrtf_use=yes
117539 +else
117540 + glibcxx_cv_func__sqrtf_use=no
117542 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117543 + ac_ext=c
117544 +ac_cpp='$CPP $CPPFLAGS'
117545 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117546 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117547 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117553 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
117554 +$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
117556 + if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
117557 + for ac_func in _sqrtf
117558 +do :
117559 + ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
117560 +if test "x$ac_cv_func__sqrtf" = x""yes; then :
117561 + cat >>confdefs.h <<_ACEOF
117562 +#define HAVE__SQRTF 1
117563 +_ACEOF
117566 +done
117575 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
117576 +$as_echo_n "checking for sincosf declaration... " >&6; }
117577 + if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
117578 + if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
117579 + $as_echo_n "(cached) " >&6
117580 +else
117583 + ac_ext=cpp
117584 +ac_cpp='$CXXCPP $CPPFLAGS'
117585 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117586 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117587 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117589 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117590 +/* end confdefs.h. */
117591 +#include <math.h>
117593 +main ()
117595 + sincosf(0, 0, 0);
117597 + return 0;
117599 +_ACEOF
117600 +if ac_fn_cxx_try_compile "$LINENO"; then :
117601 + glibcxx_cv_func_sincosf_use=yes
117602 +else
117603 + glibcxx_cv_func_sincosf_use=no
117605 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117606 + ac_ext=c
117607 +ac_cpp='$CPP $CPPFLAGS'
117608 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117609 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117610 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117616 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
117617 +$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
117619 + if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
117620 + for ac_func in sincosf
117621 +do :
117622 + ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
117623 +if test "x$ac_cv_func_sincosf" = x""yes; then :
117624 + cat >>confdefs.h <<_ACEOF
117625 +#define HAVE_SINCOSF 1
117626 +_ACEOF
117629 +done
117631 + else
117633 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
117634 +$as_echo_n "checking for _sincosf declaration... " >&6; }
117635 + if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
117636 + if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
117637 + $as_echo_n "(cached) " >&6
117638 +else
117641 + ac_ext=cpp
117642 +ac_cpp='$CXXCPP $CPPFLAGS'
117643 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117644 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117645 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117647 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117648 +/* end confdefs.h. */
117649 +#include <math.h>
117651 +main ()
117653 + _sincosf(0, 0, 0);
117655 + return 0;
117657 +_ACEOF
117658 +if ac_fn_cxx_try_compile "$LINENO"; then :
117659 + glibcxx_cv_func__sincosf_use=yes
117660 +else
117661 + glibcxx_cv_func__sincosf_use=no
117663 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117664 + ac_ext=c
117665 +ac_cpp='$CPP $CPPFLAGS'
117666 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117667 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117668 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117674 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
117675 +$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
117677 + if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
117678 + for ac_func in _sincosf
117679 +do :
117680 + ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
117681 +if test "x$ac_cv_func__sincosf" = x""yes; then :
117682 + cat >>confdefs.h <<_ACEOF
117683 +#define HAVE__SINCOSF 1
117684 +_ACEOF
117687 +done
117696 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
117697 +$as_echo_n "checking for finitef declaration... " >&6; }
117698 + if test x${glibcxx_cv_func_finitef_use+set} != xset; then
117699 + if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
117700 + $as_echo_n "(cached) " >&6
117701 +else
117704 + ac_ext=cpp
117705 +ac_cpp='$CXXCPP $CPPFLAGS'
117706 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117707 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117708 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117710 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117711 +/* end confdefs.h. */
117712 +#include <math.h>
117713 + #ifdef HAVE_IEEEFP_H
117714 + #include <ieeefp.h>
117715 + #endif
117718 +main ()
117720 + finitef(0);
117722 + return 0;
117724 +_ACEOF
117725 +if ac_fn_cxx_try_compile "$LINENO"; then :
117726 + glibcxx_cv_func_finitef_use=yes
117727 +else
117728 + glibcxx_cv_func_finitef_use=no
117730 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117731 + ac_ext=c
117732 +ac_cpp='$CPP $CPPFLAGS'
117733 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117734 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117735 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117741 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
117742 +$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
117744 + if test x$glibcxx_cv_func_finitef_use = x"yes"; then
117745 + for ac_func in finitef
117746 +do :
117747 + ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
117748 +if test "x$ac_cv_func_finitef" = x""yes; then :
117749 + cat >>confdefs.h <<_ACEOF
117750 +#define HAVE_FINITEF 1
117751 +_ACEOF
117754 +done
117756 + else
117758 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
117759 +$as_echo_n "checking for _finitef declaration... " >&6; }
117760 + if test x${glibcxx_cv_func__finitef_use+set} != xset; then
117761 + if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
117762 + $as_echo_n "(cached) " >&6
117763 +else
117766 + ac_ext=cpp
117767 +ac_cpp='$CXXCPP $CPPFLAGS'
117768 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117769 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117770 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117772 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117773 +/* end confdefs.h. */
117774 +#include <math.h>
117775 + #ifdef HAVE_IEEEFP_H
117776 + #include <ieeefp.h>
117777 + #endif
117780 +main ()
117782 + _finitef(0);
117784 + return 0;
117786 +_ACEOF
117787 +if ac_fn_cxx_try_compile "$LINENO"; then :
117788 + glibcxx_cv_func__finitef_use=yes
117789 +else
117790 + glibcxx_cv_func__finitef_use=no
117792 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117793 + ac_ext=c
117794 +ac_cpp='$CPP $CPPFLAGS'
117795 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117796 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117797 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117803 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
117804 +$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
117806 + if test x$glibcxx_cv_func__finitef_use = x"yes"; then
117807 + for ac_func in _finitef
117808 +do :
117809 + ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
117810 +if test "x$ac_cv_func__finitef" = x""yes; then :
117811 + cat >>confdefs.h <<_ACEOF
117812 +#define HAVE__FINITEF 1
117813 +_ACEOF
117816 +done
117825 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
117826 +$as_echo_n "checking for long double trig functions... " >&6; }
117827 + if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
117828 + $as_echo_n "(cached) " >&6
117829 +else
117832 + ac_ext=cpp
117833 +ac_cpp='$CXXCPP $CPPFLAGS'
117834 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117835 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117836 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117838 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117839 +/* end confdefs.h. */
117840 +#include <math.h>
117842 +main ()
117844 +acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
117846 + return 0;
117848 +_ACEOF
117849 +if ac_fn_cxx_try_compile "$LINENO"; then :
117850 + glibcxx_cv_func_long_double_trig_use=yes
117851 +else
117852 + glibcxx_cv_func_long_double_trig_use=no
117854 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117855 + ac_ext=c
117856 +ac_cpp='$CPP $CPPFLAGS'
117857 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117858 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117859 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117863 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
117864 +$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
117865 + if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
117866 + for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
117867 +do :
117868 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
117869 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
117870 +eval as_val=\$$as_ac_var
117871 + if test "x$as_val" = x""yes; then :
117872 + cat >>confdefs.h <<_ACEOF
117873 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
117874 +_ACEOF
117877 +done
117879 + else
117880 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
117881 +$as_echo_n "checking for _long double trig functions... " >&6; }
117882 + if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
117883 + $as_echo_n "(cached) " >&6
117884 +else
117887 + ac_ext=cpp
117888 +ac_cpp='$CXXCPP $CPPFLAGS'
117889 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117890 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117891 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117893 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117894 +/* end confdefs.h. */
117895 +#include <math.h>
117897 +main ()
117899 +_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
117901 + return 0;
117903 +_ACEOF
117904 +if ac_fn_cxx_try_compile "$LINENO"; then :
117905 + glibcxx_cv_func__long_double_trig_use=yes
117906 +else
117907 + glibcxx_cv_func__long_double_trig_use=no
117909 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117910 + ac_ext=c
117911 +ac_cpp='$CPP $CPPFLAGS'
117912 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117913 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117914 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117918 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
117919 +$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
117920 + if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
117921 + for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
117922 +do :
117923 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
117924 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
117925 +eval as_val=\$$as_ac_var
117926 + if test "x$as_val" = x""yes; then :
117927 + cat >>confdefs.h <<_ACEOF
117928 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
117929 +_ACEOF
117932 +done
117941 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
117942 +$as_echo_n "checking for long double round functions... " >&6; }
117943 + if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
117944 + $as_echo_n "(cached) " >&6
117945 +else
117948 + ac_ext=cpp
117949 +ac_cpp='$CXXCPP $CPPFLAGS'
117950 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117951 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117952 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
117954 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
117955 +/* end confdefs.h. */
117956 +#include <math.h>
117958 +main ()
117960 +ceill (0); floorl (0);
117962 + return 0;
117964 +_ACEOF
117965 +if ac_fn_cxx_try_compile "$LINENO"; then :
117966 + glibcxx_cv_func_long_double_round_use=yes
117967 +else
117968 + glibcxx_cv_func_long_double_round_use=no
117970 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
117971 + ac_ext=c
117972 +ac_cpp='$CPP $CPPFLAGS'
117973 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
117974 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
117975 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
117979 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
117980 +$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
117981 + if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
117982 + for ac_func in ceill floorl
117983 +do :
117984 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
117985 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
117986 +eval as_val=\$$as_ac_var
117987 + if test "x$as_val" = x""yes; then :
117988 + cat >>confdefs.h <<_ACEOF
117989 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
117990 +_ACEOF
117993 +done
117995 + else
117996 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
117997 +$as_echo_n "checking for _long double round functions... " >&6; }
117998 + if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
117999 + $as_echo_n "(cached) " >&6
118000 +else
118003 + ac_ext=cpp
118004 +ac_cpp='$CXXCPP $CPPFLAGS'
118005 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118006 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118007 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118009 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118010 +/* end confdefs.h. */
118011 +#include <math.h>
118013 +main ()
118015 +_ceill (0); _floorl (0);
118017 + return 0;
118019 +_ACEOF
118020 +if ac_fn_cxx_try_compile "$LINENO"; then :
118021 + glibcxx_cv_func__long_double_round_use=yes
118022 +else
118023 + glibcxx_cv_func__long_double_round_use=no
118025 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118026 + ac_ext=c
118027 +ac_cpp='$CPP $CPPFLAGS'
118028 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118029 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118030 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118034 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
118035 +$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
118036 + if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
118037 + for ac_func in _ceill _floorl
118038 +do :
118039 + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
118040 +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
118041 +eval as_val=\$$as_ac_var
118042 + if test "x$as_val" = x""yes; then :
118043 + cat >>confdefs.h <<_ACEOF
118044 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
118045 +_ACEOF
118048 +done
118058 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
118059 +$as_echo_n "checking for isnanl declaration... " >&6; }
118060 + if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
118061 + if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
118062 + $as_echo_n "(cached) " >&6
118063 +else
118066 + ac_ext=cpp
118067 +ac_cpp='$CXXCPP $CPPFLAGS'
118068 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118069 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118070 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118072 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118073 +/* end confdefs.h. */
118074 +#include <math.h>
118075 + #ifdef HAVE_IEEEFP_H
118076 + #include <ieeefp.h>
118077 + #endif
118080 +main ()
118082 + isnanl(0);
118084 + return 0;
118086 +_ACEOF
118087 +if ac_fn_cxx_try_compile "$LINENO"; then :
118088 + glibcxx_cv_func_isnanl_use=yes
118089 +else
118090 + glibcxx_cv_func_isnanl_use=no
118092 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118093 + ac_ext=c
118094 +ac_cpp='$CPP $CPPFLAGS'
118095 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118096 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118097 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118103 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
118104 +$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
118106 + if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
118107 + for ac_func in isnanl
118108 +do :
118109 + ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
118110 +if test "x$ac_cv_func_isnanl" = x""yes; then :
118111 + cat >>confdefs.h <<_ACEOF
118112 +#define HAVE_ISNANL 1
118113 +_ACEOF
118116 +done
118118 + else
118120 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
118121 +$as_echo_n "checking for _isnanl declaration... " >&6; }
118122 + if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
118123 + if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
118124 + $as_echo_n "(cached) " >&6
118125 +else
118128 + ac_ext=cpp
118129 +ac_cpp='$CXXCPP $CPPFLAGS'
118130 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118131 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118132 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118134 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118135 +/* end confdefs.h. */
118136 +#include <math.h>
118137 + #ifdef HAVE_IEEEFP_H
118138 + #include <ieeefp.h>
118139 + #endif
118142 +main ()
118144 + _isnanl(0);
118146 + return 0;
118148 +_ACEOF
118149 +if ac_fn_cxx_try_compile "$LINENO"; then :
118150 + glibcxx_cv_func__isnanl_use=yes
118151 +else
118152 + glibcxx_cv_func__isnanl_use=no
118154 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118155 + ac_ext=c
118156 +ac_cpp='$CPP $CPPFLAGS'
118157 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118158 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118159 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118165 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
118166 +$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
118168 + if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
118169 + for ac_func in _isnanl
118170 +do :
118171 + ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
118172 +if test "x$ac_cv_func__isnanl" = x""yes; then :
118173 + cat >>confdefs.h <<_ACEOF
118174 +#define HAVE__ISNANL 1
118175 +_ACEOF
118178 +done
118187 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
118188 +$as_echo_n "checking for isinfl declaration... " >&6; }
118189 + if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
118190 + if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
118191 + $as_echo_n "(cached) " >&6
118192 +else
118195 + ac_ext=cpp
118196 +ac_cpp='$CXXCPP $CPPFLAGS'
118197 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118198 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118199 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118201 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118202 +/* end confdefs.h. */
118203 +#include <math.h>
118204 + #ifdef HAVE_IEEEFP_H
118205 + #include <ieeefp.h>
118206 + #endif
118209 +main ()
118211 + isinfl(0);
118213 + return 0;
118215 +_ACEOF
118216 +if ac_fn_cxx_try_compile "$LINENO"; then :
118217 + glibcxx_cv_func_isinfl_use=yes
118218 +else
118219 + glibcxx_cv_func_isinfl_use=no
118221 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118222 + ac_ext=c
118223 +ac_cpp='$CPP $CPPFLAGS'
118224 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118225 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118226 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118232 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
118233 +$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
118235 + if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
118236 + for ac_func in isinfl
118237 +do :
118238 + ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
118239 +if test "x$ac_cv_func_isinfl" = x""yes; then :
118240 + cat >>confdefs.h <<_ACEOF
118241 +#define HAVE_ISINFL 1
118242 +_ACEOF
118245 +done
118247 + else
118249 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
118250 +$as_echo_n "checking for _isinfl declaration... " >&6; }
118251 + if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
118252 + if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
118253 + $as_echo_n "(cached) " >&6
118254 +else
118257 + ac_ext=cpp
118258 +ac_cpp='$CXXCPP $CPPFLAGS'
118259 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118260 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118261 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118263 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118264 +/* end confdefs.h. */
118265 +#include <math.h>
118266 + #ifdef HAVE_IEEEFP_H
118267 + #include <ieeefp.h>
118268 + #endif
118271 +main ()
118273 + _isinfl(0);
118275 + return 0;
118277 +_ACEOF
118278 +if ac_fn_cxx_try_compile "$LINENO"; then :
118279 + glibcxx_cv_func__isinfl_use=yes
118280 +else
118281 + glibcxx_cv_func__isinfl_use=no
118283 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118284 + ac_ext=c
118285 +ac_cpp='$CPP $CPPFLAGS'
118286 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118287 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118288 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118294 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
118295 +$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
118297 + if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
118298 + for ac_func in _isinfl
118299 +do :
118300 + ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
118301 +if test "x$ac_cv_func__isinfl" = x""yes; then :
118302 + cat >>confdefs.h <<_ACEOF
118303 +#define HAVE__ISINFL 1
118304 +_ACEOF
118307 +done
118316 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
118317 +$as_echo_n "checking for atan2l declaration... " >&6; }
118318 + if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
118319 + if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
118320 + $as_echo_n "(cached) " >&6
118321 +else
118324 + ac_ext=cpp
118325 +ac_cpp='$CXXCPP $CPPFLAGS'
118326 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118327 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118328 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118330 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118331 +/* end confdefs.h. */
118332 +#include <math.h>
118334 +main ()
118336 + atan2l(0, 0);
118338 + return 0;
118340 +_ACEOF
118341 +if ac_fn_cxx_try_compile "$LINENO"; then :
118342 + glibcxx_cv_func_atan2l_use=yes
118343 +else
118344 + glibcxx_cv_func_atan2l_use=no
118346 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118347 + ac_ext=c
118348 +ac_cpp='$CPP $CPPFLAGS'
118349 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118350 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118351 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118357 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
118358 +$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
118360 + if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
118361 + for ac_func in atan2l
118362 +do :
118363 + ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
118364 +if test "x$ac_cv_func_atan2l" = x""yes; then :
118365 + cat >>confdefs.h <<_ACEOF
118366 +#define HAVE_ATAN2L 1
118367 +_ACEOF
118370 +done
118372 + else
118374 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
118375 +$as_echo_n "checking for _atan2l declaration... " >&6; }
118376 + if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
118377 + if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
118378 + $as_echo_n "(cached) " >&6
118379 +else
118382 + ac_ext=cpp
118383 +ac_cpp='$CXXCPP $CPPFLAGS'
118384 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118385 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118386 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118388 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118389 +/* end confdefs.h. */
118390 +#include <math.h>
118392 +main ()
118394 + _atan2l(0, 0);
118396 + return 0;
118398 +_ACEOF
118399 +if ac_fn_cxx_try_compile "$LINENO"; then :
118400 + glibcxx_cv_func__atan2l_use=yes
118401 +else
118402 + glibcxx_cv_func__atan2l_use=no
118404 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118405 + ac_ext=c
118406 +ac_cpp='$CPP $CPPFLAGS'
118407 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118408 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118409 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118415 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
118416 +$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
118418 + if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
118419 + for ac_func in _atan2l
118420 +do :
118421 + ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
118422 +if test "x$ac_cv_func__atan2l" = x""yes; then :
118423 + cat >>confdefs.h <<_ACEOF
118424 +#define HAVE__ATAN2L 1
118425 +_ACEOF
118428 +done
118437 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
118438 +$as_echo_n "checking for expl declaration... " >&6; }
118439 + if test x${glibcxx_cv_func_expl_use+set} != xset; then
118440 + if test "${glibcxx_cv_func_expl_use+set}" = set; then :
118441 + $as_echo_n "(cached) " >&6
118442 +else
118445 + ac_ext=cpp
118446 +ac_cpp='$CXXCPP $CPPFLAGS'
118447 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118448 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118449 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118451 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118452 +/* end confdefs.h. */
118453 +#include <math.h>
118454 + #ifdef HAVE_IEEEFP_H
118455 + #include <ieeefp.h>
118456 + #endif
118459 +main ()
118461 + expl(0);
118463 + return 0;
118465 +_ACEOF
118466 +if ac_fn_cxx_try_compile "$LINENO"; then :
118467 + glibcxx_cv_func_expl_use=yes
118468 +else
118469 + glibcxx_cv_func_expl_use=no
118471 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118472 + ac_ext=c
118473 +ac_cpp='$CPP $CPPFLAGS'
118474 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118475 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118476 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118482 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
118483 +$as_echo "$glibcxx_cv_func_expl_use" >&6; }
118485 + if test x$glibcxx_cv_func_expl_use = x"yes"; then
118486 + for ac_func in expl
118487 +do :
118488 + ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
118489 +if test "x$ac_cv_func_expl" = x""yes; then :
118490 + cat >>confdefs.h <<_ACEOF
118491 +#define HAVE_EXPL 1
118492 +_ACEOF
118495 +done
118497 + else
118499 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
118500 +$as_echo_n "checking for _expl declaration... " >&6; }
118501 + if test x${glibcxx_cv_func__expl_use+set} != xset; then
118502 + if test "${glibcxx_cv_func__expl_use+set}" = set; then :
118503 + $as_echo_n "(cached) " >&6
118504 +else
118507 + ac_ext=cpp
118508 +ac_cpp='$CXXCPP $CPPFLAGS'
118509 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118510 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118511 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118513 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118514 +/* end confdefs.h. */
118515 +#include <math.h>
118516 + #ifdef HAVE_IEEEFP_H
118517 + #include <ieeefp.h>
118518 + #endif
118521 +main ()
118523 + _expl(0);
118525 + return 0;
118527 +_ACEOF
118528 +if ac_fn_cxx_try_compile "$LINENO"; then :
118529 + glibcxx_cv_func__expl_use=yes
118530 +else
118531 + glibcxx_cv_func__expl_use=no
118533 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118534 + ac_ext=c
118535 +ac_cpp='$CPP $CPPFLAGS'
118536 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118537 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118538 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118544 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
118545 +$as_echo "$glibcxx_cv_func__expl_use" >&6; }
118547 + if test x$glibcxx_cv_func__expl_use = x"yes"; then
118548 + for ac_func in _expl
118549 +do :
118550 + ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
118551 +if test "x$ac_cv_func__expl" = x""yes; then :
118552 + cat >>confdefs.h <<_ACEOF
118553 +#define HAVE__EXPL 1
118554 +_ACEOF
118557 +done
118566 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
118567 +$as_echo_n "checking for fabsl declaration... " >&6; }
118568 + if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
118569 + if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
118570 + $as_echo_n "(cached) " >&6
118571 +else
118574 + ac_ext=cpp
118575 +ac_cpp='$CXXCPP $CPPFLAGS'
118576 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118577 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118578 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118580 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118581 +/* end confdefs.h. */
118582 +#include <math.h>
118583 + #ifdef HAVE_IEEEFP_H
118584 + #include <ieeefp.h>
118585 + #endif
118588 +main ()
118590 + fabsl(0);
118592 + return 0;
118594 +_ACEOF
118595 +if ac_fn_cxx_try_compile "$LINENO"; then :
118596 + glibcxx_cv_func_fabsl_use=yes
118597 +else
118598 + glibcxx_cv_func_fabsl_use=no
118600 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118601 + ac_ext=c
118602 +ac_cpp='$CPP $CPPFLAGS'
118603 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118604 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118605 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118611 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
118612 +$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
118614 + if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
118615 + for ac_func in fabsl
118616 +do :
118617 + ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
118618 +if test "x$ac_cv_func_fabsl" = x""yes; then :
118619 + cat >>confdefs.h <<_ACEOF
118620 +#define HAVE_FABSL 1
118621 +_ACEOF
118624 +done
118626 + else
118628 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
118629 +$as_echo_n "checking for _fabsl declaration... " >&6; }
118630 + if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
118631 + if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
118632 + $as_echo_n "(cached) " >&6
118633 +else
118636 + ac_ext=cpp
118637 +ac_cpp='$CXXCPP $CPPFLAGS'
118638 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118639 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118640 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118642 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118643 +/* end confdefs.h. */
118644 +#include <math.h>
118645 + #ifdef HAVE_IEEEFP_H
118646 + #include <ieeefp.h>
118647 + #endif
118650 +main ()
118652 + _fabsl(0);
118654 + return 0;
118656 +_ACEOF
118657 +if ac_fn_cxx_try_compile "$LINENO"; then :
118658 + glibcxx_cv_func__fabsl_use=yes
118659 +else
118660 + glibcxx_cv_func__fabsl_use=no
118662 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118663 + ac_ext=c
118664 +ac_cpp='$CPP $CPPFLAGS'
118665 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118666 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118667 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118673 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
118674 +$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
118676 + if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
118677 + for ac_func in _fabsl
118678 +do :
118679 + ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
118680 +if test "x$ac_cv_func__fabsl" = x""yes; then :
118681 + cat >>confdefs.h <<_ACEOF
118682 +#define HAVE__FABSL 1
118683 +_ACEOF
118686 +done
118695 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
118696 +$as_echo_n "checking for fmodl declaration... " >&6; }
118697 + if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
118698 + if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
118699 + $as_echo_n "(cached) " >&6
118700 +else
118703 + ac_ext=cpp
118704 +ac_cpp='$CXXCPP $CPPFLAGS'
118705 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118706 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118707 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118709 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118710 +/* end confdefs.h. */
118711 +#include <math.h>
118713 +main ()
118715 + fmodl(0, 0);
118717 + return 0;
118719 +_ACEOF
118720 +if ac_fn_cxx_try_compile "$LINENO"; then :
118721 + glibcxx_cv_func_fmodl_use=yes
118722 +else
118723 + glibcxx_cv_func_fmodl_use=no
118725 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118726 + ac_ext=c
118727 +ac_cpp='$CPP $CPPFLAGS'
118728 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118729 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118730 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118736 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
118737 +$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
118739 + if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
118740 + for ac_func in fmodl
118741 +do :
118742 + ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
118743 +if test "x$ac_cv_func_fmodl" = x""yes; then :
118744 + cat >>confdefs.h <<_ACEOF
118745 +#define HAVE_FMODL 1
118746 +_ACEOF
118749 +done
118751 + else
118753 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
118754 +$as_echo_n "checking for _fmodl declaration... " >&6; }
118755 + if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
118756 + if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
118757 + $as_echo_n "(cached) " >&6
118758 +else
118761 + ac_ext=cpp
118762 +ac_cpp='$CXXCPP $CPPFLAGS'
118763 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118764 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118765 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118767 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118768 +/* end confdefs.h. */
118769 +#include <math.h>
118771 +main ()
118773 + _fmodl(0, 0);
118775 + return 0;
118777 +_ACEOF
118778 +if ac_fn_cxx_try_compile "$LINENO"; then :
118779 + glibcxx_cv_func__fmodl_use=yes
118780 +else
118781 + glibcxx_cv_func__fmodl_use=no
118783 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118784 + ac_ext=c
118785 +ac_cpp='$CPP $CPPFLAGS'
118786 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118787 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118788 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118794 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
118795 +$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
118797 + if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
118798 + for ac_func in _fmodl
118799 +do :
118800 + ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
118801 +if test "x$ac_cv_func__fmodl" = x""yes; then :
118802 + cat >>confdefs.h <<_ACEOF
118803 +#define HAVE__FMODL 1
118804 +_ACEOF
118807 +done
118816 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
118817 +$as_echo_n "checking for frexpl declaration... " >&6; }
118818 + if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
118819 + if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
118820 + $as_echo_n "(cached) " >&6
118821 +else
118824 + ac_ext=cpp
118825 +ac_cpp='$CXXCPP $CPPFLAGS'
118826 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118827 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118828 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118830 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118831 +/* end confdefs.h. */
118832 +#include <math.h>
118834 +main ()
118836 + frexpl(0, 0);
118838 + return 0;
118840 +_ACEOF
118841 +if ac_fn_cxx_try_compile "$LINENO"; then :
118842 + glibcxx_cv_func_frexpl_use=yes
118843 +else
118844 + glibcxx_cv_func_frexpl_use=no
118846 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118847 + ac_ext=c
118848 +ac_cpp='$CPP $CPPFLAGS'
118849 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118850 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118851 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118857 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
118858 +$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
118860 + if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
118861 + for ac_func in frexpl
118862 +do :
118863 + ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
118864 +if test "x$ac_cv_func_frexpl" = x""yes; then :
118865 + cat >>confdefs.h <<_ACEOF
118866 +#define HAVE_FREXPL 1
118867 +_ACEOF
118870 +done
118872 + else
118874 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
118875 +$as_echo_n "checking for _frexpl declaration... " >&6; }
118876 + if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
118877 + if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
118878 + $as_echo_n "(cached) " >&6
118879 +else
118882 + ac_ext=cpp
118883 +ac_cpp='$CXXCPP $CPPFLAGS'
118884 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118885 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118886 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118888 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118889 +/* end confdefs.h. */
118890 +#include <math.h>
118892 +main ()
118894 + _frexpl(0, 0);
118896 + return 0;
118898 +_ACEOF
118899 +if ac_fn_cxx_try_compile "$LINENO"; then :
118900 + glibcxx_cv_func__frexpl_use=yes
118901 +else
118902 + glibcxx_cv_func__frexpl_use=no
118904 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118905 + ac_ext=c
118906 +ac_cpp='$CPP $CPPFLAGS'
118907 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118908 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118909 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118915 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
118916 +$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
118918 + if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
118919 + for ac_func in _frexpl
118920 +do :
118921 + ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
118922 +if test "x$ac_cv_func__frexpl" = x""yes; then :
118923 + cat >>confdefs.h <<_ACEOF
118924 +#define HAVE__FREXPL 1
118925 +_ACEOF
118928 +done
118937 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
118938 +$as_echo_n "checking for hypotl declaration... " >&6; }
118939 + if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
118940 + if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
118941 + $as_echo_n "(cached) " >&6
118942 +else
118945 + ac_ext=cpp
118946 +ac_cpp='$CXXCPP $CPPFLAGS'
118947 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118948 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118949 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
118951 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
118952 +/* end confdefs.h. */
118953 +#include <math.h>
118955 +main ()
118957 + hypotl(0, 0);
118959 + return 0;
118961 +_ACEOF
118962 +if ac_fn_cxx_try_compile "$LINENO"; then :
118963 + glibcxx_cv_func_hypotl_use=yes
118964 +else
118965 + glibcxx_cv_func_hypotl_use=no
118967 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
118968 + ac_ext=c
118969 +ac_cpp='$CPP $CPPFLAGS'
118970 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
118971 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
118972 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
118978 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
118979 +$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
118981 + if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
118982 + for ac_func in hypotl
118983 +do :
118984 + ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
118985 +if test "x$ac_cv_func_hypotl" = x""yes; then :
118986 + cat >>confdefs.h <<_ACEOF
118987 +#define HAVE_HYPOTL 1
118988 +_ACEOF
118991 +done
118993 + else
118995 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
118996 +$as_echo_n "checking for _hypotl declaration... " >&6; }
118997 + if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
118998 + if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
118999 + $as_echo_n "(cached) " >&6
119000 +else
119003 + ac_ext=cpp
119004 +ac_cpp='$CXXCPP $CPPFLAGS'
119005 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119006 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119007 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119009 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119010 +/* end confdefs.h. */
119011 +#include <math.h>
119013 +main ()
119015 + _hypotl(0, 0);
119017 + return 0;
119019 +_ACEOF
119020 +if ac_fn_cxx_try_compile "$LINENO"; then :
119021 + glibcxx_cv_func__hypotl_use=yes
119022 +else
119023 + glibcxx_cv_func__hypotl_use=no
119025 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119026 + ac_ext=c
119027 +ac_cpp='$CPP $CPPFLAGS'
119028 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119029 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119030 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119036 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
119037 +$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
119039 + if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
119040 + for ac_func in _hypotl
119041 +do :
119042 + ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
119043 +if test "x$ac_cv_func__hypotl" = x""yes; then :
119044 + cat >>confdefs.h <<_ACEOF
119045 +#define HAVE__HYPOTL 1
119046 +_ACEOF
119049 +done
119058 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
119059 +$as_echo_n "checking for ldexpl declaration... " >&6; }
119060 + if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
119061 + if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
119062 + $as_echo_n "(cached) " >&6
119063 +else
119066 + ac_ext=cpp
119067 +ac_cpp='$CXXCPP $CPPFLAGS'
119068 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119069 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119070 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119072 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119073 +/* end confdefs.h. */
119074 +#include <math.h>
119076 +main ()
119078 + ldexpl(0, 0);
119080 + return 0;
119082 +_ACEOF
119083 +if ac_fn_cxx_try_compile "$LINENO"; then :
119084 + glibcxx_cv_func_ldexpl_use=yes
119085 +else
119086 + glibcxx_cv_func_ldexpl_use=no
119088 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119089 + ac_ext=c
119090 +ac_cpp='$CPP $CPPFLAGS'
119091 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119092 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119093 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119099 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
119100 +$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
119102 + if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
119103 + for ac_func in ldexpl
119104 +do :
119105 + ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
119106 +if test "x$ac_cv_func_ldexpl" = x""yes; then :
119107 + cat >>confdefs.h <<_ACEOF
119108 +#define HAVE_LDEXPL 1
119109 +_ACEOF
119112 +done
119114 + else
119116 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
119117 +$as_echo_n "checking for _ldexpl declaration... " >&6; }
119118 + if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
119119 + if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
119120 + $as_echo_n "(cached) " >&6
119121 +else
119124 + ac_ext=cpp
119125 +ac_cpp='$CXXCPP $CPPFLAGS'
119126 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119127 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119128 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119130 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119131 +/* end confdefs.h. */
119132 +#include <math.h>
119134 +main ()
119136 + _ldexpl(0, 0);
119138 + return 0;
119140 +_ACEOF
119141 +if ac_fn_cxx_try_compile "$LINENO"; then :
119142 + glibcxx_cv_func__ldexpl_use=yes
119143 +else
119144 + glibcxx_cv_func__ldexpl_use=no
119146 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119147 + ac_ext=c
119148 +ac_cpp='$CPP $CPPFLAGS'
119149 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119150 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119151 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119157 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
119158 +$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
119160 + if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
119161 + for ac_func in _ldexpl
119162 +do :
119163 + ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
119164 +if test "x$ac_cv_func__ldexpl" = x""yes; then :
119165 + cat >>confdefs.h <<_ACEOF
119166 +#define HAVE__LDEXPL 1
119167 +_ACEOF
119170 +done
119179 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
119180 +$as_echo_n "checking for logl declaration... " >&6; }
119181 + if test x${glibcxx_cv_func_logl_use+set} != xset; then
119182 + if test "${glibcxx_cv_func_logl_use+set}" = set; then :
119183 + $as_echo_n "(cached) " >&6
119184 +else
119187 + ac_ext=cpp
119188 +ac_cpp='$CXXCPP $CPPFLAGS'
119189 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119190 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119191 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119193 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119194 +/* end confdefs.h. */
119195 +#include <math.h>
119196 + #ifdef HAVE_IEEEFP_H
119197 + #include <ieeefp.h>
119198 + #endif
119201 +main ()
119203 + logl(0);
119205 + return 0;
119207 +_ACEOF
119208 +if ac_fn_cxx_try_compile "$LINENO"; then :
119209 + glibcxx_cv_func_logl_use=yes
119210 +else
119211 + glibcxx_cv_func_logl_use=no
119213 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119214 + ac_ext=c
119215 +ac_cpp='$CPP $CPPFLAGS'
119216 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119217 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119218 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119224 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
119225 +$as_echo "$glibcxx_cv_func_logl_use" >&6; }
119227 + if test x$glibcxx_cv_func_logl_use = x"yes"; then
119228 + for ac_func in logl
119229 +do :
119230 + ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
119231 +if test "x$ac_cv_func_logl" = x""yes; then :
119232 + cat >>confdefs.h <<_ACEOF
119233 +#define HAVE_LOGL 1
119234 +_ACEOF
119237 +done
119239 + else
119241 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
119242 +$as_echo_n "checking for _logl declaration... " >&6; }
119243 + if test x${glibcxx_cv_func__logl_use+set} != xset; then
119244 + if test "${glibcxx_cv_func__logl_use+set}" = set; then :
119245 + $as_echo_n "(cached) " >&6
119246 +else
119249 + ac_ext=cpp
119250 +ac_cpp='$CXXCPP $CPPFLAGS'
119251 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119252 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119253 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119255 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119256 +/* end confdefs.h. */
119257 +#include <math.h>
119258 + #ifdef HAVE_IEEEFP_H
119259 + #include <ieeefp.h>
119260 + #endif
119263 +main ()
119265 + _logl(0);
119267 + return 0;
119269 +_ACEOF
119270 +if ac_fn_cxx_try_compile "$LINENO"; then :
119271 + glibcxx_cv_func__logl_use=yes
119272 +else
119273 + glibcxx_cv_func__logl_use=no
119275 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119276 + ac_ext=c
119277 +ac_cpp='$CPP $CPPFLAGS'
119278 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119279 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119280 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119286 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
119287 +$as_echo "$glibcxx_cv_func__logl_use" >&6; }
119289 + if test x$glibcxx_cv_func__logl_use = x"yes"; then
119290 + for ac_func in _logl
119291 +do :
119292 + ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
119293 +if test "x$ac_cv_func__logl" = x""yes; then :
119294 + cat >>confdefs.h <<_ACEOF
119295 +#define HAVE__LOGL 1
119296 +_ACEOF
119299 +done
119308 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
119309 +$as_echo_n "checking for log10l declaration... " >&6; }
119310 + if test x${glibcxx_cv_func_log10l_use+set} != xset; then
119311 + if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
119312 + $as_echo_n "(cached) " >&6
119313 +else
119316 + ac_ext=cpp
119317 +ac_cpp='$CXXCPP $CPPFLAGS'
119318 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119319 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119320 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119322 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119323 +/* end confdefs.h. */
119324 +#include <math.h>
119325 + #ifdef HAVE_IEEEFP_H
119326 + #include <ieeefp.h>
119327 + #endif
119330 +main ()
119332 + log10l(0);
119334 + return 0;
119336 +_ACEOF
119337 +if ac_fn_cxx_try_compile "$LINENO"; then :
119338 + glibcxx_cv_func_log10l_use=yes
119339 +else
119340 + glibcxx_cv_func_log10l_use=no
119342 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119343 + ac_ext=c
119344 +ac_cpp='$CPP $CPPFLAGS'
119345 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119346 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119347 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119353 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
119354 +$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
119356 + if test x$glibcxx_cv_func_log10l_use = x"yes"; then
119357 + for ac_func in log10l
119358 +do :
119359 + ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
119360 +if test "x$ac_cv_func_log10l" = x""yes; then :
119361 + cat >>confdefs.h <<_ACEOF
119362 +#define HAVE_LOG10L 1
119363 +_ACEOF
119366 +done
119368 + else
119370 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
119371 +$as_echo_n "checking for _log10l declaration... " >&6; }
119372 + if test x${glibcxx_cv_func__log10l_use+set} != xset; then
119373 + if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
119374 + $as_echo_n "(cached) " >&6
119375 +else
119378 + ac_ext=cpp
119379 +ac_cpp='$CXXCPP $CPPFLAGS'
119380 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119381 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119382 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119384 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119385 +/* end confdefs.h. */
119386 +#include <math.h>
119387 + #ifdef HAVE_IEEEFP_H
119388 + #include <ieeefp.h>
119389 + #endif
119392 +main ()
119394 + _log10l(0);
119396 + return 0;
119398 +_ACEOF
119399 +if ac_fn_cxx_try_compile "$LINENO"; then :
119400 + glibcxx_cv_func__log10l_use=yes
119401 +else
119402 + glibcxx_cv_func__log10l_use=no
119404 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119405 + ac_ext=c
119406 +ac_cpp='$CPP $CPPFLAGS'
119407 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119408 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119409 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119415 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
119416 +$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
119418 + if test x$glibcxx_cv_func__log10l_use = x"yes"; then
119419 + for ac_func in _log10l
119420 +do :
119421 + ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
119422 +if test "x$ac_cv_func__log10l" = x""yes; then :
119423 + cat >>confdefs.h <<_ACEOF
119424 +#define HAVE__LOG10L 1
119425 +_ACEOF
119428 +done
119437 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
119438 +$as_echo_n "checking for modfl declaration... " >&6; }
119439 + if test x${glibcxx_cv_func_modfl_use+set} != xset; then
119440 + if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
119441 + $as_echo_n "(cached) " >&6
119442 +else
119445 + ac_ext=cpp
119446 +ac_cpp='$CXXCPP $CPPFLAGS'
119447 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119448 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119449 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119451 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119452 +/* end confdefs.h. */
119453 +#include <math.h>
119455 +main ()
119457 + modfl(0, 0);
119459 + return 0;
119461 +_ACEOF
119462 +if ac_fn_cxx_try_compile "$LINENO"; then :
119463 + glibcxx_cv_func_modfl_use=yes
119464 +else
119465 + glibcxx_cv_func_modfl_use=no
119467 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119468 + ac_ext=c
119469 +ac_cpp='$CPP $CPPFLAGS'
119470 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119471 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119472 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119478 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
119479 +$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
119481 + if test x$glibcxx_cv_func_modfl_use = x"yes"; then
119482 + for ac_func in modfl
119483 +do :
119484 + ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
119485 +if test "x$ac_cv_func_modfl" = x""yes; then :
119486 + cat >>confdefs.h <<_ACEOF
119487 +#define HAVE_MODFL 1
119488 +_ACEOF
119491 +done
119493 + else
119495 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
119496 +$as_echo_n "checking for _modfl declaration... " >&6; }
119497 + if test x${glibcxx_cv_func__modfl_use+set} != xset; then
119498 + if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
119499 + $as_echo_n "(cached) " >&6
119500 +else
119503 + ac_ext=cpp
119504 +ac_cpp='$CXXCPP $CPPFLAGS'
119505 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119506 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119507 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119509 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119510 +/* end confdefs.h. */
119511 +#include <math.h>
119513 +main ()
119515 + _modfl(0, 0);
119517 + return 0;
119519 +_ACEOF
119520 +if ac_fn_cxx_try_compile "$LINENO"; then :
119521 + glibcxx_cv_func__modfl_use=yes
119522 +else
119523 + glibcxx_cv_func__modfl_use=no
119525 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119526 + ac_ext=c
119527 +ac_cpp='$CPP $CPPFLAGS'
119528 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119529 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119530 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119536 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
119537 +$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
119539 + if test x$glibcxx_cv_func__modfl_use = x"yes"; then
119540 + for ac_func in _modfl
119541 +do :
119542 + ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
119543 +if test "x$ac_cv_func__modfl" = x""yes; then :
119544 + cat >>confdefs.h <<_ACEOF
119545 +#define HAVE__MODFL 1
119546 +_ACEOF
119549 +done
119558 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
119559 +$as_echo_n "checking for powl declaration... " >&6; }
119560 + if test x${glibcxx_cv_func_powl_use+set} != xset; then
119561 + if test "${glibcxx_cv_func_powl_use+set}" = set; then :
119562 + $as_echo_n "(cached) " >&6
119563 +else
119566 + ac_ext=cpp
119567 +ac_cpp='$CXXCPP $CPPFLAGS'
119568 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119569 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119570 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119572 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119573 +/* end confdefs.h. */
119574 +#include <math.h>
119576 +main ()
119578 + powl(0, 0);
119580 + return 0;
119582 +_ACEOF
119583 +if ac_fn_cxx_try_compile "$LINENO"; then :
119584 + glibcxx_cv_func_powl_use=yes
119585 +else
119586 + glibcxx_cv_func_powl_use=no
119588 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119589 + ac_ext=c
119590 +ac_cpp='$CPP $CPPFLAGS'
119591 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119592 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119593 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119599 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
119600 +$as_echo "$glibcxx_cv_func_powl_use" >&6; }
119602 + if test x$glibcxx_cv_func_powl_use = x"yes"; then
119603 + for ac_func in powl
119604 +do :
119605 + ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
119606 +if test "x$ac_cv_func_powl" = x""yes; then :
119607 + cat >>confdefs.h <<_ACEOF
119608 +#define HAVE_POWL 1
119609 +_ACEOF
119612 +done
119614 + else
119616 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
119617 +$as_echo_n "checking for _powl declaration... " >&6; }
119618 + if test x${glibcxx_cv_func__powl_use+set} != xset; then
119619 + if test "${glibcxx_cv_func__powl_use+set}" = set; then :
119620 + $as_echo_n "(cached) " >&6
119621 +else
119624 + ac_ext=cpp
119625 +ac_cpp='$CXXCPP $CPPFLAGS'
119626 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119627 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119628 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119630 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119631 +/* end confdefs.h. */
119632 +#include <math.h>
119634 +main ()
119636 + _powl(0, 0);
119638 + return 0;
119640 +_ACEOF
119641 +if ac_fn_cxx_try_compile "$LINENO"; then :
119642 + glibcxx_cv_func__powl_use=yes
119643 +else
119644 + glibcxx_cv_func__powl_use=no
119646 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119647 + ac_ext=c
119648 +ac_cpp='$CPP $CPPFLAGS'
119649 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119650 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119651 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119657 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
119658 +$as_echo "$glibcxx_cv_func__powl_use" >&6; }
119660 + if test x$glibcxx_cv_func__powl_use = x"yes"; then
119661 + for ac_func in _powl
119662 +do :
119663 + ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
119664 +if test "x$ac_cv_func__powl" = x""yes; then :
119665 + cat >>confdefs.h <<_ACEOF
119666 +#define HAVE__POWL 1
119667 +_ACEOF
119670 +done
119679 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
119680 +$as_echo_n "checking for sqrtl declaration... " >&6; }
119681 + if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
119682 + if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
119683 + $as_echo_n "(cached) " >&6
119684 +else
119687 + ac_ext=cpp
119688 +ac_cpp='$CXXCPP $CPPFLAGS'
119689 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119690 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119691 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119693 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119694 +/* end confdefs.h. */
119695 +#include <math.h>
119696 + #ifdef HAVE_IEEEFP_H
119697 + #include <ieeefp.h>
119698 + #endif
119701 +main ()
119703 + sqrtl(0);
119705 + return 0;
119707 +_ACEOF
119708 +if ac_fn_cxx_try_compile "$LINENO"; then :
119709 + glibcxx_cv_func_sqrtl_use=yes
119710 +else
119711 + glibcxx_cv_func_sqrtl_use=no
119713 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119714 + ac_ext=c
119715 +ac_cpp='$CPP $CPPFLAGS'
119716 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119717 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119718 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119724 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
119725 +$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
119727 + if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
119728 + for ac_func in sqrtl
119729 +do :
119730 + ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
119731 +if test "x$ac_cv_func_sqrtl" = x""yes; then :
119732 + cat >>confdefs.h <<_ACEOF
119733 +#define HAVE_SQRTL 1
119734 +_ACEOF
119737 +done
119739 + else
119741 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
119742 +$as_echo_n "checking for _sqrtl declaration... " >&6; }
119743 + if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
119744 + if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
119745 + $as_echo_n "(cached) " >&6
119746 +else
119749 + ac_ext=cpp
119750 +ac_cpp='$CXXCPP $CPPFLAGS'
119751 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119752 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119753 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119755 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119756 +/* end confdefs.h. */
119757 +#include <math.h>
119758 + #ifdef HAVE_IEEEFP_H
119759 + #include <ieeefp.h>
119760 + #endif
119763 +main ()
119765 + _sqrtl(0);
119767 + return 0;
119769 +_ACEOF
119770 +if ac_fn_cxx_try_compile "$LINENO"; then :
119771 + glibcxx_cv_func__sqrtl_use=yes
119772 +else
119773 + glibcxx_cv_func__sqrtl_use=no
119775 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119776 + ac_ext=c
119777 +ac_cpp='$CPP $CPPFLAGS'
119778 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119779 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119780 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119786 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
119787 +$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
119789 + if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
119790 + for ac_func in _sqrtl
119791 +do :
119792 + ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
119793 +if test "x$ac_cv_func__sqrtl" = x""yes; then :
119794 + cat >>confdefs.h <<_ACEOF
119795 +#define HAVE__SQRTL 1
119796 +_ACEOF
119799 +done
119808 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
119809 +$as_echo_n "checking for sincosl declaration... " >&6; }
119810 + if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
119811 + if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
119812 + $as_echo_n "(cached) " >&6
119813 +else
119816 + ac_ext=cpp
119817 +ac_cpp='$CXXCPP $CPPFLAGS'
119818 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119819 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119820 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119822 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119823 +/* end confdefs.h. */
119824 +#include <math.h>
119826 +main ()
119828 + sincosl(0, 0, 0);
119830 + return 0;
119832 +_ACEOF
119833 +if ac_fn_cxx_try_compile "$LINENO"; then :
119834 + glibcxx_cv_func_sincosl_use=yes
119835 +else
119836 + glibcxx_cv_func_sincosl_use=no
119838 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119839 + ac_ext=c
119840 +ac_cpp='$CPP $CPPFLAGS'
119841 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119842 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119843 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119849 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
119850 +$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
119852 + if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
119853 + for ac_func in sincosl
119854 +do :
119855 + ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
119856 +if test "x$ac_cv_func_sincosl" = x""yes; then :
119857 + cat >>confdefs.h <<_ACEOF
119858 +#define HAVE_SINCOSL 1
119859 +_ACEOF
119862 +done
119864 + else
119866 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
119867 +$as_echo_n "checking for _sincosl declaration... " >&6; }
119868 + if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
119869 + if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
119870 + $as_echo_n "(cached) " >&6
119871 +else
119874 + ac_ext=cpp
119875 +ac_cpp='$CXXCPP $CPPFLAGS'
119876 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119877 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119878 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119880 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119881 +/* end confdefs.h. */
119882 +#include <math.h>
119884 +main ()
119886 + _sincosl(0, 0, 0);
119888 + return 0;
119890 +_ACEOF
119891 +if ac_fn_cxx_try_compile "$LINENO"; then :
119892 + glibcxx_cv_func__sincosl_use=yes
119893 +else
119894 + glibcxx_cv_func__sincosl_use=no
119896 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119897 + ac_ext=c
119898 +ac_cpp='$CPP $CPPFLAGS'
119899 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119900 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119901 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119907 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
119908 +$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
119910 + if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
119911 + for ac_func in _sincosl
119912 +do :
119913 + ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
119914 +if test "x$ac_cv_func__sincosl" = x""yes; then :
119915 + cat >>confdefs.h <<_ACEOF
119916 +#define HAVE__SINCOSL 1
119917 +_ACEOF
119920 +done
119929 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
119930 +$as_echo_n "checking for finitel declaration... " >&6; }
119931 + if test x${glibcxx_cv_func_finitel_use+set} != xset; then
119932 + if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
119933 + $as_echo_n "(cached) " >&6
119934 +else
119937 + ac_ext=cpp
119938 +ac_cpp='$CXXCPP $CPPFLAGS'
119939 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119940 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119941 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
119943 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
119944 +/* end confdefs.h. */
119945 +#include <math.h>
119946 + #ifdef HAVE_IEEEFP_H
119947 + #include <ieeefp.h>
119948 + #endif
119951 +main ()
119953 + finitel(0);
119955 + return 0;
119957 +_ACEOF
119958 +if ac_fn_cxx_try_compile "$LINENO"; then :
119959 + glibcxx_cv_func_finitel_use=yes
119960 +else
119961 + glibcxx_cv_func_finitel_use=no
119963 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
119964 + ac_ext=c
119965 +ac_cpp='$CPP $CPPFLAGS'
119966 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
119967 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
119968 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
119974 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
119975 +$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
119977 + if test x$glibcxx_cv_func_finitel_use = x"yes"; then
119978 + for ac_func in finitel
119979 +do :
119980 + ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
119981 +if test "x$ac_cv_func_finitel" = x""yes; then :
119982 + cat >>confdefs.h <<_ACEOF
119983 +#define HAVE_FINITEL 1
119984 +_ACEOF
119987 +done
119989 + else
119991 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
119992 +$as_echo_n "checking for _finitel declaration... " >&6; }
119993 + if test x${glibcxx_cv_func__finitel_use+set} != xset; then
119994 + if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
119995 + $as_echo_n "(cached) " >&6
119996 +else
119999 + ac_ext=cpp
120000 +ac_cpp='$CXXCPP $CPPFLAGS'
120001 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120002 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120003 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
120005 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120006 +/* end confdefs.h. */
120007 +#include <math.h>
120008 + #ifdef HAVE_IEEEFP_H
120009 + #include <ieeefp.h>
120010 + #endif
120013 +main ()
120015 + _finitel(0);
120017 + return 0;
120019 +_ACEOF
120020 +if ac_fn_cxx_try_compile "$LINENO"; then :
120021 + glibcxx_cv_func__finitel_use=yes
120022 +else
120023 + glibcxx_cv_func__finitel_use=no
120025 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
120026 + ac_ext=c
120027 +ac_cpp='$CPP $CPPFLAGS'
120028 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120029 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120030 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
120036 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
120037 +$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
120039 + if test x$glibcxx_cv_func__finitel_use = x"yes"; then
120040 + for ac_func in _finitel
120041 +do :
120042 + ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
120043 +if test "x$ac_cv_func__finitel" = x""yes; then :
120044 + cat >>confdefs.h <<_ACEOF
120045 +#define HAVE__FINITEL 1
120046 +_ACEOF
120049 +done
120057 + LIBS="$ac_save_LIBS"
120058 + CXXFLAGS="$ac_save_CXXFLAGS"
120061 + ac_test_CXXFLAGS="${CXXFLAGS+set}"
120062 + ac_save_CXXFLAGS="$CXXFLAGS"
120063 + CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
120066 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
120067 +$as_echo_n "checking for at_quick_exit declaration... " >&6; }
120068 + if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
120069 + if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
120070 + $as_echo_n "(cached) " >&6
120071 +else
120074 + ac_ext=cpp
120075 +ac_cpp='$CXXCPP $CPPFLAGS'
120076 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120077 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120078 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
120080 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120081 +/* end confdefs.h. */
120082 +#include <stdlib.h>
120084 +main ()
120086 + at_quick_exit(0);
120088 + return 0;
120090 +_ACEOF
120091 +if ac_fn_cxx_try_compile "$LINENO"; then :
120092 + glibcxx_cv_func_at_quick_exit_use=yes
120093 +else
120094 + glibcxx_cv_func_at_quick_exit_use=no
120096 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
120097 + ac_ext=c
120098 +ac_cpp='$CPP $CPPFLAGS'
120099 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120100 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120101 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
120107 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
120108 +$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
120109 + if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
120110 + for ac_func in at_quick_exit
120111 +do :
120112 + ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
120113 +if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
120114 + cat >>confdefs.h <<_ACEOF
120115 +#define HAVE_AT_QUICK_EXIT 1
120116 +_ACEOF
120119 +done
120124 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
120125 +$as_echo_n "checking for quick_exit declaration... " >&6; }
120126 + if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
120127 + if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
120128 + $as_echo_n "(cached) " >&6
120129 +else
120132 + ac_ext=cpp
120133 +ac_cpp='$CXXCPP $CPPFLAGS'
120134 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120135 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120136 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
120138 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120139 +/* end confdefs.h. */
120140 +#include <stdlib.h>
120142 +main ()
120144 + quick_exit(0);
120146 + return 0;
120148 +_ACEOF
120149 +if ac_fn_cxx_try_compile "$LINENO"; then :
120150 + glibcxx_cv_func_quick_exit_use=yes
120151 +else
120152 + glibcxx_cv_func_quick_exit_use=no
120154 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
120155 + ac_ext=c
120156 +ac_cpp='$CPP $CPPFLAGS'
120157 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120158 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120159 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
120165 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
120166 +$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
120167 + if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
120168 + for ac_func in quick_exit
120169 +do :
120170 + ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
120171 +if test "x$ac_cv_func_quick_exit" = x""yes; then :
120172 + cat >>confdefs.h <<_ACEOF
120173 +#define HAVE_QUICK_EXIT 1
120174 +_ACEOF
120177 +done
120182 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
120183 +$as_echo_n "checking for strtold declaration... " >&6; }
120184 + if test x${glibcxx_cv_func_strtold_use+set} != xset; then
120185 + if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
120186 + $as_echo_n "(cached) " >&6
120187 +else
120190 + ac_ext=cpp
120191 +ac_cpp='$CXXCPP $CPPFLAGS'
120192 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120193 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120194 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
120196 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120197 +/* end confdefs.h. */
120198 +#include <stdlib.h>
120200 +main ()
120202 + strtold(0, 0);
120204 + return 0;
120206 +_ACEOF
120207 +if ac_fn_cxx_try_compile "$LINENO"; then :
120208 + glibcxx_cv_func_strtold_use=yes
120209 +else
120210 + glibcxx_cv_func_strtold_use=no
120212 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
120213 + ac_ext=c
120214 +ac_cpp='$CPP $CPPFLAGS'
120215 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120216 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120217 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
120223 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
120224 +$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
120225 + if test x$glibcxx_cv_func_strtold_use = x"yes"; then
120226 + for ac_func in strtold
120227 +do :
120228 + ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
120229 +if test "x$ac_cv_func_strtold" = x""yes; then :
120230 + cat >>confdefs.h <<_ACEOF
120231 +#define HAVE_STRTOLD 1
120232 +_ACEOF
120235 +done
120242 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
120243 +$as_echo_n "checking for strtof declaration... " >&6; }
120244 + if test x${glibcxx_cv_func_strtof_use+set} != xset; then
120245 + if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
120246 + $as_echo_n "(cached) " >&6
120247 +else
120250 + ac_ext=cpp
120251 +ac_cpp='$CXXCPP $CPPFLAGS'
120252 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120253 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120254 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
120256 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120257 +/* end confdefs.h. */
120258 +#include <stdlib.h>
120260 +main ()
120262 + strtof(0, 0);
120264 + return 0;
120266 +_ACEOF
120267 +if ac_fn_cxx_try_compile "$LINENO"; then :
120268 + glibcxx_cv_func_strtof_use=yes
120269 +else
120270 + glibcxx_cv_func_strtof_use=no
120272 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
120273 + ac_ext=c
120274 +ac_cpp='$CPP $CPPFLAGS'
120275 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
120276 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
120277 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
120283 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
120284 +$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
120285 + if test x$glibcxx_cv_func_strtof_use = x"yes"; then
120286 + for ac_func in strtof
120287 +do :
120288 + ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
120289 +if test "x$ac_cv_func_strtof" = x""yes; then :
120290 + cat >>confdefs.h <<_ACEOF
120291 +#define HAVE_STRTOF 1
120292 +_ACEOF
120295 +done
120302 + CXXFLAGS="$ac_save_CXXFLAGS"
120305 + *-vxworks)
120306 + $as_echo "#define HAVE_ACOSF 1" >>confdefs.h
120308 + $as_echo "#define HAVE_ASINF 1" >>confdefs.h
120310 + $as_echo "#define HAVE_ATAN2F 1" >>confdefs.h
120312 + $as_echo "#define HAVE_ATANF 1" >>confdefs.h
120314 + $as_echo "#define HAVE_CEILF 1" >>confdefs.h
120316 + $as_echo "#define HAVE_COSF 1" >>confdefs.h
120318 + $as_echo "#define HAVE_COSHF 1" >>confdefs.h
120320 + $as_echo "#define HAVE_EXPF 1" >>confdefs.h
120322 + $as_echo "#define HAVE_FABSF 1" >>confdefs.h
120324 + $as_echo "#define HAVE_FLOORF 1" >>confdefs.h
120326 + $as_echo "#define HAVE_FMODF 1" >>confdefs.h
120328 + $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
120330 + $as_echo "#define HAVE_LOG10F 1" >>confdefs.h
120332 + $as_echo "#define HAVE_LOGF 1" >>confdefs.h
120334 + $as_echo "#define HAVE_POWF 1" >>confdefs.h
120336 + $as_echo "#define HAVE_SINF 1" >>confdefs.h
120338 + $as_echo "#define HAVE_SINHF 1" >>confdefs.h
120340 + $as_echo "#define HAVE_SQRTF 1" >>confdefs.h
120342 + $as_echo "#define HAVE_TANF 1" >>confdefs.h
120344 + $as_echo "#define HAVE_TANHF 1" >>confdefs.h
120348 + as_fn_error "No support for this host/target combination." "$LINENO" 5
120350 +esac
120354 + # At some point, we should differentiate between architectures
120355 + # like x86, which have long double versions, and alpha/powerpc/etc.,
120356 + # which don't. For the time being, punt.
120357 + if test x"long_double_math_on_this_cpu" = x"yes"; then
120358 + $as_echo "#define HAVE_ACOSL 1" >>confdefs.h
120360 + $as_echo "#define HAVE_ASINL 1" >>confdefs.h
120362 + $as_echo "#define HAVE_ATAN2L 1" >>confdefs.h
120364 + $as_echo "#define HAVE_ATANL 1" >>confdefs.h
120366 + $as_echo "#define HAVE_CEILL 1" >>confdefs.h
120368 + $as_echo "#define HAVE_COSL 1" >>confdefs.h
120370 + $as_echo "#define HAVE_COSHL 1" >>confdefs.h
120372 + $as_echo "#define HAVE_EXPL 1" >>confdefs.h
120374 + $as_echo "#define HAVE_FABSL 1" >>confdefs.h
120376 + $as_echo "#define HAVE_FLOORL 1" >>confdefs.h
120378 + $as_echo "#define HAVE_FMODL 1" >>confdefs.h
120380 + $as_echo "#define HAVE_FREXPL 1" >>confdefs.h
120382 + $as_echo "#define HAVE_LDEXPL 1" >>confdefs.h
120384 + $as_echo "#define HAVE_LOG10L 1" >>confdefs.h
120386 + $as_echo "#define HAVE_LOGL 1" >>confdefs.h
120388 + $as_echo "#define HAVE_MODFL 1" >>confdefs.h
120390 + $as_echo "#define HAVE_POWL 1" >>confdefs.h
120392 + $as_echo "#define HAVE_SINCOSL 1" >>confdefs.h
120394 + $as_echo "#define HAVE_SINL 1" >>confdefs.h
120396 + $as_echo "#define HAVE_SINHL 1" >>confdefs.h
120398 + $as_echo "#define HAVE_SQRTL 1" >>confdefs.h
120400 + $as_echo "#define HAVE_TANL 1" >>confdefs.h
120402 + $as_echo "#define HAVE_TANHL 1" >>confdefs.h
120407 +# Check for _Unwind_GetIPInfo.
120410 +# Check whether --with-system-libunwind was given.
120411 +if test "${with_system_libunwind+set}" = set; then :
120412 + withval=$with_system_libunwind;
120415 + # If system-libunwind was not specifically set, pick a default setting.
120416 + if test x$with_system_libunwind = x; then
120417 + case ${target} in
120418 + ia64-*-hpux*) with_system_libunwind=yes ;;
120419 + *) with_system_libunwind=no ;;
120420 + esac
120422 + # Based on system-libunwind and target, do we have ipinfo?
120423 + if test x$with_system_libunwind = xyes; then
120424 + case ${target} in
120425 + ia64-*-*) have_unwind_getipinfo=no ;;
120426 + *) have_unwind_getipinfo=yes ;;
120427 + esac
120428 + else
120429 + # Darwin before version 9 does not have _Unwind_GetIPInfo.
120431 + case ${target} in
120432 + *-*-darwin[3-8]|*-*-darwin[3-8].*) have_unwind_getipinfo=no ;;
120433 + *) have_unwind_getipinfo=yes ;;
120434 + esac
120438 + if test x$have_unwind_getipinfo = xyes; then
120440 +$as_echo "#define HAVE_GETIPINFO 1" >>confdefs.h
120445 + # Check whether --enable-linux-futex was given.
120446 +if test "${enable_linux_futex+set}" = set; then :
120447 + enableval=$enable_linux_futex;
120448 + case "$enableval" in
120449 + yes|no|default) ;;
120450 + *) as_fn_error "Unknown argument to enable/disable linux-futex" "$LINENO" 5 ;;
120451 + esac
120453 +else
120454 + enable_linux_futex=default
120458 +case "$target" in
120459 + *-linux*)
120460 + case "$enable_linux_futex" in
120461 + default)
120462 + # If headers don't have gettid/futex syscalls definition, then
120463 + # default to no, otherwise there will be compile time failures.
120464 + # Otherwise, default to yes. If we don't detect we are
120465 + # compiled/linked against NPTL and not cross-compiling, check
120466 + # if programs are run by default against NPTL and if not, issue
120467 + # a warning.
120468 + enable_linux_futex=no
120469 + if test x$gcc_no_link = xyes; then
120470 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
120472 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120473 +/* end confdefs.h. */
120474 +#include <sys/syscall.h>
120475 + int lk;
120477 +main ()
120479 +syscall (SYS_gettid); syscall (SYS_futex, &lk, 0, 0, 0);
120481 + return 0;
120483 +_ACEOF
120484 +if ac_fn_c_try_link "$LINENO"; then :
120485 + save_LIBS="$LIBS"
120486 + LIBS="-lpthread $LIBS"
120487 + if test x$gcc_no_link = xyes; then
120488 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
120490 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120491 +/* end confdefs.h. */
120492 +#ifndef _GNU_SOURCE
120493 + #define _GNU_SOURCE 1
120494 + #endif
120495 + #include <pthread.h>
120496 + pthread_t th; void *status;
120498 +main ()
120500 +pthread_tryjoin_np (th, &status);
120502 + return 0;
120504 +_ACEOF
120505 +if ac_fn_c_try_link "$LINENO"; then :
120506 + enable_linux_futex=yes
120507 +else
120508 + if test x$cross_compiling = xno; then
120509 + if getconf GNU_LIBPTHREAD_VERSION 2>/dev/null \
120510 + | LC_ALL=C grep -i NPTL > /dev/null 2>/dev/null; then :; else
120511 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The kernel might not support futex or gettid syscalls.
120512 +If so, please configure with --disable-linux-futex" >&5
120513 +$as_echo "$as_me: WARNING: The kernel might not support futex or gettid syscalls.
120514 +If so, please configure with --disable-linux-futex" >&2;}
120517 + enable_linux_futex=yes
120519 +rm -f core conftest.err conftest.$ac_objext \
120520 + conftest$ac_exeext conftest.$ac_ext
120521 + LIBS="$save_LIBS"
120523 +rm -f core conftest.err conftest.$ac_objext \
120524 + conftest$ac_exeext conftest.$ac_ext
120526 + yes)
120527 + if test x$gcc_no_link = xyes; then
120528 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
120530 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
120531 +/* end confdefs.h. */
120532 +#include <sys/syscall.h>
120533 + int lk;
120535 +main ()
120537 +syscall (SYS_gettid); syscall (SYS_futex, &lk, 0, 0, 0);
120539 + return 0;
120541 +_ACEOF
120542 +if ac_fn_c_try_link "$LINENO"; then :
120544 +else
120545 + as_fn_error "SYS_gettid and SYS_futex required for --enable-linux-futex" "$LINENO" 5
120547 +rm -f core conftest.err conftest.$ac_objext \
120548 + conftest$ac_exeext conftest.$ac_ext
120550 + esac
120553 + enable_linux_futex=no
120555 +esac
120556 +if test x$enable_linux_futex = xyes; then
120558 +$as_echo "#define HAVE_LINUX_FUTEX 1" >>confdefs.h
120565 +inttype_headers=`echo inttypes.h sys/inttypes.h | sed -e 's/,/ /g'`
120567 +acx_cv_header_stdint=stddef.h
120568 +acx_cv_header_stdint_kind="(already complete)"
120569 +for i in stdint.h $inttype_headers; do
120570 + unset ac_cv_type_uintptr_t
120571 + unset ac_cv_type_uintmax_t
120572 + unset ac_cv_type_int_least32_t
120573 + unset ac_cv_type_int_fast32_t
120574 + unset ac_cv_type_uint64_t
120575 + $as_echo_n "looking for a compliant stdint.h in $i, " >&6
120576 + ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "#include <sys/types.h>
120577 +#include <$i>
120579 +if test "x$ac_cv_type_uintmax_t" = x""yes; then :
120580 + acx_cv_header_stdint=$i
120581 +else
120582 + continue
120585 + ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
120586 +#include <$i>
120588 +if test "x$ac_cv_type_uintptr_t" = x""yes; then :
120590 +else
120591 + acx_cv_header_stdint_kind="(mostly complete)"
120594 + ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <sys/types.h>
120595 +#include <$i>
120597 +if test "x$ac_cv_type_int_least32_t" = x""yes; then :
120599 +else
120600 + acx_cv_header_stdint_kind="(mostly complete)"
120603 + ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include <sys/types.h>
120604 +#include <$i>
120606 +if test "x$ac_cv_type_int_fast32_t" = x""yes; then :
120608 +else
120609 + acx_cv_header_stdint_kind="(mostly complete)"
120612 + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
120613 +#include <$i>
120615 +if test "x$ac_cv_type_uint64_t" = x""yes; then :
120617 +else
120618 + acx_cv_header_stdint_kind="(lacks uint64_t)"
120621 + break
120622 +done
120623 +if test "$acx_cv_header_stdint" = stddef.h; then
120624 + acx_cv_header_stdint_kind="(lacks uintmax_t)"
120625 + for i in stdint.h $inttype_headers; do
120626 + unset ac_cv_type_uintptr_t
120627 + unset ac_cv_type_uint32_t
120628 + unset ac_cv_type_uint64_t
120629 + $as_echo_n "looking for an incomplete stdint.h in $i, " >&6
120630 + ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <sys/types.h>
120631 +#include <$i>
120633 +if test "x$ac_cv_type_uint32_t" = x""yes; then :
120634 + acx_cv_header_stdint=$i
120635 +else
120636 + continue
120639 + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
120640 +#include <$i>
120642 +if test "x$ac_cv_type_uint64_t" = x""yes; then :
120646 + ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
120647 +#include <$i>
120649 +if test "x$ac_cv_type_uintptr_t" = x""yes; then :
120653 + break
120654 + done
120656 +if test "$acx_cv_header_stdint" = stddef.h; then
120657 + acx_cv_header_stdint_kind="(u_intXX_t style)"
120658 + for i in sys/types.h $inttype_headers; do
120659 + unset ac_cv_type_u_int32_t
120660 + unset ac_cv_type_u_int64_t
120661 + $as_echo_n "looking for u_intXX_t types in $i, " >&6
120662 + ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <sys/types.h>
120663 +#include <$i>
120665 +if test "x$ac_cv_type_u_int32_t" = x""yes; then :
120666 + acx_cv_header_stdint=$i
120667 +else
120668 + continue
120671 + ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include <sys/types.h>
120672 +#include <$i>
120674 +if test "x$ac_cv_type_u_int64_t" = x""yes; then :
120678 + break
120679 + done
120681 +if test "$acx_cv_header_stdint" = stddef.h; then
120682 + acx_cv_header_stdint_kind="(using manual detection)"
120685 +test -z "$ac_cv_type_uintptr_t" && ac_cv_type_uintptr_t=no
120686 +test -z "$ac_cv_type_uint64_t" && ac_cv_type_uint64_t=no
120687 +test -z "$ac_cv_type_u_int64_t" && ac_cv_type_u_int64_t=no
120688 +test -z "$ac_cv_type_int_least32_t" && ac_cv_type_int_least32_t=no
120689 +test -z "$ac_cv_type_int_fast32_t" && ac_cv_type_int_fast32_t=no
120691 +# ----------------- Summarize what we found so far
120693 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what to include in include/gstdint.h" >&5
120694 +$as_echo_n "checking what to include in include/gstdint.h... " >&6; }
120696 +case `$as_basename -- include/gstdint.h ||
120697 +$as_expr X/include/gstdint.h : '.*/\([^/][^/]*\)/*$' \| \
120698 + Xinclude/gstdint.h : 'X\(//\)$' \| \
120699 + Xinclude/gstdint.h : 'X\(/\)' \| . 2>/dev/null ||
120700 +$as_echo X/include/gstdint.h |
120701 + sed '/^.*\/\([^/][^/]*\)\/*$/{
120702 + s//\1/
120705 + /^X\/\(\/\/\)$/{
120706 + s//\1/
120709 + /^X\/\(\/\).*/{
120710 + s//\1/
120713 + s/.*/./; q'` in
120714 + stdint.h) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: are you sure you want it there?" >&5
120715 +$as_echo "$as_me: WARNING: are you sure you want it there?" >&2;} ;;
120716 + inttypes.h) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: are you sure you want it there?" >&5
120717 +$as_echo "$as_me: WARNING: are you sure you want it there?" >&2;} ;;
120718 + *) ;;
120719 +esac
120721 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_header_stdint $acx_cv_header_stdint_kind" >&5
120722 +$as_echo "$acx_cv_header_stdint $acx_cv_header_stdint_kind" >&6; }
120724 +# ----------------- done included file, check C basic types --------
120726 +# Lacking an uintptr_t? Test size of void *
120727 +case "$acx_cv_header_stdint:$ac_cv_type_uintptr_t" in
120728 + stddef.h:* | *:no) # The cast to long int works around a bug in the HP C Compiler
120729 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
120730 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
120731 +# This bug is HP SR number 8606223364.
120732 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
120733 +$as_echo_n "checking size of void *... " >&6; }
120734 +if test "${ac_cv_sizeof_void_p+set}" = set; then :
120735 + $as_echo_n "(cached) " >&6
120736 +else
120737 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
120739 +else
120740 + if test "$ac_cv_type_void_p" = yes; then
120741 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
120742 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
120743 +{ as_fn_set_status 77
120744 +as_fn_error "cannot compute sizeof (void *)
120745 +See \`config.log' for more details." "$LINENO" 5; }; }
120746 + else
120747 + ac_cv_sizeof_void_p=0
120752 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
120753 +$as_echo "$ac_cv_sizeof_void_p" >&6; }
120757 +cat >>confdefs.h <<_ACEOF
120758 +#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
120759 +_ACEOF
120762 +esac
120764 +# Lacking an uint64_t? Test size of long
120765 +case "$acx_cv_header_stdint:$ac_cv_type_uint64_t:$ac_cv_type_u_int64_t" in
120766 + stddef.h:*:* | *:no:no) # The cast to long int works around a bug in the HP C Compiler
120767 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
120768 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
120769 +# This bug is HP SR number 8606223364.
120770 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
120771 +$as_echo_n "checking size of long... " >&6; }
120772 +if test "${ac_cv_sizeof_long+set}" = set; then :
120773 + $as_echo_n "(cached) " >&6
120774 +else
120775 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
120777 +else
120778 + if test "$ac_cv_type_long" = yes; then
120779 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
120780 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
120781 +{ as_fn_set_status 77
120782 +as_fn_error "cannot compute sizeof (long)
120783 +See \`config.log' for more details." "$LINENO" 5; }; }
120784 + else
120785 + ac_cv_sizeof_long=0
120790 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
120791 +$as_echo "$ac_cv_sizeof_long" >&6; }
120795 +cat >>confdefs.h <<_ACEOF
120796 +#define SIZEOF_LONG $ac_cv_sizeof_long
120797 +_ACEOF
120800 +esac
120802 +if test $acx_cv_header_stdint = stddef.h; then
120803 + # Lacking a good header? Test size of everything and deduce all types.
120804 + # The cast to long int works around a bug in the HP C Compiler
120805 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
120806 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
120807 +# This bug is HP SR number 8606223364.
120808 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
120809 +$as_echo_n "checking size of int... " >&6; }
120810 +if test "${ac_cv_sizeof_int+set}" = set; then :
120811 + $as_echo_n "(cached) " >&6
120812 +else
120813 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
120815 +else
120816 + if test "$ac_cv_type_int" = yes; then
120817 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
120818 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
120819 +{ as_fn_set_status 77
120820 +as_fn_error "cannot compute sizeof (int)
120821 +See \`config.log' for more details." "$LINENO" 5; }; }
120822 + else
120823 + ac_cv_sizeof_int=0
120828 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
120829 +$as_echo "$ac_cv_sizeof_int" >&6; }
120833 +cat >>confdefs.h <<_ACEOF
120834 +#define SIZEOF_INT $ac_cv_sizeof_int
120835 +_ACEOF
120838 + # The cast to long int works around a bug in the HP C Compiler
120839 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
120840 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
120841 +# This bug is HP SR number 8606223364.
120842 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
120843 +$as_echo_n "checking size of short... " >&6; }
120844 +if test "${ac_cv_sizeof_short+set}" = set; then :
120845 + $as_echo_n "(cached) " >&6
120846 +else
120847 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then :
120849 +else
120850 + if test "$ac_cv_type_short" = yes; then
120851 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
120852 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
120853 +{ as_fn_set_status 77
120854 +as_fn_error "cannot compute sizeof (short)
120855 +See \`config.log' for more details." "$LINENO" 5; }; }
120856 + else
120857 + ac_cv_sizeof_short=0
120862 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
120863 +$as_echo "$ac_cv_sizeof_short" >&6; }
120867 +cat >>confdefs.h <<_ACEOF
120868 +#define SIZEOF_SHORT $ac_cv_sizeof_short
120869 +_ACEOF
120872 + # The cast to long int works around a bug in the HP C Compiler
120873 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
120874 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
120875 +# This bug is HP SR number 8606223364.
120876 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
120877 +$as_echo_n "checking size of char... " >&6; }
120878 +if test "${ac_cv_sizeof_char+set}" = set; then :
120879 + $as_echo_n "(cached) " >&6
120880 +else
120881 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then :
120883 +else
120884 + if test "$ac_cv_type_char" = yes; then
120885 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
120886 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
120887 +{ as_fn_set_status 77
120888 +as_fn_error "cannot compute sizeof (char)
120889 +See \`config.log' for more details." "$LINENO" 5; }; }
120890 + else
120891 + ac_cv_sizeof_char=0
120896 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
120897 +$as_echo "$ac_cv_sizeof_char" >&6; }
120901 +cat >>confdefs.h <<_ACEOF
120902 +#define SIZEOF_CHAR $ac_cv_sizeof_char
120903 +_ACEOF
120907 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int8_t" >&5
120908 +$as_echo_n "checking for type equivalent to int8_t... " >&6; }
120909 + case "$ac_cv_sizeof_char" in
120910 + 1) acx_cv_type_int8_t=char ;;
120911 + *) as_fn_error "no 8-bit type, please report a bug" "$LINENO" 5
120912 + esac
120913 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int8_t" >&5
120914 +$as_echo "$acx_cv_type_int8_t" >&6; }
120916 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int16_t" >&5
120917 +$as_echo_n "checking for type equivalent to int16_t... " >&6; }
120918 + case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
120919 + 2:*) acx_cv_type_int16_t=int ;;
120920 + *:2) acx_cv_type_int16_t=short ;;
120921 + *) as_fn_error "no 16-bit type, please report a bug" "$LINENO" 5
120922 + esac
120923 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int16_t" >&5
120924 +$as_echo "$acx_cv_type_int16_t" >&6; }
120926 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int32_t" >&5
120927 +$as_echo_n "checking for type equivalent to int32_t... " >&6; }
120928 + case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
120929 + 4:*) acx_cv_type_int32_t=int ;;
120930 + *:4) acx_cv_type_int32_t=long ;;
120931 + *) as_fn_error "no 32-bit type, please report a bug" "$LINENO" 5
120932 + esac
120933 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int32_t" >&5
120934 +$as_echo "$acx_cv_type_int32_t" >&6; }
120937 +# These tests are here to make the output prettier
120939 +if test "$ac_cv_type_uint64_t" != yes && test "$ac_cv_type_u_int64_t" != yes; then
120940 + case "$ac_cv_sizeof_long" in
120941 + 8) acx_cv_type_int64_t=long ;;
120942 + esac
120943 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int64_t" >&5
120944 +$as_echo_n "checking for type equivalent to int64_t... " >&6; }
120945 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${acx_cv_type_int64_t-'using preprocessor symbols'}" >&5
120946 +$as_echo "${acx_cv_type_int64_t-'using preprocessor symbols'}" >&6; }
120949 +# Now we can use the above types
120951 +if test "$ac_cv_type_uintptr_t" != yes; then
120952 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to intptr_t" >&5
120953 +$as_echo_n "checking for type equivalent to intptr_t... " >&6; }
120954 + case $ac_cv_sizeof_void_p in
120955 + 2) acx_cv_type_intptr_t=int16_t ;;
120956 + 4) acx_cv_type_intptr_t=int32_t ;;
120957 + 8) acx_cv_type_intptr_t=int64_t ;;
120958 + *) as_fn_error "no equivalent for intptr_t, please report a bug" "$LINENO" 5
120959 + esac
120960 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_intptr_t" >&5
120961 +$as_echo "$acx_cv_type_intptr_t" >&6; }
120964 +# ----------------- done all checks, emit header -------------
120965 +ac_config_commands="$ac_config_commands include/gstdint.h"
120971 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU c++filt" >&5
120972 +$as_echo_n "checking for GNU c++filt... " >&6; }
120973 +if test "${ac_cv_path_CXXFILT+set}" = set; then :
120974 + $as_echo_n "(cached) " >&6
120975 +else
120976 + if test -z "$CXXFILT"; then
120977 + ac_path_CXXFILT_found=false
120978 + # Loop through the user's path and test for each of PROGNAME-LIST
120979 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
120980 +for as_dir in $PATH
120982 + IFS=$as_save_IFS
120983 + test -z "$as_dir" && as_dir=.
120984 + for ac_prog in c++filt gc++filt; do
120985 + for ac_exec_ext in '' $ac_executable_extensions; do
120986 + ac_path_CXXFILT="$as_dir/$ac_prog$ac_exec_ext"
120987 + { test -f "$ac_path_CXXFILT" && $as_test_x "$ac_path_CXXFILT"; } || continue
120988 +# Check for GNU $ac_path_CXXFILT
120989 +case `"$ac_path_CXXFILT" --version 2>&1` in
120990 +*GNU*)
120991 + ac_cv_path_CXXFILT=$ac_path_CXXFILT && ac_path_CXXFILT_found=:;;
120992 +esac
120994 + $ac_path_CXXFILT_found && break 3
120995 + done
120996 + done
120997 + done
120998 +IFS=$as_save_IFS
120999 + if test -z "$ac_cv_path_CXXFILT"; then
121002 +else
121003 + ac_cv_path_CXXFILT=$CXXFILT
121007 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_CXXFILT" >&5
121008 +$as_echo "$ac_cv_path_CXXFILT" >&6; }
121009 + CXXFILT=$ac_cv_path_CXXFILT
121013 + # Check whether --enable-symvers was given.
121014 +if test "${enable_symvers+set}" = set; then :
121015 + enableval=$enable_symvers;
121016 + case "$enableval" in
121017 + yes|no|gnu|gnu-versioned-namespace|darwin|darwin-export|sun) ;;
121018 + *) as_fn_error "Unknown argument to enable/disable symvers" "$LINENO" 5 ;;
121019 + esac
121021 +else
121022 + enable_symvers=yes
121027 +# If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we
121028 +# don't know enough about $LD to do tricks...
121030 +# Sun style symbol versions needs GNU c++filt for make_sunver.pl to work
121031 +# with extern "C++" in version scripts.
121034 +# Turn a 'yes' into a suitable default.
121035 +if test x$enable_symvers = xyes ; then
121036 + if test $enable_shared = no || test "x$LD" = x || test x$gcc_no_link = xyes; then
121037 + enable_symvers=no
121038 + else
121039 + if test $with_gnu_ld = yes ; then
121040 + case ${target_os} in
121041 + hpux*)
121042 + enable_symvers=no ;;
121044 + enable_symvers=gnu ;;
121045 + esac
121046 + else
121047 + case ${target_os} in
121048 + darwin*)
121049 + enable_symvers=darwin ;;
121050 + # Sun symbol versioning exists since Solaris 2.5.
121051 + solaris2.[5-9]* | solaris2.1[0-9]*)
121052 + # make_sunver.pl needs GNU c++filt to support extern "C++" in
121053 + # version scripts, so disable symbol versioning if none can be
121054 + # found.
121055 + if test -z "$ac_cv_path_CXXFILT"; then
121056 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === You have requested Sun symbol versioning, but" >&5
121057 +$as_echo "$as_me: WARNING: === You have requested Sun symbol versioning, but" >&2;}
121058 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === no GNU c++filt could be found." >&5
121059 +$as_echo "$as_me: WARNING: === no GNU c++filt could be found." >&2;}
121060 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Symbol versioning will be disabled." >&5
121061 +$as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
121062 + enable_symvers=no
121063 + else
121064 + enable_symvers=sun
121068 + enable_symvers=no ;;
121069 + esac
121074 +# Check to see if 'darwin' or 'darwin-export' can win.
121075 +if test x$enable_symvers = xdarwin-export ; then
121076 + enable_symvers=darwin
121079 +# Check if 'sun' was requested on non-Solaris 2 platforms.
121080 +if test x$enable_symvers = xsun ; then
121081 + case ${target_os} in
121082 + solaris2*)
121083 + # All fine.
121086 + # Unlikely to work.
121087 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === You have requested Sun symbol versioning, but" >&5
121088 +$as_echo "$as_me: WARNING: === You have requested Sun symbol versioning, but" >&2;}
121089 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === you are not targetting Solaris 2." >&5
121090 +$as_echo "$as_me: WARNING: === you are not targetting Solaris 2." >&2;}
121091 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Symbol versioning will be disabled." >&5
121092 +$as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
121093 + enable_symvers=no
121095 + esac
121098 +# Check to see if 'gnu' can win.
121099 +if test $enable_symvers = gnu ||
121100 + test $enable_symvers = gnu-versioned-namespace ||
121101 + test $enable_symvers = sun; then
121102 + # Check to see if libgcc_s exists, indicating that shared libgcc is possible.
121103 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared libgcc" >&5
121104 +$as_echo_n "checking for shared libgcc... " >&6; }
121105 + ac_save_CFLAGS="$CFLAGS"
121106 + CFLAGS=' -lgcc_s'
121107 + if test x$gcc_no_link = xyes; then
121108 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
121110 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121111 +/* end confdefs.h. */
121114 +main ()
121116 +return 0;
121118 + return 0;
121120 +_ACEOF
121121 +if ac_fn_c_try_link "$LINENO"; then :
121122 + glibcxx_shared_libgcc=yes
121123 +else
121124 + glibcxx_shared_libgcc=no
121126 +rm -f core conftest.err conftest.$ac_objext \
121127 + conftest$ac_exeext conftest.$ac_ext
121128 + CFLAGS="$ac_save_CFLAGS"
121129 + if test $glibcxx_shared_libgcc = no; then
121130 + cat > conftest.c <<EOF
121131 +int main (void) { return 0; }
121133 + glibcxx_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
121134 + -shared -shared-libgcc -o conftest.so \
121135 + conftest.c -v 2>&1 >/dev/null \
121136 + | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
121137 + rm -f conftest.c conftest.so
121138 + if test x${glibcxx_libgcc_s_suffix+set} = xset; then
121139 + CFLAGS=" -lgcc_s$glibcxx_libgcc_s_suffix"
121140 + if test x$gcc_no_link = xyes; then
121141 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
121143 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121144 +/* end confdefs.h. */
121147 +main ()
121149 +return 0;
121151 + return 0;
121153 +_ACEOF
121154 +if ac_fn_c_try_link "$LINENO"; then :
121155 + glibcxx_shared_libgcc=yes
121157 +rm -f core conftest.err conftest.$ac_objext \
121158 + conftest$ac_exeext conftest.$ac_ext
121159 + CFLAGS="$ac_save_CFLAGS"
121162 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_shared_libgcc" >&5
121163 +$as_echo "$glibcxx_shared_libgcc" >&6; }
121165 + # For GNU ld, we need at least this version. The format is described in
121166 + # GLIBCXX_CHECK_LINKER_FEATURES above.
121167 + glibcxx_min_gnu_ld_version=21400
121169 + # If no shared libgcc, can't win.
121170 + if test $glibcxx_shared_libgcc != yes; then
121171 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === You have requested GNU symbol versioning, but" >&5
121172 +$as_echo "$as_me: WARNING: === You have requested GNU symbol versioning, but" >&2;}
121173 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === you are not building a shared libgcc_s." >&5
121174 +$as_echo "$as_me: WARNING: === you are not building a shared libgcc_s." >&2;}
121175 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Symbol versioning will be disabled." >&5
121176 +$as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
121177 + enable_symvers=no
121178 + elif test $with_gnu_ld != yes && test $enable_symvers = sun; then
121179 + : All interesting versions of Sun ld support sun style symbol versioning.
121180 + elif test $with_gnu_ld != yes ; then
121181 + # just fail for now
121182 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === You have requested GNU symbol versioning, but" >&5
121183 +$as_echo "$as_me: WARNING: === You have requested GNU symbol versioning, but" >&2;}
121184 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === you are not using the GNU linker." >&5
121185 +$as_echo "$as_me: WARNING: === you are not using the GNU linker." >&2;}
121186 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Symbol versioning will be disabled." >&5
121187 +$as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
121188 + enable_symvers=no
121189 + elif test $glibcxx_ld_is_gold = yes ; then
121190 + : All versions of gold support symbol versioning.
121191 + elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then
121192 + # The right tools, the right setup, but too old. Fallbacks?
121193 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5
121194 +$as_echo "$as_me: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&2;}
121195 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === full symbol versioning support in this release of GCC." >&5
121196 +$as_echo "$as_me: WARNING: === full symbol versioning support in this release of GCC." >&2;}
121197 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === You would need to upgrade your binutils to version" >&5
121198 +$as_echo "$as_me: WARNING: === You would need to upgrade your binutils to version" >&2;}
121199 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&5
121200 +$as_echo "$as_me: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&2;}
121201 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Symbol versioning will be disabled." >&5
121202 +$as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
121203 + enable_symvers=no
121207 +# For libtool versioning info, format is CURRENT:REVISION:AGE
121208 +libtool_VERSION=6:21:0
121210 +# Everything parsed; figure out what files and settings to use.
121211 +case $enable_symvers in
121212 + no)
121213 + SYMVER_FILE=config/abi/pre/none.ver
121215 + gnu)
121216 + SYMVER_FILE=config/abi/pre/gnu.ver
121218 +$as_echo "#define _GLIBCXX_SYMVER_GNU 1" >>confdefs.h
121221 + gnu-versioned-namespace)
121222 + libtool_VERSION=7:0:0
121223 + SYMVER_FILE=config/abi/pre/gnu-versioned-namespace.ver
121225 +$as_echo "#define _GLIBCXX_SYMVER_GNU_NAMESPACE 1" >>confdefs.h
121228 + darwin)
121229 + SYMVER_FILE=config/abi/pre/gnu.ver
121231 +$as_echo "#define _GLIBCXX_SYMVER_DARWIN 1" >>confdefs.h
121234 + sun)
121235 + SYMVER_FILE=config/abi/pre/gnu.ver
121237 +$as_echo "#define _GLIBCXX_SYMVER_SUN 1" >>confdefs.h
121240 +esac
121242 +if test x$enable_symvers != xno ; then
121244 +$as_echo "#define _GLIBCXX_SYMVER 1" >>confdefs.h
121248 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports .symver directive" >&5
121249 +$as_echo_n "checking whether the target supports .symver directive... " >&6; }
121250 +if test "${glibcxx_cv_have_as_symver_directive+set}" = set; then :
121251 + $as_echo_n "(cached) " >&6
121252 +else
121254 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121255 +/* end confdefs.h. */
121256 +void foo (void); __asm (".symver foo, bar@SYMVER");
121258 +main ()
121262 + return 0;
121264 +_ACEOF
121265 +if ac_fn_c_try_compile "$LINENO"; then :
121266 + glibcxx_cv_have_as_symver_directive=yes
121267 +else
121268 + glibcxx_cv_have_as_symver_directive=no
121270 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121272 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_have_as_symver_directive" >&5
121273 +$as_echo "$glibcxx_cv_have_as_symver_directive" >&6; }
121274 +if test $glibcxx_cv_have_as_symver_directive = yes; then
121276 +$as_echo "#define HAVE_AS_SYMVER_DIRECTIVE 1" >>confdefs.h
121287 +{ $as_echo "$as_me:${as_lineno-$LINENO}: versioning on shared library symbols is $enable_symvers" >&5
121288 +$as_echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
121290 +if test $enable_symvers != no ; then
121291 + case ${target_os} in
121292 + # The Solaris 2 runtime linker doesn't support the GNU extension of
121293 + # binding the same symbol to different versions
121294 + solaris2*)
121296 + # Other platforms with GNU symbol versioning (GNU/Linux, more?) do.
121299 +$as_echo "#define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1" >>confdefs.h
121302 + esac
121305 +# Now, set up compatibility support, if any.
121306 +# In addition, need this to deal with std::size_t mangling in
121307 +# src/compatibility.cc. In a perfect world, could use
121308 +# typeid(std::size_t).name()[0] to do direct substitution.
121309 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t as unsigned int" >&5
121310 +$as_echo_n "checking for size_t as unsigned int... " >&6; }
121311 +ac_save_CFLAGS="$CFLAGS"
121312 +CFLAGS="-Werror"
121313 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121314 +/* end confdefs.h. */
121317 +main ()
121319 +__SIZE_TYPE__* stp; unsigned int* uip; stp = uip;
121321 + return 0;
121323 +_ACEOF
121324 +if ac_fn_c_try_compile "$LINENO"; then :
121325 + glibcxx_size_t_is_i=yes
121326 +else
121327 + glibcxx_size_t_is_i=no
121329 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121330 +CFLAGS=$ac_save_CFLAGS
121331 +if test "$glibcxx_size_t_is_i" = yes; then
121333 +$as_echo "#define _GLIBCXX_SIZE_T_IS_UINT 1" >>confdefs.h
121336 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_size_t_is_i" >&5
121337 +$as_echo "$glibcxx_size_t_is_i" >&6; }
121339 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ptrdiff_t as int" >&5
121340 +$as_echo_n "checking for ptrdiff_t as int... " >&6; }
121341 +ac_save_CFLAGS="$CFLAGS"
121342 +CFLAGS="-Werror"
121343 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121344 +/* end confdefs.h. */
121347 +main ()
121349 +__PTRDIFF_TYPE__* ptp; int* ip; ptp = ip;
121351 + return 0;
121353 +_ACEOF
121354 +if ac_fn_c_try_compile "$LINENO"; then :
121355 + glibcxx_ptrdiff_t_is_i=yes
121356 +else
121357 + glibcxx_ptrdiff_t_is_i=no
121359 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121360 +CFLAGS=$ac_save_CFLAGS
121361 +if test "$glibcxx_ptrdiff_t_is_i" = yes; then
121363 +$as_echo "#define _GLIBCXX_PTRDIFF_T_IS_INT 1" >>confdefs.h
121366 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_ptrdiff_t_is_i" >&5
121367 +$as_echo "$glibcxx_ptrdiff_t_is_i" >&6; }
121372 + # Check whether --enable-libstdcxx-visibility was given.
121373 +if test "${enable_libstdcxx_visibility+set}" = set; then :
121374 + enableval=$enable_libstdcxx_visibility;
121375 + case "$enableval" in
121376 + yes|no) ;;
121377 + *) as_fn_error "Argument to enable/disable libstdcxx-visibility must be yes or no" "$LINENO" 5 ;;
121378 + esac
121380 +else
121381 + enable_libstdcxx_visibility=yes
121386 +if test x$enable_libstdcxx_visibility = xyes ; then
121387 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports hidden visibility" >&5
121388 +$as_echo_n "checking whether the target supports hidden visibility... " >&6; }
121389 +if test "${glibcxx_cv_have_attribute_visibility+set}" = set; then :
121390 + $as_echo_n "(cached) " >&6
121391 +else
121393 + save_CFLAGS="$CFLAGS"
121394 + CFLAGS="$CFLAGS -Werror"
121395 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121396 +/* end confdefs.h. */
121397 +void __attribute__((visibility("hidden"))) foo(void) { }
121399 +main ()
121403 + return 0;
121405 +_ACEOF
121406 +if ac_fn_c_try_compile "$LINENO"; then :
121407 + glibcxx_cv_have_attribute_visibility=yes
121408 +else
121409 + glibcxx_cv_have_attribute_visibility=no
121411 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121412 + CFLAGS="$save_CFLAGS"
121414 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_have_attribute_visibility" >&5
121415 +$as_echo "$glibcxx_cv_have_attribute_visibility" >&6; }
121416 + if test $glibcxx_cv_have_attribute_visibility = no; then
121417 + enable_libstdcxx_visibility=no
121422 +{ $as_echo "$as_me:${as_lineno-$LINENO}: visibility supported: $enable_libstdcxx_visibility" >&5
121423 +$as_echo "$as_me: visibility supported: $enable_libstdcxx_visibility" >&6;}
121427 + # Check whether --enable-libstdcxx-dual-abi was given.
121428 +if test "${enable_libstdcxx_dual_abi+set}" = set; then :
121429 + enableval=$enable_libstdcxx_dual_abi;
121430 + case "$enableval" in
121431 + yes|no) ;;
121432 + *) as_fn_error "Argument to enable/disable libstdcxx-dual-abi must be yes or no" "$LINENO" 5 ;;
121433 + esac
121435 +else
121436 + enable_libstdcxx_dual_abi=yes
121440 + if test x"$enable_libstdcxx_dual_abi" != xyes; then
121441 + { $as_echo "$as_me:${as_lineno-$LINENO}: dual ABI is disabled" >&5
121442 +$as_echo "$as_me: dual ABI is disabled" >&6;}
121443 + default_libstdcxx_abi="c++98"
121448 + if test x$enable_libstdcxx_dual_abi = xyes; then
121449 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default std::string ABI to use" >&5
121450 +$as_echo_n "checking for default std::string ABI to use... " >&6; }
121452 +# Check whether --with-default-libstdcxx-abi was given.
121453 +if test "${with_default_libstdcxx_abi+set}" = set; then :
121454 + withval=$with_default_libstdcxx_abi; case "$withval" in
121455 + c++98|gnu++98|c++03|gnu++03) default_libstdcxx_abi="c++98" ;;
121456 + c++1?|gnu++1?) default_libstdcxx_abi="c++11" ;;
121457 + *) as_fn_error "Invalid argument for --with-default-libstdcxx-abi" "$LINENO" 5 ;;
121458 + esac
121459 +else
121460 + default_libstdcxx_abi="c++11"
121463 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${default_libstdcxx_abi}" >&5
121464 +$as_echo "${default_libstdcxx_abi}" >&6; }
121466 + if test $default_libstdcxx_abi = "c++11"; then
121467 + glibcxx_cxx11_abi=1
121468 + glibcxx_cxx98_abi=0
121469 + else
121470 + glibcxx_cxx11_abi=0
121471 + glibcxx_cxx98_abi=1
121477 +ac_ldbl_compat=no
121478 +case "$target" in
121479 + powerpc*-*-linux* | \
121480 + sparc*-*-linux* | \
121481 + s390*-*-linux* | \
121482 + alpha*-*-linux*)
121483 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121484 +/* end confdefs.h. */
121487 +main ()
121490 +#if !defined __LONG_DOUBLE_128__ || (defined(__sparc__) && defined(__arch64__))
121491 +#error no need for long double compatibility
121492 +#endif
121495 + return 0;
121497 +_ACEOF
121498 +if ac_fn_c_try_compile "$LINENO"; then :
121499 + ac_ldbl_compat=yes
121500 +else
121501 + ac_ldbl_compat=no
121503 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121504 + if test "$ac_ldbl_compat" = yes; then
121506 +$as_echo "#define _GLIBCXX_LONG_DOUBLE_COMPAT 1" >>confdefs.h
121508 + port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
121510 +esac
121513 +# Check if assembler supports disabling hardware capability support.
121515 + test -z "$HWCAP_FLAGS" && HWCAP_FLAGS=''
121517 + # Restrict the test to Solaris, other assemblers (e.g. AIX as) have -nH
121518 + # with a different meaning.
121519 + case ${target_os} in
121520 + solaris2*)
121521 + ac_save_CFLAGS="$CFLAGS"
121522 + CFLAGS="$CFLAGS -Wa,-nH"
121524 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for as that supports -Wa,-nH" >&5
121525 +$as_echo_n "checking for as that supports -Wa,-nH... " >&6; }
121526 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121527 +/* end confdefs.h. */
121530 +main ()
121532 +return 0;
121534 + return 0;
121536 +_ACEOF
121537 +if ac_fn_c_try_compile "$LINENO"; then :
121538 + ac_hwcap_flags=yes
121539 +else
121540 + ac_hwcap_flags=no
121542 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121543 + if test "$ac_hwcap_flags" = "yes"; then
121544 + HWCAP_FLAGS="-Wa,-nH $HWCAP_FLAGS"
121546 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_hwcap_flags" >&5
121547 +$as_echo "$ac_hwcap_flags" >&6; }
121549 + CFLAGS="$ac_save_CFLAGS"
121551 + esac
121556 +# Check if assembler supports rdrand opcode.
121558 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rdrand support in assembler" >&5
121559 +$as_echo_n "checking for rdrand support in assembler... " >&6; }
121560 + if test "${ac_cv_x86_rdrand+set}" = set; then :
121561 + $as_echo_n "(cached) " >&6
121562 +else
121564 + ac_cv_x86_rdrand=no
121565 + case "$target" in
121566 + i?86-*-* | \
121567 + x86_64-*-*)
121568 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121569 +/* end confdefs.h. */
121572 +main ()
121574 +asm("rdrand %eax");
121576 + return 0;
121578 +_ACEOF
121579 +if ac_fn_c_try_compile "$LINENO"; then :
121580 + ac_cv_x86_rdrand=yes
121581 +else
121582 + ac_cv_x86_rdrand=no
121584 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121585 + esac
121589 + if test $ac_cv_x86_rdrand = yes; then
121591 +$as_echo "#define _GLIBCXX_X86_RDRAND 1" >>confdefs.h
121594 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_x86_rdrand" >&5
121595 +$as_echo "$ac_cv_x86_rdrand" >&6; }
121598 +# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
121600 + if $GLIBCXX_IS_NATIVE ; then
121601 + # Do checks for resource limit functions.
121603 + setrlimit_have_headers=yes
121604 + for ac_header in unistd.h sys/time.h sys/resource.h
121605 +do :
121606 + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
121607 +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
121608 +eval as_val=\$$as_ac_Header
121609 + if test "x$as_val" = x""yes; then :
121610 + cat >>confdefs.h <<_ACEOF
121611 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
121612 +_ACEOF
121614 +else
121615 + setrlimit_have_headers=no
121618 +done
121620 + # If don't have the headers, then we can't run the tests now, and we
121621 + # won't be seeing any of these during testsuite compilation.
121622 + if test $setrlimit_have_headers = yes; then
121623 + # Can't do these in a loop, else the resulting syntax is wrong.
121625 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RLIMIT_DATA" >&5
121626 +$as_echo_n "checking for RLIMIT_DATA... " >&6; }
121627 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121628 +/* end confdefs.h. */
121629 +#include <unistd.h>
121630 + #include <sys/time.h>
121631 + #include <sys/resource.h>
121634 +main ()
121636 + int f = RLIMIT_DATA ;
121638 + return 0;
121640 +_ACEOF
121641 +if ac_fn_c_try_compile "$LINENO"; then :
121642 + glibcxx_mresult=1
121643 +else
121644 + glibcxx_mresult=0
121646 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121648 +cat >>confdefs.h <<_ACEOF
121649 +#define HAVE_LIMIT_DATA $glibcxx_mresult
121650 +_ACEOF
121652 + if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
121653 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
121654 +$as_echo "$res" >&6; }
121657 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RLIMIT_RSS" >&5
121658 +$as_echo_n "checking for RLIMIT_RSS... " >&6; }
121659 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121660 +/* end confdefs.h. */
121661 +#include <unistd.h>
121662 + #include <sys/time.h>
121663 + #include <sys/resource.h>
121666 +main ()
121668 + int f = RLIMIT_RSS ;
121670 + return 0;
121672 +_ACEOF
121673 +if ac_fn_c_try_compile "$LINENO"; then :
121674 + glibcxx_mresult=1
121675 +else
121676 + glibcxx_mresult=0
121678 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121680 +cat >>confdefs.h <<_ACEOF
121681 +#define HAVE_LIMIT_RSS $glibcxx_mresult
121682 +_ACEOF
121684 + if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
121685 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
121686 +$as_echo "$res" >&6; }
121689 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RLIMIT_VMEM" >&5
121690 +$as_echo_n "checking for RLIMIT_VMEM... " >&6; }
121691 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121692 +/* end confdefs.h. */
121693 +#include <unistd.h>
121694 + #include <sys/time.h>
121695 + #include <sys/resource.h>
121698 +main ()
121700 + int f = RLIMIT_VMEM ;
121702 + return 0;
121704 +_ACEOF
121705 +if ac_fn_c_try_compile "$LINENO"; then :
121706 + glibcxx_mresult=1
121707 +else
121708 + glibcxx_mresult=0
121710 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121712 +cat >>confdefs.h <<_ACEOF
121713 +#define HAVE_LIMIT_VMEM $glibcxx_mresult
121714 +_ACEOF
121716 + if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
121717 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
121718 +$as_echo "$res" >&6; }
121721 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RLIMIT_AS" >&5
121722 +$as_echo_n "checking for RLIMIT_AS... " >&6; }
121723 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121724 +/* end confdefs.h. */
121725 +#include <unistd.h>
121726 + #include <sys/time.h>
121727 + #include <sys/resource.h>
121730 +main ()
121732 + int f = RLIMIT_AS ;
121734 + return 0;
121736 +_ACEOF
121737 +if ac_fn_c_try_compile "$LINENO"; then :
121738 + glibcxx_mresult=1
121739 +else
121740 + glibcxx_mresult=0
121742 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121744 +cat >>confdefs.h <<_ACEOF
121745 +#define HAVE_LIMIT_AS $glibcxx_mresult
121746 +_ACEOF
121748 + if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
121749 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
121750 +$as_echo "$res" >&6; }
121753 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RLIMIT_FSIZE" >&5
121754 +$as_echo_n "checking for RLIMIT_FSIZE... " >&6; }
121755 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121756 +/* end confdefs.h. */
121757 +#include <unistd.h>
121758 + #include <sys/time.h>
121759 + #include <sys/resource.h>
121762 +main ()
121764 + int f = RLIMIT_FSIZE ;
121766 + return 0;
121768 +_ACEOF
121769 +if ac_fn_c_try_compile "$LINENO"; then :
121770 + glibcxx_mresult=1
121771 +else
121772 + glibcxx_mresult=0
121774 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121776 +cat >>confdefs.h <<_ACEOF
121777 +#define HAVE_LIMIT_FSIZE $glibcxx_mresult
121778 +_ACEOF
121780 + if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
121781 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
121782 +$as_echo "$res" >&6; }
121785 + # Check for rlimit, setrlimit.
121786 + if test "${glibcxx_cv_setrlimit+set}" = set; then :
121787 + $as_echo_n "(cached) " >&6
121788 +else
121790 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121791 +/* end confdefs.h. */
121792 +#include <unistd.h>
121793 + #include <sys/time.h>
121794 + #include <sys/resource.h>
121797 +main ()
121799 +struct rlimit r;
121800 + setrlimit(0, &r);
121802 + return 0;
121804 +_ACEOF
121805 +if ac_fn_c_try_compile "$LINENO"; then :
121806 + glibcxx_cv_setrlimit=yes
121807 +else
121808 + glibcxx_cv_setrlimit=no
121810 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121816 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for testsuite resource limits support" >&5
121817 +$as_echo_n "checking for testsuite resource limits support... " >&6; }
121818 + if test $setrlimit_have_headers = yes && test $glibcxx_cv_setrlimit = yes; then
121819 + ac_res_limits=yes
121821 +$as_echo "#define _GLIBCXX_RES_LIMITS 1" >>confdefs.h
121823 + else
121824 + ac_res_limits=no
121826 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res_limits" >&5
121827 +$as_echo "$ac_res_limits" >&6; }
121830 + # Look for setenv, so that extended locale tests can be performed.
121832 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setenv declaration" >&5
121833 +$as_echo_n "checking for setenv declaration... " >&6; }
121834 + if test x${glibcxx_cv_func_setenv_use+set} != xset; then
121835 + if test "${glibcxx_cv_func_setenv_use+set}" = set; then :
121836 + $as_echo_n "(cached) " >&6
121837 +else
121840 + ac_ext=cpp
121841 +ac_cpp='$CXXCPP $CPPFLAGS'
121842 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
121843 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
121844 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
121846 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121847 +/* end confdefs.h. */
121848 +#include <stdlib.h>
121850 +main ()
121852 + setenv(0, 0, 0);
121854 + return 0;
121856 +_ACEOF
121857 +if ac_fn_cxx_try_compile "$LINENO"; then :
121858 + glibcxx_cv_func_setenv_use=yes
121859 +else
121860 + glibcxx_cv_func_setenv_use=no
121862 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121863 + ac_ext=c
121864 +ac_cpp='$CPP $CPPFLAGS'
121865 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
121866 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
121867 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
121873 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_setenv_use" >&5
121874 +$as_echo "$glibcxx_cv_func_setenv_use" >&6; }
121875 + if test x$glibcxx_cv_func_setenv_use = x"yes"; then
121876 + for ac_func in setenv
121877 +do :
121878 + ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv"
121879 +if test "x$ac_cv_func_setenv" = x""yes; then :
121880 + cat >>confdefs.h <<_ACEOF
121881 +#define HAVE_SETENV 1
121882 +_ACEOF
121885 +done
121891 + if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
121892 + test $enable_symvers != no; then
121893 + case "$host" in
121894 + *-*-cygwin*)
121895 + enable_abi_check=no ;;
121897 + enable_abi_check=yes ;;
121898 + esac
121899 + else
121900 + # Only build this as native, since automake does not understand
121901 + # CXX_FOR_BUILD.
121902 + enable_abi_check=no
121905 + # Export file names for ABI checking.
121906 + baseline_dir="$glibcxx_srcdir/config/abi/post/${abi_baseline_pair}"
121908 + baseline_subdir_switch="$abi_baseline_subdir_switch"
121912 +# For gthread support. Depends on GLIBCXX_ENABLE_SYMVERS.
121914 + # Check whether --enable-libstdcxx-threads was given.
121915 +if test "${enable_libstdcxx_threads+set}" = set; then :
121916 + enableval=$enable_libstdcxx_threads;
121917 + case "$enableval" in
121918 + yes|no) ;;
121919 + *) as_fn_error "Argument to enable/disable libstdcxx-threads must be yes or no" "$LINENO" 5 ;;
121920 + esac
121922 +else
121923 + enable_libstdcxx_threads=auto
121928 + if test x$enable_libstdcxx_threads = xauto ||
121929 + test x$enable_libstdcxx_threads = xyes; then
121932 + ac_ext=cpp
121933 +ac_cpp='$CXXCPP $CPPFLAGS'
121934 +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
121935 +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
121936 +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
121939 + ac_save_CXXFLAGS="$CXXFLAGS"
121940 + CXXFLAGS="$CXXFLAGS -fno-exceptions \
121941 + -I${toplevel_srcdir}/libgcc -I${toplevel_builddir}/libgcc"
121943 + target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
121944 + case $target_thread_file in
121945 + posix)
121946 + CXXFLAGS="$CXXFLAGS -DSUPPORTS_WEAK -DGTHREAD_USE_WEAK -D_PTHREADS"
121947 + esac
121949 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it can be safely assumed that mutex_timedlock is available" >&5
121950 +$as_echo_n "checking whether it can be safely assumed that mutex_timedlock is available... " >&6; }
121952 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121953 +/* end confdefs.h. */
121954 +#include <unistd.h>
121956 +main ()
121959 + // In case of POSIX threads check _POSIX_TIMEOUTS.
121960 + #if (defined(_PTHREADS) \
121961 + && (!defined(_POSIX_TIMEOUTS) || _POSIX_TIMEOUTS <= 0))
121962 + #error
121963 + #endif
121966 + return 0;
121968 +_ACEOF
121969 +if ac_fn_cxx_try_compile "$LINENO"; then :
121970 + ac_gthread_use_mutex_timedlock=1
121971 +else
121972 + ac_gthread_use_mutex_timedlock=0
121974 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
121977 +cat >>confdefs.h <<_ACEOF
121978 +#define _GTHREAD_USE_MUTEX_TIMEDLOCK $ac_gthread_use_mutex_timedlock
121979 +_ACEOF
121982 + if test $ac_gthread_use_mutex_timedlock = 1 ; then res_mutex_timedlock=yes ;
121983 + else res_mutex_timedlock=no ; fi
121984 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res_mutex_timedlock" >&5
121985 +$as_echo "$res_mutex_timedlock" >&6; }
121987 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gthreads library" >&5
121988 +$as_echo_n "checking for gthreads library... " >&6; }
121990 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
121991 +/* end confdefs.h. */
121992 +#include "gthr.h"
121994 +main ()
121997 + #ifndef __GTHREADS_CXX0X
121998 + #error
121999 + #endif
122002 + return 0;
122004 +_ACEOF
122005 +if ac_fn_cxx_try_compile "$LINENO"; then :
122006 + ac_has_gthreads=yes
122007 +else
122008 + ac_has_gthreads=no
122010 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
122011 + else
122012 + ac_has_gthreads=no
122015 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_gthreads" >&5
122016 +$as_echo "$ac_has_gthreads" >&6; }
122018 + if test x"$ac_has_gthreads" = x"yes"; then
122020 +$as_echo "#define _GLIBCXX_HAS_GTHREADS 1" >>confdefs.h
122024 + CXXFLAGS="$ac_save_CXXFLAGS"
122025 + ac_ext=c
122026 +ac_cpp='$CPP $CPPFLAGS'
122027 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
122028 +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
122029 +ac_compiler_gnu=$ac_cv_c_compiler_gnu
122033 +# Define documentation rules conditionally.
122035 +# See if makeinfo has been installed and is modern enough
122036 +# that we can use it.
122038 + # Extract the first word of "makeinfo", so it can be a program name with args.
122039 +set dummy makeinfo; ac_word=$2
122040 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122041 +$as_echo_n "checking for $ac_word... " >&6; }
122042 +if test "${ac_cv_prog_MAKEINFO+set}" = set; then :
122043 + $as_echo_n "(cached) " >&6
122044 +else
122045 + if test -n "$MAKEINFO"; then
122046 + ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
122047 +else
122048 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122049 +for as_dir in $PATH
122051 + IFS=$as_save_IFS
122052 + test -z "$as_dir" && as_dir=.
122053 + for ac_exec_ext in '' $ac_executable_extensions; do
122054 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122055 + ac_cv_prog_MAKEINFO="makeinfo"
122056 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122057 + break 2
122059 +done
122060 + done
122061 +IFS=$as_save_IFS
122065 +MAKEINFO=$ac_cv_prog_MAKEINFO
122066 +if test -n "$MAKEINFO"; then
122067 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINFO" >&5
122068 +$as_echo "$MAKEINFO" >&6; }
122069 +else
122070 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122071 +$as_echo "no" >&6; }
122075 + if test -n "$MAKEINFO"; then
122076 + # Found it, now check the version.
122077 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modern makeinfo" >&5
122078 +$as_echo_n "checking for modern makeinfo... " >&6; }
122079 +if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then :
122080 + $as_echo_n "(cached) " >&6
122081 +else
122082 + ac_prog_version=`eval $MAKEINFO --version 2>&1 |
122083 + sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
122085 + case $ac_prog_version in
122086 + '') gcc_cv_prog_makeinfo_modern=no;;
122087 + 4.[4-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*) gcc_cv_prog_makeinfo_modern=yes;;
122088 + *) gcc_cv_prog_makeinfo_modern=no;;
122089 + esac
122092 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_prog_makeinfo_modern" >&5
122093 +$as_echo "$gcc_cv_prog_makeinfo_modern" >&6; }
122094 + else
122095 + gcc_cv_prog_makeinfo_modern=no
122097 + if test $gcc_cv_prog_makeinfo_modern = no; then
122098 + MAKEINFO="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing makeinfo"
122101 + if test $gcc_cv_prog_makeinfo_modern = "yes"; then
122102 + BUILD_INFO_TRUE=
122103 + BUILD_INFO_FALSE='#'
122104 +else
122105 + BUILD_INFO_TRUE='#'
122106 + BUILD_INFO_FALSE=
122110 +# Check for doxygen
122111 +# Extract the first word of "doxygen", so it can be a program name with args.
122112 +set dummy doxygen; ac_word=$2
122113 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122114 +$as_echo_n "checking for $ac_word... " >&6; }
122115 +if test "${ac_cv_prog_DOXYGEN+set}" = set; then :
122116 + $as_echo_n "(cached) " >&6
122117 +else
122118 + if test -n "$DOXYGEN"; then
122119 + ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
122120 +else
122121 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122122 +for as_dir in $PATH
122124 + IFS=$as_save_IFS
122125 + test -z "$as_dir" && as_dir=.
122126 + for ac_exec_ext in '' $ac_executable_extensions; do
122127 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122128 + ac_cv_prog_DOXYGEN="yes"
122129 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122130 + break 2
122132 +done
122133 + done
122134 +IFS=$as_save_IFS
122136 + test -z "$ac_cv_prog_DOXYGEN" && ac_cv_prog_DOXYGEN="no"
122139 +DOXYGEN=$ac_cv_prog_DOXYGEN
122140 +if test -n "$DOXYGEN"; then
122141 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
122142 +$as_echo "$DOXYGEN" >&6; }
122143 +else
122144 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122145 +$as_echo "no" >&6; }
122149 +# Extract the first word of "dot", so it can be a program name with args.
122150 +set dummy dot; ac_word=$2
122151 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122152 +$as_echo_n "checking for $ac_word... " >&6; }
122153 +if test "${ac_cv_prog_DOT+set}" = set; then :
122154 + $as_echo_n "(cached) " >&6
122155 +else
122156 + if test -n "$DOT"; then
122157 + ac_cv_prog_DOT="$DOT" # Let the user override the test.
122158 +else
122159 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122160 +for as_dir in $PATH
122162 + IFS=$as_save_IFS
122163 + test -z "$as_dir" && as_dir=.
122164 + for ac_exec_ext in '' $ac_executable_extensions; do
122165 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122166 + ac_cv_prog_DOT="yes"
122167 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122168 + break 2
122170 +done
122171 + done
122172 +IFS=$as_save_IFS
122174 + test -z "$ac_cv_prog_DOT" && ac_cv_prog_DOT="no"
122177 +DOT=$ac_cv_prog_DOT
122178 +if test -n "$DOT"; then
122179 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
122180 +$as_echo "$DOT" >&6; }
122181 +else
122182 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122183 +$as_echo "no" >&6; }
122188 +# Check for docbook
122189 +# Extract the first word of "xsltproc", so it can be a program name with args.
122190 +set dummy xsltproc; ac_word=$2
122191 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122192 +$as_echo_n "checking for $ac_word... " >&6; }
122193 +if test "${ac_cv_prog_XSLTPROC+set}" = set; then :
122194 + $as_echo_n "(cached) " >&6
122195 +else
122196 + if test -n "$XSLTPROC"; then
122197 + ac_cv_prog_XSLTPROC="$XSLTPROC" # Let the user override the test.
122198 +else
122199 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122200 +for as_dir in $PATH
122202 + IFS=$as_save_IFS
122203 + test -z "$as_dir" && as_dir=.
122204 + for ac_exec_ext in '' $ac_executable_extensions; do
122205 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122206 + ac_cv_prog_XSLTPROC="yes"
122207 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122208 + break 2
122210 +done
122211 + done
122212 +IFS=$as_save_IFS
122214 + test -z "$ac_cv_prog_XSLTPROC" && ac_cv_prog_XSLTPROC="no"
122217 +XSLTPROC=$ac_cv_prog_XSLTPROC
122218 +if test -n "$XSLTPROC"; then
122219 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
122220 +$as_echo "$XSLTPROC" >&6; }
122221 +else
122222 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122223 +$as_echo "no" >&6; }
122227 +# Extract the first word of "xmllint", so it can be a program name with args.
122228 +set dummy xmllint; ac_word=$2
122229 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122230 +$as_echo_n "checking for $ac_word... " >&6; }
122231 +if test "${ac_cv_prog_XMLLINT+set}" = set; then :
122232 + $as_echo_n "(cached) " >&6
122233 +else
122234 + if test -n "$XMLLINT"; then
122235 + ac_cv_prog_XMLLINT="$XMLLINT" # Let the user override the test.
122236 +else
122237 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122238 +for as_dir in $PATH
122240 + IFS=$as_save_IFS
122241 + test -z "$as_dir" && as_dir=.
122242 + for ac_exec_ext in '' $ac_executable_extensions; do
122243 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122244 + ac_cv_prog_XMLLINT="yes"
122245 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122246 + break 2
122248 +done
122249 + done
122250 +IFS=$as_save_IFS
122252 + test -z "$ac_cv_prog_XMLLINT" && ac_cv_prog_XMLLINT="no"
122255 +XMLLINT=$ac_cv_prog_XMLLINT
122256 +if test -n "$XMLLINT"; then
122257 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5
122258 +$as_echo "$XMLLINT" >&6; }
122259 +else
122260 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122261 +$as_echo "no" >&6; }
122267 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for docbook stylesheets for documentation creation" >&5
122268 +$as_echo_n "checking for docbook stylesheets for documentation creation... " >&6; }
122269 +glibcxx_stylesheets=no
122270 +if test x${XSLTPROC} = xyes && echo '<title/>' | xsltproc --noout --nonet --xinclude http://docbook.sourceforge.net/release/xsl-ns/current/xhtml-1_1/docbook.xsl - 2>/dev/null; then
122271 + glibcxx_stylesheets=yes
122273 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_stylesheets" >&5
122274 +$as_echo "$glibcxx_stylesheets" >&6; }
122276 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for local stylesheet directory" >&5
122277 +$as_echo_n "checking for local stylesheet directory... " >&6; }
122278 +glibcxx_local_stylesheets=no
122279 +if test x"$glibcxx_stylesheets" = x"yes"; then
122280 + if test -d /usr/share/sgml/docbook/xsl-ns-stylesheets; then
122281 + glibcxx_local_stylesheets=yes
122282 + XSL_STYLE_DIR=/usr/share/sgml/docbook/xsl-ns-stylesheets
122284 + if test -d /usr/share/xml/docbook/stylesheet/docbook-xsl-ns; then
122285 + glibcxx_local_stylesheets=yes
122286 + XSL_STYLE_DIR=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns
122288 + if test -d /usr/share/xml/docbook/stylesheet/nwalsh5/current; then
122289 + glibcxx_local_stylesheets=yes
122290 + XSL_STYLE_DIR=/usr/share/xml/docbook/stylesheet/nwalsh5/current
122293 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_local_stylesheets" >&5
122294 +$as_echo "$glibcxx_local_stylesheets" >&6; }
122296 +if test x"$glibcxx_local_stylesheets" = x"yes"; then
122298 + { $as_echo "$as_me:${as_lineno-$LINENO}: $XSL_STYLE_DIR" >&5
122299 +$as_echo "$as_me: $XSL_STYLE_DIR" >&6;}
122300 +else
122301 + glibcxx_stylesheets=no
122304 +# Check for epub3 dependencies.
122305 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for epub3 stylesheets for documentation creation" >&5
122306 +$as_echo_n "checking for epub3 stylesheets for documentation creation... " >&6; }
122307 +glibcxx_epub_stylesheets=no
122308 +if test x"$glibcxx_local_stylesheets" = x"yes"; then
122309 + if test -f "$XSL_STYLE_DIR/epub3/chunk.xsl"; then
122310 + glibcxx_epub_stylesheets=yes
122313 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_epub_stylesheets" >&5
122314 +$as_echo "$glibcxx_epub_stylesheets" >&6; }
122315 + if test x"$glibcxx_epub_stylesheets" = x"yes"; then
122316 + BUILD_EPUB_TRUE=
122317 + BUILD_EPUB_FALSE='#'
122318 +else
122319 + BUILD_EPUB_TRUE='#'
122320 + BUILD_EPUB_FALSE=
122326 +# Check for xml/html dependencies.
122327 + if test $ac_cv_prog_DOXYGEN = "yes" &&
122328 + test $ac_cv_prog_DOT = "yes" &&
122329 + test $ac_cv_prog_XSLTPROC = "yes" &&
122330 + test $ac_cv_prog_XMLLINT = "yes" &&
122331 + test $glibcxx_stylesheets = "yes"; then
122332 + BUILD_XML_TRUE=
122333 + BUILD_XML_FALSE='#'
122334 +else
122335 + BUILD_XML_TRUE='#'
122336 + BUILD_XML_FALSE=
122340 + if test $ac_cv_prog_DOXYGEN = "yes" &&
122341 + test $ac_cv_prog_DOT = "yes" &&
122342 + test $ac_cv_prog_XSLTPROC = "yes" &&
122343 + test $ac_cv_prog_XMLLINT = "yes" &&
122344 + test $glibcxx_stylesheets = "yes"; then
122345 + BUILD_HTML_TRUE=
122346 + BUILD_HTML_FALSE='#'
122347 +else
122348 + BUILD_HTML_TRUE='#'
122349 + BUILD_HTML_FALSE=
122353 +# Check for man dependencies.
122354 + if test $ac_cv_prog_DOXYGEN = "yes" &&
122355 + test $ac_cv_prog_DOT = "yes"; then
122356 + BUILD_MAN_TRUE=
122357 + BUILD_MAN_FALSE='#'
122358 +else
122359 + BUILD_MAN_TRUE='#'
122360 + BUILD_MAN_FALSE=
122364 +# Check for pdf dependencies.
122365 +# Extract the first word of "dblatex", so it can be a program name with args.
122366 +set dummy dblatex; ac_word=$2
122367 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122368 +$as_echo_n "checking for $ac_word... " >&6; }
122369 +if test "${ac_cv_prog_DBLATEX+set}" = set; then :
122370 + $as_echo_n "(cached) " >&6
122371 +else
122372 + if test -n "$DBLATEX"; then
122373 + ac_cv_prog_DBLATEX="$DBLATEX" # Let the user override the test.
122374 +else
122375 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122376 +for as_dir in $PATH
122378 + IFS=$as_save_IFS
122379 + test -z "$as_dir" && as_dir=.
122380 + for ac_exec_ext in '' $ac_executable_extensions; do
122381 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122382 + ac_cv_prog_DBLATEX="yes"
122383 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122384 + break 2
122386 +done
122387 + done
122388 +IFS=$as_save_IFS
122390 + test -z "$ac_cv_prog_DBLATEX" && ac_cv_prog_DBLATEX="no"
122393 +DBLATEX=$ac_cv_prog_DBLATEX
122394 +if test -n "$DBLATEX"; then
122395 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBLATEX" >&5
122396 +$as_echo "$DBLATEX" >&6; }
122397 +else
122398 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122399 +$as_echo "no" >&6; }
122403 +# Extract the first word of "pdflatex", so it can be a program name with args.
122404 +set dummy pdflatex; ac_word=$2
122405 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
122406 +$as_echo_n "checking for $ac_word... " >&6; }
122407 +if test "${ac_cv_prog_PDFLATEX+set}" = set; then :
122408 + $as_echo_n "(cached) " >&6
122409 +else
122410 + if test -n "$PDFLATEX"; then
122411 + ac_cv_prog_PDFLATEX="$PDFLATEX" # Let the user override the test.
122412 +else
122413 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
122414 +for as_dir in $PATH
122416 + IFS=$as_save_IFS
122417 + test -z "$as_dir" && as_dir=.
122418 + for ac_exec_ext in '' $ac_executable_extensions; do
122419 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
122420 + ac_cv_prog_PDFLATEX="yes"
122421 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
122422 + break 2
122424 +done
122425 + done
122426 +IFS=$as_save_IFS
122428 + test -z "$ac_cv_prog_PDFLATEX" && ac_cv_prog_PDFLATEX="no"
122431 +PDFLATEX=$ac_cv_prog_PDFLATEX
122432 +if test -n "$PDFLATEX"; then
122433 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5
122434 +$as_echo "$PDFLATEX" >&6; }
122435 +else
122436 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
122437 +$as_echo "no" >&6; }
122441 + if test $ac_cv_prog_DBLATEX = "yes" &&
122442 + test $ac_cv_prog_PDFLATEX = "yes"; then
122443 + BUILD_PDF_TRUE=
122444 + BUILD_PDF_FALSE='#'
122445 +else
122446 + BUILD_PDF_TRUE='#'
122447 + BUILD_PDF_FALSE=
122452 +# Propagate the target-specific source directories through the build chain.
122453 +ATOMICITY_SRCDIR=config/${atomicity_dir}
122454 +ATOMIC_WORD_SRCDIR=config/${atomic_word_dir}
122455 +ATOMIC_FLAGS=${atomic_flags}
122456 +CPU_DEFINES_SRCDIR=config/${cpu_defines_dir}
122457 +OS_INC_SRCDIR=config/${os_include_dir}
122458 +ERROR_CONSTANTS_SRCDIR=config/${error_constants_dir}
122459 +ABI_TWEAKS_SRCDIR=config/${abi_tweaks_dir}
122460 +CPU_OPT_EXT_RANDOM=config/${cpu_opt_ext_random}
122461 +CPU_OPT_BITS_RANDOM=config/${cpu_opt_bits_random}
122473 +# Determine cross-compile flags and AM_CONDITIONALs.
122474 +#AC_SUBST(GLIBCXX_IS_NATIVE)
122475 +#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
122476 + if test $is_hosted = yes; then
122477 + GLIBCXX_HOSTED_TRUE=
122478 + GLIBCXX_HOSTED_FALSE='#'
122479 +else
122480 + GLIBCXX_HOSTED_TRUE='#'
122481 + GLIBCXX_HOSTED_FALSE=
122485 + if test $enable_libstdcxx_pch = yes; then
122486 + GLIBCXX_BUILD_PCH_TRUE=
122487 + GLIBCXX_BUILD_PCH_FALSE='#'
122488 +else
122489 + GLIBCXX_BUILD_PCH_TRUE='#'
122490 + GLIBCXX_BUILD_PCH_FALSE=
122494 + if test $enable_cheaders = c; then
122495 + GLIBCXX_C_HEADERS_C_TRUE=
122496 + GLIBCXX_C_HEADERS_C_FALSE='#'
122497 +else
122498 + GLIBCXX_C_HEADERS_C_TRUE='#'
122499 + GLIBCXX_C_HEADERS_C_FALSE=
122503 + if test $enable_cheaders = c_std; then
122504 + GLIBCXX_C_HEADERS_C_STD_TRUE=
122505 + GLIBCXX_C_HEADERS_C_STD_FALSE='#'
122506 +else
122507 + GLIBCXX_C_HEADERS_C_STD_TRUE='#'
122508 + GLIBCXX_C_HEADERS_C_STD_FALSE=
122512 + if test $enable_cheaders = c_global; then
122513 + GLIBCXX_C_HEADERS_C_GLOBAL_TRUE=
122514 + GLIBCXX_C_HEADERS_C_GLOBAL_FALSE='#'
122515 +else
122516 + GLIBCXX_C_HEADERS_C_GLOBAL_TRUE='#'
122517 + GLIBCXX_C_HEADERS_C_GLOBAL_FALSE=
122521 + if test $c_compatibility = yes; then
122522 + GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE=
122523 + GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE='#'
122524 +else
122525 + GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE='#'
122526 + GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE=
122530 + if test $enable_libstdcxx_debug = yes; then
122531 + GLIBCXX_BUILD_DEBUG_TRUE=
122532 + GLIBCXX_BUILD_DEBUG_FALSE='#'
122533 +else
122534 + GLIBCXX_BUILD_DEBUG_TRUE='#'
122535 + GLIBCXX_BUILD_DEBUG_FALSE=
122539 + if test $enable_extern_template = yes; then
122540 + ENABLE_EXTERN_TEMPLATE_TRUE=
122541 + ENABLE_EXTERN_TEMPLATE_FALSE='#'
122542 +else
122543 + ENABLE_EXTERN_TEMPLATE_TRUE='#'
122544 + ENABLE_EXTERN_TEMPLATE_FALSE=
122548 + if test $python_mod_dir != no; then
122549 + ENABLE_PYTHONDIR_TRUE=
122550 + ENABLE_PYTHONDIR_FALSE='#'
122551 +else
122552 + ENABLE_PYTHONDIR_TRUE='#'
122553 + ENABLE_PYTHONDIR_FALSE=
122557 + if test $enable_werror = yes; then
122558 + ENABLE_WERROR_TRUE=
122559 + ENABLE_WERROR_FALSE='#'
122560 +else
122561 + ENABLE_WERROR_TRUE='#'
122562 + ENABLE_WERROR_FALSE=
122566 + if test $enable_vtable_verify = yes; then
122567 + ENABLE_VTABLE_VERIFY_TRUE=
122568 + ENABLE_VTABLE_VERIFY_FALSE='#'
122569 +else
122570 + ENABLE_VTABLE_VERIFY_TRUE='#'
122571 + ENABLE_VTABLE_VERIFY_FALSE=
122575 + if test $enable_symvers != no; then
122576 + ENABLE_SYMVERS_TRUE=
122577 + ENABLE_SYMVERS_FALSE='#'
122578 +else
122579 + ENABLE_SYMVERS_TRUE='#'
122580 + ENABLE_SYMVERS_FALSE=
122584 + if test $enable_symvers = gnu; then
122585 + ENABLE_SYMVERS_GNU_TRUE=
122586 + ENABLE_SYMVERS_GNU_FALSE='#'
122587 +else
122588 + ENABLE_SYMVERS_GNU_TRUE='#'
122589 + ENABLE_SYMVERS_GNU_FALSE=
122593 + if test $enable_symvers = gnu-versioned-namespace; then
122594 + ENABLE_SYMVERS_GNU_NAMESPACE_TRUE=
122595 + ENABLE_SYMVERS_GNU_NAMESPACE_FALSE='#'
122596 +else
122597 + ENABLE_SYMVERS_GNU_NAMESPACE_TRUE='#'
122598 + ENABLE_SYMVERS_GNU_NAMESPACE_FALSE=
122602 + if test $enable_symvers = darwin; then
122603 + ENABLE_SYMVERS_DARWIN_TRUE=
122604 + ENABLE_SYMVERS_DARWIN_FALSE='#'
122605 +else
122606 + ENABLE_SYMVERS_DARWIN_TRUE='#'
122607 + ENABLE_SYMVERS_DARWIN_FALSE=
122611 + if test $enable_symvers = sun; then
122612 + ENABLE_SYMVERS_SUN_TRUE=
122613 + ENABLE_SYMVERS_SUN_FALSE='#'
122614 +else
122615 + ENABLE_SYMVERS_SUN_TRUE='#'
122616 + ENABLE_SYMVERS_SUN_FALSE=
122620 + if test $enable_libstdcxx_visibility = yes; then
122621 + ENABLE_VISIBILITY_TRUE=
122622 + ENABLE_VISIBILITY_FALSE='#'
122623 +else
122624 + ENABLE_VISIBILITY_TRUE='#'
122625 + ENABLE_VISIBILITY_FALSE=
122629 + if test $enable_libstdcxx_dual_abi = yes; then
122630 + ENABLE_DUAL_ABI_TRUE=
122631 + ENABLE_DUAL_ABI_FALSE='#'
122632 +else
122633 + ENABLE_DUAL_ABI_TRUE='#'
122634 + ENABLE_DUAL_ABI_FALSE=
122638 + if test $glibcxx_cxx11_abi = 1; then
122639 + ENABLE_CXX11_ABI_TRUE=
122640 + ENABLE_CXX11_ABI_FALSE='#'
122641 +else
122642 + ENABLE_CXX11_ABI_TRUE='#'
122643 + ENABLE_CXX11_ABI_FALSE=
122647 + if test $ac_ldbl_compat = yes; then
122648 + GLIBCXX_LDBL_COMPAT_TRUE=
122649 + GLIBCXX_LDBL_COMPAT_FALSE='#'
122650 +else
122651 + GLIBCXX_LDBL_COMPAT_TRUE='#'
122652 + GLIBCXX_LDBL_COMPAT_FALSE=
122658 +cat >confcache <<\_ACEOF
122659 +# This file is a shell script that caches the results of configure
122660 +# tests run on this system so they can be shared between configure
122661 +# scripts and configure runs, see configure's option --config-cache.
122662 +# It is not useful on other systems. If it contains results you don't
122663 +# want to keep, you may remove or edit it.
122665 +# config.status only pays attention to the cache file if you give it
122666 +# the --recheck option to rerun configure.
122668 +# `ac_cv_env_foo' variables (set or unset) will be overridden when
122669 +# loading this file, other *unset* `ac_cv_foo' will be assigned the
122670 +# following values.
122672 +_ACEOF
122674 +# The following way of writing the cache mishandles newlines in values,
122675 +# but we know of no workaround that is simple, portable, and efficient.
122676 +# So, we kill variables containing newlines.
122677 +# Ultrix sh set writes to stderr and can't be redirected directly,
122678 +# and sets the high bit in the cache file unless we assign to the vars.
122680 + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
122681 + eval ac_val=\$$ac_var
122682 + case $ac_val in #(
122683 + *${as_nl}*)
122684 + case $ac_var in #(
122685 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
122686 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
122687 + esac
122688 + case $ac_var in #(
122689 + _ | IFS | as_nl) ;; #(
122690 + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
122691 + *) { eval $ac_var=; unset $ac_var;} ;;
122692 + esac ;;
122693 + esac
122694 + done
122696 + (set) 2>&1 |
122697 + case $as_nl`(ac_space=' '; set) 2>&1` in #(
122698 + *${as_nl}ac_space=\ *)
122699 + # `set' does not quote correctly, so add quotes: double-quote
122700 + # substitution turns \\\\ into \\, and sed turns \\ into \.
122701 + sed -n \
122702 + "s/'/'\\\\''/g;
122703 + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
122704 + ;; #(
122706 + # `set' quotes correctly as required by POSIX, so do not add quotes.
122707 + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
122709 + esac |
122710 + sort
122712 + sed '
122713 + /^ac_cv_env_/b end
122714 + t clear
122715 + :clear
122716 + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
122717 + t end
122718 + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
122719 + :end' >>confcache
122720 +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
122721 + if test -w "$cache_file"; then
122722 + test "x$cache_file" != "x/dev/null" &&
122723 + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
122724 +$as_echo "$as_me: updating cache $cache_file" >&6;}
122725 + cat confcache >$cache_file
122726 + else
122727 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
122728 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
122731 +rm -f confcache
122733 +if test ${multilib} = yes; then
122734 + multilib_arg="--enable-multilib"
122735 +else
122736 + multilib_arg=
122739 +# Export all the install information.
122741 + glibcxx_toolexecdir=no
122742 + glibcxx_toolexeclibdir=no
122743 + glibcxx_prefixdir=$prefix
122745 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gxx-include-dir" >&5
122746 +$as_echo_n "checking for gxx-include-dir... " >&6; }
122748 +# Check whether --with-gxx-include-dir was given.
122749 +if test "${with_gxx_include_dir+set}" = set; then :
122750 + withval=$with_gxx_include_dir; case "$withval" in
122751 + yes) as_fn_error "Missing directory for --with-gxx-include-dir" "$LINENO" 5 ;;
122752 + no) gxx_include_dir=no ;;
122753 + *) gxx_include_dir=$withval ;;
122754 + esac
122755 +else
122756 + gxx_include_dir=no
122759 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gxx_include_dir" >&5
122760 +$as_echo "$gxx_include_dir" >&6; }
122762 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-version-specific-runtime-libs" >&5
122763 +$as_echo_n "checking for --enable-version-specific-runtime-libs... " >&6; }
122764 + # Check whether --enable-version-specific-runtime-libs was given.
122765 +if test "${enable_version_specific_runtime_libs+set}" = set; then :
122766 + enableval=$enable_version_specific_runtime_libs; case "$enableval" in
122767 + yes) version_specific_libs=yes ;;
122768 + no) version_specific_libs=no ;;
122769 + *) as_fn_error "Unknown argument to enable/disable version-specific libs" "$LINENO" 5;;
122770 + esac
122771 +else
122772 + version_specific_libs=no
122775 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5
122776 +$as_echo "$version_specific_libs" >&6; }
122778 + # Default case for install directory for include files.
122779 + if test $version_specific_libs = no && test $gxx_include_dir = no; then
122780 + gxx_include_dir='include/c++/${gcc_version}'
122781 + if test -n "$with_cross_host" &&
122782 + test x"$with_cross_host" != x"no"; then
122783 + gxx_include_dir='${prefix}/${target_alias}/'"$gxx_include_dir"
122784 + else
122785 + gxx_include_dir='${prefix}/'"$gxx_include_dir"
122789 + # Version-specific runtime libs processing.
122790 + if test $version_specific_libs = yes; then
122791 + # Need the gcc compiler version to know where to install libraries
122792 + # and header files if --enable-version-specific-runtime-libs option
122793 + # is selected. FIXME: these variables are misnamed, there are
122794 + # no executables installed in _toolexecdir or _toolexeclibdir.
122795 + if test x"$gxx_include_dir" = x"no"; then
122796 + gxx_include_dir='${libdir}/gcc/${host_alias}/${gcc_version}/include/c++'
122798 + glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
122799 + glibcxx_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)'
122802 + # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
122803 + # Install a library built with a cross compiler in tooldir, not libdir.
122804 + if test x"$glibcxx_toolexecdir" = x"no"; then
122805 + if test -n "$with_cross_host" &&
122806 + test x"$with_cross_host" != x"no"; then
122807 + glibcxx_toolexecdir='${exec_prefix}/${host_alias}'
122808 + glibcxx_toolexeclibdir='${toolexecdir}/lib'
122809 + else
122810 + glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
122811 + glibcxx_toolexeclibdir='${libdir}'
122813 + multi_os_directory=`$CXX -print-multi-os-directory`
122814 + case $multi_os_directory in
122815 + .) ;; # Avoid trailing /.
122816 + *) glibcxx_toolexeclibdir=$glibcxx_toolexeclibdir/$multi_os_directory ;;
122817 + esac
122820 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for install location" >&5
122821 +$as_echo_n "checking for install location... " >&6; }
122822 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gxx_include_dir" >&5
122823 +$as_echo "$gxx_include_dir" >&6; }
122831 +# Export all the include and flag information to Makefiles.
122833 + # Used for every C++ compile we perform.
122834 + GLIBCXX_INCLUDES="\
122835 +-I$glibcxx_builddir/include/$host_alias \
122836 +-I$glibcxx_builddir/include \
122837 +-I$glibcxx_srcdir/libsupc++"
122839 + # For Canadian crosses, pick this up too.
122840 + if test $CANADIAN = yes; then
122841 + GLIBCXX_INCLUDES="$GLIBCXX_INCLUDES -I\${includedir}"
122844 + # Stuff in the actual top level. Currently only used by libsupc++ to
122845 + # get unwind* headers from the libgcc dir.
122846 + #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc -I$(toplevel_srcdir)/include'
122847 + TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc'
122849 + # Now, export this to all the little Makefiles....
122854 + # Optimization flags that are probably a good idea for thrill-seekers. Just
122855 + # uncomment the lines below and make, everything else is ready to go...
122856 + # Alternatively OPTIMIZE_CXXFLAGS can be set in configure.host.
122857 + # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
122860 + WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi'
122864 +ac_config_files="$ac_config_files Makefile"
122866 +ac_config_files="$ac_config_files scripts/testsuite_flags"
122868 +ac_config_files="$ac_config_files scripts/extract_symvers"
122870 +ac_config_files="$ac_config_files doc/xsl/customization.xsl"
122873 +# Multilibs need MULTISUBDIR defined correctly in certain makefiles so
122874 +# that multilib installs will end up installed in the correct place.
122875 +# The testsuite needs it for multilib-aware ABI baseline files.
122876 +# To work around this not being passed down from config-ml.in ->
122877 +# srcdir/Makefile.am -> srcdir/{src,libsupc++,...}/Makefile.am, manually
122878 +# append it here. Only modify Makefiles that have just been created.
122880 +# Also, get rid of this simulated-VPATH thing that automake does.
122881 +ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile python/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile doc/Makefile po/Makefile testsuite/Makefile"
122884 +ac_config_commands="$ac_config_commands generate-headers"
122887 +cat >confcache <<\_ACEOF
122888 +# This file is a shell script that caches the results of configure
122889 +# tests run on this system so they can be shared between configure
122890 +# scripts and configure runs, see configure's option --config-cache.
122891 +# It is not useful on other systems. If it contains results you don't
122892 +# want to keep, you may remove or edit it.
122894 +# config.status only pays attention to the cache file if you give it
122895 +# the --recheck option to rerun configure.
122897 +# `ac_cv_env_foo' variables (set or unset) will be overridden when
122898 +# loading this file, other *unset* `ac_cv_foo' will be assigned the
122899 +# following values.
122901 +_ACEOF
122903 +# The following way of writing the cache mishandles newlines in values,
122904 +# but we know of no workaround that is simple, portable, and efficient.
122905 +# So, we kill variables containing newlines.
122906 +# Ultrix sh set writes to stderr and can't be redirected directly,
122907 +# and sets the high bit in the cache file unless we assign to the vars.
122909 + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
122910 + eval ac_val=\$$ac_var
122911 + case $ac_val in #(
122912 + *${as_nl}*)
122913 + case $ac_var in #(
122914 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
122915 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
122916 + esac
122917 + case $ac_var in #(
122918 + _ | IFS | as_nl) ;; #(
122919 + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
122920 + *) { eval $ac_var=; unset $ac_var;} ;;
122921 + esac ;;
122922 + esac
122923 + done
122925 + (set) 2>&1 |
122926 + case $as_nl`(ac_space=' '; set) 2>&1` in #(
122927 + *${as_nl}ac_space=\ *)
122928 + # `set' does not quote correctly, so add quotes: double-quote
122929 + # substitution turns \\\\ into \\, and sed turns \\ into \.
122930 + sed -n \
122931 + "s/'/'\\\\''/g;
122932 + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
122933 + ;; #(
122935 + # `set' quotes correctly as required by POSIX, so do not add quotes.
122936 + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
122938 + esac |
122939 + sort
122941 + sed '
122942 + /^ac_cv_env_/b end
122943 + t clear
122944 + :clear
122945 + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
122946 + t end
122947 + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
122948 + :end' >>confcache
122949 +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
122950 + if test -w "$cache_file"; then
122951 + test "x$cache_file" != "x/dev/null" &&
122952 + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
122953 +$as_echo "$as_me: updating cache $cache_file" >&6;}
122954 + cat confcache >$cache_file
122955 + else
122956 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
122957 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
122960 +rm -f confcache
122962 +test "x$prefix" = xNONE && prefix=$ac_default_prefix
122963 +# Let make expand exec_prefix.
122964 +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
122966 +DEFS=-DHAVE_CONFIG_H
122968 +ac_libobjs=
122969 +ac_ltlibobjs=
122970 +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
122971 + # 1. Remove the extension, and $U if already installed.
122972 + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
122973 + ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
122974 + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
122975 + # will be set to the directory where LIBOBJS objects are built.
122976 + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
122977 + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
122978 +done
122979 +LIBOBJS=$ac_libobjs
122981 +LTLIBOBJS=$ac_ltlibobjs
122984 + if test -n "$EXEEXT"; then
122985 + am__EXEEXT_TRUE=
122986 + am__EXEEXT_FALSE='#'
122987 +else
122988 + am__EXEEXT_TRUE='#'
122989 + am__EXEEXT_FALSE=
122992 +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
122993 + as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
122994 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
122996 +if test -z "${GLIBCXX_HOSTED_TRUE}" && test -z "${GLIBCXX_HOSTED_FALSE}"; then
122997 + as_fn_error "conditional \"GLIBCXX_HOSTED\" was never defined.
122998 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123000 +if test -z "${GLIBCXX_BUILD_PCH_TRUE}" && test -z "${GLIBCXX_BUILD_PCH_FALSE}"; then
123001 + as_fn_error "conditional \"GLIBCXX_BUILD_PCH\" was never defined.
123002 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123004 +if test -z "${GLIBCXX_C_HEADERS_C_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_FALSE}"; then
123005 + as_fn_error "conditional \"GLIBCXX_C_HEADERS_C\" was never defined.
123006 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123008 +if test -z "${GLIBCXX_C_HEADERS_C_STD_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_STD_FALSE}"; then
123009 + as_fn_error "conditional \"GLIBCXX_C_HEADERS_C_STD\" was never defined.
123010 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123012 +if test -z "${GLIBCXX_C_HEADERS_C_GLOBAL_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_GLOBAL_FALSE}"; then
123013 + as_fn_error "conditional \"GLIBCXX_C_HEADERS_C_GLOBAL\" was never defined.
123014 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123016 +if test -z "${GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE}" && test -z "${GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE}"; then
123017 + as_fn_error "conditional \"GLIBCXX_C_HEADERS_COMPATIBILITY\" was never defined.
123018 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123020 +if test -z "${GLIBCXX_BUILD_DEBUG_TRUE}" && test -z "${GLIBCXX_BUILD_DEBUG_FALSE}"; then
123021 + as_fn_error "conditional \"GLIBCXX_BUILD_DEBUG\" was never defined.
123022 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123024 +if test -z "${ENABLE_EXTERN_TEMPLATE_TRUE}" && test -z "${ENABLE_EXTERN_TEMPLATE_FALSE}"; then
123025 + as_fn_error "conditional \"ENABLE_EXTERN_TEMPLATE\" was never defined.
123026 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123028 +if test -z "${ENABLE_PYTHONDIR_TRUE}" && test -z "${ENABLE_PYTHONDIR_FALSE}"; then
123029 + as_fn_error "conditional \"ENABLE_PYTHONDIR\" was never defined.
123030 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123032 +if test -z "${ENABLE_WERROR_TRUE}" && test -z "${ENABLE_WERROR_FALSE}"; then
123033 + as_fn_error "conditional \"ENABLE_WERROR\" was never defined.
123034 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123036 +if test -z "${VTV_CYGMIN_TRUE}" && test -z "${VTV_CYGMIN_FALSE}"; then
123037 + as_fn_error "conditional \"VTV_CYGMIN\" was never defined.
123038 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123040 +if test -z "${ENABLE_VTABLE_VERIFY_TRUE}" && test -z "${ENABLE_VTABLE_VERIFY_FALSE}"; then
123041 + as_fn_error "conditional \"ENABLE_VTABLE_VERIFY\" was never defined.
123042 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123044 +if test -z "${ENABLE_SYMVERS_TRUE}" && test -z "${ENABLE_SYMVERS_FALSE}"; then
123045 + as_fn_error "conditional \"ENABLE_SYMVERS\" was never defined.
123046 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123048 +if test -z "${ENABLE_SYMVERS_GNU_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_FALSE}"; then
123049 + as_fn_error "conditional \"ENABLE_SYMVERS_GNU\" was never defined.
123050 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123052 +if test -z "${ENABLE_SYMVERS_GNU_NAMESPACE_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_NAMESPACE_FALSE}"; then
123053 + as_fn_error "conditional \"ENABLE_SYMVERS_GNU_NAMESPACE\" was never defined.
123054 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123056 +if test -z "${ENABLE_SYMVERS_DARWIN_TRUE}" && test -z "${ENABLE_SYMVERS_DARWIN_FALSE}"; then
123057 + as_fn_error "conditional \"ENABLE_SYMVERS_DARWIN\" was never defined.
123058 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123060 +if test -z "${ENABLE_SYMVERS_SUN_TRUE}" && test -z "${ENABLE_SYMVERS_SUN_FALSE}"; then
123061 + as_fn_error "conditional \"ENABLE_SYMVERS_SUN\" was never defined.
123062 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123064 +if test -z "${ENABLE_VISIBILITY_TRUE}" && test -z "${ENABLE_VISIBILITY_FALSE}"; then
123065 + as_fn_error "conditional \"ENABLE_VISIBILITY\" was never defined.
123066 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123068 +if test -z "${ENABLE_DUAL_ABI_TRUE}" && test -z "${ENABLE_DUAL_ABI_FALSE}"; then
123069 + as_fn_error "conditional \"ENABLE_DUAL_ABI\" was never defined.
123070 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123072 +if test -z "${ENABLE_CXX11_ABI_TRUE}" && test -z "${ENABLE_CXX11_ABI_FALSE}"; then
123073 + as_fn_error "conditional \"ENABLE_CXX11_ABI\" was never defined.
123074 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123076 +if test -z "${GLIBCXX_LDBL_COMPAT_TRUE}" && test -z "${GLIBCXX_LDBL_COMPAT_FALSE}"; then
123077 + as_fn_error "conditional \"GLIBCXX_LDBL_COMPAT\" was never defined.
123078 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123080 +if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
123081 + as_fn_error "conditional \"BUILD_INFO\" was never defined.
123082 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123084 +if test -z "${BUILD_EPUB_TRUE}" && test -z "${BUILD_EPUB_FALSE}"; then
123085 + as_fn_error "conditional \"BUILD_EPUB\" was never defined.
123086 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123088 +if test -z "${BUILD_XML_TRUE}" && test -z "${BUILD_XML_FALSE}"; then
123089 + as_fn_error "conditional \"BUILD_XML\" was never defined.
123090 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123092 +if test -z "${BUILD_HTML_TRUE}" && test -z "${BUILD_HTML_FALSE}"; then
123093 + as_fn_error "conditional \"BUILD_HTML\" was never defined.
123094 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123096 +if test -z "${BUILD_MAN_TRUE}" && test -z "${BUILD_MAN_FALSE}"; then
123097 + as_fn_error "conditional \"BUILD_MAN\" was never defined.
123098 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123100 +if test -z "${BUILD_PDF_TRUE}" && test -z "${BUILD_PDF_FALSE}"; then
123101 + as_fn_error "conditional \"BUILD_PDF\" was never defined.
123102 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
123105 +: ${CONFIG_STATUS=./config.status}
123106 +ac_write_fail=0
123107 +ac_clean_files_save=$ac_clean_files
123108 +ac_clean_files="$ac_clean_files $CONFIG_STATUS"
123109 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
123110 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
123111 +as_write_fail=0
123112 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
123113 +#! $SHELL
123114 +# Generated by $as_me.
123115 +# Run this file to recreate the current configuration.
123116 +# Compiler output produced by configure, useful for debugging
123117 +# configure, is in config.log if it exists.
123119 +debug=false
123120 +ac_cs_recheck=false
123121 +ac_cs_silent=false
123123 +SHELL=\${CONFIG_SHELL-$SHELL}
123124 +export SHELL
123125 +_ASEOF
123126 +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
123127 +## -------------------- ##
123128 +## M4sh Initialization. ##
123129 +## -------------------- ##
123131 +# Be more Bourne compatible
123132 +DUALCASE=1; export DUALCASE # for MKS sh
123133 +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
123134 + emulate sh
123135 + NULLCMD=:
123136 + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
123137 + # is contrary to our usage. Disable this feature.
123138 + alias -g '${1+"$@"}'='"$@"'
123139 + setopt NO_GLOB_SUBST
123140 +else
123141 + case `(set -o) 2>/dev/null` in #(
123142 + *posix*) :
123143 + set -o posix ;; #(
123144 + *) :
123146 +esac
123150 +as_nl='
123152 +export as_nl
123153 +# Printing a long string crashes Solaris 7 /usr/bin/printf.
123154 +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
123155 +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
123156 +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
123157 +# Prefer a ksh shell builtin over an external printf program on Solaris,
123158 +# but without wasting forks for bash or zsh.
123159 +if test -z "$BASH_VERSION$ZSH_VERSION" \
123160 + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
123161 + as_echo='print -r --'
123162 + as_echo_n='print -rn --'
123163 +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
123164 + as_echo='printf %s\n'
123165 + as_echo_n='printf %s'
123166 +else
123167 + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
123168 + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
123169 + as_echo_n='/usr/ucb/echo -n'
123170 + else
123171 + as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
123172 + as_echo_n_body='eval
123173 + arg=$1;
123174 + case $arg in #(
123175 + *"$as_nl"*)
123176 + expr "X$arg" : "X\\(.*\\)$as_nl";
123177 + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
123178 + esac;
123179 + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
123181 + export as_echo_n_body
123182 + as_echo_n='sh -c $as_echo_n_body as_echo'
123184 + export as_echo_body
123185 + as_echo='sh -c $as_echo_body as_echo'
123188 +# The user is always right.
123189 +if test "${PATH_SEPARATOR+set}" != set; then
123190 + PATH_SEPARATOR=:
123191 + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
123192 + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
123193 + PATH_SEPARATOR=';'
123198 +# IFS
123199 +# We need space, tab and new line, in precisely that order. Quoting is
123200 +# there to prevent editors from complaining about space-tab.
123201 +# (If _AS_PATH_WALK were called with IFS unset, it would disable word
123202 +# splitting by setting IFS to empty value.)
123203 +IFS=" "" $as_nl"
123205 +# Find who we are. Look in the path if we contain no directory separator.
123206 +case $0 in #((
123207 + *[\\/]* ) as_myself=$0 ;;
123208 + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
123209 +for as_dir in $PATH
123211 + IFS=$as_save_IFS
123212 + test -z "$as_dir" && as_dir=.
123213 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
123214 + done
123215 +IFS=$as_save_IFS
123218 +esac
123219 +# We did not find ourselves, most probably we were run as `sh COMMAND'
123220 +# in which case we are not to be found in the path.
123221 +if test "x$as_myself" = x; then
123222 + as_myself=$0
123224 +if test ! -f "$as_myself"; then
123225 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
123226 + exit 1
123229 +# Unset variables that we do not need and which cause bugs (e.g. in
123230 +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
123231 +# suppresses any "Segmentation fault" message there. '((' could
123232 +# trigger a bug in pdksh 5.2.14.
123233 +for as_var in BASH_ENV ENV MAIL MAILPATH
123234 +do eval test x\${$as_var+set} = xset \
123235 + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
123236 +done
123237 +PS1='$ '
123238 +PS2='> '
123239 +PS4='+ '
123241 +# NLS nuisances.
123242 +LC_ALL=C
123243 +export LC_ALL
123244 +LANGUAGE=C
123245 +export LANGUAGE
123247 +# CDPATH.
123248 +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
123251 +# as_fn_error ERROR [LINENO LOG_FD]
123252 +# ---------------------------------
123253 +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
123254 +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
123255 +# script with status $?, using 1 if that was 0.
123256 +as_fn_error ()
123258 + as_status=$?; test $as_status -eq 0 && as_status=1
123259 + if test "$3"; then
123260 + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
123261 + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
123263 + $as_echo "$as_me: error: $1" >&2
123264 + as_fn_exit $as_status
123265 +} # as_fn_error
123268 +# as_fn_set_status STATUS
123269 +# -----------------------
123270 +# Set $? to STATUS, without forking.
123271 +as_fn_set_status ()
123273 + return $1
123274 +} # as_fn_set_status
123276 +# as_fn_exit STATUS
123277 +# -----------------
123278 +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
123279 +as_fn_exit ()
123281 + set +e
123282 + as_fn_set_status $1
123283 + exit $1
123284 +} # as_fn_exit
123286 +# as_fn_unset VAR
123287 +# ---------------
123288 +# Portably unset VAR.
123289 +as_fn_unset ()
123291 + { eval $1=; unset $1;}
123293 +as_unset=as_fn_unset
123294 +# as_fn_append VAR VALUE
123295 +# ----------------------
123296 +# Append the text in VALUE to the end of the definition contained in VAR. Take
123297 +# advantage of any shell optimizations that allow amortized linear growth over
123298 +# repeated appends, instead of the typical quadratic growth present in naive
123299 +# implementations.
123300 +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
123301 + eval 'as_fn_append ()
123303 + eval $1+=\$2
123305 +else
123306 + as_fn_append ()
123308 + eval $1=\$$1\$2
123310 +fi # as_fn_append
123312 +# as_fn_arith ARG...
123313 +# ------------------
123314 +# Perform arithmetic evaluation on the ARGs, and store the result in the
123315 +# global $as_val. Take advantage of shells that can avoid forks. The arguments
123316 +# must be portable across $(()) and expr.
123317 +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
123318 + eval 'as_fn_arith ()
123320 + as_val=$(( $* ))
123322 +else
123323 + as_fn_arith ()
123325 + as_val=`expr "$@" || test $? -eq 1`
123327 +fi # as_fn_arith
123330 +if expr a : '\(a\)' >/dev/null 2>&1 &&
123331 + test "X`expr 00001 : '.*\(...\)'`" = X001; then
123332 + as_expr=expr
123333 +else
123334 + as_expr=false
123337 +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
123338 + as_basename=basename
123339 +else
123340 + as_basename=false
123343 +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
123344 + as_dirname=dirname
123345 +else
123346 + as_dirname=false
123349 +as_me=`$as_basename -- "$0" ||
123350 +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
123351 + X"$0" : 'X\(//\)$' \| \
123352 + X"$0" : 'X\(/\)' \| . 2>/dev/null ||
123353 +$as_echo X/"$0" |
123354 + sed '/^.*\/\([^/][^/]*\)\/*$/{
123355 + s//\1/
123358 + /^X\/\(\/\/\)$/{
123359 + s//\1/
123362 + /^X\/\(\/\).*/{
123363 + s//\1/
123366 + s/.*/./; q'`
123368 +# Avoid depending upon Character Ranges.
123369 +as_cr_letters='abcdefghijklmnopqrstuvwxyz'
123370 +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
123371 +as_cr_Letters=$as_cr_letters$as_cr_LETTERS
123372 +as_cr_digits='0123456789'
123373 +as_cr_alnum=$as_cr_Letters$as_cr_digits
123375 +ECHO_C= ECHO_N= ECHO_T=
123376 +case `echo -n x` in #(((((
123377 +-n*)
123378 + case `echo 'xy\c'` in
123379 + *c*) ECHO_T=' ';; # ECHO_T is single tab character.
123380 + xy) ECHO_C='\c';;
123381 + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
123382 + ECHO_T=' ';;
123383 + esac;;
123385 + ECHO_N='-n';;
123386 +esac
123388 +rm -f conf$$ conf$$.exe conf$$.file
123389 +if test -d conf$$.dir; then
123390 + rm -f conf$$.dir/conf$$.file
123391 +else
123392 + rm -f conf$$.dir
123393 + mkdir conf$$.dir 2>/dev/null
123395 +if (echo >conf$$.file) 2>/dev/null; then
123396 + if ln -s conf$$.file conf$$ 2>/dev/null; then
123397 + as_ln_s='ln -s'
123398 + # ... but there are two gotchas:
123399 + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
123400 + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
123401 + # In both cases, we have to default to `cp -p'.
123402 + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
123403 + as_ln_s='cp -p'
123404 + elif ln conf$$.file conf$$ 2>/dev/null; then
123405 + as_ln_s=ln
123406 + else
123407 + as_ln_s='cp -p'
123409 +else
123410 + as_ln_s='cp -p'
123412 +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
123413 +rmdir conf$$.dir 2>/dev/null
123416 +# as_fn_mkdir_p
123417 +# -------------
123418 +# Create "$as_dir" as a directory, including parents if necessary.
123419 +as_fn_mkdir_p ()
123422 + case $as_dir in #(
123423 + -*) as_dir=./$as_dir;;
123424 + esac
123425 + test -d "$as_dir" || eval $as_mkdir_p || {
123426 + as_dirs=
123427 + while :; do
123428 + case $as_dir in #(
123429 + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
123430 + *) as_qdir=$as_dir;;
123431 + esac
123432 + as_dirs="'$as_qdir' $as_dirs"
123433 + as_dir=`$as_dirname -- "$as_dir" ||
123434 +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
123435 + X"$as_dir" : 'X\(//\)[^/]' \| \
123436 + X"$as_dir" : 'X\(//\)$' \| \
123437 + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
123438 +$as_echo X"$as_dir" |
123439 + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
123440 + s//\1/
123443 + /^X\(\/\/\)[^/].*/{
123444 + s//\1/
123447 + /^X\(\/\/\)$/{
123448 + s//\1/
123451 + /^X\(\/\).*/{
123452 + s//\1/
123455 + s/.*/./; q'`
123456 + test -d "$as_dir" && break
123457 + done
123458 + test -z "$as_dirs" || eval "mkdir $as_dirs"
123459 + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
123462 +} # as_fn_mkdir_p
123463 +if mkdir -p . 2>/dev/null; then
123464 + as_mkdir_p='mkdir -p "$as_dir"'
123465 +else
123466 + test -d ./-p && rmdir ./-p
123467 + as_mkdir_p=false
123470 +if test -x / >/dev/null 2>&1; then
123471 + as_test_x='test -x'
123472 +else
123473 + if ls -dL / >/dev/null 2>&1; then
123474 + as_ls_L_option=L
123475 + else
123476 + as_ls_L_option=
123478 + as_test_x='
123479 + eval sh -c '\''
123480 + if test -d "$1"; then
123481 + test -d "$1/.";
123482 + else
123483 + case $1 in #(
123484 + -*)set "./$1";;
123485 + esac;
123486 + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
123487 + ???[sx]*):;;*)false;;esac;fi
123488 + '\'' sh
123491 +as_executable_p=$as_test_x
123493 +# Sed expression to map a string onto a valid CPP name.
123494 +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
123496 +# Sed expression to map a string onto a valid variable name.
123497 +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
123500 +exec 6>&1
123501 +## ----------------------------------- ##
123502 +## Main body of $CONFIG_STATUS script. ##
123503 +## ----------------------------------- ##
123504 +_ASEOF
123505 +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
123507 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
123508 +# Save the log message, to keep $0 and so on meaningful, and to
123509 +# report actual input values of CONFIG_FILES etc. instead of their
123510 +# values after options handling.
123511 +ac_log="
123512 +This file was extended by package-unused $as_me version-unused, which was
123513 +generated by GNU Autoconf 2.64. Invocation command line was
123515 + CONFIG_FILES = $CONFIG_FILES
123516 + CONFIG_HEADERS = $CONFIG_HEADERS
123517 + CONFIG_LINKS = $CONFIG_LINKS
123518 + CONFIG_COMMANDS = $CONFIG_COMMANDS
123519 + $ $0 $@
123521 +on `(hostname || uname -n) 2>/dev/null | sed 1q`
123524 +_ACEOF
123526 +case $ac_config_files in *"
123527 +"*) set x $ac_config_files; shift; ac_config_files=$*;;
123528 +esac
123530 +case $ac_config_headers in *"
123531 +"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
123532 +esac
123535 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
123536 +# Files that config.status was made for.
123537 +config_files="$ac_config_files"
123538 +config_headers="$ac_config_headers"
123539 +config_commands="$ac_config_commands"
123541 +_ACEOF
123543 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
123544 +ac_cs_usage="\
123545 +\`$as_me' instantiates files and other configuration actions
123546 +from templates according to the current configuration. Unless the files
123547 +and actions are specified as TAGs, all are instantiated by default.
123549 +Usage: $0 [OPTION]... [TAG]...
123551 + -h, --help print this help, then exit
123552 + -V, --version print version number and configuration settings, then exit
123553 + -q, --quiet, --silent
123554 + do not print progress messages
123555 + -d, --debug don't remove temporary files
123556 + --recheck update $as_me by reconfiguring in the same conditions
123557 + --file=FILE[:TEMPLATE]
123558 + instantiate the configuration file FILE
123559 + --header=FILE[:TEMPLATE]
123560 + instantiate the configuration header FILE
123562 +Configuration files:
123563 +$config_files
123565 +Configuration headers:
123566 +$config_headers
123568 +Configuration commands:
123569 +$config_commands
123571 +Report bugs to the package provider."
123573 +_ACEOF
123574 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
123575 +ac_cs_version="\\
123576 +package-unused config.status version-unused
123577 +configured by $0, generated by GNU Autoconf 2.64,
123578 + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
123580 +Copyright (C) 2009 Free Software Foundation, Inc.
123581 +This config.status script is free software; the Free Software Foundation
123582 +gives unlimited permission to copy, distribute and modify it."
123584 +ac_pwd='$ac_pwd'
123585 +srcdir='$srcdir'
123586 +INSTALL='$INSTALL'
123587 +MKDIR_P='$MKDIR_P'
123588 +AWK='$AWK'
123589 +test -n "\$AWK" || AWK=awk
123590 +_ACEOF
123592 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
123593 +# The default lists apply if the user does not specify any file.
123594 +ac_need_defaults=:
123595 +while test $# != 0
123597 + case $1 in
123598 + --*=*)
123599 + ac_option=`expr "X$1" : 'X\([^=]*\)='`
123600 + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
123601 + ac_shift=:
123604 + ac_option=$1
123605 + ac_optarg=$2
123606 + ac_shift=shift
123608 + esac
123610 + case $ac_option in
123611 + # Handling of the options.
123612 + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
123613 + ac_cs_recheck=: ;;
123614 + --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
123615 + $as_echo "$ac_cs_version"; exit ;;
123616 + --debug | --debu | --deb | --de | --d | -d )
123617 + debug=: ;;
123618 + --file | --fil | --fi | --f )
123619 + $ac_shift
123620 + case $ac_optarg in
123621 + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
123622 + esac
123623 + as_fn_append CONFIG_FILES " '$ac_optarg'"
123624 + ac_need_defaults=false;;
123625 + --header | --heade | --head | --hea )
123626 + $ac_shift
123627 + case $ac_optarg in
123628 + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
123629 + esac
123630 + as_fn_append CONFIG_HEADERS " '$ac_optarg'"
123631 + ac_need_defaults=false;;
123632 + --he | --h)
123633 + # Conflict between --help and --header
123634 + as_fn_error "ambiguous option: \`$1'
123635 +Try \`$0 --help' for more information.";;
123636 + --help | --hel | -h )
123637 + $as_echo "$ac_cs_usage"; exit ;;
123638 + -q | -quiet | --quiet | --quie | --qui | --qu | --q \
123639 + | -silent | --silent | --silen | --sile | --sil | --si | --s)
123640 + ac_cs_silent=: ;;
123642 + # This is an error.
123643 + -*) as_fn_error "unrecognized option: \`$1'
123644 +Try \`$0 --help' for more information." ;;
123646 + *) as_fn_append ac_config_targets " $1"
123647 + ac_need_defaults=false ;;
123649 + esac
123650 + shift
123651 +done
123653 +ac_configure_extra_args=
123655 +if $ac_cs_silent; then
123656 + exec 6>/dev/null
123657 + ac_configure_extra_args="$ac_configure_extra_args --silent"
123660 +_ACEOF
123661 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
123662 +if \$ac_cs_recheck; then
123663 + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
123664 + shift
123665 + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
123666 + CONFIG_SHELL='$SHELL'
123667 + export CONFIG_SHELL
123668 + exec "\$@"
123671 +_ACEOF
123672 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
123673 +exec 5>>config.log
123675 + echo
123676 + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
123677 +## Running $as_me. ##
123678 +_ASBOX
123679 + $as_echo "$ac_log"
123680 +} >&5
123682 +_ACEOF
123683 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
123685 +# INIT-COMMANDS
123688 +srcdir="$srcdir"
123689 +host="$host"
123690 +target="$target"
123691 +with_multisubdir="$with_multisubdir"
123692 +with_multisrctop="$with_multisrctop"
123693 +with_target_subdir="$with_target_subdir"
123694 +ac_configure_args="${multilib_arg} ${ac_configure_args}"
123695 +multi_basedir="$multi_basedir"
123696 +CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
123697 +CC="$CC"
123698 +CXX="$CXX"
123699 +GFORTRAN="$GFORTRAN"
123700 +GCJ="$GCJ"
123703 +# The HP-UX ksh and POSIX shell print the target directory to stdout
123704 +# if CDPATH is set.
123705 +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
123707 +sed_quote_subst='$sed_quote_subst'
123708 +double_quote_subst='$double_quote_subst'
123709 +delay_variable_subst='$delay_variable_subst'
123710 +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
123711 +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
123712 +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
123713 +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
123714 +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
123715 +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
123716 +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
123717 +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
123718 +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
123719 +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
123720 +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
123721 +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
123722 +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
123723 +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
123724 +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
123725 +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
123726 +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
123727 +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
123728 +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
123729 +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
123730 +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
123731 +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
123732 +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
123733 +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
123734 +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
123735 +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
123736 +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
123737 +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
123738 +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
123739 +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
123740 +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
123741 +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
123742 +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
123743 +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
123744 +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
123745 +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
123746 +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
123747 +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
123748 +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
123749 +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
123750 +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
123751 +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
123752 +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
123753 +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
123754 +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
123755 +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
123756 +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
123757 +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
123758 +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
123759 +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
123760 +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
123761 +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
123762 +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
123763 +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
123764 +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
123765 +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
123766 +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
123767 +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
123768 +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
123769 +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
123770 +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
123771 +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
123772 +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
123773 +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
123774 +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
123775 +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
123776 +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
123777 +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
123778 +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
123779 +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
123780 +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
123781 +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
123782 +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
123783 +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
123784 +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
123785 +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
123786 +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
123787 +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
123788 +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
123789 +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
123790 +hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
123791 +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
123792 +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
123793 +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
123794 +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
123795 +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
123796 +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
123797 +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
123798 +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
123799 +fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
123800 +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
123801 +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
123802 +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
123803 +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
123804 +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
123805 +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
123806 +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
123807 +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
123808 +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
123809 +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
123810 +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
123811 +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
123812 +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
123813 +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
123814 +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
123815 +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
123816 +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
123817 +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
123818 +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
123819 +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
123820 +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
123821 +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
123822 +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
123823 +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
123824 +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
123825 +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
123826 +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
123827 +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
123828 +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
123829 +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
123830 +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
123831 +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
123832 +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
123833 +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
123834 +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
123835 +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
123836 +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
123837 +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
123838 +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123839 +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123840 +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
123841 +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
123842 +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
123843 +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
123844 +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
123845 +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
123846 +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
123847 +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
123848 +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
123849 +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
123850 +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
123851 +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
123852 +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123853 +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123854 +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123855 +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123856 +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123857 +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123858 +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
123859 +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
123860 +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
123861 +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
123862 +hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
123863 +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
123864 +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
123865 +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
123866 +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
123867 +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
123868 +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
123869 +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
123870 +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
123871 +fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
123872 +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
123873 +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123874 +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
123875 +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
123876 +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
123877 +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
123878 +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
123879 +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
123880 +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
123881 +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
123882 +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
123883 +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
123884 +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
123886 +LTCC='$LTCC'
123887 +LTCFLAGS='$LTCFLAGS'
123888 +compiler='$compiler_DEFAULT'
123890 +# A function that is used when there is no print builtin or printf.
123891 +func_fallback_echo ()
123893 + eval 'cat <<_LTECHO_EOF
123895 +_LTECHO_EOF'
123898 +# Quote evaled strings.
123899 +for var in SHELL \
123900 +ECHO \
123901 +SED \
123902 +GREP \
123903 +EGREP \
123904 +FGREP \
123905 +LD \
123906 +NM \
123907 +LN_S \
123908 +lt_SP2NL \
123909 +lt_NL2SP \
123910 +reload_flag \
123911 +OBJDUMP \
123912 +deplibs_check_method \
123913 +file_magic_cmd \
123914 +AR \
123915 +AR_FLAGS \
123916 +STRIP \
123917 +RANLIB \
123918 +CC \
123919 +CFLAGS \
123920 +compiler \
123921 +lt_cv_sys_global_symbol_pipe \
123922 +lt_cv_sys_global_symbol_to_cdecl \
123923 +lt_cv_sys_global_symbol_to_c_name_address \
123924 +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
123925 +lt_prog_compiler_no_builtin_flag \
123926 +lt_prog_compiler_wl \
123927 +lt_prog_compiler_pic \
123928 +lt_prog_compiler_static \
123929 +lt_cv_prog_compiler_c_o \
123930 +need_locks \
123931 +DSYMUTIL \
123932 +NMEDIT \
123933 +LIPO \
123934 +OTOOL \
123935 +OTOOL64 \
123936 +shrext_cmds \
123937 +export_dynamic_flag_spec \
123938 +whole_archive_flag_spec \
123939 +compiler_needs_object \
123940 +with_gnu_ld \
123941 +allow_undefined_flag \
123942 +no_undefined_flag \
123943 +hardcode_libdir_flag_spec \
123944 +hardcode_libdir_flag_spec_ld \
123945 +hardcode_libdir_separator \
123946 +fix_srcfile_path \
123947 +exclude_expsyms \
123948 +include_expsyms \
123949 +file_list_spec \
123950 +variables_saved_for_relink \
123951 +libname_spec \
123952 +library_names_spec \
123953 +soname_spec \
123954 +install_override_mode \
123955 +finish_eval \
123956 +old_striplib \
123957 +striplib \
123958 +compiler_lib_search_dirs \
123959 +predep_objects \
123960 +postdep_objects \
123961 +predeps \
123962 +postdeps \
123963 +compiler_lib_search_path \
123964 +LD_CXX \
123965 +reload_flag_CXX \
123966 +compiler_CXX \
123967 +lt_prog_compiler_no_builtin_flag_CXX \
123968 +lt_prog_compiler_wl_CXX \
123969 +lt_prog_compiler_pic_CXX \
123970 +lt_prog_compiler_static_CXX \
123971 +lt_cv_prog_compiler_c_o_CXX \
123972 +export_dynamic_flag_spec_CXX \
123973 +whole_archive_flag_spec_CXX \
123974 +compiler_needs_object_CXX \
123975 +with_gnu_ld_CXX \
123976 +allow_undefined_flag_CXX \
123977 +no_undefined_flag_CXX \
123978 +hardcode_libdir_flag_spec_CXX \
123979 +hardcode_libdir_flag_spec_ld_CXX \
123980 +hardcode_libdir_separator_CXX \
123981 +fix_srcfile_path_CXX \
123982 +exclude_expsyms_CXX \
123983 +include_expsyms_CXX \
123984 +file_list_spec_CXX \
123985 +compiler_lib_search_dirs_CXX \
123986 +predep_objects_CXX \
123987 +postdep_objects_CXX \
123988 +predeps_CXX \
123989 +postdeps_CXX \
123990 +compiler_lib_search_path_CXX; do
123991 + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
123992 + *[\\\\\\\`\\"\\\$]*)
123993 + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
123996 + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
123998 + esac
123999 +done
124001 +# Double-quote double-evaled strings.
124002 +for var in reload_cmds \
124003 +old_postinstall_cmds \
124004 +old_postuninstall_cmds \
124005 +old_archive_cmds \
124006 +extract_expsyms_cmds \
124007 +old_archive_from_new_cmds \
124008 +old_archive_from_expsyms_cmds \
124009 +archive_cmds \
124010 +archive_expsym_cmds \
124011 +module_cmds \
124012 +module_expsym_cmds \
124013 +export_symbols_cmds \
124014 +prelink_cmds \
124015 +postinstall_cmds \
124016 +postuninstall_cmds \
124017 +finish_cmds \
124018 +sys_lib_search_path_spec \
124019 +sys_lib_dlsearch_path_spec \
124020 +reload_cmds_CXX \
124021 +old_archive_cmds_CXX \
124022 +old_archive_from_new_cmds_CXX \
124023 +old_archive_from_expsyms_cmds_CXX \
124024 +archive_cmds_CXX \
124025 +archive_expsym_cmds_CXX \
124026 +module_cmds_CXX \
124027 +module_expsym_cmds_CXX \
124028 +export_symbols_cmds_CXX \
124029 +prelink_cmds_CXX; do
124030 + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
124031 + *[\\\\\\\`\\"\\\$]*)
124032 + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
124035 + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
124037 + esac
124038 +done
124040 +ac_aux_dir='$ac_aux_dir'
124041 +xsi_shell='$xsi_shell'
124042 +lt_shell_append='$lt_shell_append'
124044 +# See if we are running on zsh, and set the options which allow our
124045 +# commands through without removal of \ escapes INIT.
124046 +if test -n "\${ZSH_VERSION+set}" ; then
124047 + setopt NO_GLOB_SUBST
124051 + PACKAGE='$PACKAGE'
124052 + VERSION='$VERSION'
124053 + TIMESTAMP='$TIMESTAMP'
124054 + RM='$RM'
124055 + ofile='$ofile'
124062 +GCC="$GCC"
124063 +CC="$CC"
124064 +acx_cv_header_stdint="$acx_cv_header_stdint"
124065 +acx_cv_type_int8_t="$acx_cv_type_int8_t"
124066 +acx_cv_type_int16_t="$acx_cv_type_int16_t"
124067 +acx_cv_type_int32_t="$acx_cv_type_int32_t"
124068 +acx_cv_type_int64_t="$acx_cv_type_int64_t"
124069 +acx_cv_type_intptr_t="$acx_cv_type_intptr_t"
124070 +ac_cv_type_uintmax_t="$ac_cv_type_uintmax_t"
124071 +ac_cv_type_uintptr_t="$ac_cv_type_uintptr_t"
124072 +ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
124073 +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
124074 +ac_cv_type_u_int32_t="$ac_cv_type_u_int32_t"
124075 +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
124076 +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
124077 +ac_cv_sizeof_void_p="$ac_cv_sizeof_void_p"
124080 +_ACEOF
124082 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
124084 +# Handling of arguments.
124085 +for ac_config_target in $ac_config_targets
124087 + case $ac_config_target in
124088 + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
124089 + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
124090 + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
124091 + "include/gstdint.h") CONFIG_COMMANDS="$CONFIG_COMMANDS include/gstdint.h" ;;
124092 + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
124093 + "scripts/testsuite_flags") CONFIG_FILES="$CONFIG_FILES scripts/testsuite_flags" ;;
124094 + "scripts/extract_symvers") CONFIG_FILES="$CONFIG_FILES scripts/extract_symvers" ;;
124095 + "doc/xsl/customization.xsl") CONFIG_FILES="$CONFIG_FILES doc/xsl/customization.xsl" ;;
124096 + "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
124097 + "libsupc++/Makefile") CONFIG_FILES="$CONFIG_FILES libsupc++/Makefile" ;;
124098 + "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
124099 + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
124100 + "src/c++98/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++98/Makefile" ;;
124101 + "src/c++11/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++11/Makefile" ;;
124102 + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
124103 + "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
124104 + "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
124105 + "generate-headers") CONFIG_COMMANDS="$CONFIG_COMMANDS generate-headers" ;;
124107 + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
124108 + esac
124109 +done
124112 +# If the user did not use the arguments to specify the items to instantiate,
124113 +# then the envvar interface is used. Set only those that are not.
124114 +# We use the long form for the default assignment because of an extremely
124115 +# bizarre bug on SunOS 4.1.3.
124116 +if $ac_need_defaults; then
124117 + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
124118 + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
124119 + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
124122 +# Have a temporary directory for convenience. Make it in the build tree
124123 +# simply because there is no reason against having it here, and in addition,
124124 +# creating and moving files from /tmp can sometimes cause problems.
124125 +# Hook for its removal unless debugging.
124126 +# Note that there is a small window in which the directory will not be cleaned:
124127 +# after its creation but before its name has been assigned to `$tmp'.
124128 +$debug ||
124130 + tmp=
124131 + trap 'exit_status=$?
124132 + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
124134 + trap 'as_fn_exit 1' 1 2 13 15
124136 +# Create a (secure) tmp directory for tmp files.
124139 + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
124140 + test -n "$tmp" && test -d "$tmp"
124141 +} ||
124143 + tmp=./conf$$-$RANDOM
124144 + (umask 077 && mkdir "$tmp")
124145 +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
124147 +# Set up the scripts for CONFIG_FILES section.
124148 +# No need to generate them if there are no CONFIG_FILES.
124149 +# This happens for instance with `./config.status config.h'.
124150 +if test -n "$CONFIG_FILES"; then
124153 +ac_cr=`echo X | tr X '\015'`
124154 +# On cygwin, bash can eat \r inside `` if the user requested igncr.
124155 +# But we know of no other shell where ac_cr would be empty at this
124156 +# point, so we can use a bashism as a fallback.
124157 +if test "x$ac_cr" = x; then
124158 + eval ac_cr=\$\'\\r\'
124160 +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
124161 +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
124162 + ac_cs_awk_cr='\r'
124163 +else
124164 + ac_cs_awk_cr=$ac_cr
124167 +echo 'BEGIN {' >"$tmp/subs1.awk" &&
124168 +_ACEOF
124172 + echo "cat >conf$$subs.awk <<_ACEOF" &&
124173 + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
124174 + echo "_ACEOF"
124175 +} >conf$$subs.sh ||
124176 + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
124177 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
124178 +ac_delim='%!_!# '
124179 +for ac_last_try in false false false false false :; do
124180 + . ./conf$$subs.sh ||
124181 + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
124183 + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
124184 + if test $ac_delim_n = $ac_delim_num; then
124185 + break
124186 + elif $ac_last_try; then
124187 + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
124188 + else
124189 + ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
124191 +done
124192 +rm -f conf$$subs.sh
124194 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
124195 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
124196 +_ACEOF
124197 +sed -n '
124199 +s/^/S["/; s/!.*/"]=/
124202 +s/^[^!]*!//
124203 +:repl
124204 +t repl
124205 +s/'"$ac_delim"'$//
124206 +t delim
124209 +s/\(.\{148\}\).*/\1/
124210 +t more1
124211 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
124214 +b repl
124215 +:more1
124216 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/
124219 +s/.\{148\}//
124220 +t nl
124221 +:delim
124223 +s/\(.\{148\}\).*/\1/
124224 +t more2
124225 +s/["\\]/\\&/g; s/^/"/; s/$/"/
124228 +:more2
124229 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/
124232 +s/.\{148\}//
124233 +t delim
124234 +' <conf$$subs.awk | sed '
124235 +/^[^""]/{
124237 + s/\n//
124239 +' >>$CONFIG_STATUS || ac_write_fail=1
124240 +rm -f conf$$subs.awk
124241 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
124242 +_ACAWK
124243 +cat >>"\$tmp/subs1.awk" <<_ACAWK &&
124244 + for (key in S) S_is_set[key] = 1
124245 + FS = "\a"
124249 + line = $ 0
124250 + nfields = split(line, field, "@")
124251 + substed = 0
124252 + len = length(field[1])
124253 + for (i = 2; i < nfields; i++) {
124254 + key = field[i]
124255 + keylen = length(key)
124256 + if (S_is_set[key]) {
124257 + value = S[key]
124258 + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
124259 + len += length(value) + length(field[++i])
124260 + substed = 1
124261 + } else
124262 + len += 1 + keylen
124265 + print line
124268 +_ACAWK
124269 +_ACEOF
124270 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
124271 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
124272 + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
124273 +else
124274 + cat
124275 +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
124276 + || as_fn_error "could not setup config files machinery" "$LINENO" 5
124277 +_ACEOF
124279 +# VPATH may cause trouble with some makes, so we remove $(srcdir),
124280 +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
124281 +# trailing colons and then remove the whole line if VPATH becomes empty
124282 +# (actually we leave an empty line to preserve line numbers).
124283 +if test "x$srcdir" = x.; then
124284 + ac_vpsub='/^[ ]*VPATH[ ]*=/{
124285 +s/:*\$(srcdir):*/:/
124286 +s/:*\${srcdir}:*/:/
124287 +s/:*@srcdir@:*/:/
124288 +s/^\([^=]*=[ ]*\):*/\1/
124289 +s/:*$//
124290 +s/^[^=]*=[ ]*$//
124294 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
124295 +fi # test -n "$CONFIG_FILES"
124297 +# Set up the scripts for CONFIG_HEADERS section.
124298 +# No need to generate them if there are no CONFIG_HEADERS.
124299 +# This happens for instance with `./config.status Makefile'.
124300 +if test -n "$CONFIG_HEADERS"; then
124301 +cat >"$tmp/defines.awk" <<\_ACAWK ||
124302 +BEGIN {
124303 +_ACEOF
124305 +# Transform confdefs.h into an awk script `defines.awk', embedded as
124306 +# here-document in config.status, that substitutes the proper values into
124307 +# config.h.in to produce config.h.
124309 +# Create a delimiter string that does not exist in confdefs.h, to ease
124310 +# handling of long lines.
124311 +ac_delim='%!_!# '
124312 +for ac_last_try in false false :; do
124313 + ac_t=`sed -n "/$ac_delim/p" confdefs.h`
124314 + if test -z "$ac_t"; then
124315 + break
124316 + elif $ac_last_try; then
124317 + as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
124318 + else
124319 + ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
124321 +done
124323 +# For the awk script, D is an array of macro values keyed by name,
124324 +# likewise P contains macro parameters if any. Preserve backslash
124325 +# newline sequences.
124327 +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
124328 +sed -n '
124329 +s/.\{148\}/&'"$ac_delim"'/g
124330 +t rset
124331 +:rset
124332 +s/^[ ]*#[ ]*define[ ][ ]*/ /
124333 +t def
124335 +:def
124336 +s/\\$//
124337 +t bsnl
124338 +s/["\\]/\\&/g
124339 +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
124340 +D["\1"]=" \3"/p
124341 +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
124343 +:bsnl
124344 +s/["\\]/\\&/g
124345 +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
124346 +D["\1"]=" \3\\\\\\n"\\/p
124347 +t cont
124348 +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
124349 +t cont
124351 +:cont
124353 +s/.\{148\}/&'"$ac_delim"'/g
124354 +t clear
124355 +:clear
124356 +s/\\$//
124357 +t bsnlc
124358 +s/["\\]/\\&/g; s/^/"/; s/$/"/p
124360 +:bsnlc
124361 +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
124362 +b cont
124363 +' <confdefs.h | sed '
124364 +s/'"$ac_delim"'/"\\\
124365 +"/g' >>$CONFIG_STATUS || ac_write_fail=1
124367 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
124368 + for (key in D) D_is_set[key] = 1
124369 + FS = "\a"
124371 +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
124372 + line = \$ 0
124373 + split(line, arg, " ")
124374 + if (arg[1] == "#") {
124375 + defundef = arg[2]
124376 + mac1 = arg[3]
124377 + } else {
124378 + defundef = substr(arg[1], 2)
124379 + mac1 = arg[2]
124381 + split(mac1, mac2, "(") #)
124382 + macro = mac2[1]
124383 + prefix = substr(line, 1, index(line, defundef) - 1)
124384 + if (D_is_set[macro]) {
124385 + # Preserve the white space surrounding the "#".
124386 + print prefix "define", macro P[macro] D[macro]
124387 + next
124388 + } else {
124389 + # Replace #undef with comments. This is necessary, for example,
124390 + # in the case of _POSIX_SOURCE, which is predefined and required
124391 + # on some systems where configure will not decide to define it.
124392 + if (defundef == "undef") {
124393 + print "/*", prefix defundef, macro, "*/"
124394 + next
124398 +{ print }
124399 +_ACAWK
124400 +_ACEOF
124401 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
124402 + as_fn_error "could not setup config headers machinery" "$LINENO" 5
124403 +fi # test -n "$CONFIG_HEADERS"
124406 +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
124407 +shift
124408 +for ac_tag
124410 + case $ac_tag in
124411 + :[FHLC]) ac_mode=$ac_tag; continue;;
124412 + esac
124413 + case $ac_mode$ac_tag in
124414 + :[FHL]*:*);;
124415 + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
124416 + :[FH]-) ac_tag=-:-;;
124417 + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
124418 + esac
124419 + ac_save_IFS=$IFS
124420 + IFS=:
124421 + set x $ac_tag
124422 + IFS=$ac_save_IFS
124423 + shift
124424 + ac_file=$1
124425 + shift
124427 + case $ac_mode in
124428 + :L) ac_source=$1;;
124429 + :[FH])
124430 + ac_file_inputs=
124431 + for ac_f
124433 + case $ac_f in
124434 + -) ac_f="$tmp/stdin";;
124435 + *) # Look for the file first in the build tree, then in the source tree
124436 + # (if the path is not absolute). The absolute path cannot be DOS-style,
124437 + # because $ac_f cannot contain `:'.
124438 + test -f "$ac_f" ||
124439 + case $ac_f in
124440 + [\\/$]*) false;;
124441 + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
124442 + esac ||
124443 + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
124444 + esac
124445 + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
124446 + as_fn_append ac_file_inputs " '$ac_f'"
124447 + done
124449 + # Let's still pretend it is `configure' which instantiates (i.e., don't
124450 + # use $as_me), people would be surprised to read:
124451 + # /* config.h. Generated by config.status. */
124452 + configure_input='Generated from '`
124453 + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
124454 + `' by configure.'
124455 + if test x"$ac_file" != x-; then
124456 + configure_input="$ac_file. $configure_input"
124457 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
124458 +$as_echo "$as_me: creating $ac_file" >&6;}
124460 + # Neutralize special characters interpreted by sed in replacement strings.
124461 + case $configure_input in #(
124462 + *\&* | *\|* | *\\* )
124463 + ac_sed_conf_input=`$as_echo "$configure_input" |
124464 + sed 's/[\\\\&|]/\\\\&/g'`;; #(
124465 + *) ac_sed_conf_input=$configure_input;;
124466 + esac
124468 + case $ac_tag in
124469 + *:-:* | *:-) cat >"$tmp/stdin" \
124470 + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
124471 + esac
124473 + esac
124475 + ac_dir=`$as_dirname -- "$ac_file" ||
124476 +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
124477 + X"$ac_file" : 'X\(//\)[^/]' \| \
124478 + X"$ac_file" : 'X\(//\)$' \| \
124479 + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
124480 +$as_echo X"$ac_file" |
124481 + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
124482 + s//\1/
124485 + /^X\(\/\/\)[^/].*/{
124486 + s//\1/
124489 + /^X\(\/\/\)$/{
124490 + s//\1/
124493 + /^X\(\/\).*/{
124494 + s//\1/
124497 + s/.*/./; q'`
124498 + as_dir="$ac_dir"; as_fn_mkdir_p
124499 + ac_builddir=.
124501 +case "$ac_dir" in
124502 +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
124504 + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
124505 + # A ".." for each directory in $ac_dir_suffix.
124506 + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
124507 + case $ac_top_builddir_sub in
124508 + "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
124509 + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
124510 + esac ;;
124511 +esac
124512 +ac_abs_top_builddir=$ac_pwd
124513 +ac_abs_builddir=$ac_pwd$ac_dir_suffix
124514 +# for backward compatibility:
124515 +ac_top_builddir=$ac_top_build_prefix
124517 +case $srcdir in
124518 + .) # We are building in place.
124519 + ac_srcdir=.
124520 + ac_top_srcdir=$ac_top_builddir_sub
124521 + ac_abs_top_srcdir=$ac_pwd ;;
124522 + [\\/]* | ?:[\\/]* ) # Absolute name.
124523 + ac_srcdir=$srcdir$ac_dir_suffix;
124524 + ac_top_srcdir=$srcdir
124525 + ac_abs_top_srcdir=$srcdir ;;
124526 + *) # Relative name.
124527 + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
124528 + ac_top_srcdir=$ac_top_build_prefix$srcdir
124529 + ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
124530 +esac
124531 +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
124534 + case $ac_mode in
124535 + :F)
124537 + # CONFIG_FILE
124540 + case $INSTALL in
124541 + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
124542 + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
124543 + esac
124544 + ac_MKDIR_P=$MKDIR_P
124545 + case $MKDIR_P in
124546 + [\\/$]* | ?:[\\/]* ) ;;
124547 + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
124548 + esac
124549 +_ACEOF
124551 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
124552 +# If the template does not know about datarootdir, expand it.
124553 +# FIXME: This hack should be removed a few years after 2.60.
124554 +ac_datarootdir_hack=; ac_datarootdir_seen=
124555 +ac_sed_dataroot='
124556 +/datarootdir/ {
124560 +/@datadir@/p
124561 +/@docdir@/p
124562 +/@infodir@/p
124563 +/@localedir@/p
124564 +/@mandir@/p'
124565 +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
124566 +*datarootdir*) ac_datarootdir_seen=yes;;
124567 +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
124568 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
124569 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
124570 +_ACEOF
124571 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
124572 + ac_datarootdir_hack='
124573 + s&@datadir@&$datadir&g
124574 + s&@docdir@&$docdir&g
124575 + s&@infodir@&$infodir&g
124576 + s&@localedir@&$localedir&g
124577 + s&@mandir@&$mandir&g
124578 + s&\\\${datarootdir}&$datarootdir&g' ;;
124579 +esac
124580 +_ACEOF
124582 +# Neutralize VPATH when `$srcdir' = `.'.
124583 +# Shell code in configure.ac might set extrasub.
124584 +# FIXME: do we really want to maintain this feature?
124585 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
124586 +ac_sed_extra="$ac_vpsub
124587 +$extrasub
124588 +_ACEOF
124589 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
124591 +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
124592 +s|@configure_input@|$ac_sed_conf_input|;t t
124593 +s&@top_builddir@&$ac_top_builddir_sub&;t t
124594 +s&@top_build_prefix@&$ac_top_build_prefix&;t t
124595 +s&@srcdir@&$ac_srcdir&;t t
124596 +s&@abs_srcdir@&$ac_abs_srcdir&;t t
124597 +s&@top_srcdir@&$ac_top_srcdir&;t t
124598 +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
124599 +s&@builddir@&$ac_builddir&;t t
124600 +s&@abs_builddir@&$ac_abs_builddir&;t t
124601 +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
124602 +s&@INSTALL@&$ac_INSTALL&;t t
124603 +s&@MKDIR_P@&$ac_MKDIR_P&;t t
124604 +$ac_datarootdir_hack
124606 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
124607 + || as_fn_error "could not create $ac_file" "$LINENO" 5
124609 +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
124610 + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
124611 + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
124612 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
124613 +which seems to be undefined. Please make sure it is defined." >&5
124614 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
124615 +which seems to be undefined. Please make sure it is defined." >&2;}
124617 + rm -f "$tmp/stdin"
124618 + case $ac_file in
124619 + -) cat "$tmp/out" && rm -f "$tmp/out";;
124620 + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
124621 + esac \
124622 + || as_fn_error "could not create $ac_file" "$LINENO" 5
124624 + :H)
124626 + # CONFIG_HEADER
124628 + if test x"$ac_file" != x-; then
124630 + $as_echo "/* $configure_input */" \
124631 + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
124632 + } >"$tmp/config.h" \
124633 + || as_fn_error "could not create $ac_file" "$LINENO" 5
124634 + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
124635 + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
124636 +$as_echo "$as_me: $ac_file is unchanged" >&6;}
124637 + else
124638 + rm -f "$ac_file"
124639 + mv "$tmp/config.h" "$ac_file" \
124640 + || as_fn_error "could not create $ac_file" "$LINENO" 5
124642 + else
124643 + $as_echo "/* $configure_input */" \
124644 + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
124645 + || as_fn_error "could not create -" "$LINENO" 5
124647 +# Compute "$ac_file"'s index in $config_headers.
124648 +_am_arg="$ac_file"
124649 +_am_stamp_count=1
124650 +for _am_header in $config_headers :; do
124651 + case $_am_header in
124652 + $_am_arg | $_am_arg:* )
124653 + break ;;
124654 + * )
124655 + _am_stamp_count=`expr $_am_stamp_count + 1` ;;
124656 + esac
124657 +done
124658 +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
124659 +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
124660 + X"$_am_arg" : 'X\(//\)[^/]' \| \
124661 + X"$_am_arg" : 'X\(//\)$' \| \
124662 + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
124663 +$as_echo X"$_am_arg" |
124664 + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
124665 + s//\1/
124668 + /^X\(\/\/\)[^/].*/{
124669 + s//\1/
124672 + /^X\(\/\/\)$/{
124673 + s//\1/
124676 + /^X\(\/\).*/{
124677 + s//\1/
124680 + s/.*/./; q'`/stamp-h$_am_stamp_count
124683 + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
124684 +$as_echo "$as_me: executing $ac_file commands" >&6;}
124686 + esac
124689 + case $ac_file$ac_mode in
124690 + "default-1":C)
124691 +# Only add multilib support code if we just rebuilt the top-level
124692 +# Makefile.
124693 +case " $CONFIG_FILES " in
124694 + *" Makefile "*)
124695 + ac_file=Makefile . ${multi_basedir}/config-ml.in
124697 +esac ;;
124698 + "libtool":C)
124700 + # See if we are running on zsh, and set the options which allow our
124701 + # commands through without removal of \ escapes.
124702 + if test -n "${ZSH_VERSION+set}" ; then
124703 + setopt NO_GLOB_SUBST
124706 + cfgfile="${ofile}T"
124707 + trap "$RM \"$cfgfile\"; exit 1" 1 2 15
124708 + $RM "$cfgfile"
124710 + cat <<_LT_EOF >> "$cfgfile"
124711 +#! $SHELL
124713 +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
124714 +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
124715 +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
124716 +# NOTE: Changes made to this file will be lost: look at ltmain.sh.
124718 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
124719 +# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
124720 +# Written by Gordon Matzigkeit, 1996
124722 +# This file is part of GNU Libtool.
124724 +# GNU Libtool is free software; you can redistribute it and/or
124725 +# modify it under the terms of the GNU General Public License as
124726 +# published by the Free Software Foundation; either version 2 of
124727 +# the License, or (at your option) any later version.
124729 +# As a special exception to the GNU General Public License,
124730 +# if you distribute this file as part of a program or library that
124731 +# is built using GNU Libtool, you may include this file under the
124732 +# same distribution terms that you use for the rest of that program.
124734 +# GNU Libtool is distributed in the hope that it will be useful,
124735 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
124736 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
124737 +# GNU General Public License for more details.
124739 +# You should have received a copy of the GNU General Public License
124740 +# along with GNU Libtool; see the file COPYING. If not, a copy
124741 +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
124742 +# obtained by writing to the Free Software Foundation, Inc.,
124743 +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
124746 +# The names of the tagged configurations supported by this script.
124747 +available_tags="CXX "
124749 +# ### BEGIN LIBTOOL CONFIG
124751 +# Which release of libtool.m4 was used?
124752 +macro_version=$macro_version
124753 +macro_revision=$macro_revision
124755 +# Whether or not to build shared libraries.
124756 +build_libtool_libs=$enable_shared
124758 +# Whether or not to build static libraries.
124759 +build_old_libs=$enable_static
124761 +# What type of objects to build.
124762 +pic_mode=$pic_mode
124764 +# Whether or not to optimize for fast installation.
124765 +fast_install=$enable_fast_install
124767 +# Shell to use when invoking shell scripts.
124768 +SHELL=$lt_SHELL
124770 +# An echo program that protects backslashes.
124771 +ECHO=$lt_ECHO
124773 +# The host system.
124774 +host_alias=$host_alias
124775 +host=$host
124776 +host_os=$host_os
124778 +# The build system.
124779 +build_alias=$build_alias
124780 +build=$build
124781 +build_os=$build_os
124783 +# A sed program that does not truncate output.
124784 +SED=$lt_SED
124786 +# Sed that helps us avoid accidentally triggering echo(1) options like -n.
124787 +Xsed="\$SED -e 1s/^X//"
124789 +# A grep program that handles long lines.
124790 +GREP=$lt_GREP
124792 +# An ERE matcher.
124793 +EGREP=$lt_EGREP
124795 +# A literal string matcher.
124796 +FGREP=$lt_FGREP
124798 +# A BSD- or MS-compatible name lister.
124799 +NM=$lt_NM
124801 +# Whether we need soft or hard links.
124802 +LN_S=$lt_LN_S
124804 +# What is the maximum length of a command?
124805 +max_cmd_len=$max_cmd_len
124807 +# Object file suffix (normally "o").
124808 +objext=$ac_objext
124810 +# Executable file suffix (normally "").
124811 +exeext=$exeext
124813 +# whether the shell understands "unset".
124814 +lt_unset=$lt_unset
124816 +# turn spaces into newlines.
124817 +SP2NL=$lt_lt_SP2NL
124819 +# turn newlines into spaces.
124820 +NL2SP=$lt_lt_NL2SP
124822 +# An object symbol dumper.
124823 +OBJDUMP=$lt_OBJDUMP
124825 +# Method to check whether dependent libraries are shared objects.
124826 +deplibs_check_method=$lt_deplibs_check_method
124828 +# Command to use when deplibs_check_method == "file_magic".
124829 +file_magic_cmd=$lt_file_magic_cmd
124831 +# The archiver.
124832 +AR=$lt_AR
124833 +AR_FLAGS=$lt_AR_FLAGS
124835 +# A symbol stripping program.
124836 +STRIP=$lt_STRIP
124838 +# Commands used to install an old-style archive.
124839 +RANLIB=$lt_RANLIB
124840 +old_postinstall_cmds=$lt_old_postinstall_cmds
124841 +old_postuninstall_cmds=$lt_old_postuninstall_cmds
124843 +# Whether to use a lock for old archive extraction.
124844 +lock_old_archive_extraction=$lock_old_archive_extraction
124846 +# A C compiler.
124847 +LTCC=$lt_CC
124849 +# LTCC compiler flags.
124850 +LTCFLAGS=$lt_CFLAGS
124852 +# Take the output of nm and produce a listing of raw symbols and C names.
124853 +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
124855 +# Transform the output of nm in a proper C declaration.
124856 +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
124858 +# Transform the output of nm in a C name address pair.
124859 +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
124861 +# Transform the output of nm in a C name address pair when lib prefix is needed.
124862 +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
124864 +# The name of the directory that contains temporary libtool files.
124865 +objdir=$objdir
124867 +# Used to examine libraries when file_magic_cmd begins with "file".
124868 +MAGIC_CMD=$MAGIC_CMD
124870 +# Must we lock files when doing compilation?
124871 +need_locks=$lt_need_locks
124873 +# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
124874 +DSYMUTIL=$lt_DSYMUTIL
124876 +# Tool to change global to local symbols on Mac OS X.
124877 +NMEDIT=$lt_NMEDIT
124879 +# Tool to manipulate fat objects and archives on Mac OS X.
124880 +LIPO=$lt_LIPO
124882 +# ldd/readelf like tool for Mach-O binaries on Mac OS X.
124883 +OTOOL=$lt_OTOOL
124885 +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
124886 +OTOOL64=$lt_OTOOL64
124888 +# Old archive suffix (normally "a").
124889 +libext=$libext
124891 +# Shared library suffix (normally ".so").
124892 +shrext_cmds=$lt_shrext_cmds
124894 +# The commands to extract the exported symbol list from a shared archive.
124895 +extract_expsyms_cmds=$lt_extract_expsyms_cmds
124897 +# Variables whose values should be saved in libtool wrapper scripts and
124898 +# restored at link time.
124899 +variables_saved_for_relink=$lt_variables_saved_for_relink
124901 +# Do we need the "lib" prefix for modules?
124902 +need_lib_prefix=$need_lib_prefix
124904 +# Do we need a version for libraries?
124905 +need_version=$need_version
124907 +# Library versioning type.
124908 +version_type=$version_type
124910 +# Shared library runtime path variable.
124911 +runpath_var=$runpath_var
124913 +# Shared library path variable.
124914 +shlibpath_var=$shlibpath_var
124916 +# Is shlibpath searched before the hard-coded library search path?
124917 +shlibpath_overrides_runpath=$shlibpath_overrides_runpath
124919 +# Format of library name prefix.
124920 +libname_spec=$lt_libname_spec
124922 +# List of archive names. First name is the real one, the rest are links.
124923 +# The last name is the one that the linker finds with -lNAME
124924 +library_names_spec=$lt_library_names_spec
124926 +# The coded name of the library, if different from the real name.
124927 +soname_spec=$lt_soname_spec
124929 +# Permission mode override for installation of shared libraries.
124930 +install_override_mode=$lt_install_override_mode
124932 +# Command to use after installation of a shared archive.
124933 +postinstall_cmds=$lt_postinstall_cmds
124935 +# Command to use after uninstallation of a shared archive.
124936 +postuninstall_cmds=$lt_postuninstall_cmds
124938 +# Commands used to finish a libtool library installation in a directory.
124939 +finish_cmds=$lt_finish_cmds
124941 +# As "finish_cmds", except a single script fragment to be evaled but
124942 +# not shown.
124943 +finish_eval=$lt_finish_eval
124945 +# Whether we should hardcode library paths into libraries.
124946 +hardcode_into_libs=$hardcode_into_libs
124948 +# Compile-time system search path for libraries.
124949 +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
124951 +# Run-time system search path for libraries.
124952 +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
124954 +# Whether dlopen is supported.
124955 +dlopen_support=$enable_dlopen
124957 +# Whether dlopen of programs is supported.
124958 +dlopen_self=$enable_dlopen_self
124960 +# Whether dlopen of statically linked programs is supported.
124961 +dlopen_self_static=$enable_dlopen_self_static
124963 +# Commands to strip libraries.
124964 +old_striplib=$lt_old_striplib
124965 +striplib=$lt_striplib
124968 +# The linker used to build libraries.
124969 +LD=$lt_LD
124971 +# How to create reloadable object files.
124972 +reload_flag=$lt_reload_flag
124973 +reload_cmds=$lt_reload_cmds
124975 +# Commands used to build an old-style archive.
124976 +old_archive_cmds=$lt_old_archive_cmds
124978 +# A language specific compiler.
124979 +CC=$lt_compiler
124981 +# Is the compiler the GNU compiler?
124982 +with_gcc=$GCC
124984 +# Compiler flag to turn off builtin functions.
124985 +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
124987 +# How to pass a linker flag through the compiler.
124988 +wl=$lt_lt_prog_compiler_wl
124990 +# Additional compiler flags for building library objects.
124991 +pic_flag=$lt_lt_prog_compiler_pic
124993 +# Compiler flag to prevent dynamic linking.
124994 +link_static_flag=$lt_lt_prog_compiler_static
124996 +# Does compiler simultaneously support -c and -o options?
124997 +compiler_c_o=$lt_lt_cv_prog_compiler_c_o
124999 +# Whether or not to add -lc for building shared libraries.
125000 +build_libtool_need_lc=$archive_cmds_need_lc
125002 +# Whether or not to disallow shared libs when runtime libs are static.
125003 +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
125005 +# Compiler flag to allow reflexive dlopens.
125006 +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
125008 +# Compiler flag to generate shared objects directly from archives.
125009 +whole_archive_flag_spec=$lt_whole_archive_flag_spec
125011 +# Whether the compiler copes with passing no objects directly.
125012 +compiler_needs_object=$lt_compiler_needs_object
125014 +# Create an old-style archive from a shared archive.
125015 +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
125017 +# Create a temporary old-style archive to link instead of a shared archive.
125018 +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
125020 +# Commands used to build a shared archive.
125021 +archive_cmds=$lt_archive_cmds
125022 +archive_expsym_cmds=$lt_archive_expsym_cmds
125024 +# Commands used to build a loadable module if different from building
125025 +# a shared archive.
125026 +module_cmds=$lt_module_cmds
125027 +module_expsym_cmds=$lt_module_expsym_cmds
125029 +# Whether we are building with GNU ld or not.
125030 +with_gnu_ld=$lt_with_gnu_ld
125032 +# Flag that allows shared libraries with undefined symbols to be built.
125033 +allow_undefined_flag=$lt_allow_undefined_flag
125035 +# Flag that enforces no undefined symbols.
125036 +no_undefined_flag=$lt_no_undefined_flag
125038 +# Flag to hardcode \$libdir into a binary during linking.
125039 +# This must work even if \$libdir does not exist
125040 +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
125042 +# If ld is used when linking, flag to hardcode \$libdir into a binary
125043 +# during linking. This must work even if \$libdir does not exist.
125044 +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
125046 +# Whether we need a single "-rpath" flag with a separated argument.
125047 +hardcode_libdir_separator=$lt_hardcode_libdir_separator
125049 +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
125050 +# DIR into the resulting binary.
125051 +hardcode_direct=$hardcode_direct
125053 +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
125054 +# DIR into the resulting binary and the resulting library dependency is
125055 +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
125056 +# library is relocated.
125057 +hardcode_direct_absolute=$hardcode_direct_absolute
125059 +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
125060 +# into the resulting binary.
125061 +hardcode_minus_L=$hardcode_minus_L
125063 +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
125064 +# into the resulting binary.
125065 +hardcode_shlibpath_var=$hardcode_shlibpath_var
125067 +# Set to "yes" if building a shared library automatically hardcodes DIR
125068 +# into the library and all subsequent libraries and executables linked
125069 +# against it.
125070 +hardcode_automatic=$hardcode_automatic
125072 +# Set to yes if linker adds runtime paths of dependent libraries
125073 +# to runtime path list.
125074 +inherit_rpath=$inherit_rpath
125076 +# Whether libtool must link a program against all its dependency libraries.
125077 +link_all_deplibs=$link_all_deplibs
125079 +# Fix the shell variable \$srcfile for the compiler.
125080 +fix_srcfile_path=$lt_fix_srcfile_path
125082 +# Set to "yes" if exported symbols are required.
125083 +always_export_symbols=$always_export_symbols
125085 +# The commands to list exported symbols.
125086 +export_symbols_cmds=$lt_export_symbols_cmds
125088 +# Symbols that should not be listed in the preloaded symbols.
125089 +exclude_expsyms=$lt_exclude_expsyms
125091 +# Symbols that must always be exported.
125092 +include_expsyms=$lt_include_expsyms
125094 +# Commands necessary for linking programs (against libraries) with templates.
125095 +prelink_cmds=$lt_prelink_cmds
125097 +# Specify filename containing input files.
125098 +file_list_spec=$lt_file_list_spec
125100 +# How to hardcode a shared library path into an executable.
125101 +hardcode_action=$hardcode_action
125103 +# The directories searched by this compiler when creating a shared library.
125104 +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
125106 +# Dependencies to place before and after the objects being linked to
125107 +# create a shared library.
125108 +predep_objects=$lt_predep_objects
125109 +postdep_objects=$lt_postdep_objects
125110 +predeps=$lt_predeps
125111 +postdeps=$lt_postdeps
125113 +# The library search path used internally by the compiler when linking
125114 +# a shared library.
125115 +compiler_lib_search_path=$lt_compiler_lib_search_path
125117 +# ### END LIBTOOL CONFIG
125119 +_LT_EOF
125121 + case $host_os in
125122 + aix3*)
125123 + cat <<\_LT_EOF >> "$cfgfile"
125124 +# AIX sometimes has problems with the GCC collect2 program. For some
125125 +# reason, if we set the COLLECT_NAMES environment variable, the problems
125126 +# vanish in a puff of smoke.
125127 +if test "X${COLLECT_NAMES+set}" != Xset; then
125128 + COLLECT_NAMES=
125129 + export COLLECT_NAMES
125131 +_LT_EOF
125133 + esac
125136 +ltmain="$ac_aux_dir/ltmain.sh"
125139 + # We use sed instead of cat because bash on DJGPP gets confused if
125140 + # if finds mixed CR/LF and LF-only lines. Since sed operates in
125141 + # text mode, it properly converts lines to CR/LF. This bash problem
125142 + # is reportedly fixed, but why not run on old versions too?
125143 + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
125144 + || (rm -f "$cfgfile"; exit 1)
125146 + case $xsi_shell in
125147 + yes)
125148 + cat << \_LT_EOF >> "$cfgfile"
125150 +# func_dirname file append nondir_replacement
125151 +# Compute the dirname of FILE. If nonempty, add APPEND to the result,
125152 +# otherwise set result to NONDIR_REPLACEMENT.
125153 +func_dirname ()
125155 + case ${1} in
125156 + */*) func_dirname_result="${1%/*}${2}" ;;
125157 + * ) func_dirname_result="${3}" ;;
125158 + esac
125161 +# func_basename file
125162 +func_basename ()
125164 + func_basename_result="${1##*/}"
125167 +# func_dirname_and_basename file append nondir_replacement
125168 +# perform func_basename and func_dirname in a single function
125169 +# call:
125170 +# dirname: Compute the dirname of FILE. If nonempty,
125171 +# add APPEND to the result, otherwise set result
125172 +# to NONDIR_REPLACEMENT.
125173 +# value returned in "$func_dirname_result"
125174 +# basename: Compute filename of FILE.
125175 +# value retuned in "$func_basename_result"
125176 +# Implementation must be kept synchronized with func_dirname
125177 +# and func_basename. For efficiency, we do not delegate to
125178 +# those functions but instead duplicate the functionality here.
125179 +func_dirname_and_basename ()
125181 + case ${1} in
125182 + */*) func_dirname_result="${1%/*}${2}" ;;
125183 + * ) func_dirname_result="${3}" ;;
125184 + esac
125185 + func_basename_result="${1##*/}"
125188 +# func_stripname prefix suffix name
125189 +# strip PREFIX and SUFFIX off of NAME.
125190 +# PREFIX and SUFFIX must not contain globbing or regex special
125191 +# characters, hashes, percent signs, but SUFFIX may contain a leading
125192 +# dot (in which case that matches only a dot).
125193 +func_stripname ()
125195 + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
125196 + # positional parameters, so assign one to ordinary parameter first.
125197 + func_stripname_result=${3}
125198 + func_stripname_result=${func_stripname_result#"${1}"}
125199 + func_stripname_result=${func_stripname_result%"${2}"}
125202 +# func_opt_split
125203 +func_opt_split ()
125205 + func_opt_split_opt=${1%%=*}
125206 + func_opt_split_arg=${1#*=}
125209 +# func_lo2o object
125210 +func_lo2o ()
125212 + case ${1} in
125213 + *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
125214 + *) func_lo2o_result=${1} ;;
125215 + esac
125218 +# func_xform libobj-or-source
125219 +func_xform ()
125221 + func_xform_result=${1%.*}.lo
125224 +# func_arith arithmetic-term...
125225 +func_arith ()
125227 + func_arith_result=$(( $* ))
125230 +# func_len string
125231 +# STRING may not start with a hyphen.
125232 +func_len ()
125234 + func_len_result=${#1}
125237 +_LT_EOF
125239 + *) # Bourne compatible functions.
125240 + cat << \_LT_EOF >> "$cfgfile"
125242 +# func_dirname file append nondir_replacement
125243 +# Compute the dirname of FILE. If nonempty, add APPEND to the result,
125244 +# otherwise set result to NONDIR_REPLACEMENT.
125245 +func_dirname ()
125247 + # Extract subdirectory from the argument.
125248 + func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
125249 + if test "X$func_dirname_result" = "X${1}"; then
125250 + func_dirname_result="${3}"
125251 + else
125252 + func_dirname_result="$func_dirname_result${2}"
125256 +# func_basename file
125257 +func_basename ()
125259 + func_basename_result=`$ECHO "${1}" | $SED "$basename"`
125263 +# func_stripname prefix suffix name
125264 +# strip PREFIX and SUFFIX off of NAME.
125265 +# PREFIX and SUFFIX must not contain globbing or regex special
125266 +# characters, hashes, percent signs, but SUFFIX may contain a leading
125267 +# dot (in which case that matches only a dot).
125268 +# func_strip_suffix prefix name
125269 +func_stripname ()
125271 + case ${2} in
125272 + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
125273 + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
125274 + esac
125277 +# sed scripts:
125278 +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
125279 +my_sed_long_arg='1s/^-[^=]*=//'
125281 +# func_opt_split
125282 +func_opt_split ()
125284 + func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
125285 + func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
125288 +# func_lo2o object
125289 +func_lo2o ()
125291 + func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
125294 +# func_xform libobj-or-source
125295 +func_xform ()
125297 + func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
125300 +# func_arith arithmetic-term...
125301 +func_arith ()
125303 + func_arith_result=`expr "$@"`
125306 +# func_len string
125307 +# STRING may not start with a hyphen.
125308 +func_len ()
125310 + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
125313 +_LT_EOF
125314 +esac
125316 +case $lt_shell_append in
125317 + yes)
125318 + cat << \_LT_EOF >> "$cfgfile"
125320 +# func_append var value
125321 +# Append VALUE to the end of shell variable VAR.
125322 +func_append ()
125324 + eval "$1+=\$2"
125326 +_LT_EOF
125329 + cat << \_LT_EOF >> "$cfgfile"
125331 +# func_append var value
125332 +# Append VALUE to the end of shell variable VAR.
125333 +func_append ()
125335 + eval "$1=\$$1\$2"
125338 +_LT_EOF
125340 + esac
125343 + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
125344 + || (rm -f "$cfgfile"; exit 1)
125346 + mv -f "$cfgfile" "$ofile" ||
125347 + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
125348 + chmod +x "$ofile"
125351 + cat <<_LT_EOF >> "$ofile"
125353 +# ### BEGIN LIBTOOL TAG CONFIG: CXX
125355 +# The linker used to build libraries.
125356 +LD=$lt_LD_CXX
125358 +# How to create reloadable object files.
125359 +reload_flag=$lt_reload_flag_CXX
125360 +reload_cmds=$lt_reload_cmds_CXX
125362 +# Commands used to build an old-style archive.
125363 +old_archive_cmds=$lt_old_archive_cmds_CXX
125365 +# A language specific compiler.
125366 +CC=$lt_compiler_CXX
125368 +# Is the compiler the GNU compiler?
125369 +with_gcc=$GCC_CXX
125371 +# Compiler flag to turn off builtin functions.
125372 +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
125374 +# How to pass a linker flag through the compiler.
125375 +wl=$lt_lt_prog_compiler_wl_CXX
125377 +# Additional compiler flags for building library objects.
125378 +pic_flag=$lt_lt_prog_compiler_pic_CXX
125380 +# Compiler flag to prevent dynamic linking.
125381 +link_static_flag=$lt_lt_prog_compiler_static_CXX
125383 +# Does compiler simultaneously support -c and -o options?
125384 +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
125386 +# Whether or not to add -lc for building shared libraries.
125387 +build_libtool_need_lc=$archive_cmds_need_lc_CXX
125389 +# Whether or not to disallow shared libs when runtime libs are static.
125390 +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
125392 +# Compiler flag to allow reflexive dlopens.
125393 +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
125395 +# Compiler flag to generate shared objects directly from archives.
125396 +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
125398 +# Whether the compiler copes with passing no objects directly.
125399 +compiler_needs_object=$lt_compiler_needs_object_CXX
125401 +# Create an old-style archive from a shared archive.
125402 +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
125404 +# Create a temporary old-style archive to link instead of a shared archive.
125405 +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
125407 +# Commands used to build a shared archive.
125408 +archive_cmds=$lt_archive_cmds_CXX
125409 +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
125411 +# Commands used to build a loadable module if different from building
125412 +# a shared archive.
125413 +module_cmds=$lt_module_cmds_CXX
125414 +module_expsym_cmds=$lt_module_expsym_cmds_CXX
125416 +# Whether we are building with GNU ld or not.
125417 +with_gnu_ld=$lt_with_gnu_ld_CXX
125419 +# Flag that allows shared libraries with undefined symbols to be built.
125420 +allow_undefined_flag=$lt_allow_undefined_flag_CXX
125422 +# Flag that enforces no undefined symbols.
125423 +no_undefined_flag=$lt_no_undefined_flag_CXX
125425 +# Flag to hardcode \$libdir into a binary during linking.
125426 +# This must work even if \$libdir does not exist
125427 +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
125429 +# If ld is used when linking, flag to hardcode \$libdir into a binary
125430 +# during linking. This must work even if \$libdir does not exist.
125431 +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
125433 +# Whether we need a single "-rpath" flag with a separated argument.
125434 +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
125436 +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
125437 +# DIR into the resulting binary.
125438 +hardcode_direct=$hardcode_direct_CXX
125440 +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
125441 +# DIR into the resulting binary and the resulting library dependency is
125442 +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
125443 +# library is relocated.
125444 +hardcode_direct_absolute=$hardcode_direct_absolute_CXX
125446 +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
125447 +# into the resulting binary.
125448 +hardcode_minus_L=$hardcode_minus_L_CXX
125450 +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
125451 +# into the resulting binary.
125452 +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
125454 +# Set to "yes" if building a shared library automatically hardcodes DIR
125455 +# into the library and all subsequent libraries and executables linked
125456 +# against it.
125457 +hardcode_automatic=$hardcode_automatic_CXX
125459 +# Set to yes if linker adds runtime paths of dependent libraries
125460 +# to runtime path list.
125461 +inherit_rpath=$inherit_rpath_CXX
125463 +# Whether libtool must link a program against all its dependency libraries.
125464 +link_all_deplibs=$link_all_deplibs_CXX
125466 +# Fix the shell variable \$srcfile for the compiler.
125467 +fix_srcfile_path=$lt_fix_srcfile_path_CXX
125469 +# Set to "yes" if exported symbols are required.
125470 +always_export_symbols=$always_export_symbols_CXX
125472 +# The commands to list exported symbols.
125473 +export_symbols_cmds=$lt_export_symbols_cmds_CXX
125475 +# Symbols that should not be listed in the preloaded symbols.
125476 +exclude_expsyms=$lt_exclude_expsyms_CXX
125478 +# Symbols that must always be exported.
125479 +include_expsyms=$lt_include_expsyms_CXX
125481 +# Commands necessary for linking programs (against libraries) with templates.
125482 +prelink_cmds=$lt_prelink_cmds_CXX
125484 +# Specify filename containing input files.
125485 +file_list_spec=$lt_file_list_spec_CXX
125487 +# How to hardcode a shared library path into an executable.
125488 +hardcode_action=$hardcode_action_CXX
125490 +# The directories searched by this compiler when creating a shared library.
125491 +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
125493 +# Dependencies to place before and after the objects being linked to
125494 +# create a shared library.
125495 +predep_objects=$lt_predep_objects_CXX
125496 +postdep_objects=$lt_postdep_objects_CXX
125497 +predeps=$lt_predeps_CXX
125498 +postdeps=$lt_postdeps_CXX
125500 +# The library search path used internally by the compiler when linking
125501 +# a shared library.
125502 +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
125504 +# ### END LIBTOOL TAG CONFIG: CXX
125505 +_LT_EOF
125508 + "include/gstdint.h":C)
125509 +if test "$GCC" = yes; then
125510 + echo "/* generated for " `$CC --version | sed 1q` "*/" > tmp-stdint.h
125511 +else
125512 + echo "/* generated for $CC */" > tmp-stdint.h
125515 +sed 's/^ *//' >> tmp-stdint.h <<EOF
125517 + #ifndef GCC_GENERATED_STDINT_H
125518 + #define GCC_GENERATED_STDINT_H 1
125520 + #include <sys/types.h>
125523 +if test "$acx_cv_header_stdint" != stdint.h; then
125524 + echo "#include <stddef.h>" >> tmp-stdint.h
125526 +if test "$acx_cv_header_stdint" != stddef.h; then
125527 + echo "#include <$acx_cv_header_stdint>" >> tmp-stdint.h
125530 +sed 's/^ *//' >> tmp-stdint.h <<EOF
125531 + /* glibc uses these symbols as guards to prevent redefinitions. */
125532 + #ifdef __int8_t_defined
125533 + #define _INT8_T
125534 + #define _INT16_T
125535 + #define _INT32_T
125536 + #endif
125537 + #ifdef __uint32_t_defined
125538 + #define _UINT32_T
125539 + #endif
125543 +# ----------------- done header, emit basic int types -------------
125544 +if test "$acx_cv_header_stdint" = stddef.h; then
125545 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125547 + #ifndef _UINT8_T
125548 + #define _UINT8_T
125549 + #ifndef __uint8_t_defined
125550 + #define __uint8_t_defined
125551 + #ifndef uint8_t
125552 + typedef unsigned $acx_cv_type_int8_t uint8_t;
125553 + #endif
125554 + #endif
125555 + #endif
125557 + #ifndef _UINT16_T
125558 + #define _UINT16_T
125559 + #ifndef __uint16_t_defined
125560 + #define __uint16_t_defined
125561 + #ifndef uint16_t
125562 + typedef unsigned $acx_cv_type_int16_t uint16_t;
125563 + #endif
125564 + #endif
125565 + #endif
125567 + #ifndef _UINT32_T
125568 + #define _UINT32_T
125569 + #ifndef __uint32_t_defined
125570 + #define __uint32_t_defined
125571 + #ifndef uint32_t
125572 + typedef unsigned $acx_cv_type_int32_t uint32_t;
125573 + #endif
125574 + #endif
125575 + #endif
125577 + #ifndef _INT8_T
125578 + #define _INT8_T
125579 + #ifndef __int8_t_defined
125580 + #define __int8_t_defined
125581 + #ifndef int8_t
125582 + typedef $acx_cv_type_int8_t int8_t;
125583 + #endif
125584 + #endif
125585 + #endif
125587 + #ifndef _INT16_T
125588 + #define _INT16_T
125589 + #ifndef __int16_t_defined
125590 + #define __int16_t_defined
125591 + #ifndef int16_t
125592 + typedef $acx_cv_type_int16_t int16_t;
125593 + #endif
125594 + #endif
125595 + #endif
125597 + #ifndef _INT32_T
125598 + #define _INT32_T
125599 + #ifndef __int32_t_defined
125600 + #define __int32_t_defined
125601 + #ifndef int32_t
125602 + typedef $acx_cv_type_int32_t int32_t;
125603 + #endif
125604 + #endif
125605 + #endif
125607 +elif test "$ac_cv_type_u_int32_t" = yes; then
125608 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125610 + /* int8_t int16_t int32_t defined by inet code, we do the u_intXX types */
125611 + #ifndef _INT8_T
125612 + #define _INT8_T
125613 + #endif
125614 + #ifndef _INT16_T
125615 + #define _INT16_T
125616 + #endif
125617 + #ifndef _INT32_T
125618 + #define _INT32_T
125619 + #endif
125621 + #ifndef _UINT8_T
125622 + #define _UINT8_T
125623 + #ifndef __uint8_t_defined
125624 + #define __uint8_t_defined
125625 + #ifndef uint8_t
125626 + typedef u_int8_t uint8_t;
125627 + #endif
125628 + #endif
125629 + #endif
125631 + #ifndef _UINT16_T
125632 + #define _UINT16_T
125633 + #ifndef __uint16_t_defined
125634 + #define __uint16_t_defined
125635 + #ifndef uint16_t
125636 + typedef u_int16_t uint16_t;
125637 + #endif
125638 + #endif
125639 + #endif
125641 + #ifndef _UINT32_T
125642 + #define _UINT32_T
125643 + #ifndef __uint32_t_defined
125644 + #define __uint32_t_defined
125645 + #ifndef uint32_t
125646 + typedef u_int32_t uint32_t;
125647 + #endif
125648 + #endif
125649 + #endif
125651 +else
125652 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125654 + /* Some systems have guard macros to prevent redefinitions, define them. */
125655 + #ifndef _INT8_T
125656 + #define _INT8_T
125657 + #endif
125658 + #ifndef _INT16_T
125659 + #define _INT16_T
125660 + #endif
125661 + #ifndef _INT32_T
125662 + #define _INT32_T
125663 + #endif
125664 + #ifndef _UINT8_T
125665 + #define _UINT8_T
125666 + #endif
125667 + #ifndef _UINT16_T
125668 + #define _UINT16_T
125669 + #endif
125670 + #ifndef _UINT32_T
125671 + #define _UINT32_T
125672 + #endif
125676 +# ------------- done basic int types, emit int64_t types ------------
125677 +if test "$ac_cv_type_uint64_t" = yes; then
125678 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125680 + /* system headers have good uint64_t and int64_t */
125681 + #ifndef _INT64_T
125682 + #define _INT64_T
125683 + #endif
125684 + #ifndef _UINT64_T
125685 + #define _UINT64_T
125686 + #endif
125688 +elif test "$ac_cv_type_u_int64_t" = yes; then
125689 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125691 + /* system headers have an u_int64_t (and int64_t) */
125692 + #ifndef _INT64_T
125693 + #define _INT64_T
125694 + #endif
125695 + #ifndef _UINT64_T
125696 + #define _UINT64_T
125697 + #ifndef __uint64_t_defined
125698 + #define __uint64_t_defined
125699 + #ifndef uint64_t
125700 + typedef u_int64_t uint64_t;
125701 + #endif
125702 + #endif
125703 + #endif
125705 +elif test -n "$acx_cv_type_int64_t"; then
125706 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125708 + /* architecture has a 64-bit type, $acx_cv_type_int64_t */
125709 + #ifndef _INT64_T
125710 + #define _INT64_T
125711 + #ifndef int64_t
125712 + typedef $acx_cv_type_int64_t int64_t;
125713 + #endif
125714 + #endif
125715 + #ifndef _UINT64_T
125716 + #define _UINT64_T
125717 + #ifndef __uint64_t_defined
125718 + #define __uint64_t_defined
125719 + #ifndef uint64_t
125720 + typedef unsigned $acx_cv_type_int64_t uint64_t;
125721 + #endif
125722 + #endif
125723 + #endif
125725 +else
125726 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125728 + /* some common heuristics for int64_t, using compiler-specific tests */
125729 + #if defined __STDC_VERSION__ && (__STDC_VERSION__-0) >= 199901L
125730 + #ifndef _INT64_T
125731 + #define _INT64_T
125732 + #ifndef __int64_t_defined
125733 + #ifndef int64_t
125734 + typedef long long int64_t;
125735 + #endif
125736 + #endif
125737 + #endif
125738 + #ifndef _UINT64_T
125739 + #define _UINT64_T
125740 + #ifndef uint64_t
125741 + typedef unsigned long long uint64_t;
125742 + #endif
125743 + #endif
125745 + #elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
125746 + /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
125747 + does not implement __extension__. But that compiler doesn't define
125748 + __GNUC_MINOR__. */
125749 + # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
125750 + # define __extension__
125751 + # endif
125753 + # ifndef _INT64_T
125754 + # define _INT64_T
125755 + # ifndef int64_t
125756 + __extension__ typedef long long int64_t;
125757 + # endif
125758 + # endif
125759 + # ifndef _UINT64_T
125760 + # define _UINT64_T
125761 + # ifndef uint64_t
125762 + __extension__ typedef unsigned long long uint64_t;
125763 + # endif
125764 + # endif
125766 + #elif !defined __STRICT_ANSI__
125767 + # if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
125769 + # ifndef _INT64_T
125770 + # define _INT64_T
125771 + # ifndef int64_t
125772 + typedef __int64 int64_t;
125773 + # endif
125774 + # endif
125775 + # ifndef _UINT64_T
125776 + # define _UINT64_T
125777 + # ifndef uint64_t
125778 + typedef unsigned __int64 uint64_t;
125779 + # endif
125780 + # endif
125781 + # endif /* compiler */
125783 + #endif /* ANSI version */
125787 +# ------------- done int64_t types, emit intptr types ------------
125788 +if test "$ac_cv_type_uintptr_t" != yes; then
125789 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125791 + /* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
125792 + #ifndef __uintptr_t_defined
125793 + #ifndef uintptr_t
125794 + typedef u$acx_cv_type_intptr_t uintptr_t;
125795 + #endif
125796 + #endif
125797 + #ifndef __intptr_t_defined
125798 + #ifndef intptr_t
125799 + typedef $acx_cv_type_intptr_t intptr_t;
125800 + #endif
125801 + #endif
125805 +# ------------- done intptr types, emit int_least types ------------
125806 +if test "$ac_cv_type_int_least32_t" != yes; then
125807 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125809 + /* Define int_least types */
125810 + typedef int8_t int_least8_t;
125811 + typedef int16_t int_least16_t;
125812 + typedef int32_t int_least32_t;
125813 + #ifdef _INT64_T
125814 + typedef int64_t int_least64_t;
125815 + #endif
125817 + typedef uint8_t uint_least8_t;
125818 + typedef uint16_t uint_least16_t;
125819 + typedef uint32_t uint_least32_t;
125820 + #ifdef _UINT64_T
125821 + typedef uint64_t uint_least64_t;
125822 + #endif
125826 +# ------------- done intptr types, emit int_fast types ------------
125827 +if test "$ac_cv_type_int_fast32_t" != yes; then
125828 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125830 + /* Define int_fast types. short is often slow */
125831 + typedef int8_t int_fast8_t;
125832 + typedef int int_fast16_t;
125833 + typedef int32_t int_fast32_t;
125834 + #ifdef _INT64_T
125835 + typedef int64_t int_fast64_t;
125836 + #endif
125838 + typedef uint8_t uint_fast8_t;
125839 + typedef unsigned int uint_fast16_t;
125840 + typedef uint32_t uint_fast32_t;
125841 + #ifdef _UINT64_T
125842 + typedef uint64_t uint_fast64_t;
125843 + #endif
125847 +if test "$ac_cv_type_uintmax_t" != yes; then
125848 + sed 's/^ *//' >> tmp-stdint.h <<EOF
125850 + /* Define intmax based on what we found */
125851 + #ifndef intmax_t
125852 + #ifdef _INT64_T
125853 + typedef int64_t intmax_t;
125854 + #else
125855 + typedef long intmax_t;
125856 + #endif
125857 + #endif
125858 + #ifndef uintmax_t
125859 + #ifdef _UINT64_T
125860 + typedef uint64_t uintmax_t;
125861 + #else
125862 + typedef unsigned long uintmax_t;
125863 + #endif
125864 + #endif
125868 +sed 's/^ *//' >> tmp-stdint.h <<EOF
125870 + #endif /* GCC_GENERATED_STDINT_H */
125873 +if test -r include/gstdint.h && cmp -s tmp-stdint.h include/gstdint.h; then
125874 + rm -f tmp-stdint.h
125875 +else
125876 + mv -f tmp-stdint.h include/gstdint.h
125880 + "scripts/testsuite_flags":F) chmod +x scripts/testsuite_flags ;;
125881 + "scripts/extract_symvers":F) chmod +x scripts/extract_symvers ;;
125882 + "include/Makefile":F) cat > vpsed$$ << \_EOF
125883 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125884 +_EOF
125885 + sed -f vpsed$$ $ac_file > tmp$$
125886 + mv tmp$$ $ac_file
125887 + rm vpsed$$
125888 + echo 'MULTISUBDIR =' >> $ac_file
125889 + ml_norecursion=yes
125890 + . ${multi_basedir}/config-ml.in
125891 + { ml_norecursion=; unset ml_norecursion;}
125893 + "libsupc++/Makefile":F) cat > vpsed$$ << \_EOF
125894 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125895 +_EOF
125896 + sed -f vpsed$$ $ac_file > tmp$$
125897 + mv tmp$$ $ac_file
125898 + rm vpsed$$
125899 + echo 'MULTISUBDIR =' >> $ac_file
125900 + ml_norecursion=yes
125901 + . ${multi_basedir}/config-ml.in
125902 + { ml_norecursion=; unset ml_norecursion;}
125904 + "python/Makefile":F) cat > vpsed$$ << \_EOF
125905 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125906 +_EOF
125907 + sed -f vpsed$$ $ac_file > tmp$$
125908 + mv tmp$$ $ac_file
125909 + rm vpsed$$
125910 + echo 'MULTISUBDIR =' >> $ac_file
125911 + ml_norecursion=yes
125912 + . ${multi_basedir}/config-ml.in
125913 + { ml_norecursion=; unset ml_norecursion;}
125915 + "src/Makefile":F) cat > vpsed$$ << \_EOF
125916 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125917 +_EOF
125918 + sed -f vpsed$$ $ac_file > tmp$$
125919 + mv tmp$$ $ac_file
125920 + rm vpsed$$
125921 + echo 'MULTISUBDIR =' >> $ac_file
125922 + ml_norecursion=yes
125923 + . ${multi_basedir}/config-ml.in
125924 + { ml_norecursion=; unset ml_norecursion;}
125926 + "src/c++98/Makefile":F) cat > vpsed$$ << \_EOF
125927 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125928 +_EOF
125929 + sed -f vpsed$$ $ac_file > tmp$$
125930 + mv tmp$$ $ac_file
125931 + rm vpsed$$
125932 + echo 'MULTISUBDIR =' >> $ac_file
125933 + ml_norecursion=yes
125934 + . ${multi_basedir}/config-ml.in
125935 + { ml_norecursion=; unset ml_norecursion;}
125937 + "src/c++11/Makefile":F) cat > vpsed$$ << \_EOF
125938 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125939 +_EOF
125940 + sed -f vpsed$$ $ac_file > tmp$$
125941 + mv tmp$$ $ac_file
125942 + rm vpsed$$
125943 + echo 'MULTISUBDIR =' >> $ac_file
125944 + ml_norecursion=yes
125945 + . ${multi_basedir}/config-ml.in
125946 + { ml_norecursion=; unset ml_norecursion;}
125948 + "doc/Makefile":F) cat > vpsed$$ << \_EOF
125949 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125950 +_EOF
125951 + sed -f vpsed$$ $ac_file > tmp$$
125952 + mv tmp$$ $ac_file
125953 + rm vpsed$$
125954 + echo 'MULTISUBDIR =' >> $ac_file
125955 + ml_norecursion=yes
125956 + . ${multi_basedir}/config-ml.in
125957 + { ml_norecursion=; unset ml_norecursion;}
125959 + "po/Makefile":F) cat > vpsed$$ << \_EOF
125960 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125961 +_EOF
125962 + sed -f vpsed$$ $ac_file > tmp$$
125963 + mv tmp$$ $ac_file
125964 + rm vpsed$$
125965 + echo 'MULTISUBDIR =' >> $ac_file
125966 + ml_norecursion=yes
125967 + . ${multi_basedir}/config-ml.in
125968 + { ml_norecursion=; unset ml_norecursion;}
125970 + "testsuite/Makefile":F) cat > vpsed$$ << \_EOF
125971 +s!`test -f '$<' || echo '$(srcdir)/'`!!
125972 +_EOF
125973 + sed -f vpsed$$ $ac_file > tmp$$
125974 + mv tmp$$ $ac_file
125975 + rm vpsed$$
125976 + echo 'MULTISUBDIR =' >> $ac_file
125977 + ml_norecursion=yes
125978 + . ${multi_basedir}/config-ml.in
125979 + { ml_norecursion=; unset ml_norecursion;}
125981 + "generate-headers":C) (cd include && ${MAKE-make} pch_build= ) ;;
125983 + esac
125984 +done # for ac_tag
125987 +as_fn_exit 0
125988 +_ACEOF
125989 +ac_clean_files=$ac_clean_files_save
125991 +test $ac_write_fail = 0 ||
125992 + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
125995 +# configure is writing to config.log, and then calls config.status.
125996 +# config.status does its own redirection, appending to config.log.
125997 +# Unfortunately, on DOS this fails, as config.log is still kept open
125998 +# by configure, so config.status won't be able to write to it; its
125999 +# output is simply discarded. So we exec the FD to /dev/null,
126000 +# effectively closing config.log, so it can be properly (re)opened and
126001 +# appended to by config.status. When coming back to configure, we
126002 +# need to make the FD available again.
126003 +if test "$no_create" != yes; then
126004 + ac_cs_success=:
126005 + ac_config_status_args=
126006 + test "$silent" = yes &&
126007 + ac_config_status_args="$ac_config_status_args --quiet"
126008 + exec 5>/dev/null
126009 + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
126010 + exec 5>>config.log
126011 + # Use ||, not &&, to avoid exiting from the if with $? = 1, which
126012 + # would make configure fail if this is the last instruction.
126013 + $ac_cs_success || as_fn_exit $?
126015 +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
126016 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
126017 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
126020 diff -ruN gcc-5-20150222/libstdc++-v3/crossconfig.m4 gcc-5-20150222.aros/libstdc++-v3/crossconfig.m4
126021 --- gcc-5-20150222/libstdc++-v3/crossconfig.m4 2014-04-22 13:30:59.000000000 +0100
126022 +++ gcc-5-20150222.aros/libstdc++-v3/crossconfig.m4 2015-02-23 08:11:04.769837296 +0000
126023 @@ -5,6 +5,31 @@
126024 AC_DEFUN([GLIBCXX_CROSSCONFIG],[
126025 # Base decisions on target environment.
126026 case "${host}" in
126027 + *-aros*)
126028 + AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
126029 + machine/param.h sys/machine.h sys/types.h fp.h locale.h float.h inttypes.h])
126031 + GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
126032 + GLIBCXX_CHECK_WCHAR_T_SUPPORT
126034 + AC_DEFINE(HAVE_FINITE)
126035 + AC_DEFINE(HAVE_FINITEF)
126036 + AC_DEFINE(HAVE_FREXPF)
126037 + AC_DEFINE(HAVE_HYPOTF)
126038 + AC_DEFINE(HAVE_ISINF)
126039 + AC_DEFINE(HAVE_ISINFF)
126040 + AC_DEFINE(HAVE_ISNAN)
126041 + AC_DEFINE(HAVE_ISNANF)
126042 + AC_DEFINE(HAVE_SINCOS)
126043 + AC_DEFINE(HAVE_SINCOSF)
126044 + if test x"long_double_math_on_this_cpu" = x"yes"; then
126045 + AC_DEFINE(HAVE_FINITEL)
126046 + AC_DEFINE(HAVE_HYPOTL)
126047 + AC_DEFINE(HAVE_ISINFL)
126048 + AC_DEFINE(HAVE_ISNANL)
126052 arm*-*-symbianelf*)
126053 # This is a freestanding configuration; there is nothing to do here.
126055 diff -ruN gcc-5-20150222/libstdc++-v3/include/Makefile.in gcc-5-20150222.aros/libstdc++-v3/include/Makefile.in
126056 --- gcc-5-20150222/libstdc++-v3/include/Makefile.in 2015-01-16 23:38:48.000000000 +0000
126057 +++ gcc-5-20150222.aros/libstdc++-v3/include/Makefile.in 2015-02-23 08:11:04.769837296 +0000
126058 @@ -1597,6 +1597,7 @@
126059 -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
126060 -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
126061 -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
126062 + -e 's/_GLIBCXX___AROS__/__AROS__/g' \
126063 -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
126064 < $< > $@
126066 diff -ruN gcc-5-20150222/libstdc++-v3/include/std/ratio gcc-5-20150222.aros/libstdc++-v3/include/std/ratio
126067 --- gcc-5-20150222/libstdc++-v3/include/std/ratio 2015-01-05 12:33:28.000000000 +0000
126068 +++ gcc-5-20150222.aros/libstdc++-v3/include/std/ratio 2015-02-23 08:11:04.769837296 +0000
126069 @@ -211,10 +211,10 @@
126071 private:
126072 static_assert(__d != 0, "Internal library error");
126073 - static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
126074 - "This library calls __builtin_clzll on uintmax_t, which "
126075 - "is unsafe on your platform. Please complain to "
126076 - "http://gcc.gnu.org/bugzilla/");
126077 +// static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
126078 +// "This library calls __builtin_clzll on uintmax_t, which "
126079 +// "is unsafe on your platform. Please complain to "
126080 +// "http://gcc.gnu.org/bugzilla/");
126081 static constexpr int __shift = __builtin_clzll(__d);
126082 static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
126083 static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;