Commit Graph

211 Commits

Author SHA1 Message Date
Paolo Carlini
bda243ec50 Nathan C.
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	PR libstdc++/11378
	* include/std/std_fstream.h (xsputn): Declare only.
	* include/bits/fstream.tcc (xsputn): Define, optimize for the
	always_noconv() case: when __n is sufficiently large flush
	the buffer and issue a direct write, if possible combining the
	two with writev in __basic_file<>::xsputn_2.
	* config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
	New, declare.
	* config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
	Define.
	* acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
	the availability of writev in <sys/uio.h>.
	* configure.in: Call here.
	* acconfig.h: Add undef for the corresponding symbol.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.

	* include/std/std_fstream.h (sync): Constify a variable.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r69341
2003-07-14 18:23:12 +00:00
Benjamin Kosnik
c573d965f9 assign_neg.cc: Fix line numbers.
2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r69331
2003-07-14 14:47:03 +00:00
David Billinghurst
8b87d3fa24 4879.cc: xfail on cygwin
2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>

	* testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
 	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
 	* testsuite/27_io/objects/char/7.cc: Ditto
 	* testsuite/27_io/objects/char/9661-1.cc: Ditto

From-SVN: r68970
2003-07-05 12:55:09 +00:00
Benjamin Kosnik
3d7c150e3f Move from CPP to CXX.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	Move from CPP to CXX.
	* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
	* testsuite/Makefile.am: Same.
	* testsuite/Makefile.in: Regenerate.
	* po/Makefile.am: Same.
	* po/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.
	* libmath/Makefile.am: Same.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* acconfig.h: Same.
	* configure.host: Same.
	* configure.in: Same.
	* configure: Regenerate.
	* acinclude.m4: Same.
	* aclocal.m4: Same.
	* src: Change all files in this directory.
	* testsuite: Same.
	* include: Same, standardize include guards.
	* config: Same.
	* libsupc++: Same.

From-SVN: r68958
2003-07-05 04:05:45 +00:00
Benjamin Kosnik
68e1f6219c Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

From-SVN: r68914
2003-07-04 07:15:30 +00:00
Benjamin Kosnik
cc5112c92d Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* include/std/std_streambuf.h: Remove _M_pos.
	* config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
	* config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
	use fread/fwrite instead of read/write.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
	before reading again.
	* testsuite/27_io/objects/char/6.cc: Tweak.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68913
2003-07-04 07:14:54 +00:00
Paolo Carlini
f64f3e74b9 re PR libstdc++/11389 (Unbuffered wfilebuf fails to read single-byte UTF-8 characters.)
2003-07-01  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11389
	* include/bits/fstream.tcc (underflow): For encoding() == 0
	don't read more than __buflen chars.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.

From-SVN: r68780
2003-07-01 17:13:01 +00:00
Benjamin Kosnik
7d6a09934c 1-in.cc: New.
2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
	* 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
	* 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
	* 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
	* 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
	* 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
	* 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
	* 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
	* 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
	* 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2.cc: Change.
	* 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
	* 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
	* 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
	* 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
 	* data/seekoff-1.tst: Remove.
	* data/seekoff-1io.tst: New.
	* data/seekoff-1out.tst: New.
	* data/seekoff-2.tst: Remove.
	* data/seekoff-2io.tst: New.
	* data/seekoff-2out.tst: New.
	* data/seekoff.txt
	* data/seekpos-1.tst: Remove.
	* data/seekpos-1io.tst: New.
	* data/seekpos-1out.tst: New.
	* data/seekpos-2.tst: Remove.
	* data/seekpos-2io.tst: New.
	* data/seekpos-2out.tst: New.
	* data/seekpos.txt: New.

From-SVN: r68757
2003-07-01 03:04:43 +00:00
Paolo Carlini
cd16e04b18 std_streambuf.h (_M_mode): Move from here to filebuf and stringbuf.
2003-06-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (_M_mode): Move from here to
	filebuf and stringbuf.
	(~basic_streambuf()): Don't set _M_mode.
	(basic_streambuf()): Don't set _M_mode.
	* include/std/std_fstream.h (_M_mode): Move here, from streambuf.
	(~basic_filebuf()): Clean up.
	* include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
	* include/std/std_sstream.h (_M_mode): Move here, from streambuf.
	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.

2003-06-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_M_underflow): Remove.
	(uflow): Remove, inherited from streambuf.
	(underflow): Only declare.
	* include/bits/fstream.tcc (_M_underflow): Rename to
	underflow, to which is equivalent for __bump == false,
	simplify.
	* include/std/std_sstream.h (_M_underflow): Remove.
	(uflow): Remove, inherited from streambuf.
	(underflow): Only declare.
	* include/bits/sstream.tcc (_M_underflow): Rename to
	underflow, to which is equivalent for __bump == false,
	simplify.

From-SVN: r68695
2003-06-30 11:17:23 +00:00
Paolo Carlini
165f54e074 11305-1.cc: Improve type correctness-wise.
2003-06-29  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
	Improve type correctness-wise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
	Likewise.

From-SVN: r68666
2003-06-29 11:12:35 +00:00
Paolo Carlini
b417ae14c8 re PR libstdc++/9875 (filebuf doesn't handle codecvt::encoding() > 1)
2003-06-28  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9875
	* include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
	(seekpos): Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
	New test.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
	New test.

From-SVN: r68630
2003-06-28 07:50:29 +00:00
Paolo Carlini
3461133d72 Nathan C.
2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	PR libstdc++/9178
	* include/bits/fstream.tcc (_M_underflow): Properly estimate
	the worst-case number of external bytes for a given get area.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.

2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/11305
	* include/bits/fstream.tcc (overflow): Properly estimate the
	worst-case number of external bytes for a given put area
	(by using codecvt::max_length()).
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68566
2003-06-27 12:33:49 +00:00
Benjamin Kosnik
215f9e283a ios_base.h (ios_base::_M_getloc): Return reference to the imbued locale.
2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/ios_base.h (ios_base::_M_getloc): Return reference
	to the imbued locale.
	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
	_M_getloc.
	(num_put::_M_convert_float): Use.

2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
	    Jerry Quinn  <jlquinn@optonline.net>

	* config/linker-map.gnu: Add __numpunct_cache.
	* config/locale/gnu/numeric_members.cc
	(numpunct::_M_initialize_numpunct): Account for _M_data, fill in
	all elements for "C" locale.
	(numpunct::~numpunct): Delete _M_data.
	* config/locale/generic/numeric_members.cc: Same.
	* include/bits/basic_ios.tcc
	(basic_ios::init): Remove __locale_cache bits.
	(basic_ios::_M_cache_locale): Same.
	* include/bits/ios_base.h: Same. Tweaks.
	* include/bits/locale_classes.h: Tweaks. Reorder classes.
	(__use_cache): Make friends with _Impl, locale.
	(_Impl::_M_caches): Add.
	(_Impl::_M_install_cache): Add.
	* include/bits/locale_facets.h (__numpunct_cache): New.
	(numpunct): Encapsulate data members in __numpunct_cache member,
	_M_data. Adjust virtuals.
	(numpunct::numpunct): New ctor for the same.
	(__locale_cache_base): Remove.
	(__locale_cache): Remove.
	* include/bits/locale_facets.tcc (__use_cache): New function,
	specializations.
	(num_put::_M_convert_int, _M_convert_float, do_put): Use it.
	* src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
	* src/ios.cc (ios_base::ios_base): Remove __locale_cache.
	* src/locale-inst.cc: Same. Add __numpunct_cache.
	* src/locale.cc: Tweak inlines.
	(__use_cache): Define specializations.
	* src/localename.cc: Use global bits.
	(_Impl::~Impl): Deal with __numpunct_cache destruction.
	(_Impl::_Impl): Same. Pre-cache standard numpunct facets.
	(_Impl::_M_init_facet): Take into account __numpunct_cache.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

Co-Authored-By: Jerry Quinn <jlquinn@optonline.net>

From-SVN: r68558
2003-06-27 07:25:38 +00:00
Paolo Carlini
2cfe4e6898 Nathan C.
2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
            Nathan C. Myers  <ncm-nospam@cantrip.org>

	* include/bits/fstream.tcc (_M_underflow): When the actual
	end of file is reached, set 'uncommitted' mode to allow a
	next write without an intervening seek (see C++98 27.8.1.1,2
	and C89 7.9.5.3).
	* testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r68522
2003-06-26 09:55:24 +00:00
Paolo Carlini
71b460210a Nathan C.
2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
            Nathan C. Myers  <ncm-nospam@cantrip.org>

	* include/std/std_fstream.h (_M_filepos): Remove.
	(_M_reading, _M_writing): New, encode the various I/O modes:
	'read', 'write' and 'uncommitted'.
	(sync): If there is something to flush, do it, then go to
	'uncommitted' mode.
	* include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
	with three different cases: __off > 0 (upon underflow),
	__off == 0 (upon overflow), __off == -1 (upon open, setbuf,
	seekoff/pos).
	(_M_underflow): Don't call overflow, set _M_reading to true
	on success, tweak.
	(pbackfail): Set _M_reading to true on pback creation, tweak.
	(overflow): Don't seek, deal with overflow in 'uncommitted' mode,
	set _M_writing to true on success, tweak.
	(seekoff): Simplify, set _M_reading, _M_writing to false, call
	_M_set_buffer(-1) ('uncommitted').
	(open, close, setbuf): Set _M_reading, _M_writing to false and
	call _M_set_buffer(-1), tweak.
	(basic_filebuf): Don't set _M_buf_unified.
	(_M_destroy_internal_buffer): Don't call setg and setp.
	* include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
	_M_writing and _M_set_buffer(-1).
	* include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
	_M_out_lim, _M_buf_unified): Remove.
	(basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
	(setp): Don't set _M_out_lim.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
	the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
	upon open the mode is 'uncommitted' and therefore the put area
	pointers are null.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.

	* include/bits/fstream.tcc (showmanyc): Use only the
	documented derivation interface to basic_streambuf (gptr(),
	setg(), etc.) to work right with user specializations.
	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
	sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
	* include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
	Likewise.
	* include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
	xsgetn): Likewise.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r68420
2003-06-24 13:48:11 +00:00
Paolo Carlini
8363b7738f 1-in.cc: Fix for systems with BUFSIZ != 8192.
2003-06-16  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
	for systems with BUFSIZ != 8192.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
	Minor tweaks.

From-SVN: r68041
2003-06-16 21:24:40 +00:00
Paolo Carlini
0bad3b7c49 1.cc: Split and fix for missing seeks between gets and puts into...
2003-06-16  Paolo Carlini  <pcarlini@unitus.it>

        * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
        fix for missing seeks between gets and puts into...
	* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
        * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
        * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
        * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.

From-SVN: r68021
2003-06-16 16:20:28 +00:00
Paolo Carlini
ed24293523 1.cc: Split and fix for missing seeks between gets and puts into...
2003-06-13  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
	fix for missing seeks between gets and puts into...
	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
	* testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
	for missing seeks between gets and puts.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
	* testsuite/data/seekoff-1.tst: New.
	* testsuite/data/seekoff-2.tst: New.
	* testsuite/data/seekpos-1.tst: New.
	* testsuite/data/seekpos-2.tst: New.

From-SVN: r67913
2003-06-13 21:06:37 +00:00
Paolo Carlini
9fa543a540 1.cc: Remove.
2003-06-10  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Remove.

From-SVN: r67730
2003-06-10 19:53:44 +00:00
Paolo Carlini
9335d80ab9 fstream.tcc (overflow): According to 27.5.2.4.5, overflow() returns not_eof(eof()).
2003-06-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (overflow): According to
	27.5.2.4.5, overflow() returns not_eof(eof()).
	* testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
	* testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.

2003-06-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_underflow): Check overflow return
	value; tweak slightly.

From-SVN: r67726
2003-06-10 19:27:12 +00:00
Paolo Carlini
f10eea7bae fstream.tcc (_M_underflow): Do not special case the unbuffered case...
2003-06-09  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_underflow): Do not special
	case the unbuffered case, which really means simply a one char
	get area.
	(basic_filebuf): Initialize _M_buf_size.
	(setbuf): Unbuffered means _M_buf_size == 1, since only
	_M_buf_size - 1 == 0 chars are going to be used for the
	put area and 1 for the get area.
	* include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
	(~basic_streambuf): Tweak.
	(basic_streambuf): Do not initialize _M_buf_size.
	* include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
	(~basic_filebuf): Tweak.
	(_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
	unbuffered situation (i.e., put area pointers NULL).
	* include/bits/streambuf.tcc (sbumpc): Clean up.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.

From-SVN: r67686
2003-06-10 00:05:49 +00:00
Benjamin Kosnik
46c4e5d6e9 re PR libstdc++/9024 (Input fails after call to basic_filebuf<>::pubsetbuf(0, 0))
2003-06-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9024
	* include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
	* include/bits/stl_algobase.h: Tweak.
	* include/std/std_fstream.h: Move _M_buf_size to...
	* include/std/std_streambuf.h: ...here. Modify.
	* include/bits/streambuf.tcc: Same.
	* testsuite/testsuite_hooks.h: Tweak.
	* testsuite/testsuite_io.h (constraint_filebuf): New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
	* testsuite/data/sgetc.txt: New.
	* testsuite/data/sgetn.txt: New.

From-SVN: r67524
2003-06-06 00:19:17 +00:00
Paolo Carlini
1e64c2fc32 re PR libstdc++/11095 (C++ iostream manipulator causes segfault when called iwth negative argument)
2003-06-05  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11095
	* include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
	Deal with width() smaller than zero.
	* include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
	operator<<(basic_ostream&, char), operator<<(basic_ostream&,
	const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
	const char*), operator<<(basic_ostream<char, _Traits>&,
	const char*), operator<<(basic_ostream, const basic_string&)): Likewise.
	* testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
	* testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
	* testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
	* testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc:
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc:
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc:
	New.

From-SVN: r67518
2003-06-05 23:25:05 +00:00
Paolo Carlini
b166bded9e re PR libstdc++/9761 (filebuf::pbackfail discards previously put back characters)
2003-06-02  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9761
	* include/bits/fstream.tcc (pbackfail): If the pback buffer
	is already active don't try to store in it a second char.
	* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.

	* include/bits/fstream.tcc (pbackfail): Add unbuffered bits.

From-SVN: r67337
2003-06-02 16:46:28 +00:00
Paolo Carlini
f275a768ab 3.cc: Tweak line spacing.
2003-06-02  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
	line spacing.

From-SVN: r67336
2003-06-02 15:53:14 +00:00
Paolo Carlini
ccb50b8111 std_fstream.h (_M_destroy_pback): Use _M_in_beg instead of unnecessarily taking the address of _M_pback.
2003-06-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
	instead of unnecessarily taking the address of _M_pback.
	(xsgetn): Simplify slightly for a single char pback buffer.

2003-06-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/sstream.tcc (seekoff): Remove four unnecessary
	variables and two 'if', clean up.

2003-06-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/sstream.tcc (seekpos): Test against _M_out_lim
	not _M_out_end, since the former actually points to the string
	end (vs buffer end).
	* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.

From-SVN: r67334
2003-06-02 15:36:24 +00:00
Benjamin Kosnik
002bd6069c re PR libstdc++/9339 (filebuf::pubsetbuf(0, 0) doesn't turn off buffering)
2003-05-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9339
	* include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
	(_M_pback): No array necessary.
	* include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
	unbuffered case, coalesec into ...
	(basic_filebuf::overflow): ...this.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.

From-SVN: r67175
2003-05-26 14:54:42 +00:00
Paolo Carlini
d7ccc91760 std_fstream.h (_S_pback_size): Remove definition.
2003-05-22  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_S_pback_size): Remove definition.
	(_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
	pback buffer.
	* include/bits/fstream.tcc (_S_pback_size): Remove declaration.
	* testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
	of _S_pback_size for systems with no COMDAT or weak support.
	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
	* testsuite/27_io/basic_fstream/3.cc: Likewise.
	* testsuite/27_io/basic_ifstream/3.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
	* testsuite/27_io/basic_ofstream/3.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
	* testsuite/27_io/basic_streambuf/3.cc: Likewise.

From-SVN: r67102
2003-05-22 22:16:41 +00:00
Paolo Carlini
69cf7a5532 4.cc: Fix typo.
2003-05-20  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.

From-SVN: r67043
2003-05-20 23:03:28 +00:00
Paolo Carlini
80416931e3 5.cc: New file, further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
2003-05-20  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
	further testing that upon filebuf::close() 27.8.1.1,3 is enforced.

From-SVN: r67042
2003-05-20 22:43:30 +00:00
Paolo Carlini
eab1ff73c8 4.cc: New file, testing that upon filebuf::close() 27.8.1.1,3 is enforced.
2003-05-19  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
	that upon filebuf::close() 27.8.1.1,3 is enforced.

From-SVN: r66970
2003-05-19 18:12:34 +00:00
Paolo Carlini
e3033a2240 fstream.tcc (_M_overflow): Rewrote to call _M_convert_to_external only once (_M_buf_size is now the size...
2003-05-15  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/fstream.tcc (_M_overflow): Rewrote to call
	_M_convert_to_external only once (_M_buf_size is now the size of
	the put area + 1 for the overflow char of a full area); call
	_M_set_buffer instead of _M_set_indeterminate.
	(setbuf): Don't accept a buffer smaller than 2 chars.
	(_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
	instead of _M_set_determinate.
	(open): Call _M_set_buffer, instead of _M_set_indeterminate.
	(seekoff): Likewise.
	* 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):
	Likewise.
	* include/std/std_fstream.h (_M_set_indeterminate): Remove.
	(_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
	_M_buf_size - 1.
	* include/std/std_streambuf.h: Tweak _M_out_lim comment.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
	into account that, for _M_buf_size == BUFSIZ == 8192, the size of
	the put area is now BUFSIZ - 1.
	* testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
	that now the smallest _M_buf_size is 2 (still fails, for the same
	reason, with 3.2.3)

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r66848
2003-05-15 23:43:15 +00:00
Benjamin Kosnik
979c310f5e copy_neg.cc: Remove excess errors dg marker, use dg-errors instead.
2003-05-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
	excess errors dg marker, use dg-errors instead.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/20_util/auto_ptr_neg.cc: Same.

From-SVN: r66797
2003-05-14 04:30:40 +00:00
Benjamin Kosnik
0cd1de6fc9 std_fstream.h (basic_filebuf::_M_codecvt): Add cached member.
2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
	cached member.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
	Initialize _M_codecvt.
	(basic_filebuf::imbue): Same.
	(basic_filebuf::showmanyc): Use it.
	(basic_filebuf::underflow): Use it.
	(basic_filebuf::_M_convert_to_external): Use it.
	(basic_filebuf::seekoff): Use it.
	(basic_filebuf::imbue): Use it, tweaks.
	* include/bits/localefwd.h (__check_facet): New.
	* include/bits/locale_classes.h: Tweaks.
	* include/bits/locale_facets.tcc: Tweaks.
	* include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
	_M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
	_M_num_get. Change _M_check_facet to __check_facet. Tweaks.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/std/std_streambuf.h: Same.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.

From-SVN: r66781
2003-05-13 20:13:15 +00:00
Paolo Carlini
1f61755cdb 1.cc: Remove unnecessary includes and unused string literals.
2003-05-12  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
	unnecessary includes and unused string literals.
	* 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.

From-SVN: r66735
2003-05-12 21:01:39 +00:00
Benjamin Kosnik
a72a4f3d37 10096.cc: Add weak bits.
2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.

From-SVN: r66724
2003-05-12 16:10:55 +00:00
Benjamin Kosnik
51ff814940 [multiple changes]
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.

From-SVN: r66678
2003-05-11 04:20:57 +00:00
Paolo Carlini
6e39f8601a 3.cc: Remove unnecessary includes and unused string literals.
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.

From-SVN: r66663
2003-05-10 15:05:15 +00:00
Benjamin Kosnik
7968097540 cons: New.
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.

From-SVN: r66580
2003-05-07 21:27:29 +00:00
Benjamin Kosnik
2aacd7357a [multiple changes]
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.

From-SVN: r66177
2003-04-28 17:15:03 +00:00
Benjamin Kosnik
a1796d12ff re PR libstdc++/10132 (filebuf destructor throws exceptions)
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.

From-SVN: r66091
2003-04-26 00:23:18 +00:00
Paolo Carlini
06f5e63748 3.cc: _S_pback_size now belongs to basic_filebuf.
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.

From-SVN: r66018
2003-04-23 22:34:51 +00:00
Phil Edwards
6894ddcf3d howto.html ('LWG Issues'): Add issue 60, partial implementation only.
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().

From-SVN: r65983
2003-04-23 07:05:18 +00:00
Loren J. Rittle
9734801a49 9964.cc (test_07): Adjust timing.
* testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
	Adjust timing.

From-SVN: r65957
2003-04-22 21:06:56 +00:00
Benjamin Kosnik
06e7ca50ab re PR libstdc++/9555 (ostream inserters fail to set badbit on exception)
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.

From-SVN: r65770
2003-04-18 03:46:44 +00:00
Benjamin Kosnik
3d838e28dd [multiple changes]
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 run_named_locale_test.
	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.

	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
	run_test_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.

From-SVN: r65622
2003-04-15 06:36:31 +00:00
Nathan Myers
21a1d2c493 PR libstdc++/9701 (in_avail())
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.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>

From-SVN: r65603
2003-04-14 22:43:32 +00:00
David Edelsohn
4440f5b597 3983-fstream.cc: Change basic_streambuf instantiation to "unsigned char".
* 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.

From-SVN: r65526
2003-04-12 17:13:12 -04:00
Paolo Carlini
7ef9fd85ef Remove _M_buf_size_opt, use directly _M_buf_size instead.
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.

From-SVN: r65518
2003-04-12 19:21:35 +00:00
Paolo Carlini
2bc67e0663 re PR libstdc++/9533 (Can't read from tty with ifstream)
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.

From-SVN: r65507
2003-04-12 13:56:37 +00:00