Commit 6ad8f949 by Richard Henderson Committed by Richard Henderson

std_limits.h (__glibcpp_plain_char_is_signed, [...]): Remove.

	* include/std/std_limits.h (__glibcpp_plain_char_is_signed,
	__glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min,
	__glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min,
	__glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10,
	__glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits,
	__glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max,
	__glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max,
	__glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10,
	__glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits,
	__glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min,
	__glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min,
	__glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10,
	__glibcpp_bool_digits, __glibcpp_signed_char_min,
	__glibcpp_signed_char_max, __glibcpp_signed_char_digits,
	__glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min,
	__glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits,
	__glibcpp_unsigned_char_digits10, __glibcpp_char_min,
	__glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10,
	__glibcpp_signed_short_min, __glibcpp_signed_short_max,
	__glibcpp_signed_short_digits, __glibcpp_signed_short_digits10,
	__glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max,
	__glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10,
	__glibcpp_signed_int_min, __glibcpp_signed_int_max,
	__glibcpp_signed_int_digits, __glibcpp_signed_int_digits10,
	__glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max,
	__glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10,
	__glibcpp_signed_long_min, __glibcpp_signed_long_max,
	__glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10,
	__glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max,
	__glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10,
	__glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits,
	__glibcpp_wchar_t_digits10): Remove.
	(__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove.
	(__float_storage, __double_storage, __long_double_storage): Remove.
	(__glibcpp_signed, __glibcpp_min, __glibcpp_max): New.
	(__glibcpp_digits, __glibcpp_digits10): New.
	(numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins.
	(numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins.
	(numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed.
	(numeric_limits<T>::digits): Use __glibcpp_digits.
	(numeric_limits<T>::digits10): Use __glibcpp_digits10.
	* testsuite/18_support/numeric_limits.cc (test03): Don't use
	__glibcpp_s8_digits10 et al; check vs the installed versions
	of digits10 for particular sizes.

        * include/std/std_limits.h (__glibcpp_float_is_modulo,
        __glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
        (numeric_limits<T>::is_modulo, T floating): Use false.

From-SVN: r57434
parent 68e7a7c9
2002-09-23 Richard Henderson <rth@redhat.com>
* include/std/std_limits.h (__glibcpp_plain_char_is_signed,
__glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min,
__glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min,
__glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10,
__glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits,
__glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max,
__glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max,
__glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10,
__glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits,
__glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min,
__glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min,
__glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10,
__glibcpp_bool_digits, __glibcpp_signed_char_min,
__glibcpp_signed_char_max, __glibcpp_signed_char_digits,
__glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min,
__glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits,
__glibcpp_unsigned_char_digits10, __glibcpp_char_min,
__glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10,
__glibcpp_signed_short_min, __glibcpp_signed_short_max,
__glibcpp_signed_short_digits, __glibcpp_signed_short_digits10,
__glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max,
__glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10,
__glibcpp_signed_int_min, __glibcpp_signed_int_max,
__glibcpp_signed_int_digits, __glibcpp_signed_int_digits10,
__glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max,
__glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10,
__glibcpp_signed_long_min, __glibcpp_signed_long_max,
__glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10,
__glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max,
__glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10,
__glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits,
__glibcpp_wchar_t_digits10): Remove.
(__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove.
(__float_storage, __double_storage, __long_double_storage): Remove.
(__glibcpp_signed, __glibcpp_min, __glibcpp_max): New.
(__glibcpp_digits, __glibcpp_digits10): New.
(numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins.
(numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins.
(numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed.
(numeric_limits<T>::digits): Use __glibcpp_digits.
(numeric_limits<T>::digits10): Use __glibcpp_digits10.
* testsuite/18_support/numeric_limits.cc (test03): Don't use
__glibcpp_s8_digits10 et al; check vs the installed versions
of digits10 for particular sizes.
* include/std/std_limits.h (__glibcpp_float_is_modulo,
__glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
(numeric_limits<T>::is_modulo, T floating): Use false.
2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.am (all-multi): Fix multilib parallel build.
......
......@@ -284,14 +284,26 @@ bool test03()
bool test = true;
VERIFY( std::numeric_limits<bool>::digits10 == 0 );
VERIFY( __glibcpp_s8_digits10 == 2 );
VERIFY( __glibcpp_u8_digits10 == 2 );
VERIFY( __glibcpp_s16_digits10 == 4 );
VERIFY( __glibcpp_u16_digits10 == 4 );
VERIFY( __glibcpp_s32_digits10 == 9 );
VERIFY( __glibcpp_u32_digits10 == 9 );
VERIFY( __glibcpp_s64_digits10 == 18 );
VERIFY( __glibcpp_u64_digits10 == 19 );
if (__CHAR_BIT__ == 8)
{
VERIFY( std::numeric_limits<signed char>::digits10 == 2 );
VERIFY( std::numeric_limits<unsigned char>::digits10 == 2 );
}
if (__CHAR_BIT__ * sizeof(short) == 16)
{
VERIFY( std::numeric_limits<signed short>::digits10 == 4 );
VERIFY( std::numeric_limits<unsigned short>::digits10 == 4 );
}
if (__CHAR_BIT__ * sizeof(int) == 32)
{
VERIFY( std::numeric_limits<signed int>::digits10 == 9 );
VERIFY( std::numeric_limits<unsigned int>::digits10 == 9 );
}
if (__CHAR_BIT__ * sizeof(long long) == 64)
{
VERIFY( std::numeric_limits<signed long long>::digits10 == 18 );
VERIFY( std::numeric_limits<unsigned long long>::digits10 == 19 );
}
#ifdef DEBUG_ASSERT
assert(test);
......
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