Use Solaris prototypes if possible (PR libstdc++-v3/1773)
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r177866
This commit is contained in:
parent
9181a6e5b0
commit
a1998fab44
@ -1,3 +1,63 @@
|
||||
2011-08-18 Marc Glisse <marc.glisse@normalesup.org>
|
||||
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
PR libstdc++-v3/1773
|
||||
* config/os/solaris2.7: Rename to config/os/solaris2.9.
|
||||
* config/os/solaris/solaris2.9/os_defines.h
|
||||
(__CORRECT_ISO_CPP_MATH_H_PROTO1)
|
||||
(__CORRECT_ISO_CPP_STDLIB_H_PROTO)
|
||||
(__CORRECT_ISO_CPP_STRING_H_PROTO)
|
||||
(__CORRECT_ISO_CPP_WCHAR_H_PROTO): Define.
|
||||
* config/os/solaris2.8/ctype_base.h,
|
||||
config/os/solaris2.8/ctype_configure_char.cc,
|
||||
config/solaris2.8/ctype_inline.h,
|
||||
config/os/solaris2.8/os_defines.h: New files.
|
||||
|
||||
* configure.host (solaris2.[89], solaris2.1[0-9]):
|
||||
Split into ...
|
||||
(solaris2.8): ... this.
|
||||
Use os/solaris/solaris2.8.
|
||||
(solaris2.9, solaris2.1[0-9]): ... and this.
|
||||
Use os/solaris/solaris2.9.
|
||||
|
||||
* include/c_global/cmath (double abs(double)): Wrap in
|
||||
!__CORRECT_ISO_CPP_MATH_H_PROTO1 &&
|
||||
!__CORRECT_ISO_CPP_MATH_H_PROTO2.
|
||||
(float abs(float), long double abs(long double): Wrap in
|
||||
!__CORRECT_ISO_CPP_MATH_H_PROTO1.
|
||||
(float acos(float), long double acos(long double)): Likewise.
|
||||
(float asin(float), long double asin(long double)): Likewise.
|
||||
(float atan(float), long double atan(long double)): Likewise.
|
||||
(float atan2(float, float), long double atan2(long double, long
|
||||
double)): Likewise.
|
||||
(float ceil(float), long double ceil(long double)): Likewise.
|
||||
(float cos(float), long double cos(long double)): Likewise.
|
||||
(float cosh(float), long double cosh(long double)): Likewise.
|
||||
(float exp(float), long double exp(long double)): Likewise.
|
||||
(float fabs(float), long double fabs(long double)): Likewise.
|
||||
(float floor(float), long double floor(long double)): Likewise.
|
||||
(float fmod(float, float), long double fmod(long double, long
|
||||
double)): Likewise.
|
||||
(float frexp(float, int*), long double frexp(long double, int*)):
|
||||
Likewise.
|
||||
(float ldexp(float, int), long double ldexp(long double, int)):
|
||||
Likewise.
|
||||
(float log(float), long double log(long double)): Likewise.
|
||||
(float log10(float), long double log10(long double)): Likewise.
|
||||
(float modf(float, float*), long double modf(long double, long
|
||||
double*))): Likewise.
|
||||
(float pow(float, float), long double pow(long double, long
|
||||
double)): Likewise.
|
||||
(float sin(float), long double sin(long double)): Likewise.
|
||||
(float sinh(float), long double sinh(long double)): Likewise.
|
||||
(float sqrt(float), long double sqrt(long double)): Likewise.
|
||||
(float tan(float), long double tan(long double)): Likewise.
|
||||
(float tanh(float), long double tanh(long double)): Likewise.
|
||||
* include/c_global/cstdlib (long abs(long), ldiv_t div(long,
|
||||
long)): Wrap in !__CORRECT_ISO_CPP_STDLIB_H_PROTO.
|
||||
* include/tr1/cmath (float fabs(float), long double fabs(long
|
||||
double)): Wrap in !__CORRECT_ISO_CPP_MATH_H_PROTO1.
|
||||
|
||||
2011-08-14 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* doc/xml/images/*: Image and image filename changes.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Specific definitions for Solaris 7,8 -*- C++ -*-
|
||||
// Specific definitions for Solaris 8 -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000, 2002, 2005, 2009 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2000, 2002, 2005, 2009, 2011 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
@ -28,5 +28,12 @@
|
||||
// System-specific #define, typedefs, corrections, etc, go here. This
|
||||
// file will come before all others.
|
||||
|
||||
// FIXME: Autoconf if possible.
|
||||
#if __cplusplus >= 199711L
|
||||
#define __CORRECT_ISO_CPP_MATH_H_PROTO2
|
||||
#define __CORRECT_ISO_CPP_STRING_H_PROTO
|
||||
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
60
libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h
Normal file
60
libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h
Normal file
@ -0,0 +1,60 @@
|
||||
// Locale support -*- C++ -*-
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2003, 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.1 Locales
|
||||
//
|
||||
|
||||
// Information as gleaned from /usr/include/ctype.h. Looks like this
|
||||
// only works with solaris2.7 and solaris2.8. Thanks for not changing
|
||||
// things, sun engineers!
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
/// @brief Base class for ctype.
|
||||
struct ctype_base
|
||||
{
|
||||
// Non-standard typedefs.
|
||||
typedef int* __to_type;
|
||||
|
||||
// NB: Offsets into ctype<char>::_M_table force a particular size
|
||||
// on the mask type. Because of this, we don't use an enum.
|
||||
typedef unsigned int mask;
|
||||
static const mask upper = _ISUPPER;
|
||||
static const mask lower = _ISLOWER;
|
||||
static const mask alpha = _ISALPHA;
|
||||
static const mask digit = _ISDIGIT;
|
||||
static const mask xdigit = _ISXDIGIT;
|
||||
static const mask space = _ISSPACE;
|
||||
static const mask print = _ISPRINT;
|
||||
static const mask graph = _ISALPHA | _ISDIGIT | _ISPUNCT;
|
||||
static const mask cntrl = _ISCNTRL;
|
||||
static const mask punct = _ISPUNCT;
|
||||
static const mask alnum = _ISALPHA | _ISDIGIT;
|
||||
};
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
@ -0,0 +1,99 @@
|
||||
// Locale support -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2011 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
/** @file ctype_configure_char.cc */
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.1 Locales
|
||||
//
|
||||
|
||||
#include <locale>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
// Information as gleaned from /usr/include/ctype.h
|
||||
|
||||
const ctype_base::mask*
|
||||
ctype<char>::classic_table() throw()
|
||||
{ return __ctype_mask; }
|
||||
|
||||
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
|
||||
size_t __refs)
|
||||
: facet(__refs), _M_del(__table != 0 && __del),
|
||||
_M_toupper(__trans_upper), _M_tolower(__trans_lower),
|
||||
_M_table(__table ? __table : classic_table())
|
||||
{
|
||||
memset(_M_widen, 0, sizeof(_M_widen));
|
||||
_M_widen_ok = 0;
|
||||
memset(_M_narrow, 0, sizeof(_M_narrow));
|
||||
_M_narrow_ok = 0;
|
||||
}
|
||||
|
||||
ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
|
||||
: facet(__refs), _M_del(__table != 0 && __del),
|
||||
_M_toupper(__trans_upper), _M_tolower(__trans_lower),
|
||||
_M_table(__table ? __table : classic_table())
|
||||
{
|
||||
memset(_M_widen, 0, sizeof(_M_widen));
|
||||
_M_widen_ok = 0;
|
||||
memset(_M_narrow, 0, sizeof(_M_narrow));
|
||||
_M_narrow_ok = 0;
|
||||
}
|
||||
|
||||
char
|
||||
ctype<char>::do_toupper(char __c) const
|
||||
{ return _M_toupper[static_cast<unsigned char>(__c)]; }
|
||||
|
||||
const char*
|
||||
ctype<char>::do_toupper(char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high)
|
||||
{
|
||||
*__low = _M_toupper[static_cast<unsigned char>(*__low)];
|
||||
++__low;
|
||||
}
|
||||
return __high;
|
||||
}
|
||||
|
||||
char
|
||||
ctype<char>::do_tolower(char __c) const
|
||||
{ return _M_tolower[static_cast<unsigned char>(__c)]; }
|
||||
|
||||
const char*
|
||||
ctype<char>::do_tolower(char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high)
|
||||
{
|
||||
*__low = _M_tolower[static_cast<unsigned char>(*__low)];
|
||||
++__low;
|
||||
}
|
||||
return __high;
|
||||
}
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
76
libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h
Normal file
76
libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h
Normal file
@ -0,0 +1,76 @@
|
||||
// Locale support -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000, 2002, 2009, 2010 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
/** @file bits/ctype_inline.h
|
||||
* This is an internal header file, included by other library headers.
|
||||
* Do not attempt to use it directly. @headername{locale}
|
||||
*/
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.1 Locales
|
||||
//
|
||||
|
||||
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
|
||||
// functions go in ctype.cc
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
bool
|
||||
ctype<char>::
|
||||
is(mask __m, char __c) const
|
||||
{ return _M_table[static_cast<unsigned char>(__c)] & __m; }
|
||||
|
||||
const char*
|
||||
ctype<char>::
|
||||
is(const char* __low, const char* __high, mask* __vec) const
|
||||
{
|
||||
while (__low < __high)
|
||||
*__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
|
||||
return __high;
|
||||
}
|
||||
|
||||
const char*
|
||||
ctype<char>::
|
||||
scan_is(mask __m, const char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high
|
||||
&& !(_M_table[static_cast<unsigned char>(*__low)] & __m))
|
||||
++__low;
|
||||
return __low;
|
||||
}
|
||||
|
||||
const char*
|
||||
ctype<char>::
|
||||
scan_not(mask __m, const char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high
|
||||
&& (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
|
||||
++__low;
|
||||
return __low;
|
||||
}
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
40
libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h
Normal file
40
libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h
Normal file
@ -0,0 +1,40 @@
|
||||
// Specific definitions for Solaris 9+ -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000, 2002, 2005, 2009, 2011 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef _GLIBCXX_OS_DEFINES
|
||||
#define _GLIBCXX_OS_DEFINES 1
|
||||
|
||||
// System-specific #define, typedefs, corrections, etc, go here. This
|
||||
// file will come before all others.
|
||||
|
||||
// FIXME: Autoconf if possible.
|
||||
#if __cplusplus >= 199711L
|
||||
#define __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
#define __CORRECT_ISO_CPP_STDLIB_H_PROTO
|
||||
#define __CORRECT_ISO_CPP_STRING_H_PROTO
|
||||
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -284,8 +284,11 @@ case "${host_os}" in
|
||||
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
|
||||
exit 1
|
||||
;;
|
||||
solaris2.[89] | solaris2.1[0-9])
|
||||
os_include_dir="os/solaris/solaris2.7"
|
||||
solaris2.8)
|
||||
os_include_dir="os/solaris/solaris2.8"
|
||||
;;
|
||||
solaris2.9 | solaris2.1[0-9])
|
||||
os_include_dir="os/solaris/solaris2.9"
|
||||
;;
|
||||
tpf)
|
||||
os_include_dir="os/tpf"
|
||||
|
@ -78,10 +78,14 @@ namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
#if !defined(__CORRECT_ISO_CPP_MATH_H_PROTO1) \
|
||||
&& !defined(__CORRECT_ISO_CPP_MATH_H_PROTO2)
|
||||
inline _GLIBCXX_CONSTEXPR double
|
||||
abs(double __x)
|
||||
{ return __builtin_fabs(__x); }
|
||||
#endif
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
abs(float __x)
|
||||
{ return __builtin_fabsf(__x); }
|
||||
@ -89,6 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
abs(long double __x)
|
||||
{ return __builtin_fabsl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -99,6 +104,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::acos;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
acos(float __x)
|
||||
{ return __builtin_acosf(__x); }
|
||||
@ -106,6 +112,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
acos(long double __x)
|
||||
{ return __builtin_acosl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -116,6 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::asin;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
asin(float __x)
|
||||
{ return __builtin_asinf(__x); }
|
||||
@ -123,6 +131,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
asin(long double __x)
|
||||
{ return __builtin_asinl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -133,6 +142,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::atan;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
atan(float __x)
|
||||
{ return __builtin_atanf(__x); }
|
||||
@ -140,6 +150,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
atan(long double __x)
|
||||
{ return __builtin_atanl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -150,6 +161,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::atan2;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
atan2(float __y, float __x)
|
||||
{ return __builtin_atan2f(__y, __x); }
|
||||
@ -157,6 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
atan2(long double __y, long double __x)
|
||||
{ return __builtin_atan2l(__y, __x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp, typename _Up>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -172,6 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::ceil;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
ceil(float __x)
|
||||
{ return __builtin_ceilf(__x); }
|
||||
@ -179,6 +193,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
ceil(long double __x)
|
||||
{ return __builtin_ceill(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -189,6 +204,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::cos;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
cos(float __x)
|
||||
{ return __builtin_cosf(__x); }
|
||||
@ -196,6 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
cos(long double __x)
|
||||
{ return __builtin_cosl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -206,6 +223,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::cosh;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
cosh(float __x)
|
||||
{ return __builtin_coshf(__x); }
|
||||
@ -213,6 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
cosh(long double __x)
|
||||
{ return __builtin_coshl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -223,6 +242,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::exp;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
exp(float __x)
|
||||
{ return __builtin_expf(__x); }
|
||||
@ -230,6 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
exp(long double __x)
|
||||
{ return __builtin_expl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -240,6 +261,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::fabs;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
fabs(float __x)
|
||||
{ return __builtin_fabsf(__x); }
|
||||
@ -247,6 +269,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
fabs(long double __x)
|
||||
{ return __builtin_fabsl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -257,6 +280,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::floor;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
floor(float __x)
|
||||
{ return __builtin_floorf(__x); }
|
||||
@ -264,6 +288,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
floor(long double __x)
|
||||
{ return __builtin_floorl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -274,6 +299,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::fmod;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
fmod(float __x, float __y)
|
||||
{ return __builtin_fmodf(__x, __y); }
|
||||
@ -281,6 +307,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
fmod(long double __x, long double __y)
|
||||
{ return __builtin_fmodl(__x, __y); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp, typename _Up>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -296,6 +323,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::frexp;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
frexp(float __x, int* __exp)
|
||||
{ return __builtin_frexpf(__x, __exp); }
|
||||
@ -303,6 +331,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
frexp(long double __x, int* __exp)
|
||||
{ return __builtin_frexpl(__x, __exp); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -313,6 +342,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::ldexp;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
ldexp(float __x, int __exp)
|
||||
{ return __builtin_ldexpf(__x, __exp); }
|
||||
@ -320,6 +350,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
ldexp(long double __x, int __exp)
|
||||
{ return __builtin_ldexpl(__x, __exp); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -330,6 +361,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::log;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
log(float __x)
|
||||
{ return __builtin_logf(__x); }
|
||||
@ -337,6 +369,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
log(long double __x)
|
||||
{ return __builtin_logl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -347,6 +380,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::log10;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
log10(float __x)
|
||||
{ return __builtin_log10f(__x); }
|
||||
@ -354,6 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
log10(long double __x)
|
||||
{ return __builtin_log10l(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -364,6 +399,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::modf;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
modf(float __x, float* __iptr)
|
||||
{ return __builtin_modff(__x, __iptr); }
|
||||
@ -371,9 +407,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
modf(long double __x, long double* __iptr)
|
||||
{ return __builtin_modfl(__x, __iptr); }
|
||||
#endif
|
||||
|
||||
using ::pow;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
pow(float __x, float __y)
|
||||
{ return __builtin_powf(__x, __y); }
|
||||
@ -396,6 +434,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline long double
|
||||
pow(long double __x, int __n)
|
||||
{ return __builtin_powil(__x, __n); }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
template<typename _Tp, typename _Up>
|
||||
@ -412,6 +451,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::sin;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
sin(float __x)
|
||||
{ return __builtin_sinf(__x); }
|
||||
@ -419,6 +459,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
sin(long double __x)
|
||||
{ return __builtin_sinl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -429,6 +470,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::sinh;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
sinh(float __x)
|
||||
{ return __builtin_sinhf(__x); }
|
||||
@ -436,6 +478,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
sinh(long double __x)
|
||||
{ return __builtin_sinhl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -446,6 +489,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::sqrt;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
sqrt(float __x)
|
||||
{ return __builtin_sqrtf(__x); }
|
||||
@ -453,6 +497,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
sqrt(long double __x)
|
||||
{ return __builtin_sqrtl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -463,6 +508,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::tan;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
tan(float __x)
|
||||
{ return __builtin_tanf(__x); }
|
||||
@ -470,6 +516,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
tan(long double __x)
|
||||
{ return __builtin_tanl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
@ -480,6 +527,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
using ::tanh;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline _GLIBCXX_CONSTEXPR float
|
||||
tanh(float __x)
|
||||
{ return __builtin_tanhf(__x); }
|
||||
@ -487,6 +535,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
inline _GLIBCXX_CONSTEXPR long double
|
||||
tanh(long double __x)
|
||||
{ return __builtin_tanhl(__x); }
|
||||
#endif
|
||||
|
||||
template<typename _Tp>
|
||||
inline _GLIBCXX_CONSTEXPR
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- C++ -*- forwarding header.
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||
// 2006, 2007, 2008, 2009, 2010
|
||||
// 2006, 2007, 2008, 2009, 2010, 2011
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
@ -135,11 +135,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
using ::wctomb;
|
||||
#endif // _GLIBCXX_USE_WCHAR_T
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO
|
||||
inline long
|
||||
abs(long __i) { return labs(__i); }
|
||||
|
||||
inline ldiv_t
|
||||
div(long __i, long __j) { return ldiv(__i, __j); }
|
||||
#endif
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
||||
|
@ -569,6 +569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
// mode have a different return type.
|
||||
using ::fabs;
|
||||
|
||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
inline float
|
||||
fabs(float __x)
|
||||
{ return __builtin_fabsf(__x); }
|
||||
@ -582,6 +583,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
double>::__type
|
||||
fabs(_Tp __x)
|
||||
{ return __builtin_fabs(__x); }
|
||||
#endif
|
||||
|
||||
inline float
|
||||
fdim(float __x, float __y)
|
||||
|
Loading…
x
Reference in New Issue
Block a user