X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=026eebe570c6c17b761c5e16e4c85fd9f337d32a;hb=c8661dc49b1d8a9879be23a7b4a8e3f545a25418;hp=791cee3e85fc8931e731c610a3d5baf35cedaf53;hpb=a80bbda119c4b8dc087056698453ea6777798bcf;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 791cee3e85f..026eebe570c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,664 @@ +2003-12-09 Bernardo Innocenti + + * include/c/std_cctype.h, include/c/std_cmath.h, + include/c/std_cstdlib.h include/c/std_cwchar.h, + include/c/std_cwctype.h: Remove trailing whitespace. + +2003-12-09 Bernardo Innocenti + + * include/backward/algo.h, include/backward/algobase.h, + include/backward/alloc.h, include/backward/complex.h, + include/backward/defalloc.h, include/backward/function.h, + include/backward/iterator.h, include/backward/new.h, + include/backward/ostream.h, include/backward/queue.h, + include/backward/rope.h, include/backward/stream.h, + include/backward/streambuf.h, include/backward/strstream, + include/backward/tempbuf.h, include/backward/tree.h, + include/backward/vector.h: Remove trailing whitespace. + +2003-12-08 Paolo Carlini + + * config/locale/generic/c_locale.cc (__convert_to_v(long&), + __convert_to_v(unsigned long&), __convert_to_v(long long&), + __convert_to_v(unsigned long long&): Remove. + (__convert_to_v(float&), __convert_to_v(double&), + __convert_to_v(long double&)): Remove last unused parameter. + * config/locale/gnu/c_locale.cc: Likewise. + * include/bits/locale_facets.h: Likewise. + (num_get::_M_extract_int): Update declaration. + (class __num_base): Tweak _S_ie and _S_iE according to the + _S_atoms_in changes. + * include/bits/locale_facets.tcc (num_get::_M_extract_int): + Provide directly the final _ValueT, not a string: accumulate + the result checking for overflow at each digit. + (num_get::do_get(bool&), num_get::do_get(long&), + num_get::do_get(unsigned short&), num_get::do_get(unsigned int&), + num_get::do_get(unsigned long&), num_get::do_get(long long&), + num_get::do_get(unsigned long long&), num_get::do_get(void*&)): + Use the new _M_extract_int, simplify. + * src/locale-inst.cc (num_get::_M_extract_int(long&), + num_get::_M_extract_int(unsigned short&), + num_get::_M_extract_int(unsigned int&), + num_get::_M_extract_int(unsigned long&), + num_get::_M_extract_int(long long&), + num_get::_M_extract_int(unsigned long long&): Instantiate. + * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder + the chars in the natural order: abcdefABCDEF. + +2003-12-08 David S. Miller + + PR libstdc++/12496 + * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add): + Extend increment to _Atomic_word before giving to assembler. + +2003-12-06 Benjamin Kosnik + + * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits. + * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same. + +2003-12-06 Benjamin Kosnik + + PR libstdc++/11691 + * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): + Remove __del argument to file descriptor constructor. + * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove + bool argument. + * config/io/basic_file_stdio.cc: Same. + +2003-12-05 Benjamin Kosnik + + PR libstdc++/13189 + * include/ext/enc_filebuf.h: Fix. + * include/bits/fstream.tcc: Tweak formatting. + * include/bits/postypes.h: Same. + * include/bits/sstream.tcc: Same. + * include/bits/streambuf.tcc: Same. + * testsuite/ext/stdio_filebuf.cc: Split. + * testsuite/ext/stdio_filebuf_2.cc: Split. + * testsuite/ext/stdio_sync_filebuf_char.cc: Split. + * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split. + * testsuite/ext/enc_filebuf/char/13189.cc: New. + * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New. + * testsuite/ext/stdio_filebuf/char/1.cc: New. + * testsuite/ext/stdio_filebuf/char/2.cc: New. + * testsuite/ext/stdio_sync_filebuf/char/1.cc: New. + * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New. + * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New. + * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New. + * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New. + * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New. + +2003-12-05 Carlo Wood + + PR libstdc++/13045 + * bits/demangle.h + namespace __gnu_cxx::demangler + (enum substitution_nt): Removed trailing comma. + (implementation_details): Added. + (session::M_implementation_details): Added. + (session::session): Pass implementation_details. + (session::decode_encoding): Same. + (session::decode_real): Added. + (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL + _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT + _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS + _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with + implementation_details equivalent. + (session::decode_expression): + Use M_implementation_details instead of macros. Add extra parentheses + around 'larger than' operator in expressions in template arguments. + (session::decode_bare_function_type): Idem. + (session::decode_literal): + Idem, and call decode_real for floating literals. + (session::decode_type_with_postfix): Put the postfix + of the return type of (member) functions after the function + instead of after the return type. Also, put a space after the + prefix of qualified function pointers: "int (* const". + * src/demangle.cc: include most dependent header file first. + * testsuite/demangle/regression/cw-16.cc: Updated two + and added three tests. + +2003-12-04 Benjamin Kosnik + + PR libstdc++/13284 + * include/bits/stl_algo.h (__random_number): Remove. + (random_shuffle): Use rand, as permitted by DR 395. + * include/ext/algorithm: Same. + * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48. + * acconfig.h: Same. + * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48. + * config.h.in: Regenerated. + * configure: Same. + * aclocal.m4: Same. + +2003-12-04 Paolo Carlini + + PR libstdc++/12653 + * include/std/std_bitset.h (operator>>): Implement resolution + of DR 303 [WP]: use widen('0') and widen('1'). + * docs/html/ext/howto.html: Add an entry for DR 303. + + * include/std/std_bitset.h (operator>>): Implement the common + requirements of formatted input functions (27.6.1.2.1). + + * include/std/std_bitset.h (operator>>): Set the failbit when + nothing was extracted and _Nb != 0. + * testsuite/23_containers/bitset/input/1.cc: New. + +2003-12-03 Paolo Carlini + + PR libstdc++/12791 + * include/bits/locale_facets.tcc (time_get::_M_extract_num): + Rewrite, stop the parsing as soon as a digit cannot possibly + lead to a final number within the bounds; otherwise, simplify, + avoiding __ctype.is() and atoi(). + * testsuite/22_locale/time_get/get_date/char/12791.cc: New. + * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New. + + * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): + Minor tweak: a 4-digit integer cannot be bigger than 9999. + + * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use + type-correct wchar_t string literals. + * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto. + * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto. + * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto. + * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto. + +2003-12-02 Paolo Carlini + + * include/bits/locale_facets.tcc (time_get::do_get_year): + Avoid using a basic_string and calling a full blown strtol + (via __convert_to_v) for simple 2 or 4 digits, base 10, + positive integers; simplify. + +2003-12-02 Paolo Carlini + + * config/locale/gnu/monetary_members.cc + (money_base::_S_construct_pattern): For case 3: and 4: + exchanging 'if (__precedes)' and 'if (__space)' allows + to factor out a few more assignments. + +2003-12-01 Benjamin Kosnik + + * include/bits/basic_ios.h (basic_ios::setstate): Revert. + * include/bits/istream.tcc: Only call setstate if __err != goodbit. + * include/bits/ostream.tcc: Same. + * testsuite/27_io/basic_ios/exceptions/char/2.cc: New. + + * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make + internal buffer non-static. + +2003-12-01 Benjamin Kosnik + + * docs/html/17_intro/C++STYLE: Add exception bits. + * include/bits/fstream.tcc: Add location info to exception strings. + + * include/bits/stl_construct.h: Formatting tweaks. + +2003-12-01 Paolo Carlini + + PR libstdc++/10378 + * include/bits/allocator.h (allocator::construct): Implement + resolution of DR 402 [Ready] (in Revision 28). + * include/bits/allocator_traits.h (__allocator::construct): + Likewise. + * include/bits/stl_construct.h (_Construct): Likewise. + * testsuite/20_util/allocator_members.cc: Move to... + * testsuite/20_util/allocator/1.cc: ... here. + * testsuite/20_util/allocator/10378.cc: New. + * docs/html/ext/howto.html: Add an entry for DR 402. + +2003-11-30 Paolo Carlini + + * config/locale/gnu/codecvt_members.cc (codecvt::do_in, + codecvt::do_length): More minor tweaks. + +2003-11-30 Paolo Carlini + + * config/locale/gnu/codecvt_members.cc (codecvt::do_in): + Minor stylistic tweak. + +2003-11-30 Paolo Carlini + + * include/bits/locale_facets.tcc (num_put::do_put(..., bool)): + Minor tweaks, consistent with the style used in other facets. + +2003-11-29 Paolo Carlini + + * include/bits/fstream.tcc (underflow): Minor tweaks in + preparation for libstdc++/13217. + +2003-11-29 Paolo Carlini + + * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: + Tweak for a few small problems (fix timings, use VERIFY..) + +2003-11-28 Paolo Carlini + + * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New, + the original third testcase for libstdc++/13171 belong here. + +2003-11-28 Paolo Carlini + + * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: + Remove extraneous wchar_t lines. + +2003-11-27 Paolo Carlini + + PR libstdc++/11544 + PR libstdc++/11603 + * include/bits/fstream.tcc (underflow): Throw ios_base:failure + upon incomplete or invalid byte sequences in the file. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New. + +2003-11-27 Paolo Carlini + + * include/std/std_streambuf.h (__copy_streambufs): Remove + the first, unused, basic_ios<> parameter. + * src/streambuf-inst.cc: Likewise. + * include/bits/streambuf.tcc: Likewise. + * include/bits/istream.tcc (operator>>(__streambuf_type*)): + Tweak accordingly the call. + * include/bits/ostream.tcc (operator<<(__streambuf_type*)): + Likewise. + + * include/bits/streambuf.tcc (__copy_streambufs): Remove + redundant try/catch. + +2003-11-26 Benjamin Kosnik + + PR libstdc++/9371 + PR libstdc++/9546 + PR libstdc++/10093 + PR libstdc++/10095 + * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit. + (basic_ios::_M_setstate): Consolidate common error handling code. + * include/bits/basic_ios.tcc: Tweak. + * include/bits/fstream.tcc: Tweak. + * include/bits/istream.tcc: Use _M_setstate for common exception + handling. Move setstate calls after catch. + (basic_istream::tellg): Check for exceptions thrown by streambuf + virtual functions. + (basic_istream::seekg): Same. + * include/bits/ostream.tcc: Same, but for ostream. + (basic_ostream::flush): Check for exceptions thrown by streambuf + virtual functions. + (basic_istream::tellp): Same. + (basic_istream::seekp): Same. + * include/bits/locale_facets.tcc: Tweak. + * include/bits/streambuf.tcc: Tweak. + (__copy_streambufs): Propagate exceptions. + * testsuite/testsuite_io.h (fail_streambuf): New. + (fail_num_get): New. + (fail_num_put): New. + (facet_error): New. + (underflow_error): New. + (overflow_error): New. + (positioning_error): New. + * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/ + exceptions_badbit_throw.cc, exceptions_failbit.cc, + exceptions_failbit_throw.cc: New. + * testsuite/27_io/basic_istream/extractors_other/char/ + error_failbit.cc, exceptions_badbit_throw.cc, + exceptions_failbit_throw.cc, exceptions_null.cc: New. + * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: + New. + * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc: + New. + * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc: + New. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/ + exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New. + * testsuite/27_io/basic_ostream/inserters_other/char/ + error_failbit.cc, exceptions_badbit_throw.cc, + exceptions_failbit_throw.cc, exceptions_null.cc: New. + * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: + New. + * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: + New. + +2003-11-26 Benjamin Kosnik + + PR libstdc++/12297 + * include/bits/istream.tcc + (basic_istream::sentry::sentry): Set failbit and eofbit when eof. + * testsuite/27_io/basic_istream/sentry/char/12297.cc: New. + +2003-11-26 Paolo Carlini + Petur Runolfsson + + PR libstdc++/13171 + * include/bits/fstream.tcc (imbue): Relax the conditions under + which the function succeeds: allow for two consecutive calls with + the same name; state dependent encodings are ok even after open + if at the beginning of the file; don't check seekoff return value + (pipes, cin, cout, etc...) + * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New. + * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New. + * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New. + * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New. + * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment. + * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise. + + * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More + correctly use the UTF-8 locale appearing in the PR. + +2003-11-26 Paolo Carlini + + * include/bits/locale_facets.h + (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping, + _M_truename and _M_falsename: the constructor always does + it immediately before the _M_cache call. + +2003-11-25 Paolo Carlini + + * config/locale/gnu/codecvt_members.cc (codecvt::do_length): + Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the + former is very fast, but stops if encounters a NUL. + (codecvt::do_out): Tweaks. + (codecvt::do_in): Tweaks, improve the code dealing with errors. + * testsuite/performance/wchar_t_length.cc: New. + +2003-11-24 Paolo Carlini + + * config/locale/gnu/codecvt_members.cc (codecvt::do_in): + Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the + former is very fast, but stops if encounters a NUL. + (codecvt::do_out): Tweak. + * testsuite/performance/wchar_t_in.cc: New. + +2003-11-24 Paolo Carlini + + * include/bits/locale_facets.h + (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning + in order to avoid memory leaks; simplify a bit. + +2003-11-24 Benjamin Kosnik + + * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove + non-standard throw specs. + * testsuite/24_iterators/istreambuf_iterator.cc: Split into... + * testsuite/24_iterators/istreambuf_iterator/1.cc + * testsuite/24_iterators/istreambuf_iterator/2.cc + * testsuite/24_iterators/istreambuf_iterator/2627.cc + * testsuite/24_iterators/ostreambuf_iterator.cc: Split into... + * testsuite/24_iterators/ostreambuf_iterator/1.cc + * testsuite/24_iterators/ostreambuf_iterator/2.cc + + * testsuite/24_iterators/reverse_iterator/1.cc: Just compile, + don't link. + + * include/bits/allocator.h: Formatting tweak. + +2003-11-24 Paolo Carlini + + * src/locale_init.cc: Cosmetic reformatting. + +2003-11-23 Paolo Carlini + + * include/bits/locale_facets.tcc (__add_grouping): + Cosmetic reformatting. + +2003-11-23 Paolo Carlini + + * include/bits/locale_facets.tcc (_M_extract_float, + _M_extract_int): Remove a wrong comment and simplify + the corresponding code using char_traits::find(). + +2003-11-22 Paolo Carlini + + * config/locale/gnu/monetary_members.cc + (money_base::_S_construct_pattern): Factor out two assignments. + +2003-11-22 Paolo Carlini + + * include/bits/istream.tcc (getline(basic_string<>&)): + Fix error in comment of the previous commit. + +2003-11-22 Paolo Carlini + + PR libstdc++/12593 + * include/bits/istream.tcc (operator>>(basic_string<>&), + getline(basic_string<>&)): Implement resolution of DR 91 [WP]; + fix some minor issues with the exit conditions. + * docs/html/ext/howto.html: Add an entry for DR 91. + +2003-11-21 Paolo Carlini + + * config/locale/gnu/monetary_members.cc + (money_base::_S_construct_pattern): Factor out an assignment. + +2003-11-21 Paolo Carlini + + PR libstdc++/12882 (partial) + * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64 + and ftello64 too. + * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64 + and ftello64 if available. + * aclocal.m4: Regenerate. + * configure: Ditto. + +2003-11-20 Benjamin Kosnik + + * include/debug/formatter.h: Use _Tp as template argument. + * src/debug.cc: Same, instantiate std::size_t. + +2003-11-20 Benjamin Kosnik + + PR libstdc++/13109 + * include/debug/formatter.h (_Error_formatter::_M_format_word): New. + * src/debug.cc (__gnu_debug): Format. + (_Error_formatter::_M_format_word): Define, use, instantiate. + +2003-11-20 Paolo Carlini + + PR libstdc++/11602 + * config/locale/gnu/codecvt_members.cc (codecvt::do_out): + Rewrite, using both wcsnrtombs and wcrtomb in a loop: the + former is very fast, but stops if encounters a NUL. + * testsuite/performance/wchar_t_out.cc: New, from the PR. + +2003-11-19 Paolo Carlini + + * config/locale/gnu/codecvt_members.cc (do_out): If + we can upper bound the total number of external chars + to something smaller than __to_end - __to, avoid the + temporary buffer, the memcopy and simplify the loop. + * config/locale/generic/codecvt_members.cc (do_out): + Likewise. + +2003-11-19 Andreas Tobler + + * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin. + * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress + flag. + +2003-11-18 Jonathan Wakely + + * docs/html/configopts.html, docs/html/debug.html, + docs/html/documentation.html, docs/html/explanations.html, + docs/html/install.html, docs/html/17_intro/contribute.html, + docs/html/17_intro/howto.html, docs/html/17_intro/license.html, + docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html, + docs/html/20_util/howto.html, docs/html/21_strings/howto.html, + docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html, + docs/html/22_locale/howto.html, docs/html/22_locale/locale.html, + docs/html/22_locale/messages.html, docs/html/23_containers/howto.html, + docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html, + docs/html/26_numerics/howto.html, docs/html/27_io/howto.html, + docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add tags. + +2003-11-18 Paolo Carlini + + PR libstdc++/12868 + * include/bits/fstream.tcc (imbue): For encodings != -1 it's + always ok to imbue a new locale, provided seekoff(0, cur, ...) + doesn't fail, of course. + (underflow): In order for the above to work, deal gracefully + with _M_codecvt->in returning codecvt_base::error while + (__ilen = __iend - this->eback()) > 0: it just means __ilen + correctly converted internal characters before an error. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New. + +2003-11-17 Paolo Carlini + + * include/bits/locale_facets.tcc: Fix typo in comment. + +2003-11-17 Paolo Carlini + + * testsuite/22_locale/num_put/put/char/8.cc: New test, + summarizing the discussion ensuing libstdc++/12988. + * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto. + +2003-11-15 Paolo Carlini + + * include/std/std_fstream.h: Tweak a comment. + +2003-11-15 Roger Sayle + + * include/c_std/std_cmath.h: Don't import C99's float transcendentals + into the __gnu_cxx::__c99_binding namespace. + (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp, + ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using + GCC's math builtins, i.e. __builtin_foo. + * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl, + ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl, + ldexpf, ldexpl, modff, modfl): Provide stub implementations. + +2003-11-14 Paolo Carlini + + * testsuite/22_locale/locale/cons/12352.cc: Use + __gnu_test::try_named_locale. + +2003-11-14 Paolo Carlini + + * docs/html/ext/howto.html: Add entries for DR 63, 75 + and 305; tweak entries for DR 60 and 328. + +2003-11-13 Douglas Gregor + + * docs/html/debug.html: Users are allowed to specialize in + namespace __gnu_debug, unlike in the Apple version of the debug + mode. Clear up a confusing double-negative. Note that + std::basic_string does provide extra debugging capabilities, but + not safe iterators. + * include/bits/basic_string.tcc: Make sure there's never an + ambiguity when calling __is_null_pointer. + * include/debug/deque: (deque::erase) Properly handle invalidation + when erasing at the end of the deque. + * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity. + (vector::clear): Set the guaranteed capacity to 0. + * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test + iterator invalidation when erasing at the end of the deque. + +2003-11-13 Paolo Carlini + Petur Runolfsson + + PR libstdc++/13007 + * include/bits/fstream.tcc (imbue): Don't touch the stored + locale. + * include/std/std_streambuf.h (imbue): According to the + standard, base class version does nothing. + (pubimbue): Store the locale. + * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New. + * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New. + * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New. + * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New. + * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New. + +2003-11-13 Petur Runolfsson + + PR libstdc++/12594 + * include/bits/ostream.tcc + (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)), + basic_ostream::operator<<(basic_ios& (*)(basic_ios&)), + basic_ostream::operator<<(ios_base& (*)(ios_base&))): + Implement the resolution of DR 60 (TC): These are not formatted + output functions so don't construct sentry objects and don't + catch exceptions. + (basic_ostream::put, basic_ostream::write): Implement the + resolution of DR 63 (TC) by catching exceptions and setting + badbit. + (basic_ostream::flush): Implement the resolution of DR 60 (TC): + This is not an unformatted output function so don't construct + a sentry object. + * testsuite/testsuite_io.h (sync_streambuf): Define. + * testsuite/27_io/basic_ostream/flush/char/2.cc: New test. + * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test. + * testsuite/27_io/basic_ostream/put/char/1.cc: New test. + * testsuite/27_io/basic_ostream/write/char/1.cc: New test. + +2003-11-13 Paolo Carlini + + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: + Fix, closely following the testcase included in the PR. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto. + +2003-11-13 Jonathan Wakely + + * docs/html/17_intro/configury.html: XHTML tweak. + +2003-11-13 Jonathan Wakely + + * docs/html/debug_mode.html: XHTML fixes. + +2003-11-12 Benjamin Kosnik + + * docs/html/debug_mode.html: Update. + * docs/html/17_intro/TODO: Update. + +2003-11-12 Benjamin Kosnik + + * include/bits/c++config: Move using directive... + * include/debug/formatter.h: ...here. + +2003-11-12 Carlo Wood + + PR libstdc++/12947 + * bits/demangle.h + (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added. + (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added. + (session::next_peek() const): Added. + (decode_non_negative_decimal_integer(string_type&)): + Renamed from decode_decimal_integer(string_type&). + (session::decode_nested_name): + Decode as well. + (session::add_substitution): + Handle for 's. + (enum xary_nt): Added. + (struct entry_st): Added member `xary_nt type' instead of `bool unary'. + (symbol_name_table_c): Updated for `entry_st::type' and additional + operators (unary `operator+' and `sizeof(type)'). + (offset_table_c): Updated for new operators (causing a new hash map). + (decode_operator_name): Match the updated hash map. + (session::decode_expression): + Support for `sizeof ([typename] type)' (st), + dependent names (sr) and casting operator (cv). Handle + `entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS + and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME. + (session::decode_type_with_postfix): + Support `extern "C"' function types (FY). + * testsuite/demangle/regression/cw-16.cc: Added tests for the + added functionality. + * testsuite/demangle/regression/3111-2.cc: sizeof now has a space + appended. + 2003-11-11 Paolo Carlini PR libstdc++/12875