X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=5255ff4d61a516802cd56fd140121e4cc06afcad;hb=2adccd409ba54c662b8d60d1b57092976812843d;hp=8a76c07f1ddb590483ede8197db8f44a7008872a;hpb=3683142cb4f78afd6ccd4c81dba4ab316caa83b5;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8a76c07f1dd..5255ff4d61a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,950 @@ +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 + SPARC64. + +2003-10-09 Paolo Carlini + + PR libstdc++/11844 + * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph' + to conform to the requirements of 22.2.1. + * config/os/bsd/freebsd/ctype_base.h: Likewise. + * config/os/djgpp/ctype_base.h: Likewise. + * config/os/generic/ctype_base.h: Likewise. + * config/os/gnu-linux/ctype_base.h: Likewise. + * config/os/hpux/ctype_base.h: Likewise. + * config/os/irix/irix6.5/ctype_base.h: Likewise. + * config/os/solaris/solaris2.6/ctype_base.h: Likewise. + * config/os/solaris/solaris2.7/ctype_base.h: Likewise. + * testsuite/22_locale/ctype/11844.cc: New. + + * config/locale/generic/ctype_members.cc (do_is): + Generically, use a bitmasksize of 15 (instead of 10), since + we don't know the numerical encoding of the various categories + in the underlying /usr/include/ctype.h. + +2003-10-09 Benjamin Kosnik + + * src/string-inst.cc: Prune. + * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers. + * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. + +2003-10-09 Petur Runolfsson + + * src/io-inst.cc: Don't include iostream. + * include/bits/ios_base.h (ios_base::failure): Use string. + * src/Makefile.am: Add ios_failure.cc. + * src/Makefile.in: Regenerate. + * src/ios.cc: Move ios_base::failure definitions to... + * src/ios_failure.cc: ...here. New. + +2003-10-09 Petur Runolfsson + + PR libstdc++/9874 + * include/bits/fstream.tcc (basic_filebuf::seekoff): + Move code needed for both seekoff and seekpos... + (basic_filebuf::_M_seek): ...here. New function. + (basic_filebuf::seekpos): Don't call seekoff, call _M_seek. + * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test. + + * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit. + +2003-10-08 Paolo Carlini + + * include/bits/locale_facets.tcc: More minor cosmetic + changes and const-ifications of some variables. + +2003-10-07 Paolo Carlini + + * include/bits/locale_facets.tcc: Minor cosmetic changes + and const-ifications of some variables. + + * include/bits/locale_facets.tcc + (money_get::do_get(..., string_type&)): Simplify an if-else. + +2003-10-06 Paolo Carlini + + PR libstdc++/11740 + * config/locale/gnu/ctype_members.cc (ctype::do_is): + Fix to actually return (M & m) != 0 as per 22.2.1.1.2. + * config/locale/generic/ctype_members.cc: Same. + * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New. + +2003-10-06 Paolo Carlini + + * include/bits/locale_facets.tcc (__pad<>::_S_pad): + Improve performance-wise: avoid one traits::copy, avoid + the __builtin_alloca, streamline. + +2003-10-05 Paolo Carlini + + * include/bits/locale_facets.tcc + (num_put::do_put(..., bool)): Prefer ?: to if-else. + (time_get::_M_extract_name): Qualify min with std::. + (__pad<>::_S_pad): Constify two variables; simplify an + if-else statement factoring out some code. + + * include/bits/locale_facets.tcc: Minor cosmetic changes. + +2003-10-04 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get::_M_extract_float): + Constify a couple of variables. + (num_get::do_get(..., bool&)): Constify __c; prefer *__beg, + ++__beg to *__beg++. + +2003-10-04 Paolo Carlini + Petur Runolfsson + + * include/ext/stdio_sync_filebuf.h: Don't include the whole + , only and . + +2003-10-04 Paolo Carlini + + PR libstdc++/12206 + * include/bits/fstream.tcc (imbue): In case a codecvt facet + is not available, set _M_codecvt = 0. + * testsuite/27_io/basic_filebuf/imbue/12206.cc: New. + +2003-10-02 Harald Boehme + + PR libstdc++/12451 + * libsupc++/cxxabi.h: Move forward declaration of __class_type_info. + +2003-10-02 Benjamin Kosnik + + * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add. + * src/locale.cc: Define. + * src/localename.cc: Use it. + * config/locale/generic/time_members.h: Same. + * config/locale/gnu/messages_members.h: Same. + * config/locale/gnu/time_members.h: Same. + +2003-10-02 Paolo Carlini + + PR libstdc++/12232 + * include/bits/fstream.tcc (seekoff): Ignore the openmode + argument; simplify. + * config/io/basic_file_stdio.h (__basic_file::seekoff, + seekpos): Remove the openmode argument. + * config/io/basic_file_stdio.cc (__basic_file::seekoff, + seekpos): Remove redundant placeholder for the openmode argument. + * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New. + * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak. + * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise. + +2003-10-02 Benjamin Kosnik + + * src/locale.cc (locale::_S_initialize): Use __gthread_active_p. + (locale::facet::_S_get_c_locale): Same. + +2003-10-02 Benjamin Kosnik + + * config/linker-map.gnu: Export _S_get_c_locale instead of + _S_c_locale object. + +2003-10-02 Petur Runolfsson + + * config/locale/generic/c_locale.cc + (category_names, locale::_S_categories): Const qualify. + * config/locale/gnu/c_locale.cc: Same. + * config/locale/generic/time_members.h (__timepunct::__timepunct): + Copy string contents before assigning to _M_name_timepunct, + qualify strcpy and strlen with std::. + * config/locale/gnu/time_members.h: Same. + * config/locale/gnu/messages_members.h (messages::messages): + Copy string contents before assigning to _M_name_messages, + qualify strcpy and strlen with std::. + * config/os/gnu-linux/ctype_noninline.h + (ctype::classic_table()): Don't call locale::classic(). + * include/bits/locale_classes.h + (locale::_S_categories): Const qualify. + (locale::_S_once, locale::_S_initialize_once, + locale::facet::_S_once, locale::facet::_S_initialize_once, + locale::facet::_S_get_c_locale): Declare. + (locale::_S_initialize): Don't define. + (locale::facet::_S_c_locale): Make private. + (locale::facet::_S_c_name): Same, const qualify. + (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused + parameters, add throw() specifier. + * include/bits/locale_facets.h (__timepunct::_M_name_timepunct, + messages::_M_name_messages): Const qualify. + * src/locale.cc + (locale::_S_once, locale::facet::_S_once): Define. + (locale::classic): Move initialization code... + (locale::_S_initialize_once): ...here. + (locale::_S_initialize): Call _S_initialize_once through + __gthread_once. + (locale::facet::_S_initialize_once): Initialize _S_c_locale. + (locale::facet::_S_get_c_locale): Call _S_initialize_once through + __gthread_once before returning _S_c_locale. + * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)): + Drop unused parameters, add throw() specifier, don't initialize + locale::facet::_S_c_locale and _S_c_name. + + * config/locale/generic/messages_members.h: + Replace _S_c_locale with _S_get_c_locale(). + * config/locale/gnu/c_locale.cc: Same. + * config/locale/gnu/messages_members.h: Same. + * config/locale/gnu/numeric_members.cc: Same. + * config/locale/gnu/time_members.cc: Same. + * config/os/gnu-linux/ctype_noninline.h: Same. + * include/bits/locale_facets.h: Same. + * include/bits/locale_facets.tcc: Same. + * src/codecvt.cc: Same. + * src/ctype.cc: Same. + +2003-10-02 Carlo Wood + + * include/bits/demangle.h (demangle::symbol(char const*)): + Decode symbols that start with _GLOBAL_[ID]_ differently: the + trailing part ends with a terminating zero and is not necessarily an + encoding. + * src/demangle.cc (): Same. + * testsuite/demangle/regression/cw-13.cc: Adjust for new output. + 2003-10-02 Paolo Carlini * testsuite/22_locale/locale/cons/12438.cc: Use