gcc/libstdc++-v3/acconfig.h

431 lines
9.6 KiB
C
Raw Normal View History

// acconfig.h symbols and macros for libstdc++ v3 -*- C++ -*-
Implement std::messages. 2001-08-07 Benjamin Kosnik <bkoz@redhat.com> Implement std::messages. Make config a fully-nested directory. * config/locale: New directory. * config/c_locale_generic.cc: Move into locale subdirectory. * config/c_locale_generic.h: Same. * config/c_locale_gnu.cc: Same. * config/c_locale_gnu.h: Same. * config/c_locale_ieee_1003.1-200x.cc: Same. * config/c_locale_ieee_1003.1-200x_.h: Same. * config/codecvt_specializations_generic.h: Same. * config/codecvt_specializations_ieee_1003.1-200x.h: Same. * config/messages_members_gnu.h: Same. * config/messaages_members_gnu.cc: Same. * config/messages_members_generic.h: Same. * config/messaages_members_generic.cc: Same. * config/messages_members_ieee_1003.1-200x.h: Same. * config/messaages_members_ieee_1003.1-200x.cc: Same. * config/io: New directory. * config/basic_file_libio.h: Move into io subdirectory. * config/basic_file_libio.cc: Same. * config/c_io_libio.h: Same. * config/c_io_libio_codecvt.c: Same. * config/basic_file_stdio.h: Same. * config/basic_file_stdio.cc: Same. * config/c_io_stdio.h: Same. * po: New directory. * po/POTFILES.in: New file. * po/Makefile.am: New file. * po/Makefile.in: New file. * po/libstdc++.pot: Generic translation file. * po/fr.po: Preliminary French translation. * po/de.po: Preliminary German translation. * intl: New directory. * intl/Makefile.am: New file. * intl/Makefile.in: New file. * intl/string_literals.cc: New file. * acinclude.m4 (GLIBCPP_CONFIGURE): Bump VERSION to 3.1.0. Add requisite setup for gettext. Re-arrange. * aclocal.m4: Regenerate. * configure.in: Don't call GLIBCPP_CHECK_COMPILER_VERSION. Output Makefile bits for po and intl. * configure: Regenerate. * Makefile.am (SUBDIRS): Add intl, po. Add rule for dist. * Makefile.in: Regenerate. * acconfig.h: Add ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY. * config.h.in: Regenerate. * acinclude.m4 (AC_REPLACE_STRINGFUNCS): Remove. * include/Makefile.am (install-data-local): Don't install Makefile. * include/Makefile.in: Regenerate. * include/bits/locale_facet.h (locale::facet::_S_clone_c_locale): Add member. * config/locale/c_locale_gnu.cc (_S_clone_c_locale): Add definition. * config/locale/c_locale_generic.cc: Same. * config/locale/c_locale_ieee_1003.1-200x.cc: Same. * include/bits/codecvt.h: Excise non-standard, non-required bits. This includes __enc_traits, and partial specializations of codecvt for __enc_traits. * src/codecvt.cc (__enc_traits::_S_max_size): Guard * config/codecvt_partials_ieee_1003.1-200x.h: New file. * config/codecvt_partials_generic.h: New file. * include/Makefile.am (allstamps): Add stamp-codecvt_model. (stamp-codecvt_model): Add. * include/Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in codecvt configury. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/22_locale/codecvt_unicode_wchar_t.cc: Use macro guard. * testsuite/22_locale/codecvt_unicode_char.cc: Same. * testsuite/22_locale/ctor_copy_dtor.cc: And here. * include/bits/localefwd.h (class locale::facet): Add __enc_traits as a friend for _S_*_c_locale functions. * include/bits/codecvt.h (__enc_traits::__enc_traits): Add locale argument to default constructor so that CODESET information can be deduced. * include/bits/locale_facets.h (messages_byname): Re-implement. Remove specializations. * src/locale.cc (messages_byname<char>): Remove specialization. (messages_byname<wchar_t>): Same. * config/locale/c_locale_ieee_1003.1-200x.cc: New file. * config/locale/c_locale_ieee_1003.1-200x.h: New file. * config/locale/messages_members_ieee_1003.1-200x.cc: New file. * config/locale/messages_members_ieee_1003.1-200x.h: New file. * config/locale/messages_members_gnu.cc: New file. * config/locale/messages_members_gnu.h: New file. * config/locale/messages_members_generic.cc: New file. * config/locale/messages_members_generic.h: New file. * docs/html/configopts.html: Add documentation for new locale model, ieee_1003.1. Adjust other flags for current defaults. * docs/html/22_locale/locale.html: Update. * docs/html/22_locale/howto.html: Add link to messages.html. Organize. * docs/html/22_locale/messages.html: New. * src/Makefile.am (sources): Add messages_virtuals.cc. * src/Makefile.in: Regenerate. * include/Makefile.am (allstamps): Add stamp-messages_model. (stamp-messages_model): Add. * include/Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in messages configury. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite_flags.in (--cxxflags): Add LOCALEDIR. * testsuite/lib/libstdc++-v3-dg.exp: Remove broken LD_LIBRARY_PATH bits for Irix. * acinclude (GLIBCPP_ENABLE_CLOCALE): Set glibcpp_localedir to the build directories message catalog base directory, and export. Eventually this should probably be made to deal with build and install directories. For now, punt on this as the library itself doesn't use message catalogs (yet). * testsuite/22_locale/messages.cc: New file. * testsuite/22_locale/messages_char_members.cc: New file. * testsuite/22_locale/messages_byname.cc: New file. From-SVN: r44702
2001-08-08 04:49:01 +02:00
// Defines libstdc++ version.
#undef PACKAGE
#undef VERSION
// Needed for gettext.
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef HAVE_GETTEXT
#undef HAVE_STPCPY
// Define if GCC supports weak symbols.
threads-no.h: Remove file. * config/threads-no.h: Remove file. * config/threads-posix.h: Remove file. * acconfig.h (_GLIBCPP_USE_THREADS): Remove. (_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h). (_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise. * config.h.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to setup and use gthr*.h files. In particular, make gthr.h files namespace-clean in the staging area (they don't have to be for libgcc.a). * aclocal.m4: Regenerate. * configure: Regenerate. * src/Makefile.am (build_headers): Remove bits/c++threads.h and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h. * src/Makefile.in: Regenerate. * include/bits/c++config: Cleanup threading configuration macros. In particular, define __STL_GTHREADS macro which controls... * include/bits/stl_threads.h: ...a brand new gthr.h-based configuration here. * config/c_io_stdio.h: Include staged gthr.h instead of local thread configuration file. Always use __gthread_mutex_t instead of __mutext_type (or int). * include/bits/std_fstream.h: Likewise. * docs/html/17_intro/howto.html: Remove placeholder comment in case this configuration patch didn't make it. Add advice that section only applies if configured with --enable-threads. * docs/html/23_containers/howto.html: Reword to make clear that _PTHREADS is no longer required for any port to be correctly using STL with threads. Add advice that section only applies if configured with --enable-threads. Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca> From-SVN: r42998
2001-06-08 05:53:35 +02:00
#undef _GLIBCPP_SUPPORTS_WEAK
// Define if gthr-default.h exists (meaning that threading support is enabled).
threads-no.h: Remove file. * config/threads-no.h: Remove file. * config/threads-posix.h: Remove file. * acconfig.h (_GLIBCPP_USE_THREADS): Remove. (_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h). (_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise. * config.h.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to setup and use gthr*.h files. In particular, make gthr.h files namespace-clean in the staging area (they don't have to be for libgcc.a). * aclocal.m4: Regenerate. * configure: Regenerate. * src/Makefile.am (build_headers): Remove bits/c++threads.h and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h. * src/Makefile.in: Regenerate. * include/bits/c++config: Cleanup threading configuration macros. In particular, define __STL_GTHREADS macro which controls... * include/bits/stl_threads.h: ...a brand new gthr.h-based configuration here. * config/c_io_stdio.h: Include staged gthr.h instead of local thread configuration file. Always use __gthread_mutex_t instead of __mutext_type (or int). * include/bits/std_fstream.h: Likewise. * docs/html/17_intro/howto.html: Remove placeholder comment in case this configuration patch didn't make it. Add advice that section only applies if configured with --enable-threads. * docs/html/23_containers/howto.html: Reword to make clear that _PTHREADS is no longer required for any port to be correctly using STL with threads. Add advice that section only applies if configured with --enable-threads. Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca> From-SVN: r42998
2001-06-08 05:53:35 +02:00
#undef HAVE_GTHR_DEFAULT
// Include I/O support for 'long long' and 'unsigned long long'.
#undef _GLIBCPP_USE_LONG_LONG
// Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
#undef _GLIBCPP_USE_C99
// Include support for 'long double'.
#undef _GLIBCPP_USE_LONG_DOUBLE
[multiple changes] 2000-10-02 Steven King <sxking@uswest.net> * mkcshadow: Fixed script to output proper include guard. * bits/char_traits.h: Cleaned up types in char_traits<char> functions. * libio/_G_config.h: Hacked to make work with shadow heraders. * shadow/*: Hacked to make shadow headers work. 2000-10-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com> Self-compile with shadow headers. * acconfig.h (_GLIBCPP_USE_SHADOW_HEADERS): Define. Eventually, like _GLIBCPP_USE_NAMESPACES before it, this macro will die when it becomes the default way the library is built. * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): New macro. * config/gnu-linux/bits/ctype_base.h (ctype_base): Use it. * config/gnu-linux/ctype.cc (ctype): Use it. * src/localename.cc (locale::_Impl::_M_replace_categories): Remove call to assert. * src/locale.cc: Explicitly cast mbstate_t to void* in calls to memset. This should not be necessary, but an ambiguous overload with it in. * shadow/bits/std_cwchar.h: Fix. * shadow/wchar.h: Fix. * config/gnu-linux/bits/ctype_base.h (ctype_base): Inject ctype enums into namespace std:: for ctype_base enum. Other OS types will have to do this as well. * config/gnu-linux/ctype.cc (ctype): Inject ctype data into namespace std, in particular __ctype_toupper, __ctype_tolower, __ctype_b. * shadow/iolibio.h: New file. * shadow/bits/wrap_iolibio.h: New file. * shadow/libioP.h: New file. * shadow/bits/wrap_libioP.h: New file. * shadow/bits/wrap_fcntl.h: New file. * shadow/fcntl.h: New file. * shadow/iconv.h: New file. Inject iconv names into the global namespace, unmangled for the moment. * shadow/bits/wrap_iconv.h: New file. * shadow/unistd.h: Remove. Useless. * shadow/bits/wrap_unistd.h: Remove. * src/Makefile.am: Take out machine-ansi.h, add fcntl.h unistd.h. * src/Makefile.in: Regenerate. * config/c_io_libio.h (_IO_codecvt): Change to normal C++ decl. * shadow/libio.h: Fix. * shadow/bits/wrap_libio.h: Fix. * shadow/bits/std_clocale.h: Remove typedef struct construct, which will not compile. * shadow/bits/std_ctime.h: Same. * shadow/pthread.h: New file. Put pthreads types and functions into global scope, which is probably not the correct long-term solution but has to be done at the moment before libio wrappers can even be started. * shadow/bits/wrap_pthread.h: New file. * bits/std_ios.h: Formatting tweak. * shadow/bits/std_cstdio.h: Format. Remove extraneous bits. * acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES): Add -Werror to tests for compiler features. * aclocal.m4: Regenerate. * configure: Regenerate. * config/c_io_libio.cc: Remove fcntl.h include, as SEEK_SET redefined. * libio/libioP.h: Comment out fcntl.h include. * shadow/math.h: Add in float and long declarations, as per ISO C9X. * bits/c++config: Define _ISOC99_SOURCE. * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add -fno-builtins to CSHADOWFLAGS, as well as _ISOC99_SOURCE. * aclocal.m4: Regenerate. * configure: Regenerate. * src/Makefile.am (CSHADOW_INCLUDES): Enable, again. (CSHADOW_INCLUDES): Add -I$(top_srcdir)/std before shadow include dir. (CXXCOMPILE): Remove $(DEFS), which searches $(top_srcdir) before std or shadow directories. (LTCXXCOMPILE): Same. (INCLUDES): Add $(top_builddir) before $(top_srcdir). (AC_CXXFLAGS): Add CSHADOWFLAGS. * src/Makefile.in: Regenerate. * src/complex.cc (FCT): Change ::name to name. * src/complexl.cc (FCT): Same. Use _GLIBCPP_USE_LONG_LONG here. * src/complexf.cc (FCT): Same. * src/complexf.cc: Remove FCT define, as things are properly overloaded in the std namespace with the shadow headers. * src/complexl.cc: Same. * src/complex.cc: Same. From-SVN: r36707
2000-10-04 07:06:32 +02:00
// Include support for shadow headers, ie --enable-cshadow-headers.
#undef _GLIBCPP_USE_SHADOW_HEADERS
// Define if code specialized for wchar_t should be used.
#undef _GLIBCPP_USE_WCHAR_T
// Define if using setrlimit to limit memory usage during 'make check'.
#undef _GLIBCPP_MEM_LIMITS
// Define to use concept checking code from the boost libraries.
#undef _GLIBCPP_CONCEPT_CHECKS
// Define if you have the atan2f function.
#undef _GLIBCPP_HAVE_ATAN2F
// Define if you have the atan2l function.
#undef _GLIBCPP_HAVE_ATAN2L
// Define if you have the copysignf function.
#undef _GLIBCPP_HAVE_COPYSIGNF
// Define if mbstate_t exists in wchar.h.
#undef HAVE_MBSTATE_T
// Define if you have the modff function.
#undef HAVE_MODFF
// Define if you have the modfl function.
#undef HAVE_MODFL
// Define if you have the expf function.
#undef HAVE_EXPF
// Define if you have the expl function.
#undef HAVE_EXPL
// Define if you have the hypotf function.
#undef HAVE_HYPOTF
// Define if you have the hypotl function.
#undef HAVE_HYPOTL
// Define if the compiler/host combination has __builtin_abs
#undef HAVE___BUILTIN_ABS
// Define if the compiler/host combination has __builtin_labs
#undef HAVE___BUILTIN_LABS
// Define if the compiler/host combination has __builtin_cos
#undef HAVE___BUILTIN_COS
// Define if the compiler/host combination has __builtin_cosf
#undef HAVE___BUILTIN_COSF
// Define if the compiler/host combination has __builtin_cosl
#undef HAVE___BUILTIN_COSL
// Define if the compiler/host combination has __builtin_fabs
#undef HAVE___BUILTIN_FABS
// Define if the compiler/host combination has __builtin_fabsf
#undef HAVE___BUILTIN_FABSF
// Define if the compiler/host combination has __builtin_fabsl
#undef HAVE___BUILTIN_FABSL
// Define if the compiler/host combination has __builtin_sin
#undef HAVE___BUILTIN_SIN
// Define if the compiler/host combination has __builtin_sinf
#undef HAVE___BUILTIN_SINF
// Define if the compiler/host combination has __builtin_sinl
#undef HAVE___BUILTIN_SINL
// Define if the compiler/host combination has __builtin_fsqrt
#undef HAVE___BUILTIN_FSQRT
// Define if the compiler/host combination has __builtin_sqrtf
#undef HAVE___BUILTIN_SQRTF
// Define if the compiler/host combination has __builtin_sqrtl
#undef HAVE___BUILTIN_SQRTL
// Define if LC_MESSAGES is available in <locale.h>.
#undef HAVE_LC_MESSAGES
// Define if <float.h> exists.
#undef HAVE_FLOAT_H
// Define if modf is present in <math.h>
#undef HAVE_MODF
// @BOTTOM@
//
// Systems that have certain non-standard functions prefixed with an
// underscore, we'll handle those here. Must come after config.h.in.
//
#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN)
# define HAVE_ISNAN 1
# define isnan _isnan
#endif
#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF)
# define HAVE_ISNANF 1
# define isnanf _isnanf
#endif
#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL)
# define HAVE_ISNANL 1
# define isnanl _isnanl
#endif
#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF)
# define HAVE_ISINF 1
# define isinf _isinf
#endif
#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF)
# define HAVE_ISINFF 1
# define isinff _isinff
#endif
#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL)
# define HAVE_ISINFL 1
# define isinfl _isinfl
#endif
#if defined (HAVE__COPYSIGN) && ! defined (HAVE_COPYSIGN)
# define HAVE_COPYSIGN 1
# define copysign _copysign
#endif
#if defined (HAVE__COPYSIGNL) && ! defined (HAVE_COPYSIGNL)
# define HAVE_COPYSIGNL 1
# define copysignl _copysignl
#endif
#if defined (HAVE__COSF) && ! defined (HAVE_COSF)
# define HAVE_COSF 1
# define cosf _cosf
#endif
#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
# define HAVE_ACOSF 1
# define acosf _acosf
#endif
#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL)
# define HAVE_ACOSL 1
# define acosl _acosl
#endif
#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF)
# define HAVE_ASINF 1
# define asinf _asinf
#endif
#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL)
# define HAVE_ASINL 1
# define asinl _asinl
#endif
#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF)
# define HAVE_ATANF 1
# define atanf _atanf
#endif
#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL)
# define HAVE_ATANL 1
# define atanl _atanl
#endif
#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF)
# define HAVE_CEILF 1
# define aceil _ceilf
#endif
#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL)
# define HAVE_CEILL 1
# define aceil _ceill
#endif
#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF)
# define HAVE_COSHF 1
# define coshf _coshf
#endif
#if defined (HAVE__COSL) && ! defined (HAVE_COSL)
# define HAVE_COSL 1
# define cosl _cosl
#endif
#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF)
# define HAVE_LOGF 1
# define logf _logf
#endif
#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL)
# define HAVE_COSHL 1
# define coshl _coshl
#endif
#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF)
# define HAVE_EXPF 1
# define expf _expf
#endif
#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL)
# define HAVE_EXPL 1
# define expl _expl
#endif
#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF)
# define HAVE_FABSF 1
# define fabsf _fabsf
#endif
#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL)
# define HAVE_FABSL 1
# define fabsl _fabsl
#endif
#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF)
# define HAVE_FLOORF 1
# define floorf _floorf
#endif
#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL)
# define HAVE_FLOORL 1
# define floorl _floorl
#endif
#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF)
# define HAVE_FMODF 1
# define fmodf _fmodf
#endif
#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL)
# define HAVE_FMODL 1
# define fmodl _fmodl
#endif
#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF)
# define HAVE_FREXPF 1
# define frexpf _frexpf
#endif
#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL)
# define HAVE_FREXPL 1
# define frexpl _frexpl
#endif
#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF)
# define HAVE_LDEXPF 1
# define ldexpf _ldexpf
#endif
#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL)
# define HAVE_LDEXPL 1
# define ldexpl _ldexpl
#endif
#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F)
# define HAVE_LOG10F 1
# define log10f _log10f
#endif
#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL)
# define HAVE_LOGL 1
# define logl _logl
#endif
#if defined (HAVE__POWF) && ! defined (HAVE_POWF)
# define HAVE_POWF 1
# define powf _powf
#endif
#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L)
# define HAVE_LOG10L 1
# define log10l _log10l
#endif
#if defined (HAVE__MODF) && ! defined (HAVE_MODF)
# define HAVE_MODF 1
# define modf _modf
#endif
#if defined (HAVE__MODL) && ! defined (HAVE_MODL)
# define HAVE_MODL 1
# define modl _modl
#endif
#if defined (HAVE__SINF) && ! defined (HAVE_SINF)
# define HAVE_SINF 1
# define sinf _sinf
#endif
#if defined (HAVE__POWL) && ! defined (HAVE_POWL)
# define HAVE_POWL 1
# define powl _powl
#endif
#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF)
# define HAVE_SINHF 1
# define sinhf _sinhf
#endif
#if defined (HAVE__SINL) && ! defined (HAVE_SINL)
# define HAVE_SINL 1
# define sinl _sinl
#endif
#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF)
# define HAVE_SQRTF 1
# define sqrtf _sqrtf
#endif
#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL)
# define HAVE_SINHL 1
# define sinhl _sinhl
#endif
#if defined (HAVE__TANF) && ! defined (HAVE_TANF)
# define HAVE_TANF 1
# define tanf _tanf
#endif
#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL)
# define HAVE_SQRTL 1
# define sqrtl _sqrtl
#endif
#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF)
# define HAVE_TANHF 1
# define tanhf _tanhf
#endif
#if defined (HAVE__TANL) && ! defined (HAVE_TANL)
# define HAVE_TANF 1
# define tanf _tanf
#endif
#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF)
# define HAVE_STRTOF 1
# define strtof _strtof
#endif
#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL)
# define HAVE_TANHL 1
# define tanhl _tanhl
#endif
#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD)
# define HAVE_STRTOLD 1
# define strtold _strtold
#endif
#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS)
# define HAVE_SINCOS 1
# define sincos _sincos
#endif
#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF)
# define HAVE_SINCOSF 1
# define sincosf _sincosf
#endif
#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL)
# define HAVE_SINCOSL 1
# define sincosl _sincosl
#endif
#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE)
# define HAVE_FINITE 1
# define finite _finite
#endif
#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF)
# define HAVE_FINITEF 1
# define finitef _finitef
#endif
#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL)
# define HAVE_FINITEL 1
# define finitel _finitel
#endif
#if defined (HAVE__QFINITE) && ! defined (HAVE_QFINITE)
# define HAVE_QFINITE 1
# define qfinite _qfinite
#endif
#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS)
# define HAVE_FPCLASS 1
# define fpclass _fpclass
#endif
#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS)
# define HAVE_QFPCLASS 1
# define qfpclass _qfpclass
#endif