Commit 22248545 by Phil Edwards

acconfig.h: Update comments.

2001-11-02  Phil Edwards  <pme@gcc.gnu.org>

	* acconfig.h:  Update comments.
	* acinclude.m4 (GLIBCPP_ENABLE_C99):  Move strtoll, strtoull tests...
	(GLIBCPP_ENABLE_LONG_LONG):  ...to here.  Don't check enable_c99.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	* include/bits/boost_concept_check.h:  Unconditionally compile uses
	of 'long long' which require only compiler support, not C lib support.
	* include/bits/cpp_type_traits.h:  Likewise.
	* include/bits/std_limits.h:  Likewise.
	* include/bits/type_traits.h:  Likewise.
	* src/concept-inst.cc:  Likewise.
	* src/limits.cc:  Likewise.
	* include/c_shadow/stdlib.h:  Compile conditionally on _GLIBCPP_USE_C99
	instead of _GLIBCPP_USE_LONG_LONG.
	* include/c_shadow/bits/std_cstdlib.h:  Likewise.

From-SVN: r46723
parent bafe341a
2001-11-02 Phil Edwards <pme@gcc.gnu.org> 2001-11-02 Phil Edwards <pme@gcc.gnu.org>
* acconfig.h: Update comments.
* acinclude.m4 (GLIBCPP_ENABLE_C99): Move strtoll, strtoull tests...
(GLIBCPP_ENABLE_LONG_LONG): ...to here. Don't check enable_c99.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/bits/boost_concept_check.h: Unconditionally compile uses
of 'long long' which require only compiler support, not C lib support.
* include/bits/cpp_type_traits.h: Likewise.
* include/bits/std_limits.h: Likewise.
* include/bits/type_traits.h: Likewise.
* src/concept-inst.cc: Likewise.
* src/limits.cc: Likewise.
* include/c_shadow/stdlib.h: Compile conditionally on _GLIBCPP_USE_C99
instead of _GLIBCPP_USE_LONG_LONG.
* include/c_shadow/bits/std_cstdlib.h: Likewise.
2001-11-02 Phil Edwards <pme@gcc.gnu.org>
* config/io/c_io_stdio.h: Correct grammar in comments. * config/io/c_io_stdio.h: Correct grammar in comments.
* docs/doxygen/Intro.3: Expand "top-level" man page. * docs/doxygen/Intro.3: Expand "top-level" man page.
* docs/doxygen/doxygroups.cc: New module definitions (comments). * docs/doxygen/doxygroups.cc: New module definitions (comments).
......
...@@ -10,16 +10,16 @@ ...@@ -10,16 +10,16 @@
#undef HAVE_GETTEXT #undef HAVE_GETTEXT
#undef HAVE_STPCPY #undef HAVE_STPCPY
// Define if GCC supports weak symbols // Define if GCC supports weak symbols.
#undef _GLIBCPP_SUPPORTS_WEAK #undef _GLIBCPP_SUPPORTS_WEAK
// Define if gthr-default.h exists (meaning that threading support is enabled) // Define if gthr-default.h exists (meaning that threading support is enabled).
#undef HAVE_GTHR_DEFAULT #undef HAVE_GTHR_DEFAULT
// Include support for 'long long' and 'unsigned long long'. // Include I/O support for 'long long' and 'unsigned long long'.
#undef _GLIBCPP_USE_LONG_LONG #undef _GLIBCPP_USE_LONG_LONG
// Define if code specialized for wchar_t should be used. // Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
#undef _GLIBCPP_USE_C99 #undef _GLIBCPP_USE_C99
// Include support for 'long double'. // Include support for 'long double'.
......
...@@ -1433,10 +1433,6 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl ...@@ -1433,10 +1433,6 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl
[char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no]) [char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no]) [char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtoll("gnu", &tmp, 10);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtoull("gnu", &tmp, 10);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], [llabs(10);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include <stdlib.h>], [llabs(10);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], [lldiv(10,1);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include <stdlib.h>], [lldiv(10,1);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], [atoll("10");],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include <stdlib.h>], [atoll("10");],, [ac_c99_stdlib=no])
...@@ -1478,7 +1474,8 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl ...@@ -1478,7 +1474,8 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl
dnl dnl
dnl Check for template specializations for the 'long long' type extension. dnl Check for template specializations for the 'long long' type extension.
dnl NB: Must check for C99 support before calling _GLIBCPP_ENABLE_LONG_LONG dnl The result determines only whether 'long long' I/O is enabled; things
dnl like numeric_limits<> specializations are always available.
dnl dnl
dnl GLIBCPP_ENABLE_LONG_LONG dnl GLIBCPP_ENABLE_LONG_LONG
dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG
...@@ -1503,15 +1500,15 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl ...@@ -1503,15 +1500,15 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
esac], esac],
enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl
# iostreams require strtoll, strtoull to compile. If the AC_MSG_CHECKING([for enabled long long I/O support])
# GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled,
# go ahead and allow long long to be used. # iostreams require strtoll, strtoull to compile
if test x"$enable_c99" = x"no"; then AC_TRY_COMPILE([#include <stdlib.h>],
enable_long_long=no; [char* tmp; strtoll("gnu", &tmp, 10);],,[enable_long_long=no])
fi AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtoull("gnu", &tmp, 10);],,[enable_long_long=no])
# Option parsed, now set things appropriately # Option parsed, now set things appropriately
AC_MSG_CHECKING([for enabled long long support])
if test x"$enable_long_long" = xyes; then if test x"$enable_long_long" = xyes; then
AC_DEFINE(_GLIBCPP_USE_LONG_LONG) AC_DEFINE(_GLIBCPP_USE_LONG_LONG)
fi fi
......
...@@ -1445,10 +1445,6 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl ...@@ -1445,10 +1445,6 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl
[char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no]) [char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no]) [char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtoll("gnu", &tmp, 10);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtoull("gnu", &tmp, 10);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], [llabs(10);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include <stdlib.h>], [llabs(10);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], [lldiv(10,1);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include <stdlib.h>], [lldiv(10,1);],, [ac_c99_stdlib=no])
AC_TRY_COMPILE([#include <stdlib.h>], [atoll("10");],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include <stdlib.h>], [atoll("10");],, [ac_c99_stdlib=no])
...@@ -1490,7 +1486,8 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl ...@@ -1490,7 +1486,8 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl
dnl dnl
dnl Check for template specializations for the 'long long' type extension. dnl Check for template specializations for the 'long long' type extension.
dnl NB: Must check for C99 support before calling _GLIBCPP_ENABLE_LONG_LONG dnl The result determines only whether 'long long' I/O is enabled; things
dnl like numeric_limits<> specializations are always available.
dnl dnl
dnl GLIBCPP_ENABLE_LONG_LONG dnl GLIBCPP_ENABLE_LONG_LONG
dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG
...@@ -1515,15 +1512,15 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl ...@@ -1515,15 +1512,15 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
esac], esac],
enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl
# iostreams require strtoll, strtoull to compile. If the AC_MSG_CHECKING([for enabled long long I/O support])
# GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled,
# go ahead and allow long long to be used. # iostreams require strtoll, strtoull to compile
if test x"$enable_c99" = x"no"; then AC_TRY_COMPILE([#include <stdlib.h>],
enable_long_long=no; [char* tmp; strtoll("gnu", &tmp, 10);],,[enable_long_long=no])
fi AC_TRY_COMPILE([#include <stdlib.h>],
[char* tmp; strtoull("gnu", &tmp, 10);],,[enable_long_long=no])
# Option parsed, now set things appropriately # Option parsed, now set things appropriately
AC_MSG_CHECKING([for enabled long long support])
if test x"$enable_long_long" = xyes; then if test x"$enable_long_long" = xyes; then
AC_DEFINE(_GLIBCPP_USE_LONG_LONG) AC_DEFINE(_GLIBCPP_USE_LONG_LONG)
fi fi
......
...@@ -6,16 +6,16 @@ ...@@ -6,16 +6,16 @@
/* Define if you need to in order for stat and other things to work. */ /* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE #undef _POSIX_SOURCE
// Define if GCC supports weak symbols // Define if GCC supports weak symbols.
#undef _GLIBCPP_SUPPORTS_WEAK #undef _GLIBCPP_SUPPORTS_WEAK
// Define if gthr-default.h exists (meaning that threading support is enabled) // Define if gthr-default.h exists (meaning that threading support is enabled).
#undef HAVE_GTHR_DEFAULT #undef HAVE_GTHR_DEFAULT
// Include support for 'long long' and 'unsigned long long'. // Include I/O support for 'long long' and 'unsigned long long'.
#undef _GLIBCPP_USE_LONG_LONG #undef _GLIBCPP_USE_LONG_LONG
// Define if code specialized for wchar_t should be used. // Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
#undef _GLIBCPP_USE_C99 #undef _GLIBCPP_USE_C99
// Include support for shadow headers, ie --enable-cshadow-headers. // Include support for shadow headers, ie --enable-cshadow-headers.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -97,11 +97,9 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; }; ...@@ -97,11 +97,9 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
template <> struct _IntegerConcept<unsigned int> { void __constraints() {} }; template <> struct _IntegerConcept<unsigned int> { void __constraints() {} };
template <> struct _IntegerConcept<long> { void __constraints() {} }; template <> struct _IntegerConcept<long> { void __constraints() {} };
template <> struct _IntegerConcept<unsigned long> { void __constraints() {} }; template <> struct _IntegerConcept<unsigned long> { void __constraints() {} };
#ifdef _GLIBCPP_USE_LONG_LONG
template <> struct _IntegerConcept<long long> { void __constraints() {} }; template <> struct _IntegerConcept<long long> { void __constraints() {} };
template <> struct _IntegerConcept<unsigned long long> template <> struct _IntegerConcept<unsigned long long>
{ void __constraints() {} }; { void __constraints() {} };
#endif
template <class _Tp> template <class _Tp>
struct _SignedIntegerConcept { struct _SignedIntegerConcept {
...@@ -112,9 +110,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; }; ...@@ -112,9 +110,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
template <> struct _SignedIntegerConcept<short> { void __constraints() {} }; template <> struct _SignedIntegerConcept<short> { void __constraints() {} };
template <> struct _SignedIntegerConcept<int> { void __constraints() {} }; template <> struct _SignedIntegerConcept<int> { void __constraints() {} };
template <> struct _SignedIntegerConcept<long> { void __constraints() {} }; template <> struct _SignedIntegerConcept<long> { void __constraints() {} };
#ifdef _GLIBCPP_USE_LONG_LONG
template <> struct _SignedIntegerConcept<long long> { void __constraints(){}}; template <> struct _SignedIntegerConcept<long long> { void __constraints(){}};
#endif
template <class _Tp> template <class _Tp>
struct _UnsignedIntegerConcept { struct _UnsignedIntegerConcept {
...@@ -128,10 +124,8 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; }; ...@@ -128,10 +124,8 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
{ void __constraints() {} }; { void __constraints() {} };
template <> struct _UnsignedIntegerConcept<unsigned long> template <> struct _UnsignedIntegerConcept<unsigned long>
{ void __constraints() {} }; { void __constraints() {} };
#ifdef _GLIBCPP_USE_LONG_LONG
template <> struct _UnsignedIntegerConcept<unsigned long long> template <> struct _UnsignedIntegerConcept<unsigned long long>
{ void __constraints() {} }; { void __constraints() {} };
#endif
//=========================================================================== //===========================================================================
// Basic Concepts // Basic Concepts
......
...@@ -200,7 +200,6 @@ namespace std ...@@ -200,7 +200,6 @@ namespace std
}; };
}; };
# ifdef _GLIBCPP_USE_LONG_LONG
template<> template<>
struct __is_integer<long long> struct __is_integer<long long>
{ {
...@@ -218,7 +217,6 @@ namespace std ...@@ -218,7 +217,6 @@ namespace std
_M_type = 1 _M_type = 1
}; };
}; };
# endif
// //
// Floating point types // Floating point types
......
...@@ -103,11 +103,9 @@ ...@@ -103,11 +103,9 @@
#ifndef __glibcpp_wchar_t_is_signed #ifndef __glibcpp_wchar_t_is_signed
#define __glibcpp_wchar_t_is_signed true #define __glibcpp_wchar_t_is_signed true
#endif #endif
#ifdef _GLIBCPP_USE_LONG_LONG
#ifndef __glibcpp_long_long_bits #ifndef __glibcpp_long_long_bits
#define __glibcpp_long_long_bits 64 #define __glibcpp_long_long_bits 64
#endif #endif
#endif
#ifndef __glibcpp_float_bits #ifndef __glibcpp_float_bits
#define __glibcpp_float_bits 32 #define __glibcpp_float_bits 32
#endif #endif
...@@ -133,11 +131,9 @@ ...@@ -133,11 +131,9 @@
#ifndef __glibcpp_wchar_t_traps #ifndef __glibcpp_wchar_t_traps
#define __glibcpp_wchar_t_traps true #define __glibcpp_wchar_t_traps true
#endif #endif
#ifdef _GLIBCPP_USE_LONG_LONG
#ifndef __glibcpp_long_long_traps #ifndef __glibcpp_long_long_traps
#define __glibcpp_long_long_traps true #define __glibcpp_long_long_traps true
#endif #endif
#endif
// You should not need to define any macros below this point, unless // You should not need to define any macros below this point, unless
// you have a machine with non-standard bit-widths. // you have a machine with non-standard bit-widths.
...@@ -433,8 +429,6 @@ ...@@ -433,8 +429,6 @@
// You must define these macros in the configuration file. // You must define these macros in the configuration file.
#endif #endif
#ifdef _GLIBCPP_USE_LONG_LONG
// long long // long long
#define __glibcpp_signed_long_long_traps true #define __glibcpp_signed_long_long_traps true
...@@ -481,8 +475,6 @@ ...@@ -481,8 +475,6 @@
// You must define these macros in the configuration file. // You must define these macros in the configuration file.
#endif #endif
#endif
// wchar_t // wchar_t
#define __glibcpp_wchar_t_traps true #define __glibcpp_wchar_t_traps true
...@@ -1645,8 +1637,6 @@ namespace std ...@@ -1645,8 +1637,6 @@ namespace std
#undef __glibcpp_unsigned_long_digits10 #undef __glibcpp_unsigned_long_digits10
#undef __glibcpp_unsigned_long_traps #undef __glibcpp_unsigned_long_traps
#ifdef _GLIBCPP_USE_LONG_LONG
template<> template<>
struct numeric_limits<long long> struct numeric_limits<long long>
{ {
...@@ -1757,9 +1747,6 @@ namespace std ...@@ -1757,9 +1747,6 @@ namespace std
#undef __glibcpp_unsigned_long_long_digits #undef __glibcpp_unsigned_long_long_digits
#undef __glibcpp_unsigned_long_long_digits10 #undef __glibcpp_unsigned_long_long_digits10
#undef __glibcpp_unsigned_long_long_traps #undef __glibcpp_unsigned_long_long_traps
#endif // _GLIBCPP_USE_LONG_LONG
template<> template<>
struct numeric_limits<float> struct numeric_limits<float>
......
...@@ -208,8 +208,6 @@ template<> struct __type_traits<unsigned long> { ...@@ -208,8 +208,6 @@ template<> struct __type_traits<unsigned long> {
typedef __true_type is_POD_type; typedef __true_type is_POD_type;
}; };
#ifdef _GLIBCPP_USE_LONG_LONG
template<> struct __type_traits<long long> { template<> struct __type_traits<long long> {
typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_copy_constructor;
...@@ -226,8 +224,6 @@ template<> struct __type_traits<unsigned long long> { ...@@ -226,8 +224,6 @@ template<> struct __type_traits<unsigned long long> {
typedef __true_type is_POD_type; typedef __true_type is_POD_type;
}; };
#endif /* _GLIBCPP_USE_LONG_LONG */
template<> struct __type_traits<float> { template<> struct __type_traits<float> {
typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_copy_constructor;
...@@ -313,8 +309,6 @@ template<> struct _Is_integer<unsigned long> { ...@@ -313,8 +309,6 @@ template<> struct _Is_integer<unsigned long> {
typedef __true_type _Integral; typedef __true_type _Integral;
}; };
#ifdef _GLIBCPP_USE_LONG_LONG
template<> struct _Is_integer<long long> { template<> struct _Is_integer<long long> {
typedef __true_type _Integral; typedef __true_type _Integral;
}; };
...@@ -323,8 +317,6 @@ template<> struct _Is_integer<unsigned long long> { ...@@ -323,8 +317,6 @@ template<> struct _Is_integer<unsigned long long> {
typedef __true_type _Integral; typedef __true_type _Integral;
}; };
#endif /* _GLIBCPP_USE_LONG_LONG */
template<typename _Tp> struct _Is_normal_iterator { template<typename _Tp> struct _Is_normal_iterator {
typedef __false_type _Normal; typedef __false_type _Normal;
}; };
......
...@@ -87,7 +87,7 @@ namespace _C_legacy { ...@@ -87,7 +87,7 @@ namespace _C_legacy {
# undef div # undef div
# undef labs # undef labs
# undef ldiv # undef ldiv
#ifdef _GLIBCPP_USE_LONG_LONG #ifdef _GLIBCPP_USE_C99
# undef llabs # undef llabs
# undef lldiv # undef lldiv
#endif #endif
...@@ -101,7 +101,7 @@ namespace std { ...@@ -101,7 +101,7 @@ namespace std {
struct div_t : _C_legacy::_CPP_div_t_capture { }; struct div_t : _C_legacy::_CPP_div_t_capture { };
struct ldiv_t : _C_legacy::_CPP_ldiv_t_capture { }; struct ldiv_t : _C_legacy::_CPP_ldiv_t_capture { };
#ifdef _GLIBCPP_USE_LONG_LONG #ifdef _GLIBCPP_USE_C99
# ifdef _GLIBCPP_HAVE_LLDIV_T # ifdef _GLIBCPP_HAVE_LLDIV_T
struct lldiv_t : _C_legacy::_CPP_lldiv_t_capture { }; struct lldiv_t : _C_legacy::_CPP_lldiv_t_capture { };
# else # else
...@@ -173,7 +173,7 @@ namespace std { ...@@ -173,7 +173,7 @@ namespace std {
div(long __n, long __d) div(long __n, long __d)
{ ldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } { ldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
#ifdef _GLIBCPP_USE_LONG_LONG #ifdef _GLIBCPP_USE_C99
inline long long inline long long
llabs(long long __x) { return __x >= 0 ? __x : -__x; } llabs(long long __x) { return __x >= 0 ? __x : -__x; }
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
// some names and types with the std:: C++ version. // some names and types with the std:: C++ version.
using std::div_t; using std::div_t;
using std::ldiv_t; using std::ldiv_t;
#ifdef _GLIBCPP_USE_LONG_LONG #ifdef _GLIBCPP_USE_C99
using std::lldiv_t; using std::lldiv_t;
#endif #endif
......
...@@ -94,9 +94,7 @@ namespace __gnu_cxx ...@@ -94,9 +94,7 @@ namespace __gnu_cxx
_Instantiate(_LessThanComparableConcept<long> ); _Instantiate(_LessThanComparableConcept<long> );
#ifdef _GLIBCPP_USE_LONG_LONG
_Instantiate(_LessThanComparableConcept<long long> ); _Instantiate(_LessThanComparableConcept<long long> );
#endif
_Instantiate(_LessThanComparableConcept<unsigned> ); _Instantiate(_LessThanComparableConcept<unsigned> );
......
...@@ -305,8 +305,7 @@ namespace std ...@@ -305,8 +305,7 @@ namespace std
const bool numeric_limits<unsigned long>::tinyness_before; const bool numeric_limits<unsigned long>::tinyness_before;
const float_round_style numeric_limits<unsigned long>::round_style; const float_round_style numeric_limits<unsigned long>::round_style;
// XXX: Extensions // NOTA BENE: long long is an extension
#ifdef _GLIBCPP_USE_LONG_LONG
const bool numeric_limits<long long>::is_specialized; const bool numeric_limits<long long>::is_specialized;
const int numeric_limits<long long>::digits; const int numeric_limits<long long>::digits;
const int numeric_limits<long long>::digits10; const int numeric_limits<long long>::digits10;
...@@ -352,7 +351,6 @@ namespace std ...@@ -352,7 +351,6 @@ namespace std
const bool numeric_limits<unsigned long long>::traps; const bool numeric_limits<unsigned long long>::traps;
const bool numeric_limits<unsigned long long>::tinyness_before; const bool numeric_limits<unsigned long long>::tinyness_before;
const float_round_style numeric_limits<unsigned long long>::round_style; const float_round_style numeric_limits<unsigned long long>::round_style;
#endif // _GLIBCPP_USE_LONG_LONG
// float // float
const bool numeric_limits<float>::is_specialized; const bool numeric_limits<float>::is_specialized;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment