gcc/libstdc++-v3/acconfig.h

403 lines
8.9 KiB
C
Raw Normal View History

// acconfig.h symbols and macros for libstdc++ v3 -*- C++ -*-
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 11:53:35 +08:00
// Define if GCC supports weak symbols
#undef _GLIBCPP_SUPPORTS_WEAK
// Define if gthr-default.h exists (meaning that threading support is enabled)
#undef HAVE_GTHR_DEFAULT
// Include support for 'long long' and 'unsigned long long'.
#undef _GLIBCPP_USE_LONG_LONG
// Define if code specialized for wchar_t should be used.
#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 13:06:32 +08: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 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 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