Phil Edwards
70e12fb914
std_bitset.h: Better comments.
...
2002-12-29 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Better comments.
From-SVN: r60614
2002-12-30 03:58:46 +00:00
Mark Mitchell
43be7fe7d7
* config/locale/gnu/ctype_members.cc
...
(ctype<wchar_t>::_M_convert_to_wmask): Remove stray semicolon.
* config/locale/gnu/monetary_members.cc
(moneypunct<wchar_t, true>::_M_initialize_moneypunct): Avoid
defining classes in static_cast.
(moneypunct<wchar_t, false>::_M_initialize_moneypunct): Likewise.
* config/locale/gnu/numeric_members.cc
(numpunct<wchar_t, false>::_M_initialize_numpunct): Likewise.
* include/bits/stl_deque.h (operator-): Insert typename where
required.
* include/bits/stl_multiset.h (multiset): Remove stray semicolon.
* include/bits/stl_set.h (set): Likewise.
* include/bits/valarray_meta.h (bits/slice_array.h): Include it.
* include/std/std_fstream.h (basic_fstream::open): Use this-> to
avoid Koenig lookup.
(basic_fstream::close): Likewise.
* libsupc++/new (operator delete): Remove stray semicolon.
* libsupc++/new (operator delete[]): Likewise.
* libsupc++/tinfo.cc: Likewise.
* src/stdexcept.c (logic_error::~logic_error): Likewise.
(runtime_error::~runtime_error): Likewise.
From-SVN: r60547
2002-12-27 23:03:03 +00:00
Phil Edwards
3bbfb3d91d
std_bitset.h (_Base_bitset::_M_do_left_shift, [...]): Expect a non-zero shift.
...
2002-12-26 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
_Base_bitset::_M_do_right_shift): Expect a non-zero shift.
(bitset::operator<<=, bitset::operator>>=): When shifting more bits
than are in the bitset, zero memory rather than segfault.
(operator>>(basic_istream,bitset): Only call setstate once, after
all work has been done.
* testsuite/23_containers/bitset_members.cc (test03): New test.
* testsuite/23_containers/bitset_shift.cc (test02): New test.
From-SVN: r60533
2002-12-27 00:03:17 +00:00
Paolo Carlini
77bd447bb4
re PR libstdc++/8949 (numeric_limits<>::denorm_min() and is_iec559 problems.)
...
2002-12-16 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8949
* include/std/std_limits.h
(struct numeric_limits<short>,
struct numeric_limits<unsigned short>,
struct numeric_limits<int>,
struct numeric_limits<unsigned int>,
struct numeric_limits<long>,
struct numeric_limits<unsigned long>,
struct numeric_limits<long long>,
struct numeric_limits<unsigned long long>): According
to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false.
* testsuite/18_support/numeric_limits.cc: Add test04.
From-SVN: r60181
2002-12-16 19:52:37 +00:00
Zack Weinberg
4977bab6ed
Merge basic-improvements-branch to trunk
...
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Wolfgang Bangerth
f815521c75
std_complex.h (operator<<(basic_ostream&, const complex&)): Prefer 'x' to "x" for efficiency sake.
...
2002-11-25 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
* include/std/std_complex.h
(operator<<(basic_ostream&, const complex&)): Prefer 'x'
to "x" for efficiency sake.
* src/locale.cc (locale::locale(const char*)): Ditto.
From-SVN: r59465
2002-11-25 19:01:55 +00:00
Phil Edwards
840ceb345b
TODO: Note change in clause 27 docs.
...
2002-11-21 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/TODO: Note change in clause 27 docs.
* include/bits/basic_ios.h, include/bits/fpos.h,
include/bits/ios_base.h, include/bits/stl_deque.h,
include/bits/stl_iterator_base_types.h, include/std/std_fstream.h,
include/std/std_iomanip.h, include/std/std_iosfwd.h,
include/std/std_iostream.h, include/std/std_istream.h,
include/std/std_ostream.h, include/std/std_sstream.h,
include/std/std_streambuf.h: Doxygenate all I/O entities.
From-SVN: r59325
2002-11-21 07:06:41 +00:00
Jonathan Wakely
93d87ec6f8
std_sstream.h (basic_stringbuf::str(const __string_type&)): Prefer data() to c_str() thus avoiding assigning the unnecessary NULL-terminator.
...
2002-11-05 Jonathan Wakely <cow@compsoc.man.ac.uk>
* include/std/std_sstream.h
(basic_stringbuf::str(const __string_type&)):
Prefer data() to c_str() thus avoiding assigning the
unnecessary NULL-terminator.
From-SVN: r58844
2002-11-06 00:05:35 +00:00
Paolo Carlini
81646a3157
re PR libstdc++/8466 (basic_stringbuf::str(basic_string const&) modifies its argument)
...
2002-11-05 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8466
* include/std/std_sstream.h
(basic_stringbuf::str(const __string_type&)):
Cannot use simple assignment since the COW-nature of v3
basic_string is not taken into account in basic_stringbuf.
* testsuite/27_io/stringstream_members.cc: Add test04 from PR.
From-SVN: r58838
2002-11-05 23:28:15 +00:00
Benjamin Kosnik
5112ae3a8f
re PR libstdc++/8318 (Not all wide character based prototypes are included within #ifdef _GLIBCPP_USE_WCHAR_T)
...
2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8318
* include/std/std_iostream.h: Tweak.
* include/std/std_iosfwd.h: Add _GLIBCPP_USE_WCHAR_T.
* include/std/std_iomanip.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/sstream.tcc: Same.
* include/bits/fstream.tcc: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/locale_facets.tcc: Same.
From-SVN: r58720
2002-11-01 17:30:36 +00:00
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
Gabriel Dos Reis
971cfc6f10
valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our object function surrogates.
...
* include/bits/valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our
object function surrogates.
* include/bits/valarray_meta.h (__shift_left): Fix typo.
(_BinFunClos<>): Remove.
(_BinFunBase<>): Likewise.
(_BinFunBase1<>):Likewise.
(_BinFunBase2<>): Likewise.
(_DEFINE_EXPR_RELATIONAL_OPERATOR): Likewise.
(_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
(_DEFINE_EXPR_BINARY_OPERATOR): Likewise.
(_DEFINE_EXPR_BINARY_FUNCTION): Likewise.
* include/std/std_valarray.h: Dont #include <functional> anymore.
(_Bitwise_or<>, _Bitwise_and<>, _Bitwise_xor<>, _Shift_left<>,
_Shift_right<>): Remove.
(_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT): Adjust instantiation.
(_DEFINE_BINARY_OPERATOR): Tweak definition.
(_DEFINE_LOGICAL_OPERATOR): Remove.
* testsuite/26_numerics/valarray_name_lookup.C (main): Add more tests.
From-SVN: r56001
2002-08-02 23:08:40 +00:00
Gabriel Dos Reis
74d6b8ca63
valarray_meta.h (_UnFunBase<>): Remove.
...
* include/bits/valarray_meta.h (_UnFunBase<>): Remove.
(_UnFunClos<>): Same.
(_UnBase<>): Reformat. Make first template-parameter non
template.
(_UnClos<>): Likewise.
(_Expr<>): Reformate. Adjust unary member operator return types.
(_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
(_DEFINE_EXPR_UNARY_FUNCTION): Likewise.
* include/std/std_valarray.h (_UnClos<>): Adjust declaration.
(valarray<>::_UnaryOp<>): New nested traits. Adjust unary member
operator return types. Reformat.
(_Bitwise_not): Remove.
(_DEFINE_VALARRAY_UNARY_OPERATOR): Adjust definition.
* testsuite/26_numerics/valarray_name_lookup.C: New test.
From-SVN: r55993
2002-08-02 18:10:38 +00:00
Benjamin Kosnik
f13a69eccf
char_traits.h: Remove generic definitions.
...
2002-07-30 Benjamin Kosnik <bkoz@redhat.com>
Gabriel Dos Reis <gdr@nerim.net>
* include/bits/char_traits.h: Remove generic definitions.
* include/bits/streambuf_iterator.h (istreambuf_iterator): Use
eof, not -2.
* include/bits/istream.tcc (istream::readsome): Don't check
against eof, instead use constants.
(istream::sync): Same.
(istream::sentry::sentry): Use eq_int_type.
(istream::get): Same.
* include/bits/ostream.tcc: Change __pad to
__pad<_CharT, _Traits>::_S_pad.
* include/bits/locale_facets.h: Add __pad_traits generic and
ostreambuf_iterator specialization.
* include/bits/locale_facets.tcc: Change __pad into struct __pad
with a _CharT and _Traits template parameter and _S_pad static
member function.
* src/locale-inst.cc: Update __pad instantiations.
* include/std/std_fstream.h: Declare _M_underflow_common
specializations.
* src/fstream.cc: New. Add _M_underflow_common specializations.
* include/bits/fstream.tcc (filebuf::close): Use traits_type.
(filebuf::_M_underflow_common(bool)): Remove generic version, as
sys_ungetc and custom int_types don't get along.
* include/std/std_streambuf.h: Add _M_pos.
* src/Makefile.am (sources): Add fstream.cc.
* src/Makefile.in: Regenerate.
* testsuite/21_strings/capacity.cc: Add char_traits specializations.
* testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
* testsuite/22_locale/ctor_copy_dtor.cc: Same.
* testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
* testsuite/27_io/filebuf.cc: ...here.
* testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
specialization for both.
* testsuite/27_io/streambuf.cc: Add instantiation test,
testsuite_hooks include.
* testsuite/27_io/istream.cc: Same.
* testsuite/27_io/ostream.cc: Same.
* testsuite/27_io/fstream.cc: Same.
* testsuite/27_io/stringstream.cc: Same.
* testsuite/27_io/filebuf.cc: Same.
* testsuite/27_io/stringbuf.cc: Same.
Co-Authored-By: Gabriel Dos Reis <gdr@nerim.net>
From-SVN: r55893
2002-07-31 02:47:36 +00:00
Benjamin Kosnik
bcc6a03a0a
re PR libstdc++/7216 (basic_iostream::traits_type is ambiguous issue)
...
2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7216
* include/std/std_istream.h (basic_iostream): Add typedefs for
char_type, int_type, pos_type, off_type, and traits_type.
* testsuite/27_io/iostream.cc (test01): Add typedef tests.
* testsuite/27_io/istream.cc: Same.
* testsuite/27_io/ostream.cc: Same.
* testsuite/27_io/filebuf.cc: Same.
* testsuite/27_io/stringbuf.cc: Replace content, move to...
* testsuite/27_io/stringbuf_members.cc: ...here.
* testsuite/27_io/streambuf.cc: Replace content, move to...
* testsuite/27_io/streambuf_members.cc: ...here.
* testsuite/27_io/stringstream.cc: Replace content, move to...
* testsuite/27_io/stringstream_members.cc: ...here.
* testsuite/27_io/ios.cc: New file.
* testsuite/27_io/fstream.cc: New file.
* testsuite/27_io/ifstream.cc: New file.
* testsuite/27_io/ofstream.cc: New file.
* testsuite/27_io/istringstream.cc: New file.
* testsuite/27_io/ostringstream.cc: New file.
From-SVN: r55767
2002-07-26 01:49:36 +00:00
Gabriel Dos Reis
5068f54685
Makefile.am (bits_headers): Remove slice.h
...
* include/Makefile.am (bits_headers): Remove slice.h
* include/Makefile.in: Regenerate.
* include/bits/slice.h (slice): move to include/bits/slice_array.h
* include/bits/slice.h Remove.
* include/std/std_valarray.h: Don't #include bits/slice.h anymore.
* include/bits/slice_array.h: Comply to official coding styles.
* testsuite/26_numerics/slice.cc: New test.
:w
:q
From-SVN: r55470
2002-07-16 00:19:18 +00:00
Benjamin Kosnik
49433044e4
std_streambuf.h (basic_streambuf::_M_buf): Change to size_t, from int_type.
...
2002-07-04 Benjamin Kosnik <bkoz@redhat.com>
Jack Reeves <jackw_reeves@hotmail.com>
* include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
size_t, from int_type.
(basic_streambuf::_M_buf_size_opt): Same.
(basic_streambuf::_S_pback_sizex): Same.
* include/bits/streambuf.tcc: Same.
* include/std/std_streambuf.h (basic_streambuf::snextc): Use
eq_int_type.
(basic_streambuf::uflow): Same.
* include/bits/sstream.tcc (basic_stringbuf::overflow): Use
to_char_type.
* include/bits/basic_ios.tcc (basic_ios::init): Use _CharT().
* include/bits/streambuf.tcc (basic_streambuf::xsgetn): Use
eq_int_type.
(basic_streambuf::xsputn): Same.
(__copy_streambufs): Same.
Co-Authored-By: Jack Reeves <jackw_reeves@hotmail.com>
From-SVN: r55242
2002-07-04 09:20:01 +00:00
Benjamin Kosnik
5acf59f8e1
std_memory.h: Fix formatting.
...
2002-07-03 Benjamin Kosnik <bkoz@redhat.com>
* include/std/std_memory.h: Fix formatting.
* testsuite/20_util/auto_ptr_neg.cc: New.
* testsuite/20_util/auto_ptr.cc: Tweaks.
* testsuite/23_containers/map_operators.cc (test01): Split into..
* testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
* testsuite/23_containers/set_operators.cc: Move to...
* testsuite/23_containers/set_operators_neg.cc: ...here.
* testsuite/README: Add some more naming rules.
From-SVN: r55241
2002-07-04 07:25:19 +00:00
Jack Reeves
16ad69a19d
re PR libstdc++/3946 (auto_ptr_ref constructor allows dangerous conversion)
...
2002-07-03 Jack Reeves <jackw_reeves@hotmail.com>
Kenny Simpson <theonetruekenny@yahoo.com>
Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/3946
* testsuite/20_util/auto_ptr.cc (test08): New test.
* include/std/std_memory.h (auto_ref_ptr): Make constructor explicit.
(auto_ptr::operator auto_ptr_ref): Fix typo.
General reformatting and doxygenating of the whole file.
Co-Authored-By: Kenny Simpson <theonetruekenny@yahoo.com>
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
From-SVN: r55223
2002-07-03 22:25:06 +00:00
Phil Edwards
446c5b11aa
PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
...
2002-06-28 Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
* include/std/std_queue.h: Include deque.tcc, vector.tcc.
* include/std/std_stack.h: Include deque.tcc.
* testsuite/23_containers/adaptors.cc: New file.
From-SVN: r55090
2002-06-29 01:10:51 +00:00
Phil Edwards
4df6abc6b3
TODO: Update.
...
2002-06-16 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/TODO: Update.
* docs/doxygen/tables.html: Uncomment magical middle column.
* docs/doxygen/user.cfg.in: Kludge to ignore function-like macros.
* include/bits/stl_queue.h: Doxygenate and reformat.
* include/bits/ios_base.h, include/std/std_streambuf.h: Add comment
for deprecated names required by the standard.
From-SVN: r54666
2002-06-16 11:29:53 +00:00
Phil Edwards
83144cfcfa
Makefile.am: Add new files.
...
2002-06-12 Phil Edwards <pme@gcc.gnu.org>
* include/Makefile.am: Add new files.
* include/Makefile.in: Regenerate.
* include/bits/stl_deque.h, include/bits/stl_list.h,
include/bits/stl_vector.h: Clean up, reformat. Move definitions...
* include/bits/deque.tcc, include/bits/list.tcc,
include/bits/vector.tcc: ...to here. New files.
* include/ext/stl_hashtable.h: Inclide correct full headers.
* include/std/std_deque.h: Include .tcc files for now.
* include/std/std_list.h: Likewise.
* include/std/std_vector.h: Likewise.
From-SVN: r54562
2002-06-12 22:07:53 +00:00
Phil Edwards
7f2e0dffc6
TODO: Update.
...
2002-06-03 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/TODO: Update.
* docs/doxygen/user.cfg.in (SORT_MEMBER_DOCS): Set to off, now that
some class members are in 14882 order.
* docs/html/ext/howto.html: 3.1 is in the past now, not the future.
* include/std/std_bitset.h: Update comment.
* src/bitset.cc: Update comments, clean up spacing.
* src/Makefile.am (sources): Alphabetize for convenience.
* src/Makefile.in: Regenerate.
From-SVN: r54200
2002-06-03 04:45:03 +00:00
Phil Edwards
bb12c8093d
std_bitset.h (_Base_biteset<0>): New specialization.
...
2002-05-24 Phil Edwards <pme@gcc.gnu.org>
libstdc++/6282
* include/std/std_bitset.h (_Base_biteset<0>): New specialization.
(operator>>): If nothing was extracted, don't fail in the
zero-length case.
* testsuite/23_containers/bitset_ctor.cc (test02): New test.
From-SVN: r53844
2002-05-24 18:16:00 +00:00
Phil Edwards
e92a4045ac
std_bitset.h: Fix doxygen comments.
...
2002-05-01 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Fix doxygen comments.
* docs/html/documentation.html: Minor tweaks for 3.1.
* docs/html/27_io/howto.html: Likewise.
* docs/html/ext/howto.html: Likewise, mention stdio_filebuf.
* docs/html/faq/index.html: Likewise.
* docs/html/faq/index.txt: Regenerated.
From-SVN: r53025
2002-05-01 22:57:59 +00:00
Benjamin Kosnik
5cdd50a591
stdio_filebuf.h: New file.
...
2002-04-30 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/stdio_filebuf.h: New file.
* include/ext/enc_filebuf.h: New file.
* config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
* config/io/basic_file_stdio.cc: Same.
* include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
Remove _M_unbuf hacks.
(filebuf::_M_destroy_internal_buffer): Same.
(filebuf::filebuf(cfile, openmode, int_type): Remove definition.
(filebuf::fd): Remove.
* include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
(filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
(filebuf::fd): Remove.
* src/ios.cc (ios_base::_S_ios_create): Change to use specialized
filebufs.
(ios_base::_S_ios_destroy): Same.
* src/misc-inst.cc (file_filebuf<char>): Add instantiation.
* include/Makefile.am (ext_headers): Add ext_filebuf.h,
stdio_filebuf.h. * include/Makefile.in: Regenerate.
From-SVN: r52961
2002-04-30 19:04:43 +00:00
Loren J. Rittle
9385d9cb0d
std_fstream.h (basic_filebuf::sync): Hoist unconditional flush on lower-layer handle to here...
...
* include/std/std_fstream.h (basic_filebuf::sync): Hoist
unconditional flush on lower-layer handle to here...
* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow):
...from here. Optimize remaining _M_file.sync() call pattern.
* testsuite/27_io/narrow_stream_objects.cc (test04): New test.
(test05): Likewise.
From-SVN: r52699
2002-04-24 00:33:28 +00:00
Jason Merrill
736020b4a7
fstream.tcc (basic_filebuf::seekoff): Fix for output-only filebufs.
...
* include/bits/fstream.tcc (basic_filebuf::seekoff): Fix for
output-only filebufs.
* include/std/std_fstream.h (basic_filebuf::_M_set_indeterminate):
Likewise.
(basic_filebuf::_M_set_determinate): Likewise.
From-SVN: r52685
2002-04-23 17:56:10 -04:00
Jason Merrill
5066927d9e
re PR libstdc++/4150 (catastrophic performance decrease in C++ code)
...
PR libstdc++/4150
* include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate):
Move to filebuf.
(basic_streambuf::_M_set_determinate): Likewise.
(basic_streambuf::_M_is_indeterminate): Likewise.
* include/bits/std_fstream.h (basic_filebuf::_M_filepos): New
non-static data member.
(basic_filebuf::_M_underflow_common): New non-static member function.
(basic_filebuf::_M_underflow, _M_uflow): Call it.
(basic_filebuf::sync): Avoid useless seeking.
(basic_filebuf::_M_set_indeterminate): Move here from streambuf.
Set _M_filepos.
(basic_filebuf::_M_set_determinate): Likewise.
(basic_filebuf::_M_is_indeterminate): Likewise.
* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow): Seek
back to _M_out_beg if necessary.
(basic_filebuf::seekoff): Likewise.
(basic_filebuf::_M_underflow_common): Generalization of old
underflow(). Don't seek back to _M_in_beg.
* src/ios.cc: Lose _GLIBCPP_AVOID_FSEEK stuff.
* config/os/solaris/solaris2.?/bits/os_defines.h: Likewise.
* config/os/bsd/freebsd/bits/os_defines.h: Likewise.
* config/os/mingw32/bits/os_defines.h: Likewise.
* testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify
ungetc test.
From-SVN: r52634
2002-04-22 16:28:05 -04:00
Benjamin Kosnik
d3a193e36c
re PR libstdc++/4164 (33 Memory Leak when using iostream)
...
2002-04-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/4164
Valgrind fixes.
* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
Call close.
(__basic_file::close): Call fflush. Correct return if fclose ok.
(__basic_file::is_open): Make const.
Change __c_file_type to __c_file.
* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
(__basic_file::is_open): Make const.
* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
(filebuf::_M_unbuf): Add.
(filebuf::_M_file): Change to non-pointer.
(filebuf::_M_allocate_pback_buffer): Remove.
* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
Change initialization list for _M_file change.
(filebuf::_M_allocate_pback_buffer): Remove.
Change _M_file usage to reflect non-pointer data member.
* config/locale/generic/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/generic/collate_members.cc: Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/generic/monetary_members.cc: Changeup data types.
Add dtors.
* config/locale/generic/numeric_members.cc: Add dtors.
* config/locale/generic/time_members.cc: Add dtors.
* config/locale/gnu/c_locale.cc: Add parameter.
* config/locale/gnu/collate_members.cc:Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/gnu/ctype_members.cc: Better error checking.
* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
* config/locale/gnu/messages_members.cc: Tweak comment.
* config/locale/gnu/monetary_members.cc: Change data types.
Add dtors.
* config/locale/gnu/numeric_members.cc: Add dtors, better error
checking.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
bogus ctor.
* include/bits/locale_facets.h (moneypunct): Use string literals.
Don't define dtor.
(numpunct): Same.
(__timepunct): Same.
(locale::_Impl::_M_facets): Change from vector to array.
(locale::_Impl::_M_names): Change from array of strings to array
of string literals.
(locale::facet::_S_create_c_locale): Add parameter.
(locale::locale::_S_num_facets): Move to...
(locale::_Impl::_M_facets_size): Here.
* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
changes.
* include/bits/localefwd.h: (locale:🆔 :_M_id): Add member function.
(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
(locale::_Impl::_Impl(string, size_t)): Change to
(locale::_Impl::_Impl(const char*, size_t)): This.
* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
(streambuf::_S_pback_size): This.
* src/globals.cc: Add pre-allocations for "C" facets.
* src/locale-inst.cc: Remove vector instantiations.
* src/locale.cc: Remove vector include. Fixups for _M_names,
_M_facets changes.
* src/localename.cc: Same.
* include/bits/stl_vector.h: Fix odd formatting.
* include/bits/basic_string.tcc: Tweak comment.
* libsupc++/new: Make sure parameters are uglified.
* libsupc++/typeinfo: Same.
* testsuite/22_locale/num_get_members_char.cc: Fixup.
* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
* testsuite/27_io/filebuf_members.cc: Same.
From-SVN: r52345
2002-04-16 00:45:36 +00:00
Phil Edwards
b963aad8ed
std_bitset.h: Doxygenate std::bitset<>.
...
2002-04-12 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Doxygenate std::bitset<>. Clean up
trailing spaces, indentation, and macro names. Make exception
messages more informative.
From-SVN: r52233
2002-04-12 19:15:59 +00:00
Benjamin Kosnik
1cb7f91f86
bitset_members.cc: New test.
...
2002-04-09 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/6124
* testsuite/23_containers/bitset_members.cc: New test.
* include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
(_S_bit_count): Here.
(_First_one::_S_first_one): Move...
(_S_first_one): Here.
Format.
* src/bitset.cc: Adjust.
* config/linker-map.gnu: Export.
From-SVN: r52066
2002-04-09 07:35:31 +00:00
Benjamin Kosnik
b988dfc58f
fstream.tcc (filebuf::seekpos): Fix.
...
2002-04-08 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/5180
* include/bits/fstream.tcc (filebuf::seekpos): Fix.
* include/std/std_fstream.h: Clean.
* include/bits/ostream.tcc: Remove extraneous variables.
* include/bits/sstream.tcc (stringbuf::seekoff): Be strict about
open modes and which modes.
(stringbuf::seekpos): Same.
* testsuite/27_io/stringbuf_virtuals.cc: New tests.
From-SVN: r52057
2002-04-09 06:14:32 +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
Phil Edwards
04b7c941e9
Intro.3: Date tweak.
...
2002-03-27 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/Intro.3: Date tweak.
* docs/doxygen/TODO: Update.
* docs/doxygen/doxygroups.cc: Point to tables.html.
* docs/doxygen/mainpage.html: Date tweak.
* docs/doxygen/run_doxygen: Version tweak. Copy tables.html over.
* docs/doxygen/tables.html: Fill in the blanks.
* docs/doxygen/user.cfg.in (ALIASES): Remove maint and endmaint.
* include/bits/stl_algo.h: Likewise; use expanded form.
* include/bits/stl_alloc.h: Likewise.
* include/bits/stl_construct.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_iterator_base_types.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_relops.h: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/std/std_memory.h: Likewise.
* include/bits/stl_deque.h: Point into tables.html and add @ingroup.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_vector.h: Likewise.
From-SVN: r51471
2002-03-27 21:41:36 +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
037cfe71e0
user.cfg.in: Also document deprecated entries.
...
2002-03-06 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/user.cfg.in: Also document deprecated entries.
* docs/html/Makefile: Example rule to rebuild porting-howto.html.
* docs/html/17_intro/howto.html: "gcc"->"GCC" changes, when
referring to the collection as a whole. New section on which macros
can be redefined by the user.
* docs/html/19_diagnostics/howto.html: Update note for concepts.
* docs/html/20_util/howto.html: Update link to SGI.
* docs/html/faq/index.html: Update snapshot versions. New entry
on why g++ (but not gcc) must currently predefine certain macros.
* docs/html/faq/index.txt: Regenerated.
* include/bits/basic_string.h (basic_string::_S_construct): Fix
names in declaration.
(basic_string::compare): These are no longer optional.
* include/bits/ostream.tcc: Tweak closing brace placement.
* include/bits/stl_algo.h: Lots of initial doxygen comment hooks.
* include/std/std_sstream.h: Fix typo in comment.
* include/bits/locale_facets.tcc: Remove unneeded header inclusion.
* src/locale.cc: Likewise.
From-SVN: r50376
2002-03-06 21:22:56 +00:00