X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=7263ff84719e425f40abe158c3dca077bdfae521;hb=ba63c2231fa2e27ce9072d42ed7df7a26f831216;hp=25018c507b6a6bc35e618117dc64a89efc5cda0e;hpb=ab4c376ff22e1cda96543c1f8c8c110360e71689;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 25018c507b6..7263ff84719 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,1084 @@ +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 + * include/bits/fstream.tcc (setbuf): Don't do anything + after open(), in particular don't discard data. + (_M_allocate_internal_buffer): Tweak to not allocate memory + in case the buffer is provided by the user via setbuf. + * include/ext/stdio_filebuf.h: Tweak comment. + * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New. + * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now + setbuf does nothing after open(). + * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise. + +2003-11-11 Doug Gregor + + * docs/html/debug.html: Document libstdc++ debug mode. + * docs/html/debug_mode.html: Document libstdc++ debug mode design. + * docs/html/test.html: Document how to test under debug mode. + * docs/html/17_intro/howto.html: Document debug-mode macros. + * include/Makefile.am: Install debug-mode headers. + * src/Makefile.am: Include debug.cc. + * include/bits/basic_string.tcc: + (basic_string::_S_construct): Fix NULL pointer check. + (__is_null_pointer): New. + Add precondition annotations. + * include/bits/stream_iterator.h (istream_iterator, + ostream_iterator): Added precondition annotations. + * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto. + * include/bits/stl_queue.h (queue, priority_queue): Ditto. + * include/bits/stl_stack.h (stack): Ditto. + * include/bits/basic_string.h (basic_string): Ditto. + * include/bits/basic_string.tcc (basic_string): Ditto. + * include/std/std_memory.h (auto_ptr): Ditto. + * include/std/std_valarray.h (valarray): Ditto. + * include/bits/stl_algo.h: Added algorithm precondition + annotations. + * include/bits/stl_algobase.h: Added algorithm precondition + annotations. + * include/bits/stl_numeric.h: Ditto. + * include/ext/algorithm: Added algorithm precondition + annotations. + (__is_heap): Moved away from here. + * include/bits/stl_heap.h: Added algorithm precondition + annotations. + (__is_heap): Moved to the top of this file. + (__is_heap): Added iterator range overloads. + * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up + with changes in std_memory.h. + * testsuite/23_containers/list/operators/4.cc: Don't verify + performance guarantees when in debug mode. + * testsuite/23_containers/bitset/invalidation/1.cc: New. + * testsuite/23_containers/deque/invalidation/1.cc: New. + * testsuite/23_containers/deque/invalidation/2.cc: New. + * testsuite/23_containers/deque/invalidation/3.cc: New. + * testsuite/23_containers/deque/invalidation/4.cc: New. + * testsuite/23_containers/list/invalidation/1.cc: New. + * testsuite/23_containers/list/invalidation/2.cc: New. + * testsuite/23_containers/list/invalidation/3.cc: New. + * testsuite/23_containers/list/invalidation/4.cc: New. + * testsuite/23_containers/map/invalidation/1.cc: New. + * testsuite/23_containers/map/invalidation/2.cc: New. + * testsuite/23_containers/multimap/invalidation/1.cc: New. + * testsuite/23_containers/multimap/invalidation/2.cc: New. + * testsuite/23_containers/multiset/invalidation/1.cc: New. + * testsuite/23_containers/multiset/invalidation/2.cc: New. + * testsuite/23_containers/set/invalidation/1.cc: New. + * testsuite/23_containers/set/invalidation/2.cc: New. + * testsuite/23_containers/vector/invalidation/1.cc: New. + * testsuite/23_containers/vector/invalidation/2.cc: New. + * testsuite/23_containers/vector/invalidation/3.cc: New. + * testsuite/23_containers/vector/invalidation/4.cc: New. + * testsuite/25_algorithms/heap.cc: Don't verify + performance guarantees when in debug mode. + * include/debug/bitset: New. + * include/debug/debug.h: New. + * include/debug/deque: New. + * include/debug/formatter.h: New. + * include/debug/hash_map: New. + * include/debug/hash_map.h: New. + * include/debug/hash_multimap.h: New. + * include/debug/hash_set: New. + * include/debug/hash_set.h: New. + * include/debug/hash_multiset.h: New. + * include/debug/list: New. + * include/debug/map: New. + * include/debug/map.h: New. + * include/debug/multimap.h: New. + * include/debug/multiset.h: New. + * include/debug/safe_base.h: New. + * include/debug/safe_iterator.h: New. + * include/debug/safe_iterator.tcc: New. + * include/debug/safe_sequence.h: New. + * include/debug/set: New. + * include/debug/set.h: New. + * include/debug/string: New. + * include/debug/vector: New. + * src/debug.cc: New. + * config/linker-map.gnu: Add debug mode symbols. + +2003-11-11 Benjamin Kosnik + + * src/string-inst.cc: Tweak namespaces. + * src/misc-inst.cc: Same. + * docs/html/debug.html: Edits. + * config/link-map.gnu: Remove cruft. + + * include/bits/c++config: Add in namespace associations. + * include/std/std_bitset.h: Adjust namespace to __gnu_norm, + comment tweaks. + * include/bits/deque.tcc: Same. + * include/bits/list.tcc: Same. + * include/bits/stl_bvector.h: Same. + * include/bits/stl_deque.h: Same. + * include/bits/stl_list.h: Same. + * include/bits/stl_map.h: Same. + * include/bits/stl_multimap.h: Same. + * include/bits/stl_multiset.h: Same. + * include/bits/stl_set.h: Same. + * include/bits/stl_vector.h: Same. + * include/bits/vector.tcc: Same. + + * include/std/std_algorithm.h: Remove markup comments. + * include/std/std_functional.h: Same. + * include/std/std_iterator.h: Same. + * include/std/std_numeric.h: Same. + * include/std/std_utility.h: Same. + * include/bits/stl_queue.h: Formatting tweaks. + * include/bits/stl_stack.h: Same. + * include/std/std_deque.h: Include debugging version in debug mode. + * include/std/std_list.h: Same. + * include/std/std_map.h: Same. + * include/std/std_set.h: Same. + * include/std/std_vector.h: Same. + * include/std/std_queue.h: Use deque, vector. + * include/std/std_stack.h: Same. + +2003-11-09 Paolo Carlini + + * include/bits/locale_facets.tcc (_M_insert_int, + _M_insert_float): Move a couple of vars inside an if block. + +2003-11-09 Paolo Carlini + + PR libstdc++/12971 + * include/bits/locale_facets.tcc + (money_put::do_put(..., long double)): Fix conversion + specification as per DR 328 [WP]. + * testsuite/22_locale/money_put/put/char/12971.cc: Add. + * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto. + * docs/html/ext/howto.html: Add entry for DR 328. + +2003-11-08 Paolo Carlini + + PR libstdc++/12967 + * include/bits/list.tcc (merge): Implement resolution of + DR 300 [WP]. + * docs/html/ext/howto.html: Add entry for DR 300; tweak entry + for DR 231. + + * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html: + Import R27. + +2003-11-07 Jonathan Wakely + + * libsupc++/vec.cc: Conform to C++STYLE. + +2003-11-07 Carlo Wood + + PR libstdc++/12736 + * bits/demangle.h (qualifier_list::decode_KVrA): Added. + (qualifier_list::decode_qualifiers): Collect concatenated + K, V, r and A qualifiers before processing them as a group. + * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers. + * testsuite/demangle/regression/cw-16.cc: New. + +2003-11-07 Robert Millan + + * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu. + * crossconfig.m4: Likewise. + * configure: Regenerate. + +2003-11-07 Carlo Wood + + * include/bits/demangle.h + (qualifier_list::decode_qualifiers(string_type&, + string_type&, bool member_function_pointer_qualifiers): + Always separate the '[' of an array type with a space from + what is left of it, except when that is the closing bracket + of another array dimension. + +2003-11-07 Carlo Wood + + * include/bits/demangle.h + (qualifier_list::decode_qualifiers(string_type&, + string_type&, bool) const): Made const. + (qualifier_list::M_printing_suppressed): Added mutable. + (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3, + std::ostream& operator<<(std::ostream&, qualifier const&), + std::ostream& operator<<(std::ostream&, qualifier_list const&), + qualifier_list::decode_qualifiers(string_type&, + string_type&, bool) const, + session::decode_type_with_postfix(string_type&, + string_type&, qualifier_list*)) + Added and/or changed debug-only hooks and code. + +2003-11-04 Jeffrey D. Oldham + + * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer, + immediately return. This reflects a C++ ABI change 2003 Nov 03. + (__cxa_vec_delete3): Likewise. + +2003-11-03 Petur Runolfsson + + PR libstdc++/12790 + * include/bits/fstream.tcc: Delete _M_last_overflowed. + (basic_filebuf::basic_filebuf): Initialize _M_state_last. + (basic_filebuf::open, basic_filebuf::close): Assign + _M_state_beg to _M_state_cur and _M_state_last. + (basic_filebuf::close): Call _M_terminate_output to handle + unshift and flushing. + (basic_filebuf::underflow): Assign _M_state_last, throw + exception instead of calling abort when codecvt::max_length() + is bad. + (basic_filebuf::seekoff): Use _M_state_last when calling + codecvt::length(), pass correct state to _M_seek. + (basic_filebuf::seekpos): Pass __pos.state() to _M_seek. + (basic_filebuf::_M_seek): Add __state_type parameter, + set _M_state_cur correctly, store the resulting state in + the return value and use _M_terminate_output to handle + flushing and unshift. + (basic_filebuf::_M_terminate_output): Flush contents of + output buffer, if any, then call codecvt::unshift as + needed and output the result. + (basic_filebuf::sync): Move here, don't modify _M_writing + or _M_reading. + + * include/std/std_fstream.h + (basic_filebuf::_M_state_last): Declare it. + (basic_filebuf::_M_last_overflowed): Delete. + (basic_filebuf::_M_seek): Add __state_type parameter. + (basic_filebuf::sync): Declare only. + (basic_filebuf::_M_output_unshift): Delete. + (basic_filebuf::_M_terminate_output): Declare it. + + * testsuite/testsuite_character.h: + Define character class and state class plus char_traits and + codecvt specializations for same for testing support for + stateful encodings. + + * testsuite/27_io/basic_filebuf/close/12790-1.cc, + * testsuite/27_io/basic_filebuf/close/char/12790-1.cc, + * testsuite/27_io/basic_filebuf/close/char/12790-2.cc, + * testsuite/27_io/basic_filebuf/close/char/12790-3.cc, + * testsuite/27_io/basic_filebuf/close/char/12790-4.cc, + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc, + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc, + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc, + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc, + * testsuite/27_io/basic_filebuf/open/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc, + * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc, + * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc, + * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc, + * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc, + * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc, + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc, + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc, + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc, + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc, + * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc, + * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc, + * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc, + * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc, + * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc, + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc, + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc, + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc, + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc, + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc, + * testsuite/27_io/basic_filebuf/sync/char/1.cc, + * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: + New tests. + + * testsuite/27_io/basic_filebuf/3.cc, + * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc, + * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc, + * testsuite/27_io/basic_fstream/3.cc, + * testsuite/27_io/basic_ifstream/3.cc, + * testsuite/27_io/basic_ofstream/3.cc: + Use streamoff as off_type and fpos as pos_type. + + * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc, + * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: + Check that sync does *not* set _M_writing to false. + +2003-11-03 Anthony Green + + * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before + they're used. + +2003-11-03 Benjamin Kosnik + + * include/bits/locale_facets.h (time_get::_M_extract_name): Add + ctype argument. + * include/bits/locale_facets.tcc: Same, use it to allow + capitalized names. + + * include/bits/fstream.tcc: Spacing tweak. + * include/bits/istream.tcc: Same. + * include/bits/ostream.tcc: Same. + +2003-10-30 Paolo Carlini + + * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): + __mod is only assigned, never used its value, remove it. + +2003-10-29 Paolo Carlini + + * include/bits/locale_facets.tcc (time_get::do_get_year): + Absolutely avoid dereferencing end iterators. + (time_put::put): Minor clean up. + + * include/bits/locale_facets.tcc: Cosmetic reformattings. + +2003-10-29 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get::_M_extract_float): + Revert the last commit, is not correct, sorry. + +2003-10-29 Paolo Carlini + + * config/locale/generic/c_locale.cc: Add back and + . + + * include/bits/locale_facets.tcc (num_get::_M_extract_float): + Clean up. + +2003-10-29 Paolo Carlini + + * include/bits/locale_facets.tcc (time_put::put): Absolutely + avoid dereferencing end iterators; clean up. + + * include/bits/locale_facets.tcc (num_get::_M_extract_float, + num_get::_M_extract_int): Minor tweak. + +2003-10-29 Paolo Carlini + + * include/bits/locale_facets.tcc: Remove some unnecessary + includes. + * config/locale/generic/c_locale.cc: Include here. + * config/locale/gnu/c_locale.cc: Likewise. + +2003-10-28 Paolo Carlini + + * include/bits/locale_facets.tcc + (money_get<>::do_get(..., string_type&)): Absolutely avoid + dereferencing end iterators; general clean up. + +2003-10-28 Paolo Carlini + + * include/bits/locale_facets.tcc (time_get::_M_extract_num): + Absolutely avoid dereferencing end iterators. + (time_get::_M_extract_name): Likewise. + + * include/bits/locale_facets.tcc + (time_get::_M_extract_via_format, case 'e'): Don't try to + be smart wrt returning the right __beg in case of parse + error, time_get::_M_extract_num must be fixed instead. + +2003-10-27 Paolo Carlini + + PR libstdc++/12778 + * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler. + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2003-10-27 Benjamin Kosnik + + * docs/html/17_intro/TODO: Add links. + * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: + Uncomment. + +2003-10-27 Paolo Carlini + + PR libstdc++/12750 + * include/bits/locale_facets.tcc + (time_get::_M_extract_via_format): Deal with code 'e'. + * testsuite/22_locale/time_get/get_date/char/12750.cc: New. + * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto. + + * include/bits/locale_facets.tcc + (time_get::_M_extract_via_format): Tweak to absolutely avoid + dereferencing end iterators. + + * include/bits/locale_facets.h (__verify_grouping): + Const-ify second parameter. + * include/bits/locale_facets.tcc (__verify_grouping): Ditto. + * src/locale-inst.cc (__verify_grouping): Ditto. + +2003-10-27 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get::_M_extract_float): + Various things: 1- Avoid absolutely end iterator dereferences; + 2- Improve performance-wise the code skipping leading zeros; + 3- Fix two bugs wrt early bail out in case of parsing errors + (see testcases); 4- General clean up. + (num_get::_M_extract_int): Likewise, except 3-. Additionally, + use __builtin_expect to favor base 10 inputs. + * testsuite/22_locale/num_get/get/char/7.cc: New. + * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto. + +2003-10-26 Paolo Carlini + + * testsuite/22_locale/money_put/put/char/1.cc: Clean up. + * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto. + +2003-10-25 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get::_M_extract_int): + __pos in only incremented, never used its value, remove it. + +2003-10-24 Robert Millan + + * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu + and knetbsd*-gnu. + * aclocal.m4: Regenerated. + * configure: Regenerated. + +2003-10-24 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get::do_get(..., + long double&): Properly size the temporary buffer. + * testsuite/22_locale/money_get/get/char/11.cc: New. + * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto. + + * include/bits/locale_facets.tcc (num_put::_M_group_int, + num_put::_M_group_float, money_put::do_put(..., const + string_type&), collate::do_compare, collate::do_transform): + Prefer basic_string::data() to c_str() when the '\0' + terminator is not really needed. + +2003-10-24 Paolo Carlini + + * include/bits/locale_facets.tcc (__verify_grouping): + Prefer '=' to an unnecessary '&='. + +2003-10-24 Paolo Carlini + + * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)): + Tweak my fix for libstdc++/12657. + +2003-10-24 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get::do_get(..., + string_type&): Minor tweak to the previous commit. + +2003-10-24 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get::do_get(..., + string_type&): Disregard the previous commit: doesn't hurt but + doesn't accomplish anything useful either. This is the right + one, speeding up greatly the function in case of early fail. + +2003-10-24 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get::do_get(..., + string_type&): Move an if block, thus minimizing the amount + of code processed anyway when __tmp_units.size() == 0. + +2003-10-24 Paolo Carlini + + * include/bits/locale_facets.tcc + (time_get<>::_M_extract_via_format): Deal with case 'C' too, + equivalent to 'y'. + +2003-10-23 Benjamin Kosnik + + * docs/html/documentation.html: Add a pointer to the doxygen style + guide. + * docs/html/17_intro/TODO: Update. + * docs/html/test.html: Add instructions for running a subset of + tests, update. + +2003-10-23 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get<>::do_get(..., + string_type&)): Use find_first_not_of to strip leading + zeros; if __tmp_units == "0" never prefix it with '-'; + always fail if __tmp_units is empty. + * testsuite/22_locale/money_get/get/char/10.cc: New. + * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto. + +2003-10-23 Phil Edwards + + * config/os/vxworks/ctype_noninline.h: Adjust ctor to match + 2003-10-21 change. + +2003-10-22 Paolo Carlini + + * include/bits/locale_facets.tcc (__int_to_char): Remove + the const int parameter. + (_M_insert_int): Update caller. + * src/locale-inst.cc (__int_to_char): Update instantiations. + +2003-10-22 Benjamin Kosnik + + * include/bits/locale_facets.h: Correct byname facets for "C" + locale. + * config/locale/generic/ctype_members.cc: Same. + * config/locale/generic/messages_members.h: Same. + * config/locale/gnu/ctype_members.cc: Same. + * config/locale/gnu/messages_members.h: Same. + * include/bits/codecvt.h: Same. + * src/ctype.cc: Same. + * testsuite/22_locale/codecvt_byname/1.cc: New. + * testsuite/22_locale/collate/1.cc: Edit. + * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to... + * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here. + * testsuite/22_locale/ctype/1.cc: Derivation tests. + * testsuite/22_locale/ctype/11844.cc: Move... + * testsuite/22_locale/ctype_base/11844.cc: ...here. + * testsuite/22_locale/ctype_base/1.cc: Move mask bits here. + * testsuite/22_locale/ctype_byname/1.cc: Name. + * testsuite/22_locale/messages_byname/1.cc: New. + * testsuite/22_locale/messages_byname/named_equivalence.cc: New. + * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test. + * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New. + * testsuite/22_locale/numpunct/1.cc: Edit. + * testsuite/22_locale/numpunct_byname/2.cc: Move... + * testsuite/22_locale/numpunct/members/char/3.cc: ...here. + * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests. + * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New. + +2003-10-22 Paolo Carlini + + PR libstdc++/8610 + * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro, + checking for the availability of int64_t. + (GLIBCXX_CHECK_LFS): New macro, checking for LFS support. + * configure.ac: Call here. + * acconfig.h: Add undef for the corresponding symbols. + * config/io/basic_file_stdio.cc (__basic_file::open): + Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen. + (__basic_file::seekoff): Likewise, call lseek64 when + available, otherwise lseek, checking the __off parameter. + * include/bits/postypes.h: Typedef __streamoff_base_type + to int64_t if available, otherwise long long. + * aclocal.m4: Regenerate. + * config.h.in: Likewise. + * configure: Likewise. + + * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV): + Use AC_TRY_LINK instead of AC_TRY_COMPILE. + +2003-10-22 Paolo Carlini + + PR libstdc++/12657 + * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)): + Implement resolution of DR 292 (WP). + * docs/html/ext/howto.html: Add entry for DR 292. + +2003-10-21 Benjamin Kosnik + + * include/ext/mt_allocator.h: Change include to gthr.h. + * include/ext/rope: Same. Add _Refcount_base definitions. + * include/ext/pool_allocator.h: Adjust namespaces. + * include/bits/stl_threads.h (_Refcount_base): Move. + Put remaining into namespace __gnu_cxx. + +2003-10-21 Benjamin Kosnik + + PR libstdc++/9858 + * include/bits/locale_facets.h (ctype): Remove + __ctype_abstract_base. + (ctype::do_is): Remove. + (ctype::do_scan_is): Remove. + * src/ctype.cc: Same. Inline the rest. + * testsuite/22_locale/ctype/is/char/9858.cc: New. + * config/os/aix/ctype_noninline.h: Adjust ctor. + * config/os/bsd/freebsd/ctype_noninline.h: Same. + * config/os/bsd/netbsd/ctype_noninline.h: Same. + * config/os/djgpp/ctype_noninline.h: Same. + * config/os/generic/ctype_noninline.h: Same. + * config/os/gnu-linux/ctype_noninline.h: Same. + * config/os/hpux/ctype_noninline.h: Same. + * config/os/irix/irix5.2/ctype_noninline.h: Same. + * config/os/irix/irix6.5/ctype_noninline.h: Same. + * config/os/mingw32/ctype_noninline.h: Same. + * config/os/newlib/ctype_noninline.h: Same. + * config/os/qnx/qnx6.1/ctype_noninline.h: Same. + * config/os/solaris/solaris2.5/ctype_noninline.h: Same. + * config/os/solaris/solaris2.6/ctype_noninline.h: Same. + * config/os/solaris/solaris2.7/ctype_noninline.h: Same. + * config/os/windiss/ctype_noninline.h: Same. + +2003-10-21 Paolo Carlini + + * src/locale.cc: Tweak a comment. + * src/localename.cc: Move a comment. + +2003-10-20 Benjamin Kosnik + + PR libstdc++/10081 + * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations. + * testsuite_hooks.cc: Same. + * 22_locale/numpunct/members/pod/1.cc: Edit. + * 22_locale/numpunct/members/pod/2.cc: Same. + * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ... + * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ... + * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here. + * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here. + * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here. + * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove. + * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove. + * 27_io/basic_istream/sentry/pod/1.cc: New. + * 27_io/basic_ostream/sentry/pod/1.cc: New. + * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New. + * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New. + +2003-10-20 Rainer Orth + + * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead + of external _MIPS_SIM_ABI32. + +2003-10-20 Phil Edwards + + * configure.ac: Fix comment typo. + * configure.host: Add vxworks to host_os switch. + * crossconfig.m4: Remove old commented os_include_dir variables + left over from autotools transition. + (*-vxworks): New stanza. + (*-windiss): Add missing symbols. + * configure: Regenerate. + * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h, + config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h: + New files. + * config/os/windiss/os_defines.h: Define __C9X__. + +2003-10-19 David Edelsohn + + PR other/12506 + * configure.host (aix4,aix*): Define os_include_dir to os/generic. + +2003-10-18 Andreas Tobler + + * src/locale.cc (locale::_S_initialize): Re-apply workaround a + confusion of the use of the gthr API when __gthread_active_p() + returns true. + +2003-10-17 Benjamin Kosnik + + * src/Makefile.am: Add new files. + * src/Makefile.in: Regenerate. + * src/globals.cc: Split into.. + * src/globals_io.cc: New. + * src/globals_locale.cc: New. + * src/ios.cc: Split into... + * src/ios_init.cc: New. + * src/ios_locale.cc: New. + * src/locale-inst.cc: Split into.. + * src/wlocale-inst.cc: New. + * src/locale-misc-inst.cc: New. + * src/locale.cc, src/localename: Split into... + * src/locale_facets.cc: New. + * src/locale_init.cc: New. + * src/wstring-inst.cc: Add copyright info. + +2003-10-16 Petur Runolfsson + + PR libstdc++/11450 + PR libstdc++/11543 + PR libstdc++/12065 + * config/io/basic_file_stdio.cc (__basic_file::seekoff): + Change return value from streampos to streamoff. + (__basic_file::seekpos): Delete. + * config/io/basic_file_stdio.h: Same. + * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs. + * include/Makefile.am (bits_headers): Add bits/postypes.h. + * include/bits/char_traits.h: Include bits/postypes.h instead of + bits/fpos.h. + * include/bits/fstream.tcc (basic_filebuf::open, + basic_filebuf::pbackfail): Don't use < or >= to compare pos_type + values, use == and != instead. + (basic_filebuf::_M_seek): Use explicit conversion from streamoff + to pos_type. + (basic_filebuf::imbue): Don't use ! on pos_type values, use + == instead. Don't use __check_facet(_M_codecvt) unless is_open(). + * include/bits/postypes.h: New file. + Add __streamoff_base_type typedef, streamsize. + (streamoff, streampos, wstreampos): Define typedefs, with + streamoff defined as... + (streamoff): New class. Document implementation defined + aspects. + (fpos): New implementation. Document implementation defined + aspects. + * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use + explicit conversion from pos_type to off_type. + * include/std/std_iosfwd.h: Include bits/postypes.h instead + of bits/fpos.h. + * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test. + * testsuite/27_io/fpos/11450.cc: New test. + * testsuite/27_io/fpos/mbstate_t/12065.cc: New test. + * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test. + * testsuite/27_io/types/3.cc: New test. + +2003-10-16 Benjamin Kosnik + + * configure.host: Remove fpos_include_dir. + * configure.ac: Remove FPOS_INC_SRCDIR. + * configure: Regenerate. + * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H. + * aclocal.m4: Regenerate. + * include/Makefile.am (host_headers): Remove fpos.h. + (bits_headers): Add postypes.h. + * include/Makefile.in: Regenerate. + * config/os/gnu-linux/fposh: Remove. + * config/os/generic/fpos.h: Remove. + + * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup. + * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same. + * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same. + * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same. + * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same. + * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same. + * testsuite/27_io/basic_istream/seekg/char/2.cc: Same. + * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same. + * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same. + * testsuite/27_io/fpos/mbstate_t/3.cc: Same. + * testsuite/27_io/objects/char/10.cc: Same. + +2003-10-16 Paolo Carlini + + * src/locale.cc (locale::locale(const char*)): ... one + more comparison missed in the previous commit. + +2003-10-16 Benjamin Kosnik + + * acconfig.h: Add HAVE_DRAND48. + * crossconfig.m4: Remove ISATTY. + * aclocal.m4: Regenerated. + * config.h.in: Regenerated. + * configure: Regenerated. + +2003-10-16 Bernardo Innocenti + + * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on + __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000. + Document SMP safeness of asm macros. + +2003-10-16 Paolo Carlini + + * src/locale.cc (locale::locale(const char*)): Tweak + a couple of comparisons to use basic_string operators. + +2003-10-16 Paolo Carlini + + PR libstdc++/12540 + * config/locale/gnu/monetary_members.cc + (moneypunct::_M_initialize_moneypunct): + Don't leak memory if new throws. + * src/locale.cc (locale::locale(const char*)): In order not + to leak memory in case new throws, use a basic_string type + for __res too and avoid strdup. + +2003-10-14 Jeff Bailey + + PR libstdc++/12562 + * crossconfig.m4: Share the config between *-linux* and *-gnu*. + * configure: Regenerate. + +2003-10-14 Carlo Wood + + PR libstdc++/12600 + * include/bits/demangle.h (session:: + decode_unqualified_name(string_type& output)): Fail on a + when decoding . + * testsuite/demangle/regression/cw-15.cc: New. + +2003-10-14 Paolo Carlini + + PR libstdc++/11480 + * include/bits/stl_algo.h (unique): Fix. + * testsuite/25_algorithms/unique.cc: Move to unique/1.cc. + * testsuite/25_algorithms/unique/11480.cc: New, from the PR. + * testsuite/25_algorithms/unique/2.cc: New. + +2003-10-14 Paolo Carlini + + * src/localename.cc (_M_replace_categories, M_replace_facet): + Const-ify a couple of variables. + +2003-10-14 Petur Runolfsson + Andreas Tobler + + * src/locale.cc (locale::_S_initialize): Workaround a confusion + of the use of the gthr API when __gthread_active_p() returns true. + +2003-10-12 Petur Runolfsson + Paolo Carlini + + PR libstdc++/11460 + * src/strstream.cc (pbackfail): Fix to use to_int_type. + * testsuite/backward/11460.cc: New, from the PR. + +2003-10-12 Paolo Carlini + + * config/locale/ieee_1003.1-2001/codecvt_specializations.h: + Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment. + * include/bits/basic_string.tcc: Likewise. + * include/bits/ios_base.h: Likewise. + * include/bits/istream.tcc: Likewise. + * include/bits/locale_facets.tcc: Likewise. + * include/bits/ostream.tcc: Likewise. + * include/bits/stl_function.h: Likewise. + * include/bits/stl_multiset.h: Likewise. + * include/bits/stl_pair.h: Likewise. + * include/bits/stl_set.h: Likewise. + * include/bits/streambuf_iterator.h + * include/std/std_iosfwd.h: Likewise. + * include/std/std_istream.h: Likewise. + * include/std/std_sstream.h: Likewise. + * include/std/std_streambuf.h: Likewise. + * src/ios.cc: Likewise. + * include/bits/c++config: + Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1. + * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a + dg-error directive due to removal of a blank line. + * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. + +2003-10-12 Andreas Tobler + Paolo Carlini + + PR libstdc++/11844/11740 (cont) + * config/os/generic/ctype_inline.h (ctype::is): + Generically, use a bitmasksize of 15 (instead of 10); + Fix the logic to actually return (M & m) != 0 as per + 22.2.1.1.2. + +2003-10-11 Bernardo Innocenti + + * crossconfig.m4 (*-uclinux*): New target. + * configure: Regenerate. + +2003-10-10 Paolo Carlini + + * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT)) + Avoid unnecessarily calling __builtin_alloca and dealing + explicitly with width() smaller than zero. + (operator<<(basic_ostream&, char), operator<<(basic_ostream&, + const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, + const char*), operator<<(basic_ostream&, + const char*), operator<<(basic_ostream, const basic_string&)): + Likewise. + +2003-10-09 Benjamin Kosnik + + * config/linker-map.gnu: Make more *_type_info bits visible. + Move new/delete bits back into GLIBCXX space. + + * include/bits/locale_classes.h: Move _M_id out of line, so that + locale::id::_S_highwater can be removed from the export list. + * src/locale.cc (locale::id::_M_id): Define. + 2003-10-09 Andreas Tobler * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for