acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.

2000-10-26  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.
	* aclocal.m4: Regenerate.
	* configure.in: Remove GLIBCPP_ENABLE_LONG_DOUBLE.
	* configure: Regenerate.
	* docs/configopts.html: Remove.
	* src/complexl.cc: Revert.
	* config.h.in: Remove.
	* include/c_std/bits/std_cmath.h: Remove guards based on
	_GLIBCPP_USE_LONG_DOUBLE.
	* include/c/bits/std_cmath.h: Same. Format. Match c_std behavior
	with respect to long double signatures.

	* config/os/aix/bits/ctype_noninline.h (ctype): Remove throw
	specification.
	* config/os/newlib/bits/ctype_noninline.h (ctype): And here.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/bits/ctype_noninline.h (ctype): Same.

From-SVN: r37073
This commit is contained in:
Benjamin Kosnik 2000-10-26 14:56:05 +00:00 committed by Benjamin Kosnik
parent cdb09fce3f
commit eae7a9fa92
16 changed files with 1350 additions and 1521 deletions

View File

@ -1,3 +1,25 @@
2000-10-26 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.
* aclocal.m4: Regenerate.
* configure.in: Remove GLIBCPP_ENABLE_LONG_DOUBLE.
* configure: Regenerate.
* docs/configopts.html: Remove.
* src/complexl.cc: Revert.
* config.h.in: Remove.
* include/c_std/bits/std_cmath.h: Remove guards based on
_GLIBCPP_USE_LONG_DOUBLE.
* include/c/bits/std_cmath.h: Same. Format. Match c_std behavior
with respect to long double signatures.
* config/os/aix/bits/ctype_noninline.h (ctype): Remove throw
specification.
* config/os/newlib/bits/ctype_noninline.h (ctype): And here.
* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
* config/os/generic/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/bits/ctype_noninline.h (ctype): Same.
2000-10-26 Gabriel Dos Reis <gdr@codesourcery.com> 2000-10-26 Gabriel Dos Reis <gdr@codesourcery.com>
* include/bits/std_valarray.h (valarray::valarray): Fix thinko. * include/bits/std_valarray.h (valarray::valarray): Fix thinko.
@ -116,43 +138,6 @@
* include/c_std/bits/std_cstdlib.h: abort, exit comment. * include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here. * include/c_std/stdlib.h: Same here.
2000-10-23 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/21_strings/compare.cc (test01): Add using declarations.
* include/c_std/bits/std_cerrno.h: And here.
* include/c_std/bits/std_cassert.h: Tweaks.
* mkcheck.in: Simplify.
* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
(GLIBCPP_ENABLE_LONG_LONG): Same.
* aclocal.m4: Regenerate.
* src/Makefile.am (c_shadow_headers): Add features.h,
bits/wrap_features.h.
* src/Makefile.in: Regenerate.
* include/c_std/features.h: New file.
* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
file. Need to have c++config.h included before this file so
_ISOC99_SOURCE around.
* include/c_std/sys/cdefs.h: Hack.
* include/c_std/stdlib.h: Same, use c++config.h.
* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
* include/c_std/bits/std_cassert.h: Fix.
* include/c_std/bits/std_cerrno.h: Make consistent.
* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
declaration from ::_C_legacy to _C_legacy.
* include/c_std/bits/std_cstdio.h: same with printf.
* include/c_std/stdio.h: And here.
* include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here.
2000-10-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com> 2000-10-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): New macro. * acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): New macro.

View File

@ -1433,49 +1433,6 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
]) ])
dnl
dnl Check for template specializations for the 'long double' type extension.
dnl
dnl GLIBCPP_ENABLE_LONG_DOUBLE
dnl --enable-long-long defines _GLIBCPP_USE_LONG_DOUBLE
dnl --disable-long-long leaves _GLIBCPP_USE_LONG_DOUBLE undefined
dnl + Usage: GLIBCPP_ENABLE_LONG_DOUBLE[(DEFAULT)]
dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
dnl defaults to `no'.
dnl + If 'long long' stuff is not available, ignores DEFAULT and sets `no'.
dnl
dnl GLIBCPP_ENABLE_LONG_DOUBLE
AC_DEFUN(GLIBCPP_ENABLE_LONG_DOUBLE, [dnl
define([GLIBCPP_ENABLE_LONG_DOUBLE_DEFAULT], ifelse($1, yes, yes, no))dnl
AC_ARG_ENABLE(long-double,
changequote(<<, >>)dnl
<<--enable-long-double turns on 'long double' [default=>>GLIBCPP_ENABLE_LONG_LONG_DEFAULT],
changequote([, ])dnl
[case "$enableval" in
yes) enable_long_double=yes ;;
no) enable_long_double=no ;;
*) AC_MSG_ERROR([Unknown argument to enable/disable long double]) ;;
esac],
enable_long_double=GLIBCPP_ENABLE_LONG_DOUBLE_DEFAULT)dnl
# Check for the existance of functions used if long double is enabled.
AC_CHECK_FUNC(cosl,,ac_cosl=no)
AC_CHECK_FUNC(sinl,,ac_sinl=no)
AC_MSG_CHECKING([for enabled long double])
if test x"$ac_cosl" = xno || test x"$ac_sinl" = xno; then
enable_long_double=no;
fi;
AC_MSG_RESULT($enable_long_double)
dnl Option parsed, now set things appropriately
if test x"$enable_long_double" = xyes; then
AC_DEFINE(_GLIBCPP_USE_LONG_DOUBLE)
fi
])
dnl dnl
dnl Check for whether or not to do shadowed C headers. dnl Check for whether or not to do shadowed C headers.
dnl dnl

View File

@ -1445,49 +1445,6 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
]) ])
dnl
dnl Check for template specializations for the 'long double' type extension.
dnl
dnl GLIBCPP_ENABLE_LONG_DOUBLE
dnl --enable-long-long defines _GLIBCPP_USE_LONG_DOUBLE
dnl --disable-long-long leaves _GLIBCPP_USE_LONG_DOUBLE undefined
dnl + Usage: GLIBCPP_ENABLE_LONG_DOUBLE[(DEFAULT)]
dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
dnl defaults to `no'.
dnl + If 'long long' stuff is not available, ignores DEFAULT and sets `no'.
dnl
dnl GLIBCPP_ENABLE_LONG_DOUBLE
AC_DEFUN(GLIBCPP_ENABLE_LONG_DOUBLE, [dnl
define([GLIBCPP_ENABLE_LONG_DOUBLE_DEFAULT], ifelse($1, yes, yes, no))dnl
AC_ARG_ENABLE(long-double,
changequote(<<, >>)dnl
<<--enable-long-double turns on 'long double' [default=>>GLIBCPP_ENABLE_LONG_LONG_DEFAULT],
changequote([, ])dnl
[case "$enableval" in
yes) enable_long_double=yes ;;
no) enable_long_double=no ;;
*) AC_MSG_ERROR([Unknown argument to enable/disable long double]) ;;
esac],
enable_long_double=GLIBCPP_ENABLE_LONG_DOUBLE_DEFAULT)dnl
# Check for the existance of functions used if long double is enabled.
AC_CHECK_FUNC(cosl,,ac_cosl=no)
AC_CHECK_FUNC(sinl,,ac_sinl=no)
AC_MSG_CHECKING([for enabled long double])
if test x"$ac_cosl" = xno || test x"$ac_sinl" = xno; then
enable_long_double=no;
fi;
AC_MSG_RESULT($enable_long_double)
dnl Option parsed, now set things appropriately
if test x"$enable_long_double" = xyes; then
AC_DEFINE(_GLIBCPP_USE_LONG_DOUBLE)
fi
])
dnl dnl
dnl Check for whether or not to do shadowed C headers. dnl Check for whether or not to do shadowed C headers.
dnl dnl

View File

@ -9,9 +9,6 @@
// Include support for 'long long' and 'unsigned long long'. // Include support for 'long long' and 'unsigned long long'.
#undef _GLIBCPP_USE_LONG_LONG #undef _GLIBCPP_USE_LONG_LONG
// Include support for 'long double'.
#undef _GLIBCPP_USE_LONG_DOUBLE
// Include support for shadow headers, ie --enable-cshadow-headers. // Include support for shadow headers, ie --enable-cshadow-headers.
#undef _GLIBCPP_USE_SHADOW_HEADERS #undef _GLIBCPP_USE_SHADOW_HEADERS

View File

@ -34,7 +34,7 @@
// Information as gleaned from /usr/include/ctype.h // Information as gleaned from /usr/include/ctype.h
ctype<char>::ctype(const mask* __table = 0, bool __del = false, ctype<char>::ctype(const mask* __table = 0, bool __del = false,
size_t __refs = 0) throw() size_t __refs = 0)
: _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del), : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
_M_toupper(NULL), _M_tolower(NULL), _M_toupper(NULL), _M_tolower(NULL),
_M_ctable(NULL), _M_table(__table == 0 ? _M_ctable: __table) _M_ctable(NULL), _M_table(__table == 0 ? _M_ctable: __table)

View File

@ -34,7 +34,7 @@
// Information as gleaned from /usr/include/ctype.h // Information as gleaned from /usr/include/ctype.h
ctype<char>::ctype(const mask* __table = 0, bool __del = false, ctype<char>::ctype(const mask* __table = 0, bool __del = false,
size_t __refs = 0) throw() size_t __refs = 0)
: _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del), : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
_M_toupper(NULL), _M_tolower(NULL), _M_toupper(NULL), _M_tolower(NULL),
_M_ctable(NULL), _M_table(__table == 0 ? _M_ctable: __table) _M_ctable(NULL), _M_table(__table == 0 ? _M_ctable: __table)

View File

@ -34,7 +34,7 @@
// Information as gleaned from /usr/include/ctype.h // Information as gleaned from /usr/include/ctype.h
ctype<char>::ctype(const mask* __table = 0, bool __del = false, ctype<char>::ctype(const mask* __table = 0, bool __del = false,
size_t __refs = 0) throw() size_t __refs = 0)
: _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del), : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
_M_toupper(NULL), _M_tolower(NULL), _M_toupper(NULL), _M_tolower(NULL),
_M_ctable(NULL), _M_table(__table == 0 ? _M_ctable: __table) _M_ctable(NULL), _M_table(__table == 0 ? _M_ctable: __table)

View File

@ -34,7 +34,7 @@
// Information as gleaned from /usr/include/ctype.h // Information as gleaned from /usr/include/ctype.h
ctype<char>::ctype(const mask* __table = 0, bool __del = false, ctype<char>::ctype(const mask* __table = 0, bool __del = false,
size_t __refs = 0) throw() size_t __refs = 0)
: _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del), : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
_M_toupper(NULL), _M_tolower(NULL), _M_toupper(NULL), _M_tolower(NULL),
_M_ctable(_ctype_), _M_table(__table == 0 ? _M_ctable: __table) _M_ctable(_ctype_), _M_table(__table == 0 ? _M_ctable: __table)

View File

@ -34,7 +34,7 @@
// Information as gleaned from /usr/include/ctype.h // Information as gleaned from /usr/include/ctype.h
ctype<char>::ctype(const mask* __table = 0, bool __del = false, ctype<char>::ctype(const mask* __table = 0, bool __del = false,
size_t __refs = 0) throw() size_t __refs = 0)
: _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del), : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
_M_toupper(NULL), _M_tolower(NULL), _M_toupper(NULL), _M_tolower(NULL),
_M_ctable(__ctype), _M_table(__table == 0 ? _M_ctable: __table) _M_ctable(__ctype), _M_table(__table == 0 ? _M_ctable: __table)
@ -70,3 +70,4 @@
return __high; return __high;
} }

View File

@ -34,7 +34,7 @@
// Information as gleaned from /usr/include/ctype.h // Information as gleaned from /usr/include/ctype.h
ctype<char>::ctype(const mask* __table = 0, bool __del = false, ctype<char>::ctype(const mask* __table = 0, bool __del = false,
size_t __refs = 0) throw() size_t __refs = 0)
: _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del), : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
_M_toupper(__trans_upper), _M_tolower(__trans_lower), _M_toupper(__trans_upper), _M_tolower(__trans_lower),
_M_ctable(__ctype_mask), _M_table(__table == 0 ? _M_ctable: __table) _M_ctable(__ctype_mask), _M_table(__table == 0 ? _M_ctable: __table)

2125
libstdc++-v3/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,6 @@ GLIBCPP_ENABLE_DEBUG($USE_MAINTAINER_MODE)
GLIBCPP_ENABLE_C_MBCHAR([yes]) GLIBCPP_ENABLE_C_MBCHAR([yes])
GLIBCPP_ENABLE_CSTDIO GLIBCPP_ENABLE_CSTDIO
GLIBCPP_ENABLE_LONG_LONG(yes) GLIBCPP_ENABLE_LONG_LONG(yes)
GLIBCPP_ENABLE_LONG_DOUBLE(yes)
GLIBCPP_ENABLE_SHADOW(no) GLIBCPP_ENABLE_SHADOW(no)
GLIBCPP_ENABLE_THREADS GLIBCPP_ENABLE_THREADS
GLIBCPP_ENABLE_ATOMICITY GLIBCPP_ENABLE_ATOMICITY

View File

@ -9,7 +9,7 @@
<TITLE>libstdc++-v3 configure options</TITLE> <TITLE>libstdc++-v3 configure options</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/"> <LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css"> <LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: configopts.html,v 1.13 2000/10/21 19:43:13 bkoz Exp $ --> <!-- $Id: configopts.html,v 1.14 2000/10/25 14:41:16 bkoz Exp $ -->
</HEAD> </HEAD>
<BODY> <BODY>
@ -80,13 +80,6 @@ options</A></H1>
templates and the like). templates and the like).
</P> </P>
<DT><TT>--enable-long-double </TT>
<DD><P>The &quot;long double&quot; type was introduced in C99. It is
provided as a GNU extension to C++98 in g++. This flag builds
support for &quot;long double&quot; into the library (specialized
templates and the like).
</P>
<DT><TT>--enable-namespaces </TT>[default] <DT><TT>--enable-namespaces </TT>[default]
<DD><P>By default, g++ currently ignores namespace <TT>std</TT> for <DD><P>By default, g++ currently ignores namespace <TT>std</TT> for
backwards compatibility. It can be turned on with the backwards compatibility. It can be turned on with the
@ -192,7 +185,7 @@ options</A></H1>
<HR> <HR>
<P CLASS="fineprint"><EM> <P CLASS="fineprint"><EM>
$Id: configopts.html,v 1.13 2000/10/21 19:43:13 bkoz Exp $ $Id: configopts.html,v 1.14 2000/10/25 14:41:16 bkoz Exp $
</EM></P> </EM></P>

View File

@ -43,466 +43,543 @@
namespace std { namespace std {
// inline int
// int abs(int i) { return i > 0 ? i : -i; }
//
inline int abs(int i) inline long
{ return i > 0 ? i : -i; } abs(long i) { return i > 0 ? i : -i; }
inline long abs(long i)
{ return i > 0 ? i : -i; }
//
// float
//
#if _GLIBCPP_HAVE___BUILTIN_FABSF #if _GLIBCPP_HAVE___BUILTIN_FABSF
inline float abs(float __x) inline float
{ return __builtin_fabsf(__x); } abs(float __x) { return __builtin_fabsf(__x); }
#elif _GLIBCPP_HAVE_FABSF #elif _GLIBCPP_HAVE_FABSF
inline float abs(float __x) inline float
{ return ::fabsf(__x); } abs(float __x) { return ::fabsf(__x); }
#else #else
inline float abs(float __x) inline float
{ return ::fabs(static_cast<double>(__x)); } abs(float __x) { return ::fabs(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ACOSF #if _GLIBCPP_HAVE_ACOSF
inline float acos(float __x) inline float
{ return ::acosf(__x); } acos(float __x) { return ::acosf(__x); }
#else #else
inline float acos(float __x) inline float
{ return ::acos(static_cast<double>(__x)); } acos(float __x) { return ::acos(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ASINF #if _GLIBCPP_HAVE_ASINF
inline float asin(float __x) inline float
{ return ::asinf(__x); } asin(float __x) { return ::asinf(__x); }
#else #else
inline float asin(float __x) inline float
{ return ::asin(static_cast<double>(__x)); } asin(float __x) { return ::asin(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ATANF #if _GLIBCPP_HAVE_ATANF
inline float atan(float __x) inline float
{ return ::atanf(__x); } atan(float __x) { return ::atanf(__x); }
#else #else
inline float atan(float __x) inline float
{ return ::atan(static_cast<double>(__x)); } atan(float __x) { return ::atan(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ATAN2F #if _GLIBCPP_HAVE_ATAN2F
inline float atan2(float __y, float __x) inline float
{ return ::atan2f(__y, __x); } atan2(float __y, float __x) { return ::atan2f(__y, __x); }
#else #else
inline float atan2(float __y, float __x) inline float
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); } atan2(float __y, float __x)
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_CEILF #if _GLIBCPP_HAVE_CEILF
inline float ceil(float __x) inline float
{ return ::ceilf(__x); } ceil(float __x) { return ::ceilf(__x); }
#else #else
inline float ceil(float __x) inline float
{ return ::ceil(static_cast<double>(__x)); } ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE___BUILTIN_COSF #if _GLIBCPP_HAVE___BUILTIN_COSF
inline float cos(float __x) inline float
{ return __builtin_cosf(__x); } cos(float __x) { return __builtin_cosf(__x); }
#elif _GLIBCPP_HAVE_COSF #elif _GLIBCPP_HAVE_COSF
inline float cos(float __x) inline float
{ return ::cosf(__x); } cos(float __x) { return ::cosf(__x); }
#else #else
inline float cos(float __x) inline float
{ return ::cos(static_cast<double>(__x)); } cos(float __x) { return ::cos(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_COSHF #if _GLIBCPP_HAVE_COSHF
inline float cosh(float __x) inline float
{ return ::coshf(__x); } cosh(float __x) { return ::coshf(__x); }
#else #else
inline float cosh(float __x) inline float
{ return ::cosh(static_cast<double>(__x)); } cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_EXPF #if _GLIBCPP_HAVE_EXPF
inline float exp(float __x) inline float
{ return ::expf(__x); } exp(float __x) { return ::expf(__x); }
#else #else
inline float exp(float __x) inline float
{ return ::exp(static_cast<double>(__x)); } exp(float __x) { return ::exp(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE___BUILTIN_FABSF #if _GLIBCPP_HAVE___BUILTIN_FABSF
inline float fabs(float __x) inline float
{ return __builtin_fabsf(__x); } fabs(float __x) { return __builtin_fabsf(__x); }
#elif _GLIBCPP_HAVE_FABSF #elif _GLIBCPP_HAVE_FABSF
inline float fabs(float __x) inline float
{ return ::fabsf(__x); } fabs(float __x) { return ::fabsf(__x); }
#else #else
inline float fabs(float __x) inline float
{ return ::fabs(static_cast<double>(__x)); } fabs(float __x) { return ::fabs(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_FLOORF #if _GLIBCPP_HAVE_FLOORF
inline float floor(float __x) inline float
{ return ::floorf(__x); } floor(float __x) { return ::floorf(__x); }
#else #else
inline float floor(float __x) inline float
{ return ::floor(static_cast<double>(__x)); } floor(float __x) { return ::floor(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_FMODF #if _GLIBCPP_HAVE_FMODF
inline float fmod(float __x, float __y) inline float
{ return ::fmodf(__x, __y); } fmod(float __x, float __y) { return ::fmodf(__x, __y); }
#else #else
inline float fmod(float __x, float __y) inline float
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); } fmod(float __x, float __y)
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
#if _GLIBCPP_HAVE_FREXPF #if _GLIBCPP_HAVE_FREXPF
inline float frexp(float __x, int* __exp) inline float
{ return ::frexpf(__x, __exp); } frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
#else #else
inline float frexp(float __x, int* __exp) inline float
{ return ::frexp(__x, __exp); } frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
#endif #endif
#if _GLIBCPP_HAVE_LDEXPF #if _GLIBCPP_HAVE_LDEXPF
inline float ldexp(float __x, int __exp) inline float
{ return ::ldexpf(__x, __exp); } ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
#else #else
inline float ldexp(float __x, int __exp) inline float
{ return ::ldexp(static_cast<double>(__x), __exp); } ldexp(float __x, int __exp)
{ return ::ldexp(static_cast<double>(__x), __exp); }
#endif #endif
#if _GLIBCPP_HAVE_LOGF #if _GLIBCPP_HAVE_LOGF
inline float log(float __x) inline float
{ return ::logf(__x); } log(float __x) { return ::logf(__x); }
#else #else
inline float log(float __x) inline float log(float __x)
{ return ::log(static_cast<double>(__x)); } { return ::log(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_LOG10F #if _GLIBCPP_HAVE_LOG10F
inline float log10(float __x) inline float
{ return ::log10f(__x); } log10(float __x) { return ::log10f(__x); }
#else #else
inline float log10(float __x) inline float
{ return ::log10(static_cast<double>(__x)); } log10(float __x) { return ::log10(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_MODFF #if _GLIBCPP_HAVE_MODFF
inline float modf(float __x, float* __iptr) inline float
{ return ::modff(__x, __iptr); } modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
#else #else
inline float modf(float __x, float* __iptr) inline float
{ modf(float __x, float* __iptr)
double __tmp; {
double __res = ::modf(static_cast<double>(__x), &__tmp); double __tmp;
*__iptr = static_cast<float> (__tmp); double __res = ::modf(static_cast<double>(__x), &__tmp);
return __res; *__iptr = static_cast<float>(__tmp);
} return __res;
}
#endif #endif
#if _GLIBCPP_HAVE_POWF #if _GLIBCPP_HAVE_POWF
inline float pow(float __x, float __y) inline float
{ return ::powf(__x, __y); } pow(float __x, float __y) { return ::powf(__x, __y); }
#else #else
inline float pow(float __x, float __y) inline float
{ return ::pow(static_cast<double>(__x), static_cast<double>(__y)); } pow(float __x, float __y)
{ return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
float pow(float, int); float pow(float, int);
#if _GLIBCPP_HAVE___BUILTIN_SINF #if _GLIBCPP_HAVE___BUILTIN_SINF
inline float sin(float __x) inline float
{ return __builtin_sinf(__x); } sin(float __x) { return __builtin_sinf(__x); }
#elif _GLIBCPP_HAVE_SINF #elif _GLIBCPP_HAVE_SINF
inline float sin(float __x) inline float
{ return ::sinf(__x); } sin(float __x) { return ::sinf(__x); }
#else #else
inline float sin(float __x) inline float
{ return ::sin(static_cast<double>(__x)); } sin(float __x) { return ::sin(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_SINHF #if _GLIBCPP_HAVE_SINHF
inline float sinh(float __x) inline float
{ return ::sinhf(__x); } sinh(float __x) { return ::sinhf(__x); }
#else #else
inline float sinh(float __x) inline float
{ return ::sinh(static_cast<double>(__x)); } sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE___BUILTIN_SQRTF #if _GLIBCPP_HAVE___BUILTIN_SQRTF
inline float sqrt(float __x) inline float
{ return __builtin_sqrtf(__x); } sqrt(float __x) { return __builtin_sqrtf(__x); }
#elif _GLIBCPP_HAVE_SQRTF #elif _GLIBCPP_HAVE_SQRTF
inline float sqrt(float __x) inline float
{ return ::sqrtf(__x); } sqrt(float __x) { return ::sqrtf(__x); }
#else #else
inline float sqrt(float __x) inline float
{ return ::sqrt(static_cast<double>(__x)); } sqrt(float __x) { return ::sqrt(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_TANF #if _GLIBCPP_HAVE_TANF
inline float tan(float __x) inline float
{ return ::tanf(__x); } tan(float __x) { return ::tanf(__x); }
#else #else
inline float tan(float __x) inline float
{ return ::tan(static_cast<double>(__x)); } tan(float __x) { return ::tan(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_TANHF #if _GLIBCPP_HAVE_TANHF
inline float tanh(float __x) inline float
{ return ::tanhf(__x); } tanh(float __x) { return ::tanhf(__x); }
#else #else
inline float tanh(float __x) inline float
{ return ::tanh(static_cast<double>(__x)); } tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
#endif #endif
//
// double
//
#if _GLIBCPP_HAVE___BUILTIN_FABS #if _GLIBCPP_HAVE___BUILTIN_FABS
inline double abs(double __x) inline double
{ return __builtin_fabs(__x); } abs(double __x) { return __builtin_fabs(__x); }
#else #else
inline double abs(double __x) inline double
{ return ::fabs(__x); } abs(double __x) { return ::fabs(__x); }
#endif #endif
inline double acos(double __x) inline double
{ return ::acos(__x); } acos(double __x) { return ::acos(__x); }
inline double asin(double __x) inline double
{ return ::asin(__x); } asin(double __x) { return ::asin(__x); }
inline double atan(double __x) inline double
{ return ::atan(__x); } atan(double __x) { return ::atan(__x); }
inline double atan2(double __y, double __x) inline double
{ return ::atan2(__y, __x); } atan2(double __y, double __x) { return ::atan2(__y, __x); }
inline double ceil(double __x) inline double
{ return ::ceil(__x); } ceil(double __x) { return ::ceil(__x); }
#if _GLIBCPP_HAVE___BUILTIN_COS #if _GLIBCPP_HAVE___BUILTIN_COS
inline double cos(double __x) inline double
{ return __builtin_cos(__x); } cos(double __x) { return __builtin_cos(__x); }
#else #else
inline double cos(double __x) inline double
{ return ::cos(__x); } cos(double __x) { return ::cos(__x); }
#endif #endif
inline double cosh(double __x) inline double cosh(double __x)
{ return ::cosh(__x); } { return ::cosh(__x); }
inline double exp(double __x) inline double
{ return ::exp(__x); } exp(double __x) { return ::exp(__x); }
#if _GLIBCPP_HAVE___BUILTIN_FABS #if _GLIBCPP_HAVE___BUILTIN_FABS
inline double fabs(double __x) inline double
{ return __builtin_fabs(__x); } fabs(double __x) { return __builtin_fabs(__x); }
#else #else
inline double fabs(double __x) inline double
{ return ::fabs(__x); } fabs(double __x) { return ::fabs(__x); }
#endif #endif
inline double floor(double __x) inline double
{ return ::floor(__x); } floor(double __x) { return ::floor(__x); }
inline double fmod(double __x, double __y) inline double
{ return ::fmod(__x, __y); } fmod(double __x, double __y) { return ::fmod(__x, __y); }
inline double frexp(double __x, int* __exp) inline double
{ return ::frexp(__x, __exp); } frexp(double __x, int* __exp) { return ::frexp(__x, __exp); }
inline double ldexp(double __x, int __exp) inline double
{ return ::ldexp(__x, __exp); } ldexp(double __x, int __exp) { return ::ldexp(__x, __exp); }
inline double log(double __x) inline double
{ return ::log(__x); } log(double __x) { return ::log(__x); }
inline double log10(double __x) inline double
{ return ::log10(__x); } log10(double __x) { return ::log10(__x); }
inline double modf(double __x, double* __iptr) inline double
{ return ::modf(__x, __iptr); } modf(double __x, double* __iptr) { return ::modf(__x, __iptr); }
inline double pow(double __x, double __y) inline double
{ return ::pow(__x, __y); } pow(double __x, double __y) { return ::pow(__x, __y); }
double pow (double, int); double pow (double, int);
#if _GLIBCPP_HAVE___BUILTIN_SIN #if _GLIBCPP_HAVE___BUILTIN_SIN
inline double sin(double __x) inline double
{ return __builtin_sin(__x); } sin(double __x) { return __builtin_sin(__x); }
#else #else
inline double sin(double __x) inline double
{ return ::sin(__x); } sin(double __x) { return ::sin(__x); }
#endif #endif
inline double sinh(double __x) inline double
{ return ::sinh(__x); } sinh(double __x) { return ::sinh(__x); }
#if _GLIBCPP_HAVE___BUILTIN_SQRT #if _GLIBCPP_HAVE___BUILTIN_SQRT
inline double sqrt(double __x) inline double
{ return __builtin_fsqrt(__x); } sqrt(double __x) { return __builtin_fsqrt(__x); }
#else #else
inline double sqrt(double __x) inline double
{ return ::sqrt(__x); } sqrt(double __x) { return ::sqrt(__x); }
#endif #endif
inline double tan(double __x) inline double
{ return ::tan(__x); } tan(double __x) { return ::tan(__x); }
inline double
tanh(double __x) { return ::tanh(__x); }
inline double tanh(double __x)
{ return ::tanh(__x); }
//
// long double
//
#ifdef _GLIBCPP_USE_LONG_DOUBLE
#if _GLIBCPP_HAVE___BUILTIN_FABSL #if _GLIBCPP_HAVE___BUILTIN_FABSL
inline long double abs(long double __x) inline long double
{ return __builtin_fabsl(__x); } abs(long double __x) { return __builtin_fabsl(__x); }
#elif _GLIBCPP_HAVE_FABSL #elif _GLIBCPP_HAVE_FABSL
inline long double abs(long double __x) inline long double
{ return ::fabsl(__x); } abs(long double __x) { return ::fabsl(__x); }
#else
inline long double
abs(long double __x) { return fabs(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ACOSL #if _GLIBCPP_HAVE_ACOSL
inline long double acos(long double __x) inline long double
{ return ::acosl(__x); } acos(long double __x) { return ::acosl(__x); }
#else
inline long double
acos(long double __x) { return ::acos(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ASINL #if _GLIBCPP_HAVE_ASINL
inline long double asin(long double __x) inline long double
{ return ::asinl(__x); } asin(long double __x) { return ::asinl(__x); }
#else
inline long double
asin(long double __x) { return ::asin(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ATANL #if _GLIBCPP_HAVE_ATANL
inline long double atan(long double __x) inline long double
{ return ::atanl(__x); } atan(long double __x) { return ::atanl(__x); }
#else
inline long double
atan(long double __x) { return ::atan(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_ATAN2L #if _GLIBCPP_HAVE_ATAN2L
inline long double atan2(long double __y, long double __x) inline long double
{ return ::atan2l(__y, __x); } atan2(long double __y, long double __x) { return ::atan2l(__y, __x); }
#else
inline long double
atan2(long double __y, long double __x)
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_CEILL #if _GLIBCPP_HAVE_CEILL
inline long double ceil(long double __x) inline long double
{ return ::ceill(__x); } ceil(long double __x) { return ::ceill(__x); }
#else
inline long double
ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE___BUILTIN_COSL #if _GLIBCPP_HAVE___BUILTIN_COSL
inline long double cos(long double __x) inline long double
{ return __builtin_cosl(__x); } cos(long double __x) { return __builtin_cosl(__x); }
#elif _GLIBCPP_HAVE_COSL #elif _GLIBCPP_HAVE_COSL
inline long double cos(long double __x) inline long double
{ return ::cosl(__x); } cos(long double __x) { return ::cosl(__x); }
#else
inline long double
cos(long double __x) { return ::cos(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_COSHL #if _GLIBCPP_HAVE_COSHL
inline long double cosh(long double __x) inline long double
{ return ::coshl(__x); } cosh(long double __x) { return ::coshl(__x); }
#else
inline long double
cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_EXPL #if _GLIBCPP_HAVE_EXPL
inline long double exp(long double __x) inline long double
{ return ::expl(__x); } exp(long double __x) { return ::expl(__x); }
#else
inline long double
exp(long double __x) { return ::exp(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE___BUILTIN_FABSL #if _GLIBCPP_HAVE___BUILTIN_FABSL
inline long double fabs(long double __x) inline long double
{ return __builtin_fabsl(__x); } fabs(long double __x) { return __builtin_fabsl(__x); }
#elif _GLIBCPP_HAVE_FABSL #elif _GLIBCPP_HAVE_FABSL
inline long double fabs(long double __x) inline long double
{ return ::fabsl(__x); } fabs(long double __x) { return ::fabsl(__x); }
#else
inline long double
fabs(long double __x) { return ::fabs(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_FLOORL #if _GLIBCPP_HAVE_FLOORL
inline long double floor(long double __x) inline long double
{ return ::floorl(__x); } floor(long double __x) { return ::floorl(__x); }
#else
inline long double
floor(long double __x) { return ::floor(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_FMODL #if _GLIBCPP_HAVE_FMODL
inline long double fmod(long double __x, long double __y) inline long double
{ return ::fmodl(__x, __y); } fmod(long double __x, long double __y) { return ::fmodl(__x, __y); }
#else
inline long double
fmod(long double __x, long double __y)
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
#if _GLIBCPP_HAVE_FREXPL #if _GLIBCPP_HAVE_FREXPL
inline long double frexp(long double __x, int* __exp) inline long double
{ return ::frexpl(__x, __exp); } frexp(long double __x, int* __exp) { return ::frexpl(__x, __exp); }
#else
inline long double
frexp(long double __x, int* __exp)
{ return ::frexp(static_cast<double>(__x), __exp); }
#endif #endif
#if _GLIBCPP_HAVE_LDEXPL #if _GLIBCPP_HAVE_LDEXPL
inline long double ldexp(long double __x, int __exp) inline long double
{ return ::ldexpl(__x, __exp); } ldexp(long double __x, int __exp) { return ::ldexpl(__x, __exp); }
#else
inline long double
ldexp(long double __x, int __exp)
{ return ::ldexp(static_cast<double>(__x), __exp); }
#endif #endif
#if _GLIBCPP_HAVE_LOGL #if _GLIBCPP_HAVE_LOGL
inline long double log(long double __x) inline long double
{ return ::logl(__x); } log(long double __x) { return ::logl(__x); }
#else
inline long double
log(long double __x) { return ::log(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_LOG10L #if _GLIBCPP_HAVE_LOG10L
inline long double log10(long double __x) inline long double
{ return ::log10l(__x); } log10(long double __x) { return ::log10l(__x); }
#else
inline long double
log10(long double __x) { return ::log10(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_MODFL #if _GLIBCPP_HAVE_MODFL
inline long double modf(long double __x, long double* __iptr) inline long double
{ return ::modfl(__x, __iptr); } modf(long double __x, long double* __iptr) { return ::modfl(__x, __iptr); }
#else
inline long double
modf(long double __x, long double* __iptr)
{
double __tmp;
double __res = ::modf(static_cast<double>(__x), &__tmp);
* __iptr = static_cast<long double>(__tmp);
return __res;
}
#endif #endif
#if _GLIBCPP_HAVE_POWL #if _GLIBCPP_HAVE_POWL
inline long double pow(long double __x, long double __y) inline long double
{ return ::powl(__x, __y); } pow(long double __x, long double __y) { return ::powl(__x, __y); }
#else
inline long double
pow(long double __x, long double __y)
{ return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
long double pow(long double, int); long double
pow(long double, int);
#if _GLIBCPP_HAVE___BUILTIN_SINL #if _GLIBCPP_HAVE___BUILTIN_SINL
inline long double sin(long double __x) inline long double
{ return __builtin_sinl(__x); } sin(long double __x) { return __builtin_sinl(__x); }
#elif _GLIBCPP_HAVE_SINL #elif _GLIBCPP_HAVE_SINL
inline long double sin(long double __x) inline long double
{ return ::sinl(__x); } sin(long double __x) { return ::sinl(__x); }
#else
inline long double
sin(long double __x) { return ::sin(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_SINHL #if _GLIBCPP_HAVE_SINHL
inline long double sinh(long double __x) inline long double
{ return ::sinhl(__x); } sinh(long double __x) { return ::sinhl(__x); }
#else
inline long double
sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE___BUILTIN_SQRTL #if _GLIBCPP_HAVE___BUILTIN_SQRTL
inline long double sqrt(long double __x) inline long double
{ return __builtin_sqrtl(__x); } sqrt(long double __x) { return __builtin_sqrtl(__x); }
#elif _GLIBCPP_HAVE_SQRTL #elif _GLIBCPP_HAVE_SQRTL
inline long double sqrt(long double __x) inline long double
{ return ::sqrtl(__x); } sqrt(long double __x) { return ::sqrtl(__x); }
#else
inline long double
sqrt(long double __x) { return ::sqrt(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_TANL #if _GLIBCPP_HAVE_TANL
inline long double tan(long double __x) inline long double
{ return ::tanl(__x); } tan(long double __x) { return ::tanl(__x); }
#else
inline long double
tan(long double __x) { return ::tan(static_cast<double>(__x)); }
#endif #endif
#if _GLIBCPP_HAVE_TANHL #if _GLIBCPP_HAVE_TANHL
inline long double tanh(long double __x) inline long double
{ return ::tanhl(__x); } tanh(long double __x) { return ::tanhl(__x); }
#else
inline long double
tanh(long double __x) { return ::tanh(static_cast<double>(__x)); }
#endif #endif
#endif // _GLIBCPP_USE_LONG_DOUBLE
} // std } // std
#endif // _CPP_CMATH #endif // _CPP_CMATH

View File

@ -330,7 +330,6 @@ namespace _C_legacy {
inline double inline double
_CPP_tanh_capture(double __x) { return tanh(__x); } _CPP_tanh_capture(double __x) { return tanh(__x); }
#ifdef _GLIBCPP_USE_LONG_DOUBLE
#if _GLIBCPP_HAVE_ACOSL #if _GLIBCPP_HAVE_ACOSL
inline long double inline long double
_CPP_acos_capture(long double __x) { return acosl(__x); } _CPP_acos_capture(long double __x) { return acosl(__x); }
@ -535,7 +534,6 @@ namespace _C_legacy {
inline long double inline long double
_CPP_tanh_capture(long double __x) { return tanh(static_cast<double>(__x)); } _CPP_tanh_capture(long double __x) { return tanh(static_cast<double>(__x)); }
#endif #endif
#endif // _GLIBCPP_USE_LONG_DOUBLE
} // namespace _C_legacy } // namespace _C_legacy
# undef abs # undef abs
@ -718,7 +716,6 @@ namespace std {
inline double inline double
tanh(double __x) { return _C_legacy::_CPP_tanh_capture(__x); } tanh(double __x) { return _C_legacy::_CPP_tanh_capture(__x); }
#ifdef _GLIBCPP_USE_LONG_DOUBLE
inline long double inline long double
abs(long double __x) { return _C_legacy::_CPP_fabs_capture(__x); } abs(long double __x) { return _C_legacy::_CPP_fabs_capture(__x); }
@ -796,7 +793,6 @@ namespace std {
inline long double inline long double
tanh(long double __x) { return _C_legacy::_CPP_tanh_capture(__x); } tanh(long double __x) { return _C_legacy::_CPP_tanh_capture(__x); }
#endif // _GLIBCPP_USE_LONG_DOUBLE
} // namespace std } // namespace std

View File

@ -1,7 +1,3 @@
#include <bits/c++config.h>
#ifdef _GLIBCPP_USE_LONG_DOUBLE
/* We compile these functions only when we have the long double functions
available. */
#define FLT long double #define FLT long double
#include "complex.cc" #include "complex.cc"
#endif