codecvt<wchar_t, char, mbstate_t> doesn't handle variable-width character sets (such as UTF-8) and thus fails on Red Hat Linux 8.0 (which uses UTF-8 as the default charset). It also requires that input buffers be zero-terminated (which doesn't hold for I/O buffers). basic_filebuf<wchar_t> also assumes that each wchar_t will be converted to exactly 1 char. The net result is that wofstream, wifstream, wfstream, wcout, wcin and wcerr are essentially useless on such a system. Release: gcc-3.2.1 Environment: Red Hat Linux 8.0 on i686; glibc-2.2.93 How-To-Repeat: The attached file codecvtbug.cc contains an example program that attempts to convert several wide character strings to narrow characters and back. The conversion is first attempted with iconv to check if it is possible. If the conversion is possible the program then tries to write the string to a wofstream and read it with a wifstream. Finally, the program attempts to convert the string directly with codecvt<wchar_t, char, mbstate_t>. The whole test is run with several strings (all subsets of ISO-8859-1) and with several locales.
From: bkoz@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/9028 Date: 6 Feb 2003 06:24:21 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: bkoz@gcc.gnu.org 2003-02-06 06:24:21 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/config/locale/generic: codecvt_members.cc libstdc++-v3/config/locale/gnu: codecvt_members.cc libstdc++-v3/config/locale/ieee_1003.1-2001: codecvt_specializations.h libstdc++-v3/include/bits: codecvt.h libstdc++-v3/src: codecvt.cc libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/length/char: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t: 1.cc Added files: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t: 2.cc 3.cc 4.cc libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t: 2.cc 3.cc 4.cc libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t: 2.cc 3.cc 4.cc 5.cc 6.cc 7.cc 8.cc 9.cc libstdc++-v3/testsuite/22_locale/codecvt/length/char: 2.cc libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t: 2.cc 3.cc 4.cc 5.cc 6.cc 7.cc libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t: 2.cc 3.cc 4.cc libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t: 2.cc 3.cc 4.cc 5.cc 6.cc 7.cc libstdc++-v3/testsuite/22_locale/codecvt/unicode: 1.cc libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t: 2.cc 3.cc 4.cc Log message: 2003-02-06 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01): Explicitly use the "C" locale. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same. 2003-02-06 Petur Runolfsson <peturr02@ru.is> DR 75 DR 305 PR libstdc++/9028 (partial) PR libstdc++/9224 PR libstdc++/9246 PR libstdc++/9247 * src/codecvt.cc (codecvt<wchar_t, char, mbstate_t>::do_encoding, codecvt<wchar_t, char, mbstate_t>::do_length, codecvt<wchar_t, char, mbstate_t>::do_max_length): Move... * config/locale/generic/codecvt_members.cc: ...here. * config/locale/gnu/codecvt_members.cc: ...and here. * config/locale/generic/codecvt_members.cc, * config/locale/gnu/codecvt_members.cc (codecvt<wchar_t, char, mbstate_t>::do_encoding codecvt<wchar_t, char, mbstate_t>::do_in, codecvt<wchar_t, char, mbstate_t>::do_length, codecvt<wchar_t, char, mbstate_t>::do_max_length, codecvt<wchar_t, char, mbstate_t>::do_out): New implementation that handles stateless encodings, including UTF-8. * config/locale/generic/codecvt_members.cc, * config/locale/gnu/codecvt_members.cc, * config/locale/ieee_1003.1-2001/codecvt_specializations.h, * include/bits/codecvt.h, * src/codecvt.cc (codecvt::length, codecvt::do_length): Change type of first argument of length and do_length from 'const state_type&' to 'state_type&' according to DR 75. * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Cleanup and check for correct return value from encoding for "C" locale. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: New test. * testsuite/22_locale/codecvt/length/char/1.cc: Cleanup. * testsuite/22_locale/codecvt/length/char/2.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/unicode/1.cc: New test. * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.1529&r2=1.1530 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/locale/generic/codecvt_members.cc.diff?cvsroot=gcc&r1=1.3&r2=1.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/locale/gnu/codecvt_members.cc.diff?cvsroot=gcc&r1=1.3&r2=1.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h.diff?cvsroot=gcc&r1=1.6&r2=1.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/codecvt.h.diff?cvsroot=gcc&r1=1.21&r2=1.22 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/src/codecvt.cc.diff?cvsroot=gcc&r1=1.16&r2=1.17 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2
From: bkoz@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/9028 Date: 12 May 2003 18:12:37 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: bkoz@gcc.gnu.org 2003-05-12 18:12:28 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: fstream.tcc libstdc++-v3/include/std: std_fstream.h Log message: 2003-05-12 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits. 2003-05-11 Phil Edwards <pme@gcc.gnu.org> * testsuite/Makefile.am: Properly quote /both/ LD_RUN_PATHs. * testsuite/Makefile.in: Regenerate. 2003-05-11 Phil Edwards <pme@gcc.gnu.org> * testsuite/Makefile.am: Properly quote LD_RUN_PATH. * testsuite/Makefile.in: Regenerate. 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net> PR libstdc++/3181 * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h> (acos): Handle integer argument. (asin): Likewise. (atan): Likewise. (atan2): Likewise. (ceil): Likewise. (cos): Likewise. (cosh): Likewise. (exp): Likewise. (fabs): Likewise. (floor): Likewise. (frexp): Likewise. (ldexp): Likewise. (log): Likewise. (log10): Likewise. (sin): Likewise. (sinh): Likewise. (sqrt): Likewise. (tan): Likewise. (tanh): Likewise. * include/bits/cpp_type_traits.h (__are_same<>): New traits. (__enable_if): Likewise. * testsuite/26_numerics/cmath/overloads.C: New test. 2003-05-10 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9027 PR libstdc++/9520 PR libstdc++/10096 * include/bits/fstream.tcc (basic_file::_M_underflow): Add generic implementation, based on old wchar_t specialization, add support for codecvt::in() return value of codecvt_base::noconv, remove _M_file.sys_ungetc() call. * include/std/std_fstream.h (basic_file::underflow, basic_file::uflow, basic_file::_M_underflow): Remove specialization declarations, call _M_underflow from generic versions of underflow and uflow. * src/fstream.cc (basic_file::underflow, basic_file::uflow, basic_file::_M_underflow): Remove specializations. * src/Makefile.am (sources): Remove fstream.cc. * src/Makefile.in: Regenerated. * testsuite/27_io/basic_filebuf/underflow/10096.cc: New test. * testsuite/27_io/basic_filebuf/underflow/char/1.cc: New test. * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: New test. 2003-05-10 Benjamin Kosnik <bkoz@redhat.com> * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack buffer. * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove unbuffered bits. (__basic_file::xsputn): Same. (__basic_file::seekoff): Same. (__basic_file::seekpos): Same. (__basic_file::showmanyc): Same. * config/io/basic_file_stdio.cc: Same. * include/std/std_fstream.h: Same. * include/bits/fstream.tcc: Same. * src/fstream.cc: Same. * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy. 2003-05-10 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9520 PR libstdc++/9661 PR libstdc++/9662 * include/ext/stdio_sync_filebuf.h: New file. (basic_stdiobuf): New. * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h * include/Makefile.in: Regenerate. * include/bits/ios_base.h (Init::_S_create_buffers, Init::_S_destroy_buffers): Remove declarations. * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync, buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync): Define. * src/ios.cc (Init::_S_create_buffers, Init::_S_destroy_buffers): Remove. (Init::Init): Create and use syncronized buffers. (ios_base::sync_with_stdio): Destroy syncronized buffers, create and install unsyncronized buffers. * testsuite/27_io/objects/char/10.cc: New test. * testsuite/27_io/objects/char/9.cc: New test. * testsuite/27_io/objects/char/9661-1.cc: New test. * testsuite/27_io/objects/char/9661-2_xin.cc: New test. * testsuite/27_io/objects/char/9661-2_xin.in: New. * testsuite/27_io/objects/wchar_t/1.cc: New test. * testsuite/27_io/objects/wchar_t/10.cc: New test. * testsuite/27_io/objects/wchar_t/2.cc: New test. * testsuite/27_io/objects/wchar_t/2523-1_xin.cc: New test. * testsuite/27_io/objects/wchar_t/2523-1_xin.in: New. * testsuite/27_io/objects/wchar_t/2523-2_xin.cc: New test. * testsuite/27_io/objects/wchar_t/2523-2_xin.in: New. * testsuite/27_io/objects/wchar_t/3045.cc: New test. * testsuite/27_io/objects/wchar_t/3647.cc: New test. * testsuite/27_io/objects/wchar_t/3_xin.cc: New test. * testsuite/27_io/objects/wchar_t/3_xin.in: New. * testsuite/27_io/objects/wchar_t/4_xin.cc: New test. * testsuite/27_io/objects/wchar_t/4_xin.in: New. * testsuite/27_io/objects/wchar_t/5.cc: New test. * testsuite/27_io/objects/wchar_t/5268.cc: New test. * testsuite/27_io/objects/wchar_t/5280_xin.cc: New test. * testsuite/27_io/objects/wchar_t/5280_xin.in: New. * testsuite/27_io/objects/wchar_t/6.cc: New test. * testsuite/27_io/objects/wchar_t/6548_xin.cc: New test. * testsuite/27_io/objects/wchar_t/6548_xin.in: New. * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: New test. * testsuite/27_io/objects/wchar_t/6648-1_xin.in: New. * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: New test. * testsuite/27_io/objects/wchar_t/6648-2_xin.in: New. * testsuite/27_io/objects/wchar_t/7.cc: New test. * testsuite/27_io/objects/wchar_t/7744_xin.cc: New test. * testsuite/27_io/objects/wchar_t/7744_xin.in: New. * testsuite/27_io/objects/wchar_t/8.cc: New test. * testsuite/27_io/objects/wchar_t/9_xin.cc: New test. * testsuite/27_io/objects/wchar_t/9_xin.in: New. * testsuite/27_io/objects/wchar_t/9520.cc: New test. * testsuite/27_io/objects/wchar_t/9661-1.cc: New test. * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: New test. * testsuite/27_io/objects/wchar_t/9661-2_xin.in: New. * testsuite/27_io/objects/wchar_t/9662.cc: New test. * testsuite/ext/stdiobuf_char.cc: New test. * testsuite/ext/stdiobuf_wchar_t.cc: New test. 2003-05-10 Paolo Carlini <pcarlini@unitus.it> * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove unnecessary includes and unused string literals. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. 2003-05-08 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode. 2003-05-07 Richard Henderson <rth@redhat.com> PR c++/10570 * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions. (__cxa_end_catch): Likewise. * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use _Unwind_Resume_or_Rethrow. * libsupc++/eh_personality.cc (empty_exception_spec): New. (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all for _UA_FORCE_UNWIND. Honor empty filter spec for foreign exceptions. Don't push terminate/unexpected to cxa functions. (__cxa_call_unexpected): Remove foreign exception fixmes. 2003-05-07 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/ios_base/cons: New. * testsuite/27_io/ios_base/cons/assign_neg.cc: New. * testsuite/27_io/ios_base/cons/copy_neg.cc: New. 2003-05-07 Paolo Carlini <pcarlini@unitus.it> * include/std/std_fstream.h (_M_is_indeterminate): Remove. * src/fstream.cc (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either there is no buffer or __testget == !__testinit. * src/fstream.cc (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate() automatically sets, if appropriate, _M_out_cur == _M_in_cur. * include/std/std_fstream.h (_M_destroy_pback): Don't set unnecessarily _M_pback_cur_save and _M_pback_end_save. * include/std/std_fstream.h (_M_set_determinate): Minor tweak. * include/std/std_sstream.h (_M_sync): Minor tweak. * include/bits/fstream.tcc (close): No need to call _M_destroy_pback, setting _M_pback_init to false suffices to clean up. 2003-05-06 Benjamin Kosnik <bkoz@redhat.com> * include/bits/stl_algo.h: Enums as _S_. * include/bits/stl_tree.h: Same. * include/bits/stl_bvector.h: Same. * include/bits/ios_base.h: Same. * include/bits/stl_alloc.h: Same. * include/ext/stl_hashtable.h: Same. * src/ios.cc: And here. * include/std/std_sstream.h: Replace _M_really_sync to _M_sync. * include/bits/sstream.tcc: Same. * include/bits/basic_ios.h: Correct spacing for '< ctype'. * include/bits/locale_facets.tcc: Replace __temp to __tmp. * include/bits/locale_facets.h (__num_base): Remove protected. Use _S_[io]* names for enumerations. (_S_format_int): Remove. * include/bits/locale_facets.tcc: Same. * src/locale.cc: Same. * include/std/std_sstream.h (stringbuf::str): Tweak formatting. 2003-05-06 Phil Edwards <pme@gcc.gnu.org> * docs/html/faq/index.html (3.10): Add note about mips atomicity.h. * docs/html/faq/index.txt: Regenerated. 2003-05-06 Michael Ritzert <Ritzert@t-online.de> Matt Kraai <kraai@alumni.cmu.edu> * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak. And retweak. 2003-05-06 Richard Sandiford <rsandifo@redhat.com> * configure.target (mips*): Use the generic atomicity.h by default. 2003-05-05 Loren J. Rittle <ljrittle@acm.org> (Inspired by an alternate patch from Danny Smith.) * include/bits/stl_threads.h (_Atomic_swap): Kill it... (_Swap_lock_struct<>): ...and the horse it rode in on. * src/globals.cc (_Swap_lock_struct<>): Likewise. * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New member to support... * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory visibility rules related to POSIX threads. * testsuite/thread/pthread7-rope.cc: New test. 2003-05-04 Paolo Carlini <pcarlini@unitus.it> * testsuite/21_strings/basic_string/find/char/3.cc: New file, testing basic_string<char>::find_first_not_of. * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise for basic_string<wchar_t>. 2003-05-03 Loren J. Rittle <ljrittle@acm.org> * testsuite/thread/pthread1.cc: Remove special case for FreeBSD. 2003-05-02 Benjamin Kosnik <bkoz@redhat.com> * include/Makefile.am (CLEANFILES): Remove PCH files in target directory. * include/Makefile.in: Regenerate. 2003-05-02 Paolo Carlini <pcarlini@unitus.it> * include/std/std_sstream.h (str()): Tidy. 2003-05-02 Nathan Myers <ncm@cantrip.org> Paolo Carlini <pcarlini@unitus.it> * include/bits/streambuf.tcc (__copy_streambufs): Rewrote. 2003-05-02 Jonathan Wakely <redi@gcc.gnu.org> * include/bits/basic_string.h (swap): Remove redundant template parameters from declaration of non-template member function. 2003-05-01 Phil Edwards <pme@gcc.gnu.org> * acconfig.h (_GLIBCPP_USE_NLS): New symbol. * configure.in: Move libintl.h header test... * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): ...to here. Gather all the NLS-related test results into one symbol. * src/functexcept.cc: Use it here. * aclocal.m4, config.h.in, configure: Regenerated. 2003-05-01 Paolo Carlini <pcarlini@unitus.it> * include/bits/sstream.tcc (overflow): Instead of calling str(), then _M_string.reserve, thus copying the contents of the current buffer two times, just copy the latter in a temporary, then use the 'swap trick'. 2003-05-01 Paolo Carlini <pcarlini@unitus.it> * include/std/std_sstream.h (str()): Revert the best of the previous 'improvement', incorrect due to the COW nature of v3 basic_string; simplify. 2003-05-01 Paolo Carlini <pcarlini@unitus.it> * include/bits/streambuf.tcc (__copy_streambufs): Adjust the type of __avail to ptrdiff_t to avoid signed-unsigned warning. 2003-05-01 Benjamin Kosnik <bkoz@redhat.com> * testsuite/abi_check.cc (check_version): Update known versions. Check added symbols for version_name != base version. Add missing symbols to incompatible list. 2003-05-01 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-05-01 Paolo Carlini <pcarlini@unitus.it> * include/bits/streambuf.tcc (basic_streambuf::xsgetn): Const-ify some variables. (basic_streambuf::xsputn): Likewise; change the type of some variables to size_t. (__copy_streambufs): Change some variables to size_t. 2003-05-01 Paolo Carlini <pcarlini@unitus.it> * include/std/std_sstream.h (str()): Avoid constructing a basic_string temporary not only when it would turn out to be zero-sized but also when identical to the current _M_string buffer. 2003-05-01 Paolo Carlini <pcarlini@unitus.it> * include/ext/stdio_filebuf.h (stdio_filebuf(int, std::ios_base::openmode, bool, size_t), stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)): Shorten a bit (-10 lines) by factoring out some code. 2003-04-30 Phil Edwards <pme@gcc.gnu.org> * acinclude.m4: Add bit missing from previous patch. * aclocal.m4, configure: Regenerated. 2003-04-29 Phil Edwards <pme@gcc.gnu.org> * docs/doxygen/mainpage.html: Bring up to date. * docs/doxygen/run_doxygen: Cosmetic tweaks. Work around a bug in Doxygen. * docs/doxygen/user.cfg.in: Scanning the precompiled headers breaks everything. Don't scan them. * docs/html/documentation.html: Point to "Write after approval" notes. 2003-04-29 Phil Edwards <pme@gcc.gnu.org> * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Search for gettext outside of libc if message translations are being used. Fix info text in xieee_1003.1-2001 case. * aclocal.m4, configure: Regenerate. 2003-04-29 Joel Sherrill <joel.sherrill@OARcorp.com> Loren J. Rittle <ljrittle@acm.org> Martin v. Loewis <martin@v.loewis.de> * config/cpu/i386/atomicity.h: New file. 2003-04-29 Paolo Carlini <pcarlini@unitus.it> * include/bits/fstream.tcc (open): Change to single return. 2003-04-29 Paolo Carlini <pcarlini@unitus.it> * include/std/std_sstream.h (underflow): Change to single return. 2003-04-28 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (_M_buf): is currently used only for basic_filebuf, therefore move it there. (basic_streambuf(), ~basic_streambuf()): Adjust. * include/std/std_fstream.h (_M_buf): Moved here. * include/std/std_sstream.h (setbuf): Don't set _M_buf, is actually redundant for basic_stringbuf. (_M_really_sync): Likewise. * include/bits/fstream.tcc (basic_filebuf()): Adjust. * include/bits/sstream.tcc (seekoff): Adjust. 2003-04-28 Benjamin Kosnik <bkoz@redhat.com> * src/localename.cc: Standardize exception strings. * src/locale.cc: Same. * src/ios.cc: Same. * include/bits/basic_string.tcc: Same. * include/bits/basic_ios.tcc: Same. * include/std/std_bitset.h: Same. * include/ext/ropeimpl.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_bvector.h: Same. * config/locale/generic/c_locale.cc: Same. * config/locale/gnu/c_locale.cc: Same. * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same. * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify. 2003-04-28 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (_M_buf_size): is currently used only for basic_filebuf, therefore move it there. (basic_streambuf(), ~basic_streambuf()): Adjust. * include/std/std_fstream.h (_M_buf_size): Moved here. * include/bits/fstream.tcc (basic_filebuf()): Adjust. 2003-04-28 Paolo Carlini <pcarlini@unitus.it> * include/bits/streambuf.tcc (__copy_streambufs): Don't use _M_buf_size (synced input is now correctly dealt with elsewhere); when the output buffer is full don't fall back to a snextc-sputc loop, call overflow instead. 2003-04-28 Paolo Carlini <pcarlini@unitus.it> * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines) the innermost 'if' by factoring out some code. 2003-04-28 Phil Edwards <pme@gcc.gnu.org> * configure.in: Test for libintl.h. * include/bits/c++config: Define __N for everybody. * include/bits/basic_string.h, include/bits/stl_bvector.h, include/bits/stl_deque.h, include/bits/stl_vector.h, include/std/std_bitset.h: Wrap all __throw* text with __N. * po/Makefile.am (pot): New rule, mostly working. * src/functexcept.cc: Call gettext on all __throw* arguments when -fexceptions is in effect. * po/Makefile.in, config.h.in, configure: Regenerate. 2003-04-28 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9523 * include/bits/ios_base.h (Init::_S_ios_create, Init::_S_ios_destroy): Remove declarations. (Init::_S_create_buffers, Init::_S_destroy_buffers): Declare * src/ios.cc (Init::_S_ios_create): Remove (Init::_S_create_buffers): Create buffers and add to streams. (Init::_S_ios_destroy): Rename to... (Init::_S_destroy_buffers): this. (Init::Init): Only construct streams once. (Init::~Init): Flush streams, don't destroy them. (ios_base::sync_with_stdio): Don't destroy streams, only buffers. * testsuite/27_io/ios_base/sync_with_stdio/9523.cc: New test. * testsuite/27_io/objects/char/5.cc: New test. * testsuite/27_io/objects/char/5268.cc: Avoid undefined behavior. * testsuite/27_io/objects/char/6.cc: New test. * testsuite/27_io/objects/char/7.cc: New test. 2003-04-28 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/objects/char/8.cc: New test. 2003-04-28 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage. * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same. 2003-04-27 Benjamin Kosnik <bkoz@redhat.com> * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to _M_destroy_pback. _M_pback_create to _M_create_pback. _M_underflow_common to _M_underflow. _M_really_overflow to _M_overflow. * include/bits/fstream.tcc: Same. * src/fstream.cc: Same. * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to _M_move_in_cur. _M_out_cur_move to _M_move_out_cur. * include/bits/streambuf.tcc: Same. * include/bits/fstream.tcc: Same. * include/bits/sstream.tcc: Same. 2003-04-27 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_classes.h (locale::_Impl): Change _M_names from fixed size array. (locale): Change _S_categories as well. Formatting tweaks. * include/bits/locale_facets.tcc: Tweak. * config/locale/gnu/c_locale.cc: Assign _S_categories. * config/locale/generic/c_locale.cc: Same. * src/locale.cc: Tweak. * src/globals.cc: Change facet_name to name_vec, add names_c. * src/localename.cc: Use them. (locale::_Impl::~_Impl): Destroy _M_names. (locale::_Impl::_Impl): Create _M_names. 2003-04-27 Andreas Schwab <schwab@suse.de> * config/locale/ieee_1003.1-2001/codecvt_specializations.h (__enc_traits): Use __ibom and __ebom instead of ignoring them. 2003-04-27 Nathan Myers <ncm@cantrip.org> Move some basic_string members out of line because they are too big to reasonably be inline. * include/bits/basic_string.h (assign(const basic_string&, size_type, size_type), assign(const _CharT*, size_type), insert(size_type, const basic_string&, size_type, size_type), insert(size_type, const _CharT*, size_type), replace(size_type, size_type, const _CharT*, size_type)): Move from here to... * include/bits/basic_string.tcc: ...here. 2003-04-26 Paolo Carlini <pcarlini@unitus.it> * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines) the innermost 'if' by factoring out some code. 2003-04-26 Paolo Carlini <pcarlini@unitus.it> * include/bits/streambuf.tcc (__copy_streambufs): Don't use in_avail(), simplify. 2003-04-26 Paolo Carlini <pcarlini@unitus.it> * include/std/std_sstream.h (setbuf): don't set _M_buf_size, in basic_stringbuf it's unused. * include/std/std_sstream.h (underflow): consistently use _M_in_cur, not gptr(). 2003-04-25 Ranjit Mathew <rmathew@hotmail.com> Phil Edwards <pme@gcc.gnu.org> * testsuite_flags.in: Guard against the possibility of having "xgcc" as a part of a folder name in the path to the GCC build folder. * testsuite/Makefile.am: Likewise. * testsuite/Makefile.in: Regenerated. 2003-04-25 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/10132 * include/std/std_fstream.h (basic_filebuf::is_open): Add throw() exception specifications. (basic_filebuf::close): Same. (basic_filebuf::_M_pback_destroy): Same. (basic_filebuf::_M_destroy_internal_buffer): Same. (basic_filebuf): Remove __res_type typedef. * src/fstream.cc: Same. * include/bits/fstream.tcc (basic_filebuf::_M_convert_to_external): Simplify. (basic_filebuf::seekoff): Use has_facet before use_facet. (basic_filebuf::close): Add exception specification of throw(). * testsuite/27_io/basic_filebuf/cons: New. * testsuite/27_io/basic_filebuf/cons/wchar_t: New. * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New. * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New. * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New. 2003-04-25 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_classes.h (locale::_S_extra_categories_size): Remove. * src/locale.cc: Remove _S_extra_categories_size. * src/localename.cc: Same. * config/locale/gnu/c_locale.cc: Same. * config/locale/generic/c_locale.cc: Same. 2003-04-24 Richard Sandiford <rsandifo@redhat.com> * src/localename.cc (__gnu_cxx::facet_vec): Correct types. 2003-04-24 Phil Edwards <pme@gcc.gnu.org> * docs/html/17_intro/howto.html: Update some links. * docs/html/18_support/howto.html: Link doxygen numeric_limits notes. * docs/html/27_io/howto.html: Link doxygen stdio_filebuf notes. * docs/html/ext/howto.html: Link to demangler notes and API. * docs/html/faq/index.html: Remove trailing whitespace. (1.4, 2.4, 3.8, 4.1): Bring up to date. (5.6): Change to a bulleted list. * docs/html/faq/index.txt, docs/html/documentation.html, docs/html/17_intro/porting.html: Regenerate. 2003-04-23 Paolo Carlini <pcarlini@unitus.it> * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_fstream/3.cc: Likewise. * testsuite/27_io/basic_ifstream/3.cc: Likewise. * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_iostream/3.cc: Likewise. * testsuite/27_io/basic_istream/3.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_stringstream/3.cc: Likewise. 2003-04-23 Benjamin Kosnik <bkoz@redhat.com> * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions. * configure: Regenerated. 2003-04-23 Benjamin Kosnik <bkoz@redhat.com> * config/locale/generic/c_locale.h (__convert_from_v): Use attribute unused. 2003-04-23 Phil Edwards <pme@gcc.gnu.org> * docs/html/ext/howto.html ('LWG Issues'): Add issue 60, partial implementation only. * include/bits/istream.tcc (putback, unget, sync, tellg, seekg): Comment and change to comply with DR 60 and the effect on gcount(). * include/std/std_istream.h: Update comments. * testsuite/27_io/basic_istream/putback/char/1.cc (test01): Add comments about reasons for tests. Test sync() against gcount(). * testsuite/27_io/basic_istream/seekg/char/2.cc: New file, test for effect on gcount(). * testsuite/27_io/basic_istream/tellg/char/2.cc: New file, test for effect on gcount(). 2003-04-22 Loren J. Rittle <ljrittle@acm.org> * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07): Adjust timing. 2003-04-22 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (_S_pback_size, _M_pback, _M_pback_cur_save, _M_pback_end_save, _M_pback_init, _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf. (basic_streambuf::basic_streambuf()): Adjust. * include/std/std_fstream.h (_S_pback_size, _M_pback, _M_pback_cur_save, _M_pback_end_save, _M_pback_init, _M_pback_create(), _M_pback_destroy()): Moved here from basic_streambuf. * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()): Adjust. (basic_filebuf::_S_pback_size): Add declaration. * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size): Remove declaration. 2003-04-21 Paolo Carlini <pcarlini@unitus.it> Consistently use _M_in_beg instead of eback(), _M_in_cur instead of gptr(), and so on. * include/bits/fstream.tcc (pbackfail, imbue): Here. * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto. * include/bits/streambuf.tcc (sbumpc, sputbackc, __copy_streambufs): Ditto. * include/std/std_streambuf.h (sgetc): Ditto. 2003-04-21 Paolo Carlini <pcarlini@unitus.it> * include/bits/sstream.tcc (pbackfail, overflow): Formatting fixes. 2003-04-21 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (uflow()): It's used only by basic_stringbuf (i.e., basic_filebuf provide its own uflow()), therefore do not consider the _M_buf_unified == true case. * include/std/std_streambuf.h (sgetc()): Restore __ret variable. 2003-04-20 Paolo Carlini <pcarlini@unitus.it> * docs/html/ext/howto.html ('LWG Issues'): Add issues 19, 90, 171, 231, 271. 2003-04-20 Paolo Carlini <pcarlini@unitus.it> * include/bits/sstream.tcc (pbackfail): Remove redundant NULL pointer check from test involving _M_in_*. (overflow, seekoff, seekpos): Const qualify bool variables. * include/std/std_sstream.h (underflow): Remove redundant NULL pointer check from test involving _M_in_*. (_M_really_sync): Const qualify bool variables. * src/fstream.cc (_M_underflow_common): Remove redundant NULL pointer check from test involving _M_in_*, const qualify bool variables. * include/std/std_streambuf.h (sgetc): Remove redundant variable. 2003-04-18 Paolo Carlini <pcarlini@unitus.it> According to 5.9 para 2 (second bullet) for pointers p, q pointing to the same type, with p == 0 and q == 0, (p < q) is false. * include/bits/fstream.tcc (close, overflow, _M_really_overflow, seekoff): Remove redundant NULL pointer checks from tests involving _M_out_* and _M_in_*, const qualify bool variables. (showmanyc, pbackfail, _M_convert_to_external, imbue): Const qualify bool variables. * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc): Remove redundant NULL pointer checks from tests involving _M_out_* and _M_in_*, const qualify bool variables. * include/std/std_fstream.h (sync): Likewise. (_M_is_indeterminate): Const qualify bool variables. * include/std/std_streambuf.h (sgetc, uflow): Remove redundant NULL pointer checks from tests involving _M_out_* and _M_in_*, const qualify bool variables. (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool variables. 2003-04-18 Loren J. Rittle <ljrittle@acm.org> * include/c_std/std_cmath.h (C99 FP capture): Only undefine said C99 FP macros, if actually captured. * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro. (_GLIBCPP_USE_C99_DYNAMIC): New macro. (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro. (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro. * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK): New macro. (_GLIBCPP_USE_C99_DYNAMIC): New macro. (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro. (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro. * include/c_std/std_cstdlib.h: Use new macros. * include/c_std/std_cstdio.h: Use new macros. * include/c_std/std_cwchar.h: Use new macros. 2003-04-17 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/9555 * include/bits/ostream.tcc: Catch all exceptions for formatted output, instead of std::exception and derivatives. * include/bits/istream.tcc: Same. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc: * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc: * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc: * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc: * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc: New. 2003-04-17 Phil Edwards <pme@gcc.gnu.org> * include/bits/c++config: Minor cosmetic tweaks. 2003-04-17 Loren J. Rittle <ljrittle@acm.org> * testsuite_flags.in (PCHFLAGS): Find PCH in new home. * include/Makefile.am (pch_input): Find in ${target_builddir}. (pch_output): Rename to... (pch_output_builddir): ..this. Find in ${target_builddir}. (pch_source): Tweak. (pch_build): Key off a built file. (pch_output rule): Rename to... (pch_input rule): ...this. Produce ${pch_output_builddir} instead of ${pch_output}. (install-pch rule): Install ${pch_output_builddir}. * include/Makefile.in: Regenerated. 2003-04-17 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (setp): _M_out_lim, being the end limit of used put area, is set equal to _M_out_beg. 2003-04-16 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCPP_CHECK_PCH): New. * aclocal.m4: Regenerated. * configure.in: Remove old demangler bits. Call pch checks. * configure: Regenerate. * config.h.in: Regenerate. * include/Makefile.am (allstamps): Now allstamped. (allcreated): Define this. (all-local): Use 'em. Conditionally define pch_build, pch_install based on GLIBCPP_BUILD_PCH. (${pch_output}): New rule. (install-pch): New rule. (install-headers): New rule. (install-data-local): Install headers and conditionally pch. * include/Makefile.in: Regenerate. * testsuite_flags.in (--build-cxx): Use pch file. 2003-04-16 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/ext/sgiexts.html: Fix path to stylesheet. 2003-04-15 Benjamin Kosnik <bkoz at redhat dot com> Paolo Carlini <pcarlini at unitus dot it> PR libstdc++/9423 * docs/html/27_io/howto.html ('The buffering is screwing up my program!'): Explain that opening counts as an I/O operation. 2003-04-15 Andreas Tobler <a.tobler@schweiz.ch> * testsuite/thread/pthread1.cc: Enable for darwin test. * testsuite/thread/pthread2.cc: Same. * testsuite/thread/pthread3.cc: Same. * testsuite/thread/pthread4.cc: Same. * testsuite/thread/pthread5.cc: Same. * testsuite/thread/pthread6.cc: Same. 2003-04-15 Loren J. Rittle <ljrittle@acm.org> libstdc++/7680 * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace. Populate it with multiple legal ways to obtain the C99 float transcendentals. Use them instead of direct global reference. (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC. * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro. (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro. (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro. * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro. (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro. * testsuite/26_numerics/c_math_dynamic.cc: New file. 2003-04-14 Andreas Tobler <toa@pop.agri.ch> Benjamin Kosnik <bkoz@redhat.com> * config/os/generic/ctype_inline.h: Fix. 2003-04-14 Benjamin Kosnik <bkoz@redhat.com> * testsuite/testsuite_hooks.h (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher): Change to try_named_locale. * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use try_named_locale. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same. * testsuite/22_locale/collate/compare/char/1.cc: Same. * testsuite/22_locale/collate/compare/char/2.cc: Same. * testsuite/22_locale/collate/compare/char/3.cc: Same. * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same. * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same. * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same. * testsuite/22_locale/collate/hash/char/2.cc: Same. * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same. * testsuite/22_locale/collate/transform/char/2.cc: Same. * testsuite/22_locale/collate/transform/char/3.cc: Same. * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same. * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same. * testsuite/22_locale/collate_byname/1.cc: Same. * testsuite/22_locale/ctype/is/char/2.cc: Same. * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same. * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same. * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same. * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same. * testsuite/22_locale/facet/2.cc: Same. * testsuite/22_locale/locale/cons/2.cc: Same. * testsuite/22_locale/locale/cons/4.cc: Same. * testsuite/22_locale/locale/cons/5.cc: Same. * testsuite/22_locale/locale/cons/7.cc: Same. * testsuite/22_locale/locale/cons/7222-c.cc: Same. * testsuite/22_locale/locale/cons/7222-env.cc: Same. * testsuite/22_locale/locale/global_locale_objects/2.cc: Same. * testsuite/22_locale/messages/members/char/1.cc: Same. * testsuite/22_locale/messages/members/char/2.cc: Same. * testsuite/22_locale/messages/members/char/3.cc: Same. * testsuite/22_locale/messages_byname/1.cc: Same. * testsuite/22_locale/money_get/get/char/1.cc: Same. * testsuite/22_locale/money_get/get/char/2.cc: Same. * testsuite/22_locale/money_get/get/char/3.cc: Same. * testsuite/22_locale/money_get/get/char/4.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same. * testsuite/22_locale/money_put/put/char/1.cc: Same. * testsuite/22_locale/money_put/put/char/2.cc: Same. * testsuite/22_locale/money_put/put/char/3.cc: Same. * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same. * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same. * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same. * testsuite/22_locale/moneypunct/members/char/2.cc: Same. * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same. * testsuite/22_locale/moneypunct_byname/1.cc: Same. * testsuite/22_locale/num_get/get/char/1.cc: Same. * testsuite/22_locale/num_get/get/char/2.cc: Same. * testsuite/22_locale/num_get/get/char/3.cc: Same. * testsuite/22_locale/num_get/get/char/5.cc: Same. * testsuite/22_locale/num_get/get/char/6.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same. * testsuite/22_locale/num_put/put/char/1.cc: Same. * testsuite/22_locale/num_put/put/char/2.cc: Same. * testsuite/22_locale/num_put/put/char/3.cc: Same. * testsuite/22_locale/num_put/put/char/5.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same. * testsuite/22_locale/numpunct/members/char/1.cc: Same. * testsuite/22_locale/numpunct/members/char/2.cc: Same. * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same. * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same. * testsuite/22_locale/numpunct_byname/1.cc: Same. * testsuite/22_locale/numpunct_byname/2.cc: Same. * testsuite/22_locale/time_get/date_order/char/1.cc: Same. * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_date/char/1.cc: Same. * testsuite/22_locale/time_get/get_date/char/2.cc: Same. * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same. * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same. * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_time/char/1.cc: Same. * testsuite/22_locale/time_get/get_time/char/2.cc: Same. * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same. * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same. * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_year/char/1.cc: Same. * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same. * testsuite/22_locale/time_put/put/char/1.cc: Same. * testsuite/22_locale/time_put/put/char/2.cc: Same. * testsuite/22_locale/time_put/put/char/3.cc: Same. * testsuite/22_locale/time_put/put/char/4.cc: Same. * testsuite/22_locale/time_put/put/char/5.cc: Same. * testsuite/22_locale/time_put/put/char/6.cc: Same. * testsuite/22_locale/time_put/put/char/7.cc: Same. * testsuite/22_locale/time_put/put/char/8.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same. * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same. * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same. * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same. * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same. 2003-04-14 Andreas Tobler <toa@pop.agri.ch> * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses solaris includes, not generic. 2003-04-14 Loren J. Rittle <ljrittle@acm.org> * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL. * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit. * include/bits/concept_check.h: Fix multi-line comment. * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header when target is *-*-freebsd*. 2003-04-14 Nathan Myers <ncm@cantrip.org> Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9701 (in_avail()) * include/std/std_streambuf.h (in_avail): Simplify, in_avail doesn't care if there is anything in some putback cell. * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some unused string literals. 2003-04-14 Paolo Carlini <pcarlini@unitus.it> * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set _M_out_end, _M_set_indeterminate() does it. 2003-04-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * os/hpux/ctype_inline.h: Replace with gnu-linux version. 2003-04-12 David Edelsohn <edelsohn@gnu.org> * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Change basic_streambuf instantiation to "unsigned char". * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same. 2003-04-12 Paolo Carlini <pcarlini@unitus.it> Remove _M_buf_size_opt, use directly _M_buf_size instead. * include/bits/fstream.tcc (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove references to _M_buf_size_opt. * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise. * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename __bufsize to __in_avail and __size_opt to __buf_size. * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise. * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise. * include/std/std_streambuf.h (~basic_streambuf(), basic_streambuf()): Likewise, remove _M_buf_size_opt member. * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise. 2003-04-12 Paolo Carlini <pcarlini at unitus dot it> * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t), stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t): _M_buf_size_opt == 0 only means "not to use an allocated buffer" since a stack-based buffer is used for small values of the size_t parameter. * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow). If _M_buf_size != 0 flush out the buffer (any kind, stack-based too). * testsuite/ext/stdio_filebuf_2.cc: New testfile. 2003-04-12 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9533 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto. 2003-04-11 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/locale/cons/3.cc: Split. * testsuite/22_locale/locale/cons/7222-c.cc: New. * testsuite/22_locale/locale/cons/7222-env.cc: New. Check before trying to create a locale from the environment. * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Adjust includes. 2003-04-11 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic locale to construct this hybrid locale, not the global locale. 2003-04-11 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add instantiation for AIX. * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same. * testsuite/25_algorithms/min_max.cc: Same. 2003-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream twice. Always set _M_cfile to 0 when stream was open. 2003-04-09 Benjamin Kosnik <bkoz@redhat.com> Reshuffle 27_io testsuite. * testsuite/27_io/filebuf.cc, filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc, filebuf_virtuals-1.tst, filebuf_virtuals-1.txt, filebuf_virtuals-2.tst, filebuf_virtuals-3.tst, filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc, ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt, ifstream_members.cc, instantiations.cc, ios.cc, ios_base_callbacks.cc, ios_base_members_static-1.tst, ios_base_members_static.cc, ios_base_storage.cc, ios_base_types.cc, ios_ctor.cc, ios_init.cc, ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc, iostream.cc, iostream_members.cc, istream.cc, istream_exception.cc, istream_extractor_char.cc, istream_extractor_other-1.tst, istream_extractor_other-1.txt, istream_extractor_other-2.tst, istream_extractor_other.cc, istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt, istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc, istream_sentry.cc, istream_unformatted-1.tst, istream_unformatted-1.txt, istream_unformatted.cc, istringstream.cc, istringstream_members.cc, narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst, ofstream_members.cc, ostream.cc, ostream_exception.cc, ostream_fail.cc, ostream_inserter_arith.cc, ostream_inserter_char-1.tst, ostream_inserter_char-1.txt, ostream_inserter_char.cc, ostream_inserter_other-1.tst, ostream_inserter_other-2.tst, ostream_inserter_other.cc, ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc, ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc, ostringstream_members.cc, standard_manipulators.cc, streambuf.cc, streambuf_members.cc, stringbuf.cc, stringbuf_members.cc, stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc, wide_stream_objects.cc, istream_extractor_arith/01.cc, istream_extractor_arith/02.cc, istream_extractor_arith/03.cc, istream_extractor_arith/06.cc, istream_extractor_arith/07.cc, istream_extractor_arith/08.cc, istream_extractor_arith/09.cc, istream_extractor_arith/10.cc, istream_extractor_arith/11.cc, istream_extractor_arith/12.cc, istream_extractor_arith/13.cc: Split into... * 27_io/basic_filebuf/1.cc: New. * 27_io/basic_filebuf/2.cc: New. * 27_io/basic_filebuf/3.cc: New. * 27_io/basic_filebuf/4.cc: New. * 27_io/basic_filebuf/close/char/1.cc: New. * 27_io/basic_filebuf/close/char/2.cc: New. * 27_io/basic_filebuf/close/char/3.cc: New. * 27_io/basic_filebuf/close/char/4879.cc: New. * 27_io/basic_filebuf/close/char/9964.cc: New. * 27_io/basic_filebuf/imbue/char/1.cc: New. * 27_io/basic_filebuf/imbue/char/9322.cc: New. * 27_io/basic_filebuf/in_avail/char/1.cc: New. * 27_io/basic_filebuf/is_open/char/1.cc: New. * 27_io/basic_filebuf/open/char/1.cc: New. * 27_io/basic_filebuf/open/char/2.cc: New. * 27_io/basic_filebuf/open/char/3.cc: New. * 27_io/basic_filebuf/open/char/9507.cc: New. * 27_io/basic_filebuf/overflow/char/1.cc: New. * 27_io/basic_filebuf/overflow/char/3599.cc: New. * 27_io/basic_filebuf/overflow/char/9169.cc: New. * 27_io/basic_filebuf/overflow/char/9182-2.cc: New. * 27_io/basic_filebuf/overflow/char/9988.cc: New. * 27_io/basic_filebuf/sbumpc/char/1.cc: New. * 27_io/basic_filebuf/sbumpc/char/9825.cc: New. * 27_io/basic_filebuf/seekoff/char/1.cc: New. * 27_io/basic_filebuf/seekoff/char/2.cc: New. * 27_io/basic_filebuf/seekpos/char/1.cc: New. * 27_io/basic_filebuf/seekpos/char/2.cc: New. * 27_io/basic_filebuf/setbuf/char/1.cc: New. * 27_io/basic_filebuf/setbuf/char/2.cc: New. * 27_io/basic_filebuf/setbuf/char/3.cc: New. * 27_io/basic_filebuf/sgetc/char/1.cc: New. * 27_io/basic_filebuf/sgetn/char/1.cc: New. * 27_io/basic_filebuf/sgetn/char/2.cc: New. * 27_io/basic_filebuf/snextc/char/1.cc: New. * 27_io/basic_filebuf/sputbackc/char/1.cc: New. * 27_io/basic_filebuf/sputbackc/char/9425.cc: New. * 27_io/basic_filebuf/sputc/char/1.cc: New. * 27_io/basic_filebuf/sputc/char/1057.cc: New. * 27_io/basic_filebuf/sputc/char/9701-2.cc: New. * 27_io/basic_filebuf/sputn/char/1.cc: New. * 27_io/basic_filebuf/sputn/char/1057.cc: New. * 27_io/basic_filebuf/sputn/char/9701-1.cc: New. * 27_io/basic_filebuf/sungetc/char/1.cc: New. * 27_io/basic_filebuf/sync/char/1057.cc: New. * 27_io/basic_filebuf/sync/char/9182-1.cc: New. * 27_io/basic_filebuf/underflow/char/10097.cc: New. * 27_io/basic_fstream/1.cc: New. * 27_io/basic_fstream/2.cc: New. * 27_io/basic_fstream/3.cc: New. * 27_io/basic_fstream/4.cc: New. * 27_io/basic_fstream/rdbuf/char/2832.cc: New. * 27_io/basic_ifstream/1.cc: New. * 27_io/basic_ifstream/2.cc: New. * 27_io/basic_ifstream/3.cc: New. * 27_io/basic_ifstream/4.cc: New. * 27_io/basic_ifstream/cons/char/1.cc: New. * 27_io/basic_ifstream/open/char/1.cc: New. * 27_io/basic_ifstream/rdbuf/char/2832.cc: New. * 27_io/basic_ios/1.cc: New. * 27_io/basic_ios/2.cc: New. * 27_io/basic_ios/3.cc: New. * 27_io/basic_ios/4.cc: New. * 27_io/basic_ios/clear/char/1.cc: New. * 27_io/basic_ios/cons/char/1.cc: New. * 27_io/basic_ios/cons/char/2.cc: New. * 27_io/basic_ios/cons/char/3.cc: New. * 27_io/basic_ios/copyfmt/char/1.cc: New. * 27_io/basic_ios/copyfmt/char/2.cc: New. * 27_io/basic_ios/exceptions/char/1.cc: New. * 27_io/basic_ios/locales/char/1.cc: New. * 27_io/basic_iostream/1.cc: New. * 27_io/basic_iostream/2.cc: New. * 27_io/basic_iostream/3.cc: New. * 27_io/basic_iostream/4.cc: New. * 27_io/basic_istream/1.cc: New. * 27_io/basic_istream/2.cc: New. * 27_io/basic_istream/3.cc: New. * 27_io/basic_istream/4.cc: New. * 27_io/basic_istream/exceptions/char/9561.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New. * 27_io/basic_istream/extractors_character/char/1.cc: New. * 27_io/basic_istream/extractors_character/char/2.cc: New. * 27_io/basic_istream/extractors_character/char/3.cc: New. * 27_io/basic_istream/extractors_character/char/9826.cc: New. * 27_io/basic_istream/extractors_other/char/1.cc: New. * 27_io/basic_istream/extractors_other/char/2.cc: New. * 27_io/basic_istream/extractors_other/char/3.cc: New. * 27_io/basic_istream/extractors_other/char/9318-in.cc: New. * 27_io/basic_istream/extractors_other/char/9424-in.cc: New. * 27_io/basic_istream/get/char/1.cc: New. * 27_io/basic_istream/get/char/2.cc: New. * 27_io/basic_istream/getline/char/1.cc: New. * 27_io/basic_istream/getline/char/2.cc: New. * 27_io/basic_istream/getline/char/3.cc: New. * 27_io/basic_istream/ignore/char/1.cc: New. * 27_io/basic_istream/ignore/char/6360.cc: New. * 27_io/basic_istream/ignore/char/7220.cc: New. * 27_io/basic_istream/peek/char/1.cc: New. * 27_io/basic_istream/peek/char/6414.cc: New. * 27_io/basic_istream/putback/char/1.cc: New. * 27_io/basic_istream/read/char/1.cc: New. * 27_io/basic_istream/read/char/2.cc: New. * 27_io/basic_istream/read/char/3.cc: New. * 27_io/basic_istream/readsome/char/6746-1.cc: New. * 27_io/basic_istream/readsome/char/6746-2.cc: New. * 27_io/basic_istream/readsome/char/8258.cc: New. * 27_io/basic_istream/seekg/char/2346-fstream.cc: New. * 27_io/basic_istream/seekg/char/2346-sstream.cc: New. * 27_io/basic_istream/seekg/char/8348-1.cc: New. * 27_io/basic_istream/seekg/char/8348-2.cc: New. * 27_io/basic_istream/seekg/char/fstream.cc: New. * 27_io/basic_istream/seekg/char/sstream.cc: New. * 27_io/basic_istream/sentry/char/1.cc: New. * 27_io/basic_istream/sentry/char/2.cc: New. * 27_io/basic_istream/sentry/char/3.cc: New. * 27_io/basic_istream/sentry/char/3983-fstream.cc: New. * 27_io/basic_istream/sentry/char/3983-sstream.cc: New. * 27_io/basic_istream/tellg/char/1.cc: New. * 27_io/basic_istream/tellg/char/8348.cc: New. * 27_io/basic_istream/tellg/char/fstream.cc: New. * 27_io/basic_istream/tellg/char/sstream.cc: New. * 27_io/basic_istream/ws/char/1.cc: New. * 27_io/basic_istringstream/1.cc: New. * 27_io/basic_istringstream/2.cc: New. * 27_io/basic_istringstream/3.cc: New. * 27_io/basic_istringstream/4.cc: New. * 27_io/basic_istringstream/rdbuf/char/2832.cc: New. * 27_io/basic_istringstream/str/char/1.cc: New. * 27_io/basic_ofstream/1.cc: New. * 27_io/basic_ofstream/2.cc: New. * 27_io/basic_ofstream/3.cc: New. * 27_io/basic_ofstream/4.cc: New. * 27_io/basic_ofstream/cons/char/2.cc: New. * 27_io/basic_ofstream/open/char/1.cc: New. * 27_io/basic_ofstream/rdbuf/char/2832.cc: New. * 27_io/basic_ostream/1.cc: New. * 27_io/basic_ostream/2.cc: New. * 27_io/basic_ostream/3.cc: New. * 27_io/basic_ostream/4.cc: New. * 27_io/basic_ostream/cons/char/9827.cc: New. * 27_io/basic_ostream/endl/char/1.cc: New. * 27_io/basic_ostream/ends/char/1.cc: New. * 27_io/basic_ostream/ends/char/2.cc: New. * 27_io/basic_ostream/exceptions/char/9561.cc: New. * 27_io/basic_ostream/flush/char/1.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New. * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New. * 27_io/basic_ostream/inserters_character/char/1.cc: New. * 27_io/basic_ostream/inserters_character/char/2.cc: New. * 27_io/basic_ostream/inserters_character/char/3.cc: New. * 27_io/basic_ostream/inserters_character/char/4.cc: New. * 27_io/basic_ostream/inserters_character/char/5.cc: New. * 27_io/basic_ostream/inserters_character/char/6.cc: New. * 27_io/basic_ostream/inserters_character/char/8.cc: New. * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New. * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New. * 27_io/basic_ostream/inserters_other/char/1.cc: New. * 27_io/basic_ostream/inserters_other/char/2.cc: New. * 27_io/basic_ostream/inserters_other/char/3.cc: New. * 27_io/basic_ostream/inserters_other/char/4.cc: New. * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New. * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New. * 27_io/basic_ostream/sentry/char/1.cc: New. * 27_io/basic_ostream/sentry/char/2.cc: New. * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New. * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New. * 27_io/basic_ostream/tellp/char/1.cc: New. * 27_io/basic_ostream/tellp/char/2.cc: New. * 27_io/basic_ostringstream/1.cc: New. * 27_io/basic_ostringstream/2.cc: New. * 27_io/basic_ostringstream/3.cc: New. * 27_io/basic_ostringstream/4.cc: New. * 27_io/basic_ostringstream/cons/char/3.cc: New. * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New. * 27_io/basic_ostringstream/str/char/1.cc: New. * 27_io/basic_ostringstream/str/char/2.cc: New. * 27_io/basic_streambuf/1.cc: New. * 27_io/basic_streambuf/2.cc: New. * 27_io/basic_streambuf/3.cc: New. * 27_io/basic_streambuf/cons/char/1.cc: New. * 27_io/basic_streambuf/imbue/char/1.cc: New. * 27_io/basic_streambuf/imbue/char/9322.cc: New. * 27_io/basic_streambuf/overflow/char/1.cc: New. * 27_io/basic_streambuf/overflow/char/2.cc: New. * 27_io/basic_streambuf/overflow/char/3599.cc: New. * 27_io/basic_streambuf/sgetc/char/1.cc: New. * 27_io/basic_streambuf/sgetn/char/1.cc: New. * 27_io/basic_streambuf/sputbackc/char/9538.cc: New. * 27_io/basic_streambuf/sputc/char/1057.cc: New. * 27_io/basic_streambuf/sputn/char/1.cc: New. * 27_io/basic_streambuf/sputn/char/1057.cc: New. * 27_io/basic_streambuf/sync/char/1057.cc: New. * 27_io/basic_stringbuf/1.cc: New. * 27_io/basic_stringbuf/2.cc: New. * 27_io/basic_stringbuf/3.cc: New. * 27_io/basic_stringbuf/4.cc: New. * 27_io/basic_stringbuf/5.cc: New. * 27_io/basic_stringbuf/imbue/char/1.cc: New. * 27_io/basic_stringbuf/imbue/char/9322.cc: New. * 27_io/basic_stringbuf/in_avail/char/1.cc: New. * 27_io/basic_stringbuf/overflow/char/2.cc: New. * 27_io/basic_stringbuf/overflow/char/3599.cc: New. * 27_io/basic_stringbuf/overflow/char/9988.cc: New. * 27_io/basic_stringbuf/sbumpc/char/1.cc: New. * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New. * 27_io/basic_stringbuf/seekoff/char/1.cc: New. * 27_io/basic_stringbuf/seekoff/char/2.cc: New. * 27_io/basic_stringbuf/seekpos/char/1.cc: New. * 27_io/basic_stringbuf/seekpos/char/2.cc: New. * 27_io/basic_stringbuf/setbuf/char/1.cc: New. * 27_io/basic_stringbuf/setbuf/char/2.cc: New. * 27_io/basic_stringbuf/setbuf/char/3.cc: New. * 27_io/basic_stringbuf/sgetc/char/1.cc: New. * 27_io/basic_stringbuf/sgetn/char/1.cc: New. * 27_io/basic_stringbuf/snextc/char/1.cc: New. * 27_io/basic_stringbuf/sputbackc/char/1.cc: New. * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New. * 27_io/basic_stringbuf/sputc/char/1.cc: New. * 27_io/basic_stringbuf/sputc/char/1057.cc: New. * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New. * 27_io/basic_stringbuf/sputn/char/1.cc: New. * 27_io/basic_stringbuf/sputn/char/1057.cc: New. * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New. * 27_io/basic_stringbuf/str/char/1.cc: New. * 27_io/basic_stringbuf/str/char/2.cc: New. * 27_io/basic_stringbuf/str/char/3.cc: New. * 27_io/basic_stringbuf/str/char/3955.cc: New. * 27_io/basic_stringbuf/sungetc/char/1.cc: New. * 27_io/basic_stringbuf/sync/char/1057.cc: New. * 27_io/basic_stringstream/1.cc: New. * 27_io/basic_stringstream/2.cc: New. * 27_io/basic_stringstream/3.cc: New. * 27_io/basic_stringstream/4.cc: New. * 27_io/basic_stringstream/rdbuf/char/2832.cc: New. * 27_io/basic_stringstream/str/char/1.cc: New. * 27_io/basic_stringstream/str/char/2.cc: New. * 27_io/basic_stringstream/str/char/3.cc: New. * 27_io/basic_stringstream/str/char/4.cc: New. * 27_io/fpos/1.cc: New. * 27_io/fpos/2.cc: New. * 27_io/fpos/3.cc: New. * 27_io/ios_base/callbacks/1.cc: New. * 27_io/ios_base/state/1.cc: New. * 27_io/ios_base/storage/1.cc: New. * 27_io/ios_base/storage/2.cc: New. * 27_io/ios_base/storage/3.cc: New. * 27_io/ios_base/sync_with_stdio/1.cc: New. * 27_io/ios_base/sync_with_stdio/2.cc: New. * 27_io/manipulators/adjustfield/char/1.cc: New. * 27_io/manipulators/adjustfield/char/2.cc: New. * 27_io/manipulators/basefield/char/1.cc: New. * 27_io/manipulators/standard/char/1.cc: New. * 27_io/manipulators/standard/char/2.cc: New. * 27_io/objects/char/1.cc: New. * 27_io/objects/char/2.cc: New. * 27_io/objects/char/2523-1_xin.cc: New. * 27_io/objects/char/2523-1_xin.in: New. * 27_io/objects/char/2523-2_xin.cc: New. * 27_io/objects/char/2523-2_xin.in: New. * 27_io/objects/char/3045.cc: New. * 27_io/objects/char/3647.cc: New. * 27_io/objects/char/3_xin.cc: New. * 27_io/objects/char/3_xin.in: New. * 27_io/objects/char/4_xin.cc: New. * 27_io/objects/char/4_xin.in: New. * 27_io/objects/char/5268.cc: New. * 27_io/objects/char/5280_xin.cc: New. * 27_io/objects/char/5280_xin.in: New. * 27_io/objects/char/6548_xin.cc: New. * 27_io/objects/char/6548_xin.in: New. * 27_io/objects/char/6648-1_xin.cc: New. * 27_io/objects/char/6648-1_xin.in: New. * 27_io/objects/char/6648-2_xin.cc: New. * 27_io/objects/char/6648-2_xin.in: New. * 27_io/objects/char/7744_xin.cc: New. * 27_io/objects/char/7744_xin.in: New. * 27_io/objects/wchar_t/1.cc: New. * 27_io/types/1.cc: New. * 27_io/types/2.cc: New. * data/filebuf_members-1.tst: New. * data/filebuf_members-1.txt: New. * data/filebuf_virtuals-1.tst: New. * data/filebuf_virtuals-1.txt: New. * data/filebuf_virtuals-2.tst: New. * data/filebuf_virtuals-3.tst: New. * data/ifstream_members-1.tst: New. * data/ifstream_members-1.txt: New. * data/ios_base_members_static-1.tst: New. * data/istream_extractor_other-1.tst: New. * data/istream_extractor_other-1.txt: New. * data/istream_extractor_other-2.tst: New. * data/istream_seeks-1.tst: New. * data/istream_seeks-1.txt: New. * data/istream_seeks-2.tst: New. * data/istream_seeks-3.tst: New. * data/istream_unformatted-1.tst: New. * data/istream_unformatted-1.txt: New. * data/ofstream_members-1.tst: New. * data/ostream_inserter_char-1.tst: New. * data/ostream_inserter_char-1.txt: New. * data/ostream_inserter_other-1.tst: New. * data/ostream_inserter_other-2.tst: New. * data/ostream_seeks-1.tst: New. 2003-04-09 Benjamin Kosnik <bkoz@redhat.com> * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove requirement that __mode must be strict input or output. * include/std/std_streambuf.h (basic_streambuf::setp): Set _M_out_lim. * include/std/std_sstream.h (basic_strinbuf::str): Zero length output string shouldn't core. (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn type. * include/bits/sstream.tcc: Adjust _M_really_sync bits here. * include/bits/istream.tcc (basic_istream::putback): Set gcount to zero. 2003-04-09 Benjamin Kosnik <bkoz@redhat.com> * testsuite/data: New directory. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify to copy files from the testsuite data directory. (libstdc++-v3-list-sourcefiles): Add another test list filter, for testfiles containing _xin, which now means this is an interactive test and should be run with the interactive dejagnu hooks. * testsuite/Makefile.am: Remove testsuite_* files. * testsuite/Makefile.in: Regenerate. 2003-04-09 Zack Weinberg <zack@codesourcery.com> * docs/html/install.html: Document complete list of locales required by test suite. Document procedure for installing said locales under Debian. Solicit instructions for other operating systems. 2003-04-08 Alexandre Oliva <aoliva@redhat.com> * include/bits/sstream.tcc (overflow): Make sure operands of min and max have the same type. 2003-04-04 Jerry Quinn <jlquinn@optonline.net> PR libstdc++/10276 * src/ios.cc (ios_base::_M_init): Remove _M_callbacks initialization. 2003-03-31 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (_M_out_buf_size()): Remove. * include/bits/fstream.tcc (_M_allocate_internal_buffer): Don't set _M_out_end. (basic_filebuf::overflow): Replace _M_out_buf_size() with this->_M_out_cur && this->_M_out_cur < this->_M_out_end. * include/bits/sstream.tcc (basic_stringbuf::overflow): Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end; * include/bits/streambuf.tcc (basic_streambuf::sputc): Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end. (basic_streambuf::xsputn): Replace _M_out_buf_size() with _M_out_end - _M_out_cur. (__copy_streambufs): Likewise. * include/std/std_fstream.h (_M_set_determinate): Set _M_out_end here. 2003-03-30 Paolo Carlini <pcarlini@unitus.it> * include/bits/fstream.tcc (basic_filebuf::showmanyc, _M_convert_to_external, _M_really_overflow, seekoff): Fix test for synced buffer. * include/std/std_fstream.h (sync): Likewise. * src/fstream.cc (basic_filebuf<char>::_M_underflow_common, basic_filebuf<wchar_t>::_M_underflow_common): Likewise. 2003-03-28 Benjamin Kosnik <bkoz@redhat.com> * include/std/std_sstream.h (basic_istringstream): Adjust initialization. (basic_ostringstream): Same. (basic_stringstream): Same. * include/std/std_fstream.h (basic_ifstream): Adjust initialization. (basic_ofstream): Same. (basic_fstream): Same. * include/std/std_ostream.h (basic_ostrem): Add protected ctor that does not call init. * include/std/std_istream.h (basic_istream): Same. (basic_iostream): Construct istream, ostream uninitialized, use init to initialize just once. Add protected ctor that does not call init. 2003-03-28 Paolo Carlini <pcarlini@unitus.it> Nathan Myers <ncm@cantrip.org> PR libstdc++/9533 * include/bits/fstream.tcc (basic_filebuf<>::open): Don't call underflow(). (basic_filebuf<>::showmanyc): Use the information provided by codecvt and __basic_file<>::showmanyc_helper to implement a non-trivial showmanyc. * config/io/basic_file_stdio.h (__basic_file<>::showmanyc_helper): New, declare. * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc_helper): Define. (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK. (__basic_file<char>::open): Don't call fcntl(). * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, GLIBCPP_CHECK_POLL): New macros. * configure.in: Call here. * acconfig.h: Add #undefs for the corresponding symbols. * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. 2003-03-24 Benjamin Kosnik <bkoz@redhat.com> * config/linker-map.gnu: Remove string export restrictions. 2003-03-24 Paolo Carlini <pcarlini@unitus.it> * testsuite/21_strings/basic_string/find/char/1.cc: Remove find_first_of, find_last_of and find_last_not_of tests. * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of tests here, new file. * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise, remove wchar_t find_first_of, find_last_of and find_last_not_of tests. * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise, wchar_t find_first_of tests here, new file. * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of tests here. * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of tests here. * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise, wchar_t find_last_of tests here. * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise, wchar_t find_last_not_of tests here. 2003-03-22 Loren J. Rittle <ljrittle@acm.org> * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table): Correct return value. 2003-03-21 Jerry Quinn <jlquinn@optonline.net> PR libstdc++/5730 * include/bits/c++config (_GLIBCPP_FAST_MATH): Define. * include/std/std_complex.h (norm): Use faster, less accurate computation for builtin float types under --fast-math. 2003-03-21 Magnus Fromreide <gnats@magfr.user.lysator.liu.se> * testsuite/testsuite_hooks.h: Fix warning nits. 2003-03-19 Alexandre Oliva <aoliva@redhat.com> * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add): Only .set mips2 for the o32 ABI. 2003-03-19 Paolo Carlini <pcarlini@unitus.it> * testsuite/21_strings/char_traits/requirements/char/1.cc: Test char not wchar_t. 2003-03-18 Paolo Carlini <pcarlini@unitus.it> * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Correct size, taking into account sizeof(wchar_t). 2003-03-18 Paolo Carlini <pcarlini@unitus.it> Reshuffle 21_strings testsuite. * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc, assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc, element_access.cc, operations.cc, char_traits_requirements.cc, find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc, compare.cc, inserters_extractors.cc, substr.cc: Split up, add wchar_t tests as follows. * 21_strings/basic_string/append/char/1.cc: New. * 21_strings/basic_string/append/wchar_t/1.cc: New. * 21_strings/basic_string/assign/char/1.cc: New. * 21_strings/basic_string/assign/char/2.cc: New. * 21_strings/basic_string/assign/char/3.cc: New. * 21_strings/basic_string/assign/wchar_t/1.cc: New. * 21_strings/basic_string/assign/wchar_t/2.cc: New. * 21_strings/basic_string/assign/wchar_t/3.cc: New. * 21_strings/basic_string/capacity/1.cc: New. * 21_strings/basic_string/capacity/char/1.cc: New. * 21_strings/basic_string/capacity/char/2.cc: New. * 21_strings/basic_string/capacity/wchar_t/1.cc: New. * 21_strings/basic_string/capacity/wchar_t/2.cc: New. * 21_strings/basic_string/compare/char/1.cc: New. * 21_strings/basic_string/compare/wchar_t/1.cc: New. * 21_strings/basic_string/cons/char/1.cc: New. * 21_strings/basic_string/cons/char/2.cc: New. * 21_strings/basic_string/cons/char/3.cc: New. * 21_strings/basic_string/cons/char/4.cc: New. * 21_strings/basic_string/cons/char/5.cc: New. * 21_strings/basic_string/cons/wchar_t/1.cc: New. * 21_strings/basic_string/cons/wchar_t/2.cc: New. * 21_strings/basic_string/cons/wchar_t/3.cc: New. * 21_strings/basic_string/cons/wchar_t/4.cc: New. * 21_strings/basic_string/cons/wchar_t/5.cc: New. * 21_strings/basic_string/element_access/char/1.cc: New. * 21_strings/basic_string/element_access/char/2.cc: New. * 21_strings/basic_string/element_access/char/3.cc: New. * 21_strings/basic_string/element_access/wchar_t/1.cc: New. * 21_strings/basic_string/element_access/wchar_t/2.cc: New. * 21_strings/basic_string/element_access/wchar_t/3.cc: New. * 21_strings/basic_string/find/char/1.cc: New. * 21_strings/basic_string/find/wchar_t/1.cc: New. * 21_strings/basic_string/insert/char/1.cc: New. * 21_strings/basic_string/insert/char/2.cc: New. * 21_strings/basic_string/insert/wchar_t/1.cc: New. * 21_strings/basic_string/insert/wchar_t/2.cc: New. * 21_strings/basic_string/inserters_extractors/char/1.cc: New. * 21_strings/basic_string/inserters_extractors/char/4.cc: New. * 21_strings/basic_string/inserters_extractors/char/5.cc: New. * 21_strings/basic_string/inserters_extractors/char/6.cc: New. * 21_strings/basic_string/inserters_extractors/char/7.cc: New. * 21_strings/basic_string/inserters_extractors/char/8.cc: New. * 21_strings/basic_string/inserters_extractors/char/9.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New. * 21_strings/basic_string/operators/char/1.cc: New. * 21_strings/basic_string/operators/char/2.cc: New. * 21_strings/basic_string/operators/wchar_t/1.cc: New. * 21_strings/basic_string/operators/wchar_t/2.cc: New. * 21_strings/basic_string/replace/char/1.cc: New. * 21_strings/basic_string/replace/char/2.cc: New. * 21_strings/basic_string/replace/char/3.cc: New. * 21_strings/basic_string/replace/char/4.cc: New. * 21_strings/basic_string/replace/char/5.cc: New. * 21_strings/basic_string/replace/wchar_t/1.cc: New. * 21_strings/basic_string/replace/wchar_t/2.cc: New. * 21_strings/basic_string/replace/wchar_t/3.cc: New. * 21_strings/basic_string/replace/wchar_t/4.cc: New. * 21_strings/basic_string/replace/wchar_t/5.cc: New. * 21_strings/basic_string/rfind/char/1.cc: New. * 21_strings/basic_string/rfind/char/2.cc: New. * 21_strings/basic_string/rfind/char/3.cc: New. * 21_strings/basic_string/rfind/wchar_t/1.cc: New. * 21_strings/basic_string/rfind/wchar_t/2.cc: New. * 21_strings/basic_string/rfind/wchar_t/3.cc: New. * 21_strings/basic_string/substr/char/1.cc: New. * 21_strings/basic_string/substr/wchar_t/1.cc: New. * 21_strings/c_strings/char/1.cc: New. * 21_strings/c_strings/char/2.cc: New. * 21_strings/c_strings/wchar_t/1.cc: New. * 21_strings/c_strings/wchar_t/2.cc: New. * 21_strings/char_traits/requirements/char/1.cc: New. * 21_strings/char_traits/requirements/wchar_t/1.cc: New. * 21_strings/char_traits/typedefs/char/1.cc: New. 2003-03-17 Paolo Carlini <pcarlini@unitus.it> Petur Runolfsson <peturr02@ru.is> PR libstdc++/10097 * src/fstream.cc (basic_filebuf<char>::_M_underflow_common, basic_filebuf<wchar_t>::_M_underflow_common): if (gptr() < egptr()) return *gptr(). * testsuite/27_io/filebuf_virtuals.cc (test16): Add. * testsuite/27_io/filebuf_members.cc (test_04): Minor changes: unlink fifo before making it, fix spelling error. 2003-03-17 Benjamin Kosnik <bkoz@redhat.com> * testsuite/Makefile.am (CLEANFILES): Add tmp*. * testsuite/Makefile.in: Regenerate. * testsuite/27_io/filebuf_members.cc: Consistently name tmp files. Cleanups. 2003-03-17 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9964 * include/bits/fstream.tcc (basic_filebuf::close): Always close file, even when write fails. * testsuite/27_io/filebuf_members.cc (test_07): New test. 2003-03-17 Danny Smith <dannysmith@users.sourceforge.net> * libsupc++/Makefile.am (C_COMPILE): Remove. (LTCOMPILE): Likewise. * libsupc++/Makefile.in: Regenerate. 2003-03-14 Benjamin Kosnik <bkoz@redhat.com> * testsuite/23_containers/bitset_members.cc: Add test variable. * testsuite/23_containers/map_insert.cc: Same. * testsuite/22_locale/ctype/cons/char/1.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same. * testsuite/27_io/istream_exception.cc: Same. * testsuite/27_io/filebuf_virtuals.cc: Same. * testsuite/27_io/stringbuf_virtuals.cc: Same. * testsuite/27_io/ostream_inserter_arith.cc: Same. * testsuite/26_numerics/valarray_operators.cc: Same. * testsuite/26_numerics/slice.cc: Same. * testsuite/26_numerics/slice_array_assignment.cc: Same. * testsuite/24_iterators/istream_iterator.cc: Same. * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible. 2003-03-14 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9581 PR libstdc++/9870 * config/locale/generic/ctype_members.cc, * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)): Cast argument to unsigned char before passing to btowc. (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)): Convert characters with btowc instead of mbsrtowcs. (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*, char, char*): Convert characters with wctob instead of wcsrtombs. * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: New test. * testsuite/22_locale/ctype/widen/wchar_t/2.cc: New test. * testsuite/22_locale/ctype/widen/wchar_t/3.cc: New test. 2003-03-14 Benjamin Kosnik <bkoz@redhat.com> * include/stdc++.h: New. * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard. * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch * include/Makefile.in: Regenerate. * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS. (--cxxflags): Put -g -O2 here. * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here. 2003-03-14 Loren J. Rittle <ljrittle@acm.org> * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by missing named locale. 2003-03-14 Andreas Schwab <schwab@suse.de> * configure.in: Only append to makefiles that are newly created to avoid multiple multi-do/multi-clean rules. * configure: Rebuilt. 2003-03-13 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/configopts.html, docs/html/documentation.html, docs/html/explanations.html, docs/html/install.html, docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix invalid XHTML and make page header style consistent. 2003-03-12 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/faq/index.html: Explain memory "leaks" due to allocators. * docs/html/faq/index.txt: Regenerate. * docs/html/debug.html: Add a bit to allocator text and fix XHTML. 2003-03-12 Andreas Schwab <schwab@suse.de> * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in glibcpp_toolexeclibdir. * aclocal.m4, configure: Rebuilt. 2003-03-11 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/faq/index.html: Update text about location of headers. * docs/html/faq/index.txt: Regenerate. 2003-03-11 Carlo Wood <carlo@alinoe.com> * include/bits/demangle.h: Prepend accessors of class qualifier with 'get_' in order to fix warnings when compiling with -Wshadow. 2003-03-11 Loren J. Rittle <ljrittle@acm.org> * config/os/bsd/freebsd/ctype_inline.h: Support _M_table when so installed. * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo. * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not report lack of setenv(). 2003-03-09 Paolo Carlini <pcarlini@unitus.it> * config/io/basic_file_stdio.cc: include <unistd.h>. 2003-03-09 Paolo Carlini <pcarlini@unitus.it> Nathan Myers <ncm@cantrip.org> PR libstdc++/7744 * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn, seekoff, seekpos): Add a boolean parameter __stdio. * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn, seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell, fseek/ftell, respectively), otherwise read (write, lseek, lseek, respectively). * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external, _M_really_overflow, seekoff): Use the boolean parameter in the calls. * include/std/std_fstream.h (sync): Likewise. * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise. * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert libstdc++/8399 commit involving isatty(0). * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove. (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove * configure.in: Remove call. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/27_io/narrow_stream_objects.cc (test11): Add. 2003-03-09 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9988 * include/bits/fstream.tcc (overflow): don't write EOF to file. * testsuite/27_io/filebuf_virtuals.cc (test15): Add. 2003-03-08 Jerry Quinn <jlquinn@optonline.net> PR libstdc++/9561 * include/bits/basic_ios.h (_M_setstate): New. * include/bits/ostream.tcc (operator<<): Use it. * include/bits/istream.tcc (operator>>): Use it. * include/std/std_ostream.h (operator<<): Make friends. * include/std/std_istream.h (operator>>): Make friends. * testsuite/27_io/ostream_exception.cc, testsuite/27_io/istream_exception.cc: New tests. 2003-03-08 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.tcc: Fix typo. 2003-03-08 Loren J. Rittle <ljrittle@acm.org> * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test. * config/locale/generic/c_locale.cc (locale::facet::_S_create_c_locale): Throw runtime exception when unsupported language is specified. * testsuite/testsuite_hooks.h (run_test_wrapped_generic_locale_exception_catcher): New function. * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale): Suppress runtime exception thrown by generic implementation. (run_tests_wrapped_env): Likewise. (run_test_wrapped_generic_locale_exception_catcher): New function. * testsuite/22_locale/collate/compare/char/1.cc: New test wrap. * testsuite/22_locale/collate/compare/char/2.cc: New test wrap. * testsuite/22_locale/collate/compare/char/3.cc: New test wrap. * testsuite/22_locale/collate/hash/char/2.cc: New test wrap. * testsuite/22_locale/collate/transform/char/2.cc: New test wrap. * testsuite/22_locale/collate/transform/char/3.cc: New test wrap. * testsuite/22_locale/collate_byname/1.cc: New test wrap. * testsuite/22_locale/ctype/is/char/2.cc: New test wrap. * testsuite/22_locale/facet/2.cc: New test wrap. * testsuite/22_locale/locale/cons/4.cc: New test wrap. * testsuite/22_locale/locale/cons/5.cc: New test wrap. * testsuite/22_locale/locale/cons/7.cc: New test wrap. * testsuite/22_locale/messages/members/char/1.cc: New test wrap. * testsuite/22_locale/messages/members/char/2.cc: New test wrap. * testsuite/22_locale/messages/members/char/3.cc: New test wrap. * testsuite/22_locale/messages_byname/1.cc: New test wrap. * testsuite/22_locale/money_get/get/char/1.cc: New test wrap. * testsuite/22_locale/money_get/get/char/2.cc: New test wrap. * testsuite/22_locale/money_get/get/char/3.cc: New test wrap. * testsuite/22_locale/money_get/get/char/4.cc: New test wrap. * testsuite/22_locale/money_put/put/char/1.cc: New test wrap. * testsuite/22_locale/money_put/put/char/2.cc: New test wrap. * testsuite/22_locale/money_put/put/char/3.cc: New test wrap. * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap. * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap. * testsuite/22_locale/num_get/get/char/1.cc: New test wrap. * testsuite/22_locale/num_get/get/char/2.cc: New test wrap. * testsuite/22_locale/num_get/get/char/3.cc: New test wrap. * testsuite/22_locale/num_get/get/char/5.cc: New test wrap. * testsuite/22_locale/num_get/get/char/6.cc: New test wrap. * testsuite/22_locale/num_put/put/char/1.cc: New test wrap. * testsuite/22_locale/num_put/put/char/2.cc: New test wrap. * testsuite/22_locale/num_put/put/char/3.cc: New test wrap. * testsuite/22_locale/num_put/put/char/5.cc: New test wrap. * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap. * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap. * testsuite/22_locale/numpunct_byname/1.cc: New test wrap. * testsuite/22_locale/numpunct_byname/2.cc: New test wrap. * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap. * testsuite/22_locale/time_put/put/char/1.cc: New test wrap. * testsuite/22_locale/time_put/put/char/2.cc: New test wrap. * testsuite/22_locale/time_put/put/char/3.cc: New test wrap. * testsuite/22_locale/time_put/put/char/4.cc: New test wrap. * testsuite/22_locale/time_put/put/char/5.cc: New test wrap. * testsuite/22_locale/time_put/put/char/6.cc: New test wrap. * testsuite/22_locale/time_put/put/char/7.cc: New test wrap. * testsuite/22_locale/time_put/put/char/8.cc: New test wrap. * testsuite/27_io/filebuf_virtuals.cc: New test wrap. * testsuite/27_io/ios_members.cc: New test wrap. * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void. New test wrap. * testsuite/27_io/streambuf_members.cc: New test wrap. * testsuite/27_io/stringbuf_virtuals.cc: New test wrap. 2003-03-08 Paolo Carlini <pcarlini@unitus.it> Petur Runolfsson <peturr02@ru.is> PR libstdc++/9424 * include/bits/streambuf.tcc (__copy_streambufs): Use sgetn-sputn only when sputn cannot fail, otherwise fall back to safe snextc-sputc. * testsuite/27_io/streambuf_members.cc (test11, test12): Add. 2003-03-08 Jerry Quinn <jlquinn@optonline.net> * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use locale cache for truename and falsename. 2003-03-08 Jerry Quinn <jlquinn@optonline.net> * src/ios.cc (ios_base::ios_base): Correct order of _M_word and _M_word_size initialization. 2003-03-07 Paolo Carlini <pcarlini@unitus.it> * include/bits/fstream.tcc (_M_convert_to_external): Set __elen to zero if codecvt::out eventually fails. 2003-03-07 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9182 * include/bits/fstream.tcc (_M_really_overflow): Check for _M_convert_to_external possible failures. * include/std/std_fstream.h (sync): Check _M_really_overflow return value and return -1 in case of failure. * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add. 2003-03-07 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9826 * include/bits/istream.tcc (operator>>(_CharT*), operator>>(basic_string&), ws): Pass a char_type to __ctype.is. * testsuite/27_io/stringstream.cc (test02): Add. * include/bits/istream.tcc (operator>>(_CharT*)): Assign a char_type to *__s. 2003-03-07 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9817 * include/bits/locale_facets.tcc (collate::do_compare, collate::do_transform): Handle nul characters in input. * testsuite/22_locale/collate/compare/char/3.cc: New test. * testsuite/22_locale/collate/compare/wchar_t/3.cc: New test. * testsuite/22_locale/collate/transform/char/3.cc: New test. * testsuite/22_locale/collate/transform/wchar_t/3.cc: New test. 2003-03-07 Jerry Quinn <jlquinn@optonline.net> * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if sputn fails. * testsuite/27_io/ostream_fail.cc: New test. 2003-03-07 Matthias Klose <doko@debian.org> * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir. FLAGS_TO_PASS: Set to AM_MAKEFLAGS * Makefile.in: Regenerate. * libsupc++/Makefile.am: Express glibcppinstalldir in terms of gxx_include_dir. AM_MAKEFLAGS: Pass gxx_include_dir. * libsupc++/Makefile.in: Regenerate. 2003-03-06 Jerry Quinn <jlquinn@optonline.net> * testsuite/27_io/ios_base_storage.cc (test02): Set exception mask. Test setting small-numbered pword and iword slots. Test behavior at limit of numeric_limits::max. Check that values are still good after failures. 2003-03-06 Jerry Quinn <jlquinn@optonline.net> * src/ios.cc (ios_base::_M_init): Remove _M_word_size. (ios_base::ios_base): Set _M_word, _M_word_size. (ios_base::~ios_base): Remove redundant test. * testsuite/27_io/ios_base_storage.cc (test03): New. 2003-03-04 Alexandre Oliva <aoliva@redhat.com> * src/strstream.cc, include/bits/basic_string.tcc: Remove incorrect whitespace added in my previous change. 2003-03-05 Carlo Wood <carlo@alinoe.com> * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added _S_initialized() in order to allow debugging libraries to detect when the std streams are initialized from an overloaded operator new. 2003-03-05 Benjamin Kosnik <bkoz@redhat.com> * libsupc++/demangle.h: Move to.. * include/bits/demangle.h: ...here. * src/demangle.cc: Adjust include. * include/Makefile.am (bits_headers): Add. * include/Makefile.in: Regenerate. 2003-03-04 Benjamin Kosnik <bkoz@redhat.com> * src/globals.cc: Clarify comments, remove c_locale_imp_compat. * config/linker-map.gnu: Filter typeinfo and vtable info. 2003-03-04 Jerry Quinn <jlquinn@optonline.net> * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on new failure. Throw exception if badbit and exception mask when ix >= numeric_limits<int>::max(). 2003-03-04 Alexandre Oliva <aoliva@redhat.com> * src/strstream.cc (strstreambuf::overflow): Make sure operands of min and max have the same type. * include/bits/basic_string.tcc (append, rfind, compare): Likewise. 2003-03-04 Benjamin Kosnik <bkoz@redhat.com> * include/Makefile.am (allstamps): Remove stamp-std-precompile. * include/Makefile.in: Regenerate. 2003-03-03 Benjamin Kosnik <bkoz@redhat.com> * testsuite/abi_check.cc (report_symbol_info): Add version info. * config/linker-map.gnu: Hide more stuff. * include/Makefile.am: Cleanups. * include/Makefile.in: Regenerate. 2003-02-27 Jerry Quinn <jlquinn@optonline.net> * config/locale/generic/messages_members.h (messages::messages): Remove name from unused parameter. 2003-02-27 Benjamin Kosnik <bkoz@redhat.com> * src/Makefile.am (sources): Add demangle.cc. (demangle.o): Add. (demangle.lo): Add. * src/Makefile.in: Regenerate. * libsupc++/Makefile.am: Remove old __cxa_demangle bits. * libsupc++/Makefile.in: Regenerate. * testsuite/testsuite_hooks.h (__gnu_cxx_test::verify_demangle): New. * testsuite/testsuite_hooks.cc: Define. 2003-02-27 Carlo Wood <carlo@alinoe.com> * src/demangle.cc: New. * libsupc++/demangle.h: New. 2003-02-27 Benjamin Kosnik <bkoz@redhat.com> Carlo Wood <carlo@alinoe.com> * testsuite/demangle/abi_examples/01.cc: New. * testsuite/demangle/abi_examples/02.cc: New. * testsuite/demangle/abi_examples/03.cc: New. * testsuite/demangle/abi_examples/04.cc: New. * testsuite/demangle/abi_examples/05.cc: New. * testsuite/demangle/abi_examples/06.cc: New. * testsuite/demangle/abi_examples/07.cc: New. * testsuite/demangle/abi_examples/08.cc: New. * testsuite/demangle/abi_examples/09.cc: New. * testsuite/demangle/abi_examples/10.cc: New. * testsuite/demangle/abi_examples/11.cc: New. * testsuite/demangle/abi_examples/12.cc: New. * testsuite/demangle/abi_examples/13.cc: New. * testsuite/demangle/abi_examples/14.cc: New. * testsuite/demangle/abi_examples/15.cc: New. * testsuite/demangle/abi_examples/16.cc: New. * testsuite/demangle/abi_examples/17.cc: New. * testsuite/demangle/abi_examples/18.cc: New. * testsuite/demangle/abi_examples/19.cc: New. * testsuite/demangle/abi_examples/20.cc: New. * testsuite/demangle/abi_examples/21.cc: New. * testsuite/demangle/abi_examples/22.cc: New. * testsuite/demangle/abi_examples/23.cc: New. * testsuite/demangle/abi_examples/24.cc: New. * testsuite/demangle/abi_examples/25.cc: New. * testsuite/demangle/abi_examples/26.cc: New. * testsuite/demangle/abi_text/01.cc: New. * testsuite/demangle/abi_text/02.cc: New. * testsuite/demangle/abi_text/03.cc: New. * testsuite/demangle/abi_text/04.cc: New. * testsuite/demangle/abi_text/05.cc: New. * testsuite/demangle/abi_text/06.cc: New. * testsuite/demangle/abi_text/07.cc: New. * testsuite/demangle/abi_text/08.cc: New. * testsuite/demangle/abi_text/09.cc: New. * testsuite/demangle/abi_text/10.cc: New. * testsuite/demangle/abi_text/11.cc: New. * testsuite/demangle/abi_text/12.cc: New. * testsuite/demangle/abi_text/13.cc: New. * testsuite/demangle/abi_text/14.cc: New. * testsuite/demangle/regression/3111-1.cc: New. * testsuite/demangle/regression/3111-2.cc: New. * testsuite/demangle/regression/7986-01.cc: New. * testsuite/demangle/regression/7986-02.cc: New. * testsuite/demangle/regression/7986-03.cc: New. * testsuite/demangle/regression/7986-04.cc: New. * testsuite/demangle/regression/7986-05.cc: New. * testsuite/demangle/regression/7986-06.cc: New. * testsuite/demangle/regression/7986-07.cc: New. * testsuite/demangle/regression/7986-08.cc: New. * testsuite/demangle/regression/7986-09.cc: New. * testsuite/demangle/regression/7986-10.cc: New. * testsuite/demangle/regression/7986-11.cc: New. * testsuite/demangle/regression/7986-12.cc: New. * testsuite/demangle/regression/7986.cc: New. * testsuite/demangle/regression/8897.cc: New. * testsuite/demangle/regression/cw-01.cc: New. * testsuite/demangle/regression/cw-02.cc: New. * testsuite/demangle/regression/cw-03.cc: New. * testsuite/demangle/regression/cw-04.cc: New. * testsuite/demangle/regression/cw-05.cc: New. * testsuite/demangle/regression/cw-06.cc: New. * testsuite/demangle/regression/cw-07.cc: New. * testsuite/demangle/regression/cw-08.cc: New. * testsuite/demangle/regression/cw-09.cc: New. * testsuite/demangle/regression/cw-10.cc: New. * testsuite/demangle/regression/cw-11.cc: New. * testsuite/demangle/regression/cw-12.cc: New. * testsuite/demangle/regression/cw-13.cc: New. * testsuite/demangle/regression/cw-14.cc: New. * testsuite/demangle/regression/old.cc: New. 2003-02-25 Phil Edwards <pme@gcc.gnu.org> * docs/doxygen/Intro.3: Update with new (proper) names. * docs/doxygen/TODO: Update. * docs/doxygen/run_doxygen: More comments, fix up man pages. Fake entries for standard typedefs. * docs/doxygen/user.cfg.in: Turn INLINE_INHERITED_MEMB back on. * docs/html/documentation.html: Top-level man page is now called C++Intro. * include/std/std_limits.h: Doxygenate. 2003-02-25 Scott Snyder <snyder@fnal.gov> PR libstdc++/9811 * include/bits/stl_map.h (lower_bound, upper_bound, equal_range): Correct documentation. * include/bits/stl_multimap.h (lower_bound, upper_bound, equal_range): Likewise. 2003-02-24 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9825 * src/fstream.cc (basic_filebuf<char/wchar_t>::_M_underflow_common): When __bump is true (uflow), always increment the read pointer (_M_in_cur) before returning successfully. * testsuite/27_io/filebuf_virtuals.cc (test12): Add. 2003-02-24 Paolo Carlini <pcarlini@unitus.it> Nathan Myers <ncm@cantrip.org> PR libstdc++/9404, PR libstdc++/9701 (partial) (aka pptr == epptr implies overflow) * include/bits/fstream.tcc (_M_allocate_internal_buffer): Consistently, _M_out_end points to the end of the buffer just created. (overflow): Tweak to use _M_out_buf_size(). (_M_convert_to_external): The role of the old _M_out_end is now played by _M_out_lim. (_M_really_overflow): Likewise. (seekoff): Likewise. (setbuf): _M_out_end points to the end of the external buffer. * include/bits/sstream.tcc (overflow): Rewrote, taking into account the resolution of DR 169 (TC). (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim. (seekpos): Use _M_string.capacity(); tweak. * include/bits/streambuf.tcc (sputc, xsputn): Remove comments. * include/std/std_fstream.h (sync): The role of the old _M_out_end is now played by _M_out_lim. (_M_set_indeterminate): Use _M_set_determinate. (_M_set_determinate): _M_out_end is now _M_out_lim. (_M_is_indeterminate): Likewise. * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim. (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams, which have the information readily available as _M_string.capacity(); for ate and app modes, pass the string size to _M_really_sync. (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to point to the end of the buffer (i.e., epptr) and to the string end, respectively. * include/std/std_streambuf.h: tweak comments, add _M_out_lim, which points to the right limit of the used put area. (_M_out_cur_move): The role of the old _M_out_end is now played by _M_out_lim. (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply _M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter of the standard. (basic_streambuf()): Initialize _M_out_lim too. * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak. * testsuite/27_io/filebuf_virtuals.cc (test11): Add. * testsuite/27_io/stringbuf_virtuals.cc (test09): Add. 2003-02-24 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/ios_base_storage.cc (main): Call set_memory_limits. 2003-02-21 Jerry Quinn <jlquinn@optonline.net> * include/bits/locale_facets.tcc (_M_convert_float): Replace numpunct facet accesses with data from __locale_cache. 2003-02-20 Phil Edwards <pme@gcc.gnu.org> * docs/html/faq/index.html (3.9): New note, wchar_t on FreeBSD. * docs/html/faq/index.txt: Regenerate. 2003-02-20 Phil Edwards <pme@gcc.gnu.org> * config/linker-map.gnu: Also export locking symbols needed for the generic atomicity.h case. 2003-02-20 Alexandre Oliva <aoliva@redhat.com> * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to config.status. * configure: Rebuilt. 2003-02-19 Paolo Carlini <pcarlini@unitus.it> * include/bits/sstream.tcc (overflow): According to 27.7.1.3, p5, actual output is performed by sputc(c). 2003-02-19 Phil Edwards <pme@gcc.gnu.org> PR libstdc++/9582 * include/bits/stl_alloc.h: Remove all traces of assert(). 2003-02-18 Paolo Carlini <pcarlini@unitus.it> * include/std/std_sstream.h (str()): the size of the current string may be different from the initial one whenever _M_out_end > _M_out_beg. * testsuite/27_io/stringbuf_members.cc (test07): Add. 2003-02-18 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9582 * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert. 2003-02-17 Benjamin Kosnik <bkoz@redhat.com> * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well. * testsuite/27_io/ios_members.cc (test03): New. 2003-02-17 Jerry Quinn <jlquinn@optonline.net> * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare. (basic_ios::_M_cache_facets): Move into above. * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale cache. (basic_ios::imbue): Force locale cache to be built. (basic_ios::_M_init): Create and initialize locale cache. * include/bits/ios_base.h (__locale_cache_base): Declare. (ios_base::_M_locale_cache): New. (ios_base::_M_cache): Define. * include/bits/locale_facets.h: (__num_base): Fix comment. Add _S_end. (__locale_cache_base,__locale_cache<_CharT>): New classes. (__locale_cache<char>, __locale_cache<wchar_t>): New specializations. * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale cache literal string, grouping flag, thousands separator. (__locale_cache<_CharT>::__locale_cache): New. (__locale_cache<_CharT>::_M_init): New. * src/ios.cc: Clear _M_locale_cache in constructor. * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>): New. 2003-02-17 Paolo Carlini <pcarlini@unitus.it> * src/locale-inst.cc: Do not include <cassert>. * src/locale.cc: Likewise. 2003-02-17 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9580 * include/std/std_fstream.h: Declare underflow and uflow specializations, change generic definitions to do nothing. * src/fstream.cc: Add underflow and uflow specializations. 2003-02-17 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9169 * include/bits/fstream.tcc (_M_convert_to_external): Deal correctly with noconv, as prescribed by 27.8.1.4,p8. * testsuite/27_io/filebuf_virtuals.cc (test10): Add. 2003-02-13 Benjamin Kosnik <bkoz@redhat.com> * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define. * include/bits/basic_ios.tcc: Guard use of extern template. * include/std/std_iomanip.h: Same. * include/bits/streambuf.tcc: Same. * include/bits/stl_alloc.h: Same. * include/bits/locale_facets.tcc: Same. * include/bits/ostream.tcc: Same. * include/bits/istream.tcc: Same. * include/bits/fstream.tcc: Same. * include/bits/basic_string.tcc: Same. 2003-02-13 Paolo Carlini <pcarlini@unitus.it> * include/bits/ostream.tcc (sentry::sentry): Improve performance-wise the fix for libstdc++/9563. 2003-02-12 Phil Edwards <pme@gcc.gnu.org> * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration. (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file. (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare when we don't have static mutex initialization. (__exchange_and_add): Use _Atomic_add_mutex_once. * src/misc-inst.cc: Definitions of all the above. 2003-02-12 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9563 * include/bits/ostream.tcc (sentry::sentry): Check the state of the stream after the preparation. * testsuite/27_io/ostream_sentry.cc (test02): Add. 2003-02-11 Benjamin Kosnik <bkoz@redhat.com> * include/Makefile.am (stamp-std-precompile): Add rule. * include/Makefile.in: Regenerated. 2003-02-11 Jerry Quinn <jlquinn@optonline.net> Benjamin Kosnik <benjamin@redhat.com> * include/bits/locale_facets.h (__num_base): Add _S_atoms_out. Add indexes into this array. (__num_base::_S_atoms): To _S_atoms_in. (num_put::_M_insert): Rename to _M_pad. (num_put::_M_convert_int): Adjust remove __mod, __modl arguments. (num_put::_M_widen_int): Rename to _M_group_int. (num_put::_M_widen_float): Rename to _M_group_float. * include/bits/locale_facets.tcc (__int_to_char): New inline function and adapter functions. (num_put::_M_group_int): Streamline. (num_put::_M_group_float): Streamline. (num_put::_M_convert_int): Remove unused parameter names. Choose large enough buffer for text. Use __int_to_char instead of __convert_from_v. Formatted text is now at the end of the buffer. (num_put::_M_convert_float): Preliminary fixups. * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef. (__int_to_char<unsigned long long>): Same. (__int_to_char<char, unsigned long>): New. (__int_to_char<char, unsigned long long>): New. (__int_to_char<wchar_t, unsigned long>): New. (__int_to_char<wchar_t, unsigned long long>): New. 2003-02-11 Scott Snyder <snyder@fnal.gov> PR libstdc++/9659 * include/bits/fstream.tcc (seekoff): Avoid operator+ for pos_type. 2003-02-11 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9320 * include/ext/stdio_filebuf.h (stdio_filebuf(int, std::ios_base::openmode, bool, int_type), stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)): Change to take a __size parameter of type size_t, not of type (template parameter dependent) int_type. * src/ios.cc (ios_base::Init::_S_ios_create): Change type of size vars to size_t. * testsuite/ext/stdio_filebuf.cc: Add. 2003-02-11 Paolo Carlini <pcarlini@unitus.it> Petur Runolfsson <peturr02@ru.is> PR libstdc++/9318 * include/bits/streambuf.tcc (__copy_streambufs): Don't conditionalize the copy to __testput. * testsuite/27_io/streambuf_members.cc (test09, test10): Add. 2002-02-11 DJ Delorie <dj@redhat.com> * acinclude.m4: Check for native targets that can't link at this point in the build. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock): Correct alignment. (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset lock. 2003-02-07 Paolo Carlini <pcarlini@unitus.it> * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for unsigned char platforms. 2003-02-06 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9562 * include/std/std_istream.h (basic_istream::sentry::operator bool()): Make const. * include/std/std_ostream.h (basic_ostream::sentry::operator bool()): Likewise. * testsuite/27_io/istream_sentry.cc (test03): Add. * testsuite/27_io/ostream_sentry.cc: Add. 2003-02-06 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9548 Implement resolution of DR 231 (Ready) * include/bits/locale_facets.h (__num_base::_S_format_float): Change declaration: return void, remove __prec parameter. * src/locale.cc (__num_base::_S_format_float): Implement resolution of DR 231. * include/bits/locale_facets.tcc (num_put::_M_convert_float): Tweak uses. Check for negative precision. * testsuite/22_locale/num_put/put/char/6.cc: Add * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise. 2003-02-06 Peter Soetens <peter.soetens@mech.kuleuven.ac.be> * config/io/basic_file_libio.h: Fixups. * config/io/c_io_libio.h: Same. * libio/Makefile.am: Same. * libio/Makefile.in: Regenerated. 2003-02-06 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01): Explicitly use the "C" locale. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same. 2003-02-06 Petur Runolfsson <peturr02@ru.is> DR 75 DR 305 PR libstdc++/9028 (partial) PR libstdc++/9224 PR libstdc++/9246 PR libstdc++/9247 * src/codecvt.cc (codecvt<wchar_t, char, mbstate_t>::do_encoding, codecvt<wchar_t, char, mbstate_t>::do_length, codecvt<wchar_t, char, mbstate_t>::do_max_length): Move... * config/locale/generic/codecvt_members.cc: ...here. * config/locale/gnu/codecvt_members.cc: ...and here. * config/locale/generic/codecvt_members.cc, * config/locale/gnu/codecvt_members.cc (codecvt<wchar_t, char, mbstate_t>::do_encoding codecvt<wchar_t, char, mbstate_t>::do_in, codecvt<wchar_t, char, mbstate_t>::do_length, codecvt<wchar_t, char, mbstate_t>::do_max_length, codecvt<wchar_t, char, mbstate_t>::do_out): New implementation that handles stateless encodings, including UTF-8. * config/locale/generic/codecvt_members.cc, * config/locale/gnu/codecvt_members.cc, * config/locale/ieee_1003.1-2001/codecvt_specializations.h, * include/bits/codecvt.h, * src/codecvt.cc (codecvt::length, codecvt::do_length): Change type of first argument of length and do_length from 'const state_type&' to 'state_type&' according to DR 75. * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Cleanup and check for correct return value from encoding for "C" locale. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: New test. * testsuite/22_locale/codecvt/length/char/1.cc: Cleanup. * testsuite/22_locale/codecvt/length/char/2.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/unicode/1.cc: New test. * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc: New test. 2003-02-05 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.tcc (time_put::do_put): Use __write. (money_put::do_put): Same. 2003-02-05 Jerry Quinn <jlquinn@optonline.net> * include/bits/ios_base.h (ios_base): Document reserved storage. * include/bits/locale_facets.h: (struct __pad): Comment on implementation. (__verify_grouping): Same. (__add_grouping): Same. * include/bits/locale_facets.tcc (__verify_grouping): Move comments to declaration. (__add_grouping): Same. * include/bits/locale_facets.tcc: (__write<_CharT, _OutIter>): New function. (__write<_CharT>): New function specialization. (num_put::_M_insert): Remove explicit loop over iterator. Use __write. (num_put::_M_widen_float): Remove __basefield. (num_put::_M_widen_int): Move __basefield to within grouping block. * include/bits/streambuf_iterator.h: Include <streambuf>. (ostreambuf_iterator::_M_put): Add. 2003-02-05 Paolo Carlini <pcarlini@unitus.it> * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo. 2003-02-04 Nathan Myers <ncm@cantrip.org> * testsuite/25_algorithms/min_max.cc (test02): Add. 2003-02-04 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9439, PR libstdc++/9425 * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff, seekpos): Return -1L if fseek fails. * include/bits/fstream.tcc (basic_filebuf::seekoff): Check _M_file.seekoff return value; always return pos_type(off_type(-1)) in case of failure. (basic_filebuf::pbackfail): Check this->seekoff return value and return traits_type::eof() in case of failure. * testsuite/27_io/filebuf_virtuals.cc (test09): Add. 2003-02-04 Jerry Quinn <jlquinn@optonline.net> * include/std/std_ostream.h (ostream::_M_write): Declare. * ostream.tcc (ostream::_M_write): Define. (basic_ostream::write): Use it. (operator<<(basic_ostream, _CharT)): Ditto. (operator<<(basic_ostream, char)): Ditto. (operator<<(basic_ostream, _CharT*)): Ditto. (operator<<(basic_ostream, char*)): Ditto. (operator<<(basic_ostream, basic_string)): Ditto. 2003-02-04 Benjamin Kosnik <bkoz@redhat.com> * testsuite/26_numerics/valarray_name_lookup.cc: Fix. 2002-02-04 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page, add HTML comment about updating links if numbering changes. 2003-02-04 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9538 * include/bits/streambuf.tcc (sputbackc): Access this->gptr()[-1] only if _M_in_beg < _M_in_cur. * testsuite/27_io/filebuf_virtuals.cc (test08): Add. 2003-02-04 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9507 * include/bits/fstream.tcc (open): If the 'ate' repositioning operation fails, calls close _and_ returns a null pointer to indicate failure (27.8.1.3,4). * testsuite/27_io/filebuf_members.cc (test_06): Add. 2003-02-04 Petur Runolfsson <peturr02@ru.is> * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0). 2002-02-04 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/27_io/howto.html: New section on stdio_filebuf. * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io. * docs/html/documentation.html: Regenerate. 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk> * docs/html/17_intro/porting.texi: Update to GFDL 1.2. * docs/html/17_intro/porting.html: Regenerate. 2003-02-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> Phil Edwards <pme@gcc.gnu.org> * include/std/std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use numeric_limits for bits-per-word values. (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count): Use __builtin_popcountl instead. (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next, _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next): Use __builtin_ctzl instead. (_S_bit_count, _S_first_one): Remove. * config/linker-map.gnu (GLIBCPP_3.4): Remove std::_S_bit_count. * src/Makefile.am (sources): Remove bitset.cc. * src/bitset.cc: Delete file. * src/Makefile.in: Regenerate. 2003-02-03 Phil Edwards <pme@gcc.gnu.org> PR libstdc++/9527, PR libstdc++/8713 * docs/html/install.html: Mention glibc version requirement. * docs/html/faq/index.html (3.8): New note, glibc 2.2.5+ is needed with 3.2.1+ (formatting bugfixes). * docs/html/faq/index.txt: Regenerate. 2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de> PR libstdc++/9234 * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary operator. * include/bits/valarray_before.h (__not_equal_to): Use != instead of ==. * testsuite/26_numerics/valarray_operators.cc: New test. 2003-02-01 Phil Edwards <pme@gcc.gnu.org> * docs/html/faq/index.html: Correct link to libg++ information. * docs/html/faq/index.txt: Regenerated. 2003-02-01 Paolo Carlini <pcarlini@unitus.it> Benjamin Kosnik <bkoz@redhat.com> Const correctness issue: http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html * include/bits/locale_classes.h (locale::_Impl::_M_facets): Change type to const facet**. (locale::_Impl::_M_install_facet): Change declaration to take const facet*. (locale::facet::_M_references): Make mutable. (locale::facet::_M_add_reference): Declare const. (locale::facet::_M_remove_reference): Likewise. * include/bits/locale_facets.tcc (use_facet(const locale&)): Tweak for const facet** _M_facets. (has_facet(const locale&)): Likewise. * src/locale.cc (locale::facet::_M_add_reference): Adjust definition. (locale::facet::_M_remove_reference): Likewise. * src/localename.cc (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for const facet** _M_facets. (locale::_Impl::_Impl(const char*, size_t)): Likewise. (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise. (locale::_Impl::_M_install_facet): Adjust definition to take const facet* and for const facet** _M_facets. * testsuite/22_locale/locale/cons/8.cc: Add. 2003-01-29 Mark Mitchell <mark@codesourcery.com> * include/std/std_limits.h (numeric_limits<float>::has_infinity): Use __FLT_HAS_INIFINITY__ to initialize. (numeric_limits<float>::has_quiet_NaN): Likewise. (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__ to initialize. (numeric_limits<double>::has_quiet_NaN): Likewise. (numeric_limits<long double>::has_infinity): Use __LDBL_HAS_INIFINITY__ to initialize. (numeric_limits<long_double>::has_quiet_NaN): Likewise. 2003-01-28 Nathan Sidwell <nathan@codesourcery.com> PR c++/9433 * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope with bases which are very ambiguous. 2003-01-28 Danny Smith <dannysmith@users.sourceforge.net> * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@. * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise. * src/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. 2003-01-27 Alexandre Oliva <aoliva@redhat.com> * acinclude.m4 (glibcpp_toolexeclibdir): Instead of $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless version_specific_libs is enabled. * aclocal.m4, configure: Rebuilt. 2003-01-24 Nathan Sidwell <nathan@codesourcery.com> * include/bits/valarray_meta.h: Remove, split into ... * include/bits/valarray_before.h: ... this, and ... * include/bits/valarray_after.h: ... this. * include/std/std_valarray.h: Adjust. * include/Makefile.am (bits_headers): Adjust. * include/Makefile.in: Regenerate. 2003-01-24 Andreas Schwab <schwab@suse.de> * config/linker-map.gnu: Fix for size_t variance. 2003-01-23 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9322 * include/std/std_streambuf.h (basic_streambuf::basic_streambuf, basic_streambuf::~basic_streambuf, basic_streambuf::getloc, basic_streambuf::imbue): Remove _M_buf_locale_init * include/bits/fstream.tcc (basic_filebuf::imbue): Likewise * testsuite/27_io/filebuf_virtuals.cc (test08): Add. * testsuite/27_io/streambuf_members.cc (test08): Add. * testsuite/27_io/stringbuf_virtuals.cc (test08): Add. 2003-01-23 Benjamin Kosnik <bkoz@redhat.com> Revert include ordering. * config/locale/generic/c_locale.h: Add include guards. * config/locale/gnu/c_locale.h: Same. * include/bits/locale_classes.h: Remove cctype include. * include/std/std_iosfwd.h: Add c++locale.h, cctype includes. * include/std/std_fstream.h: Remove streambuf include. * include/std/std_sstream.h: Remove streambuf include. 2003-01-23 Benjamin Kosnik <bkoz@redhat.com> * configure.in (libtool_VERSION): To 6:0:0. * configure: Regenerated. * config/linker-map.gnu: Clean. * src/misc-inst.cc: Remove instantiations. * include/bits/stl_alloc.h (__malloc_alloc_template): To __malloc_alloc. (__default_alloc_template): To __pool_alloc. * src/stl-inst.cc: Same. * include/backward/alloc.h: Update. * testsuite/ext/allocators.cc: Update. * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should really try to remove these if possible. * src/locale.cc (std): Same. * testsuite/abi_check.cc (check_version): Add. 2003-01-22 Benjamin Kosnik <bkoz@redhat.com> Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com> Mark Mitchell <mark@codesourcery.com> PR libstdc++/9269 * include/std/std_fstream.h (basic_filebuf::uflow): Declare. (basic_filebuf::underflow): Declare. Move definitions. 2003-01-22 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.h: Move non-facet classes requiring <string> to... * include/bits/locale_classes.h: New. * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h. * include/bits/Makefile.in: Regenerate. * include/bits/locale_facets.tcc (__convert_from_v): Move to... * config/locale/gnu/c_locale.h: ...here. * config/locale/generic/c_locale.h: Same. * include/bits/locale_facets.tcc: Move declarations to... * include/bits/locale_facets.h: ...here. * include/bits/basic_ios.h: Tweak includes accordingly. * include/std/std_sstream.h: Add streambuf include. * include/std/std_fstream.h: Ditto. * include/std/std_locale.h: Add locale_classes.h include. * include/std/std_iosfwd.h: Tweak. * src/concept-inst.cc: Add iterator include. * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_* bits as unexported in the future. 2003-01-21 Benjamin Kosnik <bkoz@redhat.com> Reshuffle 22_locale testsuite. * 22_locale/(codecvt.cc money_get.cc codecvt_members_char_char.cc money_get_members_char.cc codecvt_members_unicode_char.cc money_get_members_wchar_t.cc codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc collate_members_char.cc money_put.cc collate_members_wchar_t.cc money_put_members_char.cc ctor_copy_dtor.cc money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc operators.cc ctype_widen_char.cc static_members.cc ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc global_templates.cc time_get_members_wchar_t.cc, members.cc, time_put.cc, messages_byname.cc, time_put_members_char.cc, messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc): Split up into individual test cases... * 22_locale/codecvt/1.cc: New. * 22_locale/codecvt/2.cc: New. * 22_locale/codecvt/always_noconv/char/1.cc: New. * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New. * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New. * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New. * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/encoding/char/1.cc: New. * 22_locale/codecvt/encoding/char/wrapped_env.cc: New. * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New. * 22_locale/codecvt/encoding/wchar_t/1.cc: New. * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/in/char/1.cc: New. * 22_locale/codecvt/in/char/wrapped_env.cc: New. * 22_locale/codecvt/in/char/wrapped_locale.cc: New. * 22_locale/codecvt/in/wchar_t/1.cc: New. * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/length/char/1.cc: New. * 22_locale/codecvt/length/char/wrapped_env.cc: New. * 22_locale/codecvt/length/char/wrapped_locale.cc: New. * 22_locale/codecvt/length/wchar_t/1.cc: New. * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/max_length/char/1.cc: New. * 22_locale/codecvt/max_length/char/wrapped_env.cc: New. * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New. * 22_locale/codecvt/max_length/wchar_t/1.cc: New. * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/out/char/1.cc: New. * 22_locale/codecvt/out/char/wrapped_env.cc: New. * 22_locale/codecvt/out/char/wrapped_locale.cc: New. * 22_locale/codecvt/out/wchar_t/1.cc: New. * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/unicode/char.cc: New. * 22_locale/codecvt/unicode/wchar_t.cc: New. * 22_locale/codecvt/unshift/char/1.cc: New. * 22_locale/codecvt/unshift/char/wrapped_env.cc: New. * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New. * 22_locale/codecvt/unshift/wchar_t/1.cc: New. * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New. * 22_locale/collate/1.cc: New. * 22_locale/collate/2.cc: New. * 22_locale/collate/compare/char/1.cc: New. * 22_locale/collate/compare/char/2.cc: New. * 22_locale/collate/compare/char/wrapped_env.cc: New. * 22_locale/collate/compare/char/wrapped_locale.cc: New. * 22_locale/collate/compare/wchar_t/1.cc: New. * 22_locale/collate/compare/wchar_t/2.cc: New. * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New. * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New. * 22_locale/collate/hash/char/1.cc: New. * 22_locale/collate/hash/char/2.cc: New. * 22_locale/collate/hash/char/wrapped_env.cc: New. * 22_locale/collate/hash/char/wrapped_locale.cc: New. * 22_locale/collate/hash/wchar_t/1.cc: New. * 22_locale/collate/hash/wchar_t/2.cc: New. * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New. * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New. * 22_locale/collate/transform/char/2.cc: New. * 22_locale/collate/transform/char/wrapped_env.cc: New. * 22_locale/collate/transform/char/wrapped_locale.cc: New. * 22_locale/collate/transform/wchar_t/2.cc: New. * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New. * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New. * 22_locale/collate_byname/1.cc: New. * 22_locale/ctype/1.cc: New. * 22_locale/ctype/2.cc: New. * 22_locale/ctype/cons/char/1.cc: New. * 22_locale/ctype/cons/char/wrapped_env.cc: New. * 22_locale/ctype/cons/char/wrapped_locale.cc: New. * 22_locale/ctype/is/char/1.cc: New. * 22_locale/ctype/is/char/2.cc: New. * 22_locale/ctype/is/char/3.cc: New. * 22_locale/ctype/is/char/wrapped_env.cc: New. * 22_locale/ctype/is/char/wrapped_locale.cc: New. * 22_locale/ctype/is/wchar_t/1.cc: New. * 22_locale/ctype/is/wchar_t/2.cc: New. * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/narrow/char/1.cc: New. * 22_locale/ctype/narrow/char/2.cc: New. * 22_locale/ctype/narrow/char/wrapped_env.cc: New. * 22_locale/ctype/narrow/char/wrapped_locale.cc: New. * 22_locale/ctype/narrow/wchar_t/1.cc: New. * 22_locale/ctype/narrow/wchar_t/2.cc: New. * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/scan/char/1.cc: New. * 22_locale/ctype/scan/char/wrapped_env.cc: New. * 22_locale/ctype/scan/char/wrapped_locale.cc: New. * 22_locale/ctype/scan/wchar_t/1.cc: New. * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/to/char/1.cc: New. * 22_locale/ctype/to/char/wrapped_env.cc: New. * 22_locale/ctype/to/char/wrapped_locale.cc: New. * 22_locale/ctype/to/wchar_t/1.cc: New. * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/widen/char/1.cc: New. * 22_locale/ctype/widen/char/wrapped_env.cc: New. * 22_locale/ctype/widen/char/wrapped_locale.cc: New. * 22_locale/ctype/widen/wchar_t/1.cc: New. * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New. * 22_locale/facet/1.cc: New. * 22_locale/facet/2.cc: New. * 22_locale/global_templates/1.cc: New. * 22_locale/locale/cons/1.cc: New. * 22_locale/locale/cons/2.cc: New. * 22_locale/locale/cons/3.cc: New. * 22_locale/locale/cons/4.cc: New. * 22_locale/locale/cons/5.cc: New. * 22_locale/locale/cons/6.cc: New. * 22_locale/locale/cons/7.cc: New. * 22_locale/locale/global_locale_objects/1.cc: New. * 22_locale/locale/global_locale_objects/2.cc: New. * 22_locale/locale/global_locale_objects/3.cc: New. * 22_locale/locale/operations/1.cc: New. * 22_locale/locale/operations/2.cc: New. * 22_locale/messages/1.cc: New. * 22_locale/messages/2.cc: New. * 22_locale/messages/members/char/1.cc: New. * 22_locale/messages/members/char/2.cc: New. * 22_locale/messages/members/char/3.cc: New. * 22_locale/messages/members/char/wrapped_env.cc: New. * 22_locale/messages/members/char/wrapped_locale.cc: New. * 22_locale/messages_byname/1.cc: New. * 22_locale/money_get/1.cc: New. * 22_locale/money_get/2.cc: New. * 22_locale/money_get/get/char/1.cc: New. * 22_locale/money_get/get/char/2.cc: New. * 22_locale/money_get/get/char/3.cc: New. * 22_locale/money_get/get/char/4.cc: New. * 22_locale/money_get/get/char/5.cc: New. * 22_locale/money_get/get/char/6.cc: New. * 22_locale/money_get/get/char/7.cc: New. * 22_locale/money_get/get/char/8.cc: New. * 22_locale/money_get/get/char/wrapped_env.cc: New. * 22_locale/money_get/get/char/wrapped_locale.cc: New. * 22_locale/money_get/get/wchar_t/1.cc: New. * 22_locale/money_get/get/wchar_t/2.cc: New. * 22_locale/money_get/get/wchar_t/3.cc: New. * 22_locale/money_get/get/wchar_t/4.cc: New. * 22_locale/money_get/get/wchar_t/5.cc: New. * 22_locale/money_get/get/wchar_t/6.cc: New. * 22_locale/money_get/get/wchar_t/7.cc: New. * 22_locale/money_get/get/wchar_t/8.cc: New. * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New. * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New. * 22_locale/money_put/1.cc: New. * 22_locale/money_put/2.cc: New. * 22_locale/money_put/put/char/1.cc: New. * 22_locale/money_put/put/char/2.cc: New. * 22_locale/money_put/put/char/3.cc: New. * 22_locale/money_put/put/char/4.cc: New. * 22_locale/money_put/put/char/5.cc: New. * 22_locale/money_put/put/char/6.cc: New. * 22_locale/money_put/put/char/wrapped_env.cc: New. * 22_locale/money_put/put/char/wrapped_locale.cc: New. * 22_locale/money_put/put/wchar_t/1.cc: New. * 22_locale/money_put/put/wchar_t/2.cc: New. * 22_locale/money_put/put/wchar_t/3.cc: New. * 22_locale/money_put/put/wchar_t/4.cc: New. * 22_locale/money_put/put/wchar_t/5.cc: New. * 22_locale/money_put/put/wchar_t/6.cc: New. * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New. * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New. * 22_locale/moneypunct/1.cc: New. * 22_locale/moneypunct/2.cc: New. * 22_locale/moneypunct/3.cc: New. * 22_locale/moneypunct/members/char/1.cc: New. * 22_locale/moneypunct/members/char/2.cc: New. * 22_locale/moneypunct/members/char/wrapped_env.cc: New. * 22_locale/moneypunct/members/char/wrapped_locale.cc: New. * 22_locale/moneypunct/members/wchar_t/1.cc: New. * 22_locale/moneypunct/members/wchar_t/2.cc: New. * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New. * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New. * 22_locale/moneypunct_byname/1.cc: New. * 22_locale/num_get/1.cc: New. * 22_locale/num_get/2.cc: New. * 22_locale/num_get/get/char/1.cc: New. * 22_locale/num_get/get/char/2.cc: New. * 22_locale/num_get/get/char/3.cc: New. * 22_locale/num_get/get/char/4.cc: New. * 22_locale/num_get/get/char/5.cc: New. * 22_locale/num_get/get/char/6.cc: New. * 22_locale/num_get/get/char/wrapped_env.cc: New. * 22_locale/num_get/get/char/wrapped_locale.cc: New. * 22_locale/num_get/get/wchar_t/1.cc: New. * 22_locale/num_get/get/wchar_t/2.cc: New. * 22_locale/num_get/get/wchar_t/3.cc: New. * 22_locale/num_get/get/wchar_t/4.cc: New. * 22_locale/num_get/get/wchar_t/5.cc: New. * 22_locale/num_get/get/wchar_t/6.cc: New. * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New. * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New. * 22_locale/num_put/1.cc: New. * 22_locale/num_put/2.cc: New. * 22_locale/num_put/put/char/1.cc: New. * 22_locale/num_put/put/char/2.cc: New. * 22_locale/num_put/put/char/3.cc: New. * 22_locale/num_put/put/char/4.cc: New. * 22_locale/num_put/put/char/5.cc: New. * 22_locale/num_put/put/char/wrapped_env.cc: New. * 22_locale/num_put/put/char/wrapped_locale.cc: New. * 22_locale/num_put/put/wchar_t/1.cc: New. * 22_locale/num_put/put/wchar_t/2.cc: New. * 22_locale/num_put/put/wchar_t/3.cc: New. * 22_locale/num_put/put/wchar_t/4.cc: New. * 22_locale/num_put/put/wchar_t/5.cc: New. * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New. * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New. * 22_locale/numpunct/1.cc: New. * 22_locale/numpunct/2.cc: New. * 22_locale/numpunct/members/char/1.cc: New. * 22_locale/numpunct/members/char/2.cc: New. * 22_locale/numpunct/members/char/wrapped_env.cc: New. * 22_locale/numpunct/members/char/wrapped_locale.cc: New. * 22_locale/numpunct/members/wchar_t/1.cc: New. * 22_locale/numpunct/members/wchar_t/2.cc: New. * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New. * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New. * 22_locale/numpunct_byname/1.cc: New. * 22_locale/numpunct_byname/2.cc: New. * 22_locale/time_get/1.cc: New. * 22_locale/time_get/2.cc: New. * 22_locale/time_get/date_order/char/1.cc: New. * 22_locale/time_get/date_order/char/wrapped_env.cc: New. * 22_locale/time_get/date_order/char/wrapped_locale.cc: New. * 22_locale/time_get/date_order/wchar_t/1.cc: New. * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_date/char/1.cc: New. * 22_locale/time_get/get_date/char/2.cc: New. * 22_locale/time_get/get_date/char/3.cc: New. * 22_locale/time_get/get_date/char/wrapped_env.cc: New. * 22_locale/time_get/get_date/char/wrapped_locale.cc: New. * 22_locale/time_get/get_date/wchar_t/1.cc: New. * 22_locale/time_get/get_date/wchar_t/2.cc: New. * 22_locale/time_get/get_date/wchar_t/3.cc: New. * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_monthname/char/1.cc: New. * 22_locale/time_get/get_monthname/char/2.cc: New. * 22_locale/time_get/get_monthname/char/3.cc: New. * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New. * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New. * 22_locale/time_get/get_monthname/wchar_t/1.cc: New. * 22_locale/time_get/get_monthname/wchar_t/2.cc: New. * 22_locale/time_get/get_monthname/wchar_t/3.cc: New. * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_time/char/1.cc: New. * 22_locale/time_get/get_time/char/2.cc: New. * 22_locale/time_get/get_time/char/3.cc: New. * 22_locale/time_get/get_time/char/wrapped_env.cc: New. * 22_locale/time_get/get_time/char/wrapped_locale.cc: New. * 22_locale/time_get/get_time/wchar_t/1.cc: New. * 22_locale/time_get/get_time/wchar_t/2.cc: New. * 22_locale/time_get/get_time/wchar_t/3.cc: New. * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_weekday/char/1.cc: New. * 22_locale/time_get/get_weekday/char/2.cc: New. * 22_locale/time_get/get_weekday/char/3.cc: New. * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New. * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New. * 22_locale/time_get/get_weekday/wchar_t/1.cc: New. * 22_locale/time_get/get_weekday/wchar_t/2.cc: New. * 22_locale/time_get/get_weekday/wchar_t/3.cc: New. * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_year/char/1.cc: New. * 22_locale/time_get/get_year/char/3.cc: New. * 22_locale/time_get/get_year/char/wrapped_env.cc: New. * 22_locale/time_get/get_year/char/wrapped_locale.cc: New. * 22_locale/time_get/get_year/wchar_t/1.cc: New. * 22_locale/time_get/get_year/wchar_t/3.cc: New. * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New. * 22_locale/time_put/1.cc: New. * 22_locale/time_put/2.cc: New. * 22_locale/time_put/put/char/1.cc: New. * 22_locale/time_put/put/char/10.cc: New. * 22_locale/time_put/put/char/2.cc: New. * 22_locale/time_put/put/char/3.cc: New. * 22_locale/time_put/put/char/4.cc: New. * 22_locale/time_put/put/char/5.cc: New. * 22_locale/time_put/put/char/6.cc: New. * 22_locale/time_put/put/char/7.cc: New. * 22_locale/time_put/put/char/8.cc: New. * 22_locale/time_put/put/char/9.cc: New. * 22_locale/time_put/put/char/wrapped_env.cc: New. * 22_locale/time_put/put/char/wrapped_locale.cc: New. * 22_locale/time_put/put/wchar_t/1.cc: New. * 22_locale/time_put/put/wchar_t/10.cc: New. * 22_locale/time_put/put/wchar_t/2.cc: New. * 22_locale/time_put/put/wchar_t/3.cc: New. * 22_locale/time_put/put/wchar_t/4.cc: New. * 22_locale/time_put/put/wchar_t/5.cc: New. * 22_locale/time_put/put/wchar_t/6.cc: New. * 22_locale/time_put/put/wchar_t/7.cc: New. * 22_locale/time_put/put/wchar_t/8.cc: New. * 22_locale/time_put/put/wchar_t/9.cc: New. * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New. * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New. 2003-01-16 Jeffrey D. Oldham <oldham@codesourcery.com> * config/locale/generic/messages_members.h (messages_byname<_CharT>::messages_byname): Use this-> to refer to unqualified members of base clasess. 2003-01-16 Mark Mitchell <mark@codesourcery.com> Jeffrey Oldham <oldham@codesourcery.com> * config/locale/gnu/messages_members.h: Use this-> to refer to unqualified members of base clasess. * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise. * include/bits/codecvt.h: Likewise. * include/bits/deque.tcc: Likewise. * include/bits/fstream.tcc: Likewise. * include/bits/istream.tcc: Likewise. * include/bits/list.tcc: Likewise. * include/bits/locale_facets.h: Likewise. * include/bits/ostream.tcc: Likewise. * include/bits/sstream.tcc: Likewise. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_tree.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/vector.tcc: Likewise. * include/ext/ropeimpl.h: Likewise. * include/ext/stdio_filebuf.h: Likewise. * include/ext/stl_rope.h: Likewise. * include/std/std_fstream.h: Likewise. * include/std/std_sstream.h: Likewise. 2003-01-15 Phil Edwards <pme@gcc.gnu.org> * include/bits/basic_string.tcc (_S_string_copy): Unused, remove. 2003-01-15 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.am (all-local): Add conditional rule to generate testsuite_wchar_t. * testsuite/Makefile.in: Regenerate. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): Remove wchar_t files if testsuite_wchar_t is not present in the build directory. * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS. Remove setulimit bits. * testsuite/26_numerics/complex_value.cc: Set to noopts. * testsuite/Makefile.am (CLEANFILES): Add. * testsuite/Makefile.in: Regenerate. 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca> * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for __hppa__. 2003-01-14 Jeffrey D. Oldham <oldham@codesourcery.com> Further conform g++'s __vmi_class_type_info to the C++ ABI specification. * libsupc++/cxxabi.h (__vmi_class_type_info::__flags_masks): Remove enumerations not required by the specification. 2003-01-12 Benjamin Kosnik <bkoz@redhat.com> Renames, namespaces for testsuite utilities. * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test. (gnu_allocator_tracker): Rename to allocation_tracker. (gnu_new_allocator): Rename to tracker_alloc. (__set_testsuite_memlimit): Rename to set_memory_limits. (gnu_assignment_operator): Rename to assignment_operator. (gnu_destructor): Rename to destructor. (gnu_copy_tracker): Rename to copy_tracker. (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long. (run_tests_wrapped_locale): New. (run_tests_wrapped_env): New. * testsuite/testsuite_hooks.cc: Same. (class locale_data): Add. (class enviornment_variable): Add. (class not_found): Add. * testsuite/testsuite_allocator.h: Same. * testsuite/testsuite_allocator.cc: Same. * testsuite/23_containers/deque_ctor.cc (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to allocation_tracker. Change gnu_new_allocator to tracker_alloc. Change gnu_counting_struct to counter. Change gnu_copy_tracker to copy_tracker. Change gnu_copy_constructor to copy_constructor. Change gnu_assignment_operator to assignment_operator. Inject. * testsuite/23_containers/vector_capacity.cc: Same. * testsuite/23_containers/vector_ctor.cc (test01): Same. * testsuite/23_containers/list_modifiers.cc: Change gnu_copy_tracker to copy_tracker. * testsuite/21_strings/ctor_copy_dtor.cc (main): Change __set_testsuite_memlimit to set_memory_limits. * testsuite/21_strings/insert.cc (main): Same. * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char. * testsuite/27_io/stringstream.cc: Same. * testsuite/27_io/stringbuf.cc: Same. * testsuite/27_io/streambuf.cc: Same. * testsuite/27_io/ostream.cc: Same. * testsuite/27_io/istream.cc: Same. * testsuite/27_io/fstream.cc: Same. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): Additionally handle files two and three levels deeper in glob patterns. 2003-01-11 Phil Edwards <pme@gcc.gnu.org> * docs/doxygen/tables.html: Finished now. * docs/doxygen/user.cfg.in: Update to latest version of Doxygen. * include/bits/basic_ios.h (basic_ios::rdbuf): Add example to comments. * include/bits/deque.tcc, include/bits/stl_alloc.h, include/bits/stl_deque.h, include/bits/stl_list.h, include/bits/stl_vector.h: Remove _GLIBCPP_DEPRECATED bits scheduled for 3.4 removal. 2003-01-09 Benjamin Kosnik <bkoz@redhat.com> * configure.in: Revert. * configure: Regenerate. 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de> * include/Makefile.am (install-data-local): Prepend $(DESTDIR) to destination paths in all (un)installation commands. Use ${c_base_builddir} and ${std_builddir} as destination subdirectories to achieve consistency with preceding mkinstalldirs commands. No effect because both variables contain "." only. * include/Makefile.in: Regenerate. 2003-01-08 Benjamin Kosnik <bkoz@redhat.com> * include/Makefile.am (stamp-*): Add checks for existing stamps. * include/Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment. * aclocal.m4: Regenerate. * configure.in: Don't add new multi-do rules every time the directory is reconfigured. * configure: Regenerate. 2003-01-08 Brad Spencer <spencer@infointeractive.com> Nathan Myers <ncm@cantrip.org> * src/Makefile.am (stamp-debug): Clean. * src/Makefile.in: Regenerate. 2003-01-07 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/8707 * Makefile.am (distclean-multi): Fix. * Makefile.in: Regenerate. 2003-01-06 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.h (messages): Move ctor, dtor definitions to.. (__timepunct): Same. * config/locale/gnu/messages_members.h (messages): Add dtor, ctor definitions. Conditionalize for GNU systems. * config/locale/generic/messages_members.h (messages): Add dtor, ctor definitions. * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor definitions. Conditionalize for GNU systems. * config/locale/generic/time_members.h (messages): New. Add dtor, ctor definitions. * include/bits/localefwd.h (locale::facet::_S_c_name): Add. * src/locale.cc: Define. * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool): Use it. * config/locale/gnu/time_members.h: Use it. * config/locale/gnu/messages_members.h: Use it. * config/linker-map.gnu: Add locale::facets details. * include/Makefile.am (target_headers_extra): Add time_members.h. * include/Makefile.in: Regenerate. * acinclude.m4: Export CTIME_H. * aclocal.m4: Regenerate. * configure: Regnerate. 2003-01-06 Paolo Carlini <pcarlini@unitus.it> * src/codecvt.cc (codecvt<char, char, mbstate_t>::do_in, do_out): Tweak parameters to avoid unused parameter warnings. 2003-01-06 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9151 * include/bits/locale_facets.cc (num_put::_M_convert_float): Limit __prec to digits10 + 2, not digits10 + 1, taking into account the possibility of %{g,G} conversion specifiers inside _S_format_float. * testsuite/27_io/ostream_inserter_arith.cc (test06): Add. 2003-01-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init, libstdc++-v3-list-sourcefiles): Additionally handle files one level deeper in glob patterns. * testsuite/27_io/istream_extractor_arith.cc: Delete, split... * testsuite/27_io/istream_extractor_arith/01.cc, testsuite/27_io/istream_extractor_arith/02.cc, testsuite/27_io/istream_extractor_arith/03.cc, testsuite/27_io/istream_extractor_arith/06.cc, testsuite/27_io/istream_extractor_arith/07.cc, testsuite/27_io/istream_extractor_arith/08.cc, testsuite/27_io/istream_extractor_arith/09.cc, testsuite/27_io/istream_extractor_arith/10.cc, testsuite/27_io/istream_extractor_arith/11.cc, testsuite/27_io/istream_extractor_arith/12.cc, testsuite/27_io/istream_extractor_arith/13.cc: ... to new files. * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for sparc*-*-solaris2*. 2003-01-05 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9168 * src/codecvt.cc (codecvt<char, char, mbstate_t>::do_in, do_out): Implement the resolution of DR19 (TC). * testsuite/22_locale/codecvt_members_char_char.cc (test01): Tweak. 2003-01-02 Jason Merrill <jason@redhat.com> * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add): *__mem is also an output. * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.1714&r2=1.1715 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/fstream.tcc.diff?cvsroot=gcc&r1=1.73&r2=1.74 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/std/std_fstream.h.diff?cvsroot=gcc&r1=1.35&r2=1.36
Ben, I take it that despite the lengthy cvs log, this is not fully fixed? With gcc 3.3 branch (20030603), the test here segfaults. With mainline, it simply complains about a number of missing locales. Dara
Subject: Bug 9028 CVSROOT: /cvs/gcc Module name: gcc Changes by: bkoz@gcc.gnu.org 2003-09-05 12:55:34 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: fstream.tcc libstdc++-v3/include/std: std_fstream.h Added files: libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t: 1.cc 2.cc 3.cc 4.cc 5.cc libstdc++-v3/testsuite/27_io/objects/wchar_t: 12.cc 13.cc Log message: 2003-09-04 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9028 * include/bits/fstream.tcc (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf. (basic_filebuf::basic_filebuf): Initialize _M_ext_buf, _M_ext_buf_size, _M_ext_next and _M_ext_end. (basic_filebuf::underflow): Handle variable-width stateless encodings (codecvt::encoding() == 0), including UTF-8. * include/std/std_fstream.h (basic_filebuf): Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end. * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test. * testsuite/27_io/objects/wchar_t/12.cc: New test. * testsuite/27_io/objects/wchar_t/13.cc: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.1950&r2=1.1951 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/fstream.tcc.diff?cvsroot=gcc&r1=1.97&r2=1.98 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/std/std_fstream.h.diff?cvsroot=gcc&r1=1.56&r2=1.57 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1
Petur is this fixed by your patch?
> Petur is this fixed by your patch? Yes. The test case now runs as expected for me.
Fixed by the patch.
How can I know in which release this bug has been fixed? I'm using Redhat 9 and g++ 3.2.2 and have the same problem?
The "Target Milestone" field is the answer: says 3.4.0.