Commit Graph

19 Commits

Author SHA1 Message Date
Richard Henderson
d3d09886b3 std_limits.h (numeric_limits<T>::is_iec559): False if denormals are not supported.
* include/std/std_limits.h (numeric_limits<T>::is_iec559): False
        if denormals are not supported.

From-SVN: r57595
2002-09-27 15:39:28 -07:00
Benjamin Kosnik
ca017eef3a Makefile.am (target_headers): Remove cpu_limits.h.
2002-09-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Remove cpu_limits.h.
	* include/Makefile.in: Regenerate.
	* configure.in (CPU_LIMITS_INC_SRCDIR): Remove
	* configure: Regenerate.
	* configure.target (CPULIMITS): Remove.

	* include/std/std_limits.h: Remove cpu_limits.h include.

	* config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
	Remove.
	* config/os/irix/irix6.5/os_defines.h
	(__glibcpp_long_double_bits): Remove.
	(__glibcpp_wchar_t_bits): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/irix/irix5.2/os_defines.h
	(__glibcpp_long_double_bits): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
	* config/os/bsd/freebsd/os_defines.h:
	(__glibcpp_long_double_bits): Remove.
	* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
	(__glibcpp_wchar_t_is_signed): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
	(__glibcpp_long_double_bits): Remove.

	* config/os/osf/osf5.0/cpu_limits.h: Remove.
	* config/cpu/alpha/cpu_limits.h: Remove.
	* config/cpu/arm/cpu_limits.h: Remove.
	* config/cpu/cris/cpu_limits.h: Remove.
	* config/cpu/generic/cpu_limits.h: Remove.
	* config/cpu/generic/limits.h: Remove.
	* config/cpu/ia64/cpu_limits.h: Remove.
	* config/cpu/m68k/cpu_limits.h: Remove.
	* config/cpu/mmix/cpu_limits.h: Remove.
	* config/cpu/powerpc/cpu_limits.h: Remove.
	* config/cpu/S390/cpu_limits.h: Remove.

From-SVN: r57524
2002-09-26 05:25:14 +00:00
Mark Mitchell
0b4c7d8042 std_limits.h (numeric_limits<unsigned char>::digits): Fix typo.
* include/std/std_limits.h (numeric_limits<unsigned char>::digits):
	Fix typo.

From-SVN: r57507
2002-09-25 18:32:14 +00:00
Richard Henderson
6ad8f94953 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
2002-09-23 04:24:57 -07:00
Richard Henderson
da28539cd6 std_limits.h (__glibcpp_integral_traps): New.
* include/std/std_limits.h (__glibcpp_integral_traps): New.
        (__glibcpp_char_traps, __glibcpp_short_traps, __glibcpp_int_traps,
        __glibcpp_long_traps, __glibcpp_wchar_t_traps,
        __glibcpp_long_long_traps, __glibcpp_plain_char_traps,
        __glibcpp_signed_char_traps, __glibcpp_unsigned_char_traps,
        __glibcpp_signed_short_traps, __glibcpp_unsigned_short_traps,
        __glibcpp_signed_int_traps, __glibcpp_unsigned_int_traps,
        __glibcpp_signed_long_traps, __glibcpp_unsigned_long_traps,
        __glibcpp_signed_long_long_traps, __glibcpp_unsigned_long_long_traps,
        __glibcpp_char_is_modulo, __glibcpp_signed_char_is_modulo,
        __glibcpp_signed_short_is_modulo, __glibcpp_signed_int_is_modulo,
        __glibcpp_signed_long_is_modulo, __glibcpp_signed_long_long_is_modulo,
        __glibcpp_wchar_t_is_modulo, __glibcpp_float_is_bounded,
        __glibcpp_double_is_bounded, __glibcpp_long_double_is_bounded): Kill.
        (numeric_limits<T>::traps, T integral): Use __glibcpp_integral_traps.
        (numeric_limits<T>::is_modulo, T integral): Use true.
        (numeric_limits<T>::is_bounded, T floating): Use true.

From-SVN: r57414
2002-09-22 11:37:51 -07:00
Richard Henderson
cf2214db0c std_limits.h (__glibcpp_f32_is_iec559, [...]): Remove.
* include/std/std_limits.h (__glibcpp_f32_is_iec559,
        __glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559,
        __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559,
        __glibcpp_float_is_iec559, __glibcpp_double_is_iec559,
        __glibcpp_long_double_is_iec559): Remove.
        (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN.
        (numeric_limits<double>, numeric_limits<long double>): Similarly.

From-SVN: r57413
2002-09-22 11:36:38 -07:00
Richard Henderson
be71ea9dae std_limits.h (__glibcpp_f32_round_error, [...]): Kill.
* include/std/std_limits.h (__glibcpp_f32_round_error,
	__glibcpp_f64_round_error, __glibcpp_f80_round_error,
	__glibcpp_f96_round_error, __glibcpp_f128_round_error,
	__glibcpp_float_round_error, __glibcpp_double_round_error,
	__glibcpp_long_double_round_error, __glibcpp_float_round_style,
	__glibcpp_double_round_style, __glibcpp_long_double_round_style): Kill.
	(numeric_limits<char>::epsilon, round_error): Use constant 0.
	(numeric_limits<float>::round_error): Use constant 0.5.
	(numeric_limits<float>::round_style): Use round_to_nearest.
	(numeric_limits<double>, numeric_limits<long double>): Similarly.

From-SVN: r57412
2002-09-22 11:35:24 -07:00
Richard Henderson
1472e41cb3 builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
gcc/
        * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
        (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
        * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
        (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
        * builtins.c (fold_builtin_nan): New.
        (fold_builtin): Call it.
        * real.c (real_nan): Parse a non-empty string.
        (round_for_format): Fix NaN significand truncation.
        * real.h (real_nan): Return bool.
        * doc/extend.texi: Document new builtins.

libstdc++/
        * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes,
        __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
        __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes,
        __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
        __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes,
        __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
        __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes,
        __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
        __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes,
        __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
        __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes,
        __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
        __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes,
        __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
        __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes,
        __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
        __glibcpp_long_double_has_SNaN): Remove.
        (__glibcpp_f128_is_iec559): True if IEEE.
        (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
        (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
        (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
        (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf.
        (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN.
        (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf.
        (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf.
        (std::numeric_limits<double>): Similarly.
        (std::numeric_limits<long double>): Similarly.
        * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
        (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
        (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.

        * testsuite/18_support/numeric_limits.cc (test_infinity): New.
        (test_denorm_min, test_qnan, test_is_iec559): New.

From-SVN: r57221
2002-09-16 18:28:50 -07:00
Richard Henderson
ac520ec919 c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
gcc/
        * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.

libstdc++/
        * include/std/std_limits.h (__glibcpp_f32_denorm_min_bytes,
        __glibcpp_f32_has_denorm, __glibcpp_f64_denorm_min_bytes,
        __glibcpp_f64_has_denorm, __glibcpp_f80_denorm_min_bytes,
        __glibcpp_f80_has_denorm, __glibcpp_f96_denorm_min_bytes,
        __glibcpp_f96_has_denorm, __glibcpp_f128_denorm_min_bytes,
        __glibcpp_f128_has_denorm, __glibcpp_float_denorm_min_bytes,
        __glibcpp_float_has_denorm, __glibcpp_double_denorm_min_bytes,
        __glibcpp_double_has_denorm, __glibcpp_long_double_denorm_min_bytes,
        __glibcpp_long_double_has_denorm): Remove.
        (__glibcpp_float_denorm_min, __glibcpp_double_denorm_min,
        __glibcpp_long_double_denorm_min): Remove.
        (std::numeric_limits<float>::has_denorm): Use __FLT_DENORM_MIN__.
        (std::numeric_limits<float>::denorm_min): Likewise.
        (std::numeric_limits<double>): Similarly.
        (std::numeric_limits<long double>): Similarly.
        * src/limits.cc (__glibcpp_float_denorm_min,
        __glibcpp_double_denorm_min, __glibcpp_long_double_denorm_min): Remove.

From-SVN: r57200
2002-09-16 09:58:42 -07:00
Richard Henderson
65e32b88a6 std_limits.h (__glibcpp_f32_infinity_bytes, [...]): Remove.
* include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
        __glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes,
        __glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes,
        __glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes,
        __glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes,
        __glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes,
        __glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes,
        __glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes,
        __glibcpp_long_double_has_infinity): Remove.
        (std::numeric_limits<float>, std::numeric_limits<double>,
        std::numeric_limits<long double>): Use __builtin_huge_val
        to implement has_infinity and infinity().
        * src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity,
        __glibcpp_long_double_infinity): Remove.

From-SVN: r56821
2002-09-04 16:22:18 -07:00
Richard Henderson
5e25fa2263 std_limits.h (__glibcpp_f32_min, [...]): Remove macros.
* include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max,
	__glibcpp_f32_digits, __glibcpp_f32_digits10, __glibcpp_f32_radix,
	__glibcpp_f32_epsilon, __glibcpp_f32_min_exponent,
	__glibcpp_f32_min_exponent10, __glibcpp_f32_max_exponent,
	__glibcpp_f32_max_exponent10, __glibcpp_f64_min, __glibcpp_f64_max,
	__glibcpp_f64_digits, __glibcpp_f64_digits10, __glibcpp_f64_radix,
	__glibcpp_f64_min_exponent, __glibcpp_f64_min_exponent10,
	__glibcpp_f64_max_exponent, __glibcpp_f64_max_exponent10,
	__glibcpp_f80_min, __glibcpp_f80_max, __glibcpp_f80_digits,
	__glibcpp_f80_digits10, __glibcpp_f80_radix, __glibcpp_f80_epsilon,
	__glibcpp_f80_min_exponent, __glibcpp_f80_min_exponent10,
	__glibcpp_f80_max_exponent, __glibcpp_f80_max_exponent10,
	__glibcpp_f96_min, __glibcpp_f96_max, __glibcpp_f96_digits,
	__glibcpp_f96_digits10, __glibcpp_f96_radix, __glibcpp_f96_epsilon,
	__glibcpp_f96_min_exponent, __glibcpp_f96_min_exponent10,
	__glibcpp_f96_max_exponent, __glibcpp_f96_max_exponent10,
	__glibcpp_f128_min, __glibcpp_f128_max, __glibcpp_f128_digits,
	__glibcpp_f128_digits10, __glibcpp_f128_radix, __glibcpp_f128_epsilon,
	__glibcpp_f128_min_exponent, __glibcpp_f128_min_exponent10,
	__glibcpp_f128_max_exponent, __glibcpp_f128_max_exponent10,
	__glibcpp_float_min, __glibcpp_float_max, __glibcpp_float_digits,
	__glibcpp_float_digits10, __glibcpp_float_radix,
	__glibcpp_float_epsilon, __glibcpp_float_min_exponent,
	__glibcpp_float_min_exponent10, __glibcpp_float_max_exponent,
	__glibcpp_float_max_exponent10, __glibcpp_double_min,
	__glibcpp_double_max, __glibcpp_double_digits,
	__glibcpp_double_digits10, __glibcpp_double_radix,
	__glibcpp_double_epsilon, __glibcpp_double_min_exponent,
	__glibcpp_double_min_exponent10, __glibcpp_double_max_exponent,
	__glibcpp_double_max_exponent10, __glibcpp_long_double_min,
	__glibcpp_long_double_max, __glibcpp_long_double_digits,
	__glibcpp_long_double_digits10, __glibcpp_long_double_radix,
	__glibcpp_long_double_epsilon, __glibcpp_long_double_min_exponent,
	__glibcpp_long_double_min_exponent10,
	__glibcpp_long_double_max_exponent,
	__glibcpp_long_double_max_exponent10): Remove macros.
	(std::numeric_limits<float>, std::numeric_limits<double>,
	std::numeric_limits<long double>): Use protected float.h macros.

From-SVN: r56770
2002-09-03 13:22:06 -07:00
Gabriel Dos Reis
585e661a79 c-common.c (builtin_define_type_precision): New function.
gcc/
 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>

 * c-common.c (builtin_define_type_precision): New function.
 (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
 wchar_t is unsigned in C++.
 * doc/cpp.texi (Common Predefined Macros): Document
 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.

libstdc++-v3/

2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	    * include/std/std_limits.h (__glibcpp_char_bits,
	    __glibcpp_short_bits, __glibcpp_int_bits,
	    __glibcpp_long_bits,
	    __glibcpp_long_long_bits, __glibcpp_float_bits,
	    __glibcpp_double_bits, __glibcpp_long_double_bits):
	    Remove.  Use
	    compiler predifined macros.
	    (__glibcpp_wchar_t_is_signed): Define based on compiler
	    predefined
	    __WCHAR_UNSIGNED__.

From-SVN: r56646
2002-08-28 21:41:55 +00:00
Gabriel Dos Reis
2559486f3e std_limits.h (__glibcpp_f32_infinity_bytes, [...]): New macros.
* include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
 	__glibcpp_f32_has_infinity, __glibcpp_f32_QNaN_bytes,
	__glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
	__glibcpp_f32_has_SNaN, __glibcpp_f32_denorm_min_bytes,
	__glibcpp_f32_has_denorm, __glibcpp_f32_is_iec559,
	__glibcpp_f64_infinity_bytes,
	__glibcpp_f64_has_infinity, __glibcpp_f64_QNaN_bytes,
	__glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
	__glibcpp_f64_has_SNaN, __glibcpp_f64_denorm_min_bytes,
	__glibcpp_f64_has_denorm, __glibcpp_f64_is_iec559,
	__glibcpp_f80_infinity_bytes,
	__glibcpp_f80_has_infinity, __glibcpp_f80_QNaN_bytes,
	__glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
	__glibcpp_f80_has_SNaN, __glibcpp_f80_denorm_min_bytes,
	__glibcpp_f80_has_denorm, __glibcpp_f80_is_iec559,
	__glibcpp_f96_infinity_bytes,
	__glibcpp_f96_has_infinity, __glibcpp_f96_QNaN_bytes,
	__glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
	__glibcpp_f96_has_SNaN, __glibcpp_f96_denorm_min_bytes,
	__glibcpp_f96_has_denorm, __glibcpp_f96_is_iec559,
 	__glibcpp_f128_infinity_bytes,
 	__glibcpp_f128_has_infinity, __glibcpp_f128_QNaN_bytes,
	__glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
	__glibcpp_f128_has_SNaN, __glibcpp_f128_denorm_min_bytes,
	__glibcpp_f128_has_denorm, __glibcpp_f128_is_iec559,
	__glibcpp_float_infinity_bytes,
	__glibcpp_float_has_infinity, __glibcpp_float_QNaN_bytes,
	__glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
	__glibcpp_float_has_SNaN, __glibcpp_float_denorm_min_bytes,
	__glibcpp_float_has_denorm, __glibcpp_float_is_iec559,
	__glibcpp_double_infinity_bytes,
	__glibcpp_double_has_infinity, __glibcpp_double_QNaN_bytes,
	__glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
	__glibcpp_double_has_SNaN, __glibcpp_double_denorm_min_bytes,
	__glibcpp_double_has_denorm, __glibcpp_double_is_iec559,
	__glibcpp_long_double_infinity_bytes,
	__glibcpp_long_double_has_infinity, __glibcpp_long_double_QNaN_bytes,
	__glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
	__glibcpp_long_double_has_SNaN, __glibcpp_long_double_denorm_min_bytes,
	__glibcpp_long_double_has_denorm, __glibcpp_long_double_is_iec559:
	New macros.
	(__glibcpp_word_bits, __glibcpp_word): Likewise.
	(__glibcpp_byte): New typedef.
	(__float_storage, __double_storage, __long_double_storage): New types.
	(__glibcpp_float_infinity, __glibcpp_float_QNaN,
	__glibcpp_float_SNaN, __glibcpp_float_denorm_min): Now
	objects. Declare.
	(__glibcpp_double_infinity, __glibcpp_double_QNaN,
	__glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
	(__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
	__glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
	Likewise.

	* src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN,
	__glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define.
	(__glibcpp_double_infinity, __glibcpp_double_QNaN,
	__glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
	(__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
	__glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
	Likewise.

From-SVN: r56613
2002-08-27 20:30:26 +00:00
Gabriel Dos Reis
f3cd98c4d6 std_limits.h: Indent conditional macro definitions.
* include/std/std_limits.h: Indent conditional macro
          definitions.

From-SVN: r56570
2002-08-25 20:17:01 +00:00
Benjamin Kosnik
a9bb75a7e0 As per DR 184, libstdc++/3139
2002-04-03  Benjamin Kosnik  <bkoz@redhat.com>

        As per DR 184, libstdc++/3139
        * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1.
        (numeric_limits<bool>::is_iec559): False.
        (numeric_limits<bool>::is_modulo): False.

	* testsuite/27_io/ios_init.cc: Add instantiations.

From-SVN: r51838
2002-04-04 05:32:59 +00:00
Benjamin Kosnik
8497934433 std_limits.h: Move static const data members out of generic template...
2002-03-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_limits.h: Move static const data members out of
	generic template, into base class __numeric_limits_base.
	* src/limits.cc: Add definitions.
	* config/linker-map.gnu: Add __numeric_limits_base.
	* testsuite/18_support/numeric_limits.cc: Declare test in scope.

From-SVN: r50447
2002-03-08 17:59:14 +00:00
Phil Edwards
ffe94f8380 Makefile.am (doxygen, [...]): Tweak targets.
2002-01-28  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
	* Makefile.in:  Regenerate.

	* docs/doxygen/run_doxygen:  Update, mostly for man pages.
	* docs/doxygen/Intro.3:  Update.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/doxygroups.cc:  Add namespace hook for __gnu_cxx.
	* docs/doxygen/mainpage.doxy:  Update.
	* docs/doxygen/user.cfg.in:  Update for header rename.  Also
	regenerate comments and variables with 1.2.12.
	* docs/doxygen/maint.cfg.in:  Remove file.

	* include/bits/stl_relops.h:  Doxygenate.
	* include/bits/stl_tempbuf.h (std::_Temporary_buffer):  Likewise.

	* include/c_std/std_cassert.h, include/c_std/std_cctype.h,
	include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
	include/c_std/std_ciso646.h, include/c_std/std_climits.h,
	include/c_std/std_clocale.h, include/c_std/std_cmath.h,
	include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
	include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
	include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
	include/c_std/std_cstring.h, include/c_std/std_ctime.h,
	include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
	include/ext/algorithm, include/ext/functional, include/ext/hash_map,
	include/ext/hash_set, include/ext/iterator, include/ext/memory,
	include/ext/numeric, include/ext/rb_tree, include/ext/rope,
	include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
	include/ext/stl_hashtable.h, include/ext/stl_rope.h,
	include/std/std_algorithm.h, include/std/std_bitset.h,
	include/std/std_complex.h, include/std/std_deque.h,
	include/std/std_fstream.h, include/std/std_functional.h,
	include/std/std_iomanip.h, include/std/std_ios.h,
	include/std/std_iosfwd.h, include/std/std_iostream.h,
	include/std/std_istream.h, include/std/std_iterator.h,
	include/std/std_limits.h, include/std/std_list.h,
	include/std/std_locale.h, include/std/std_map.h,
	include/std/std_memory.h, include/std/std_numeric.h,
	include/std/std_ostream.h, include/std/std_queue.h,
	include/std/std_set.h, include/std/std_sstream.h,
	include/std/std_stack.h, include/std/std_stdexcept.h,
	include/std/std_streambuf.h, include/std/std_string.h,
	include/std/std_utility.h, include/std/std_valarray.h,
	include/std/std_vector.h:  Add/correct @file doxygen hook.

	* include/ext/memory:  Doxygenate most of rest of file.
	* libsupc++/exception:  Doxygen output formatting.
	* libsupc++/new:  Say which header it is.

	* testsuite/lib/libstdc++-v3-dg.exp:  Fix spacing.
	* docs/html/19_diagnostics/howto.html:  Describe concept-checks switch.
	* docs/html/23_containers/howto.html:  Describe O(n) list::size().
	* docs/html/27_io/howto.html:  Also link to Langer and Kreft text.

From-SVN: r49300
2002-01-28 22:13:12 +00:00
Gabriel Dos Reis
2bcb0aa081 std_limits.h (__glibcpp_float_has_quiet_NaN, [...]): Correct mispelling.
* include/std/std_limits.h (__glibcpp_float_has_quiet_NaN,
       __glibcpp_double_has_quiet_NaN): Correct mispelling.

From-SVN: r48955
2002-01-17 15:46:48 +00:00
Phil Edwards
066930bbe1 Makefile.am (std_headers): Update list with new names.
2002-01-11  Phil Edwards  <pme@gcc.gnu.org>

	* include/Makefile.am (std_headers):  Update list with new names.
	(stamp-std):  Link to standardized name.
	* include/Makefile.in:  Regenerate.

	* include/std/algorithm, include/std/bitset, include/std/complex,
	include/std/deque, include/std/fstream, include/std/functional,
	include/std/iomanip, include/std/ios, include/std/iosfwd,
	include/std/iostream, include/std/istream, include/std/iterator,
	include/std/limits, include/std/list, include/std/locale,
	include/std/map, include/std/memory, include/std/numeric,
	include/std/ostream, include/std/queue, include/std/set,
	include/std/sstream, include/std/stack, include/std/stdexcept,
	include/std/streambuf, include/std/string, include/std/utility,
	include/std/valarray, include/std/vector:  Rename to...

	* include/std/std_algorithm.h, include/std/std_bitset.h,
	include/std/std_complex.h, include/std/std_deque.h,
	include/std/std_fstream.h, include/std/std_functional.h,
	include/std/std_iomanip.h, include/std/std_ios.h,
	include/std/std_iosfwd.h, include/std/std_iostream.h,
	include/std/std_istream.h, include/std/std_iterator.h,
	include/std/std_limits.h, include/std/std_list.h,
	include/std/std_locale.h, include/std/std_map.h,
	include/std/std_memory.h, include/std/std_numeric.h,
	include/std/std_ostream.h, include/std/std_queue.h,
	include/std/std_set.h, include/std/std_sstream.h,
	include/std/std_stack.h, include/std/std_stdexcept.h,
	include/std/std_streambuf.h, include/std/std_string.h,
	include/std/std_utility.h, include/std/std_valarray.h,
	include/std/std_vector.h:  ...this.

From-SVN: r48788
2002-01-12 00:50:04 +00:00