This is GCC Bugzilla
This is GCC Bugzilla Version 2.20+
View Bug Activity | Format For Printing | Clone This Bug
gcc-3.0.3 (or rather libstdc++ 3.0.95) generates code for complex<double>::norm which might be more accurate, but which is a lot slower than 're * re + im * im'. Context: in the split step Fourier algorithm, I need to calcuate u[j] <- u[j] * exp(cst * |u[i]|^2) (interleaved with FFTs). With the gcc-3.0.3, my program becomes 40 % slower than egcs-2.91.66. The example below is even twice as slow. I do not know how much more accurate the 3.0.3 calculation is, but certainly for my purposes it is not worth the 40 % extra running time -- I guess I could override the norm() definition by a non-templatized one, but I'ld rather have the fast definition in the library. Release: 3.0.3 Environment: System: Linux sfup03.stratford 2.2.17-mosix #7 SMP Tue Oct 24 14:33:47 BST 2000 i686 unknown Architecture: i686 <machine, os, target, libraries (multiple lines)> host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.0.3/configure --prefix=/usr/local How-To-Repeat: example.cc given below; g++ is egcs-2.91.66 (Redhat 6.2)'s g++. g++ -O3 -mcpu=pentiumpro -DUSE_NORM -o old_norm example.cc g++-3.0.3 -O3 -mcpu=pentiumpro -DUSE_NORM -o new_norm example.cc -finline-limit=9999 g++ -O3 -mcpu=pentiumpro -o old_separate example.cc g++-3.0.3 -O3 -mcpu=pentiumpro -o new_separate example.cc -finline-limit=9999 times: // elapsed user system // old_norm 1.10 1.10 0.01 // new_norm 2.20 2.19 0.01 // old_separate 1.10 1.10 0.00 // new_separate 1.13 1.13 0.00 // example.cc #include <complex> typedef std::complex<double> Complex; int main(int argc, char *argv[]) { Complex u[2048]; for (int i = 0; i < 2048; ++i) u[i] = 1.0; for (int i = 0; i < 2000; ++i) { Complex * p = u; for(unsigned int i = 0; i < 2048; ++i) { #ifdef USE_NORM double u2 = norm(*p); #else double ur = real(*p); double ui = imag(*p); double u2 = ur * ur + ui * ui; #endif double t = u2 * 0.1; *p *= Complex(cos(t), sin(t)); ++p; } } } // end of example.cc ------------ This e-mail and any attachments are confidential. If you are not the intended recipient, please notify us immediately by reply e-mail and then delete this message from your system. Do not copy this e-mail or any attachments, use the contents for any purpose, or disclose the contents to any other person: to do so could be a breach of confidence. Unformatted: to 3.0.3
Fix: Use the more efficient algorithm when the --fast-math flag is defined.
From: jlquinn@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/5730 Date: 22 Mar 2003 04:51:35 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: jlquinn@gcc.gnu.org 2003-03-22 04:51:35 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: c++config libstdc++-v3/include/std: std_complex.h Log message: 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1464.2.69&r2=1.1464.2.70 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/c++config.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.574.2.99&r2=1.574.2.100 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/std/std_complex.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3&r2=1.3.2.1
From: jlquinn@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/5730 Date: 22 Mar 2003 04:57:46 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: jlquinn@gcc.gnu.org 2003-03-22 04:57:46 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: c++config libstdc++-v3/include/std: std_complex.h Log message: 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.1608&r2=1.1609 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/c++config.diff?cvsroot=gcc&r1=1.673&r2=1.674 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/std/std_complex.h.diff?cvsroot=gcc&r1=1.4&r2=1.5
Responsible-Changed-From-To: unassigned->jlquinn Responsible-Changed-Why: Fixed the bug
State-Changed-From-To: open->closed State-Changed-Why: Bug fixed
From: bkoz@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/5730 Date: 12 May 2003 18:12:33 -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_PA