Commit Graph

348 Commits

Author SHA1 Message Date
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
Benjamin Kosnik
8d3f856e31 3.cc: Split.
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.

From-SVN: r65475
2003-04-11 19:01:29 +00:00
Benjamin Kosnik
d67b7799de 3983-fstream.cc: Add instantiation for AIX.
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.

From-SVN: r65468
2003-04-11 17:25:20 +00:00
Benjamin Kosnik
23cac88566 Reshuffle 27_io testsuite.
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.

From-SVN: r65421
2003-04-10 07:15:40 +00:00
Paolo Carlini
f7e70401d4 re PR libstdc++/10097 (filebuf::underflow drops characters.)
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.

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

From-SVN: r64509
2003-03-17 23:50:40 +00:00
Benjamin Kosnik
0c45b8e073 [multiple changes]
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.

From-SVN: r64498
2003-03-17 18:44:44 +00:00
Benjamin Kosnik
ac1613a2c2 [multiple changes]
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.

From-SVN: r64391
2003-03-15 04:53:52 +00:00
Paolo Carlini
95dca20c9c re PR libstdc++/7744 (streambuf::in_avail() always returns 0 (zero) for cin input stream)
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.

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

From-SVN: r64051
2003-03-09 22:31:45 +00:00
Paolo Carlini
3006d72869 re PR libstdc++/9988 (filebuf::overflow writes EOF to file)
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.

From-SVN: r64045
2003-03-09 21:35:09 +00:00
Jerry Quinn
6f62fbd81a re PR libstdc++/9561 (ostream inserters rethrow exception of wrong type)
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.

From-SVN: r64021
2003-03-09 04:19:52 +00:00
Loren J. Rittle
85c39c6df1 c_locale.cc (locale::facet::_S_create_c_locale): Throw runtime exception when unsupported language is specified.
* 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.

From-SVN: r63975
2003-03-08 08:55:54 +00:00
Paolo Carlini
feecf61403 re PR libstdc++/9424 (i/ostream::operator>>/<<(streambuf*) drops characters)
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.

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

From-SVN: r63974
2003-03-08 08:16:06 +00:00
Paolo Carlini
1deba98bd2 re PR libstdc++/9182 (basic_filebuf<> does not report errors in codecvt<>::out)
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.

From-SVN: r63953
2003-03-07 22:06:28 +00:00
Jerry Quinn
53279c104f streambuf_iterator.h (_M_put): Set _M_failed if sputn fails.
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.

From-SVN: r63944
2003-03-07 14:14:11 +00:00
Jerry Quinn
a9aa7083ed ios_base_storage.cc (test02): Set exception mask.
2003-03-06  Jerry Quinn  <jlquinn@optonline.net>

	* testsuite/27_io/ios_base_storage.cc (test02): Set exception
	mask.  Test setting small-numbered pword and iword slots.  Test
	behavior at limit of numeric_limits::max.  Check that values are
	still good after failures.

From-SVN: r63908
2003-03-06 22:37:01 +00:00
Jerry Quinn
53ec7ec1f1 ios.cc (ios_base::_M_init): Remove _M_word_size.
2003-03-06  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (ios_base::_M_init): Remove _M_word_size.
	(ios_base::ios_base): Set _M_word, _M_word_size.
	(ios_base::~ios_base): Remove redundant test.
	* testsuite/27_io/ios_base_storage.cc (test03): New.

From-SVN: r63896
2003-03-06 18:10:26 +00:00
Paolo Carlini
57df94c8f6 re PR libstdc++/9825 (filebuf::sputbackc breaks sbumpc)
2003-02-24  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9825
	* src/fstream.cc
	(basic_filebuf<char/wchar_t>::_M_underflow_common): When
	__bump is true (uflow), always increment the read pointer
	(_M_in_cur) before returning successfully.
	* testsuite/27_io/filebuf_virtuals.cc (test12): Add.

From-SVN: r63378
2003-02-24 20:39:31 +00:00
Paolo Carlini
391cd0955e PR libstdc++/9404, PR libstdc++/9701 (partial)
2003-02-24  Paolo Carlini <pcarlini@unitus.it>
	    Nathan Myers <ncm@cantrip.org>

	PR libstdc++/9404, PR libstdc++/9701 (partial)
	(aka pptr == epptr implies overflow)
	* include/bits/fstream.tcc (_M_allocate_internal_buffer):
	Consistently, _M_out_end points to the end of the buffer just
	created.
	(overflow): Tweak to use _M_out_buf_size().
	(_M_convert_to_external): The role of the old _M_out_end is
	now played by _M_out_lim.
	(_M_really_overflow): Likewise.
	(seekoff): Likewise.
	(setbuf): _M_out_end points to the end of the external buffer.
	* include/bits/sstream.tcc (overflow): Rewrote, taking into
	account the resolution of DR 169 (TC).
	(seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
	(seekpos): Use _M_string.capacity(); tweak.
	* include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
	* include/std/std_fstream.h (sync): The role of the old
	_M_out_end is now played by _M_out_lim.
	(_M_set_indeterminate): Use _M_set_determinate.
	(_M_set_determinate): _M_out_end is now _M_out_lim.
	(_M_is_indeterminate): Likewise.
	* include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
	(_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
	which have the information readily available as _M_string.capacity();
	for ate and app modes, pass the string size to _M_really_sync.
	(_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
	point to the end of the buffer (i.e., epptr) and to the string end,
	respectively.
	* include/std/std_streambuf.h: tweak comments, add _M_out_lim,
	which points to the right limit of the used put area.
	(_M_out_cur_move): The role of the old _M_out_end is now played
	by _M_out_lim.
	(_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
	_M_out_end  - _M_out_cur (i.e., pptr), _very_ close to the letter
	of the standard.
	(basic_streambuf()): Initialize _M_out_lim too.
	* testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
	* testsuite/27_io/filebuf_virtuals.cc (test11): Add.
 	* testsuite/27_io/stringbuf_virtuals.cc (test09): Add.

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

From-SVN: r63367
2003-02-24 18:22:58 +00:00
Benjamin Kosnik
2e812a0a41 ios_base_storage.cc (main): Call set_memory_limits.
2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base_storage.cc (main): Call
	set_memory_limits.

From-SVN: r63366
2003-02-24 18:14:20 +00:00
Paolo Carlini
de59bd27dc std_sstream.h (str()): the size of the current string may be different from the initial one whenever...
2003-02-18  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_sstream.h (str()): the size of the
	current string may be different from the initial one
	whenever _M_out_end > _M_out_beg.
	* testsuite/27_io/stringbuf_members.cc (test07): Add.

From-SVN: r63066
2003-02-18 23:26:32 +00:00
Benjamin Kosnik
6067bea410 [multiple changes]
2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
	* testsuite/27_io/ios_members.cc (test03): New.

2003-02-17  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
	(basic_ios::_M_cache_facets): Move into above.
	* include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
	cache.
	(basic_ios::imbue): Force locale cache to be built.
	(basic_ios::_M_init): Create and initialize locale cache.
	* include/bits/ios_base.h (__locale_cache_base): Declare.
	(ios_base::_M_locale_cache): New.
	(ios_base::_M_cache): Define.
	* include/bits/locale_facets.h:	(__num_base): Fix comment.  Add
	_S_end.
        (__locale_cache_base,__locale_cache<_CharT>):  New classes.
	(__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
	cache literal string, grouping flag, thousands separator.
	(__locale_cache<_CharT>::__locale_cache): New.
	(__locale_cache<_CharT>::_M_init): New.
	(__locale_cache<_CharT>::_M_populate): New.
	* src/ios.cc: Clear _M_locale_cache in constructor.
	* src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
	New.

From-SVN: r63025
2003-02-18 05:45:07 +00:00
Paolo Carlini
130cd3e1df re PR libstdc++/9169 (filebuf output fails if codecvt<>::out returns noconv)
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9169
	* include/bits/fstream.tcc (_M_convert_to_external):
	Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
	* testsuite/27_io/filebuf_virtuals.cc (test10): Add.

From-SVN: r63004
2003-02-17 19:05:01 +00:00
Paolo Carlini
ff5d863fc2 re PR libstdc++/9563 (ostream::sentry returns true after a failed preparation)
2003-02-12  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9563
	* include/bits/ostream.tcc (sentry::sentry): Check
	the state of the stream after the preparation.
	* testsuite/27_io/ostream_sentry.cc (test02): Add.

From-SVN: r62779
2003-02-12 19:39:19 +00:00
Paolo Carlini
da61d02231 re PR libstdc++/9318 (i/ostream::operator>>/<<(streambuf*) broken)
2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9318
	* include/bits/streambuf.tcc (__copy_streambufs):
	Don't conditionalize the copy to __testput.
	* testsuite/27_io/streambuf_members.cc (test09, test10): Add.

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

From-SVN: r62689
2003-02-11 09:59:19 +00:00
Paolo Carlini
ccef8307ff filebuf_virtuals.cc (test08): Fix for unsigned char platforms.
2003-02-07  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
	unsigned char platforms.

From-SVN: r62519
2003-02-07 11:00:35 +00:00
Paolo Carlini
afb6c265b7 re PR libstdc++/9562 (ostream::sentry::operator bool () should be const)
2003-02-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9562
	* include/std/std_istream.h
	(basic_istream::sentry::operator bool()): Make const.
	* include/std/std_ostream.h
	(basic_ostream::sentry::operator bool()): Likewise.
	* testsuite/27_io/istream_sentry.cc (test03): Add.
	* testsuite/27_io/ostream_sentry.cc: Add.

From-SVN: r62508
2003-02-07 00:26:44 +00:00
Paolo Carlini
52b62c0e1a PR libstdc++/9439, PR libstdc++/9425
2003-02-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9439, PR libstdc++/9425
	* config/io/basic_file_stdio.cc
	(__basic_file<char>::seekoff, seekpos): Return -1L if
	fseek fails.
	* include/bits/fstream.tcc (basic_filebuf::seekoff):
	Check _M_file.seekoff return value; always return
	pos_type(off_type(-1)) in case of failure.
	(basic_filebuf::pbackfail): Check this->seekoff return
	value and return traits_type::eof() in case of failure.
	* testsuite/27_io/filebuf_virtuals.cc (test09): Add.

From-SVN: r62408
2003-02-04 22:42:32 +00:00
Paolo Carlini
7cd3907b57 [multiple changes]
2003-02-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9538
	* include/bits/streambuf.tcc (sputbackc): Access
	this->gptr()[-1] only if _M_in_beg < _M_in_cur.
	* testsuite/27_io/filebuf_virtuals.cc (test08): Add.

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

	PR libstdc++/9507
	* include/bits/fstream.tcc (open): If the 'ate' repositioning
	operation fails, calls close _and_ returns a null pointer
	to indicate failure (27.8.1.3,4).
	* testsuite/27_io/filebuf_members.cc (test_06): Add.

2003-02-04  Petur Runolfsson  <peturr02@ru.is>

	* testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).

From-SVN: r62388
2003-02-04 18:08:45 +00:00
Petur Runolfsson
1ceb90cfa1 re PR libstdc++/9322 (return value of basic_streambuf<>::getloc affected by locale::global)
2003-01-23  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9322
	* include/std/std_streambuf.h
	(basic_streambuf::basic_streambuf,
	basic_streambuf::~basic_streambuf,
	basic_streambuf::getloc, basic_streambuf::imbue):
	Remove _M_buf_locale_init use.
	* include/bits/fstream.tcc (basic_filebuf::imbue):  Likewise
	* testsuite/27_io/filebuf_virtuals.cc (test08):  Add.
	* testsuite/27_io/streambuf_members.cc (test08):  Add.
	* testsuite/27_io/stringbuf_virtuals.cc (test08):  Add.

From-SVN: r61678
2003-01-23 22:53:35 +00:00
Benjamin Kosnik
8d59b23018 Renames, namespaces for testsuite utilities.
2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	Renames, namespaces for testsuite utilities.
	* testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
	(gnu_allocator_tracker): Rename to allocation_tracker.
	(gnu_new_allocator): Rename to tracker_alloc.
	(__set_testsuite_memlimit): Rename to set_memory_limits.
	(gnu_assignment_operator): Rename to assignment_operator.
	(gnu_destructor): Rename to destructor.
	(gnu_copy_tracker): Rename to copy_tracker.
	(gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
	(run_tests_wrapped_locale): New.
	(run_tests_wrapped_env): New.
	* testsuite/testsuite_hooks.cc: Same.
	(class locale_data): Add.
	(class enviornment_variable): Add.
	(class not_found): Add.
	* testsuite/testsuite_allocator.h: Same.
	* testsuite/testsuite_allocator.cc: Same.
	* testsuite/23_containers/deque_ctor.cc
	(test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
	allocation_tracker.
	Change gnu_new_allocator to tracker_alloc.
	Change gnu_counting_struct to counter.
	Change gnu_copy_tracker to copy_tracker.
	Change gnu_copy_constructor to copy_constructor.
	Change gnu_assignment_operator to assignment_operator.
	Inject.
	* testsuite/23_containers/vector_capacity.cc: Same.
	* testsuite/23_containers/vector_ctor.cc (test01): Same.
	* testsuite/23_containers/list_modifiers.cc: Change
	gnu_copy_tracker to copy_tracker.
	* testsuite/21_strings/ctor_copy_dtor.cc (main): Change
	__set_testsuite_memlimit to set_memory_limits.
	* testsuite/21_strings/insert.cc (main): Same.
	* testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/streambuf.cc: Same.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/istream.cc: Same.
	* testsuite/27_io/fstream.cc: Same.
	* testsuite/lib/libstdc++-v3-dg.exp
	(libstdc++-v3-list-sourcefiles): Additionally handle files two and
	three levels deeper in glob patterns.

From-SVN: r61261
2003-01-14 04:56:56 +00:00
Paolo Carlini
87117aa2f3 re PR libstdc++/9151 (std::setprecision limited to 16 digits when outputting a double to a stream)
2003-01-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9151
	* include/bits/locale_facets.cc (num_put::_M_convert_float):
	Limit __prec to digits10 + 2, not digits10 + 1, taking into
	account the possibility of %{g,G} conversion specifiers
	inside _S_format_float.
	* testsuite/27_io/ostream_inserter_arith.cc (test06): Add.

From-SVN: r60939
2003-01-06 15:32:16 +00:00
Kaveh R. Ghazi
8de6a6df28 libstdc++-v3-dg.exp (libstdc++-v3-init, [...]): Additionally handle files one level deeper in glob patterns.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
	libstdc++-v3-list-sourcefiles): Additionally handle files one
	level deeper in glob patterns.

	* testsuite/27_io/istream_extractor_arith.cc: Delete, split...
	* testsuite/27_io/istream_extractor_arith/01.cc,
	testsuite/27_io/istream_extractor_arith/02.cc,
	testsuite/27_io/istream_extractor_arith/03.cc,
	testsuite/27_io/istream_extractor_arith/06.cc,
	testsuite/27_io/istream_extractor_arith/07.cc,
	testsuite/27_io/istream_extractor_arith/08.cc,
	testsuite/27_io/istream_extractor_arith/09.cc,
	testsuite/27_io/istream_extractor_arith/10.cc,
	testsuite/27_io/istream_extractor_arith/11.cc,
	testsuite/27_io/istream_extractor_arith/12.cc,
	testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
	* testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
	sparc*-*-solaris2*.

From-SVN: r60934
2003-01-06 14:16:00 +00:00
Kaveh R. Ghazi
58c3ef5c9e vector_capacity.cc (test03): Move ...
* testsuite/23_containers/vector_capacity.cc (test03): Move ...
	* testsuite/23_containers/vector_resize.cc: ...here as a new file.
	Pass in -lmalloc for irix6.
	* testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.

From-SVN: r60276
2002-12-19 01:54:59 +00:00
Jonathan Lennox
5bdb1440a1 streambuf.tcc (__copy_streambufs): verify __sbin->gptr() + __bufsize < __sbin->egptr() before using.
2002-11-18  Jonathan Lennox  <lennox@cs.columbia.edu>

	* include/bits/streambuf.tcc (__copy_streambufs): verify
	__sbin->gptr() + __bufsize < __sbin->egptr() before using.
	* testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
	(test05): Use test_buffer_4.  Delete unused ostringstream
	variables.

From-SVN: r59234
2002-11-18 22:42:35 +00:00
Benjamin Kosnik
6eeb7d7ae0 re PR libstdc++/6746 (ifstream::readsome() always returns zero)
2002-11-11  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/6746
        * include/bits/fstream.tcc (filebuf::open): Set input pointers.
	* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
	__p_mode as well.
	(__basic_file::open): Set to non-block for input.
	* testsuite/27_io/istream_unformatted.cc (test12): Add.
	(test13): Same.

From-SVN: r59030
2002-11-11 23:18:05 +00:00
Benjamin Kosnik
112615e7d3 re PR libstdc++/8258 (basic_istream::readsome() with default buffer change stream state to ios_base::eofbit)
2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8258
	* include/bits/istream.tcc (istream::readsome): Don't set eofbit
	for null buffer.
	(istream::operator>>(_CharT*)): Use traits_type.
	(istream::ws): Same.
	(istream::operator>>(string)): Same.
	* testsuite/27_io/istream_unformatted.cc (test11): Add.

From-SVN: r58840
2002-11-05 23:46:22 +00:00
Paolo Carlini
81646a3157 re PR libstdc++/8466 (basic_stringbuf::str(basic_string const&) modifies its argument)
2002-11-05  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8466
	* include/std/std_sstream.h
	(basic_stringbuf::str(const __string_type&)):
	Cannot use simple assignment since the COW-nature of v3
	basic_string is not taken into account in basic_stringbuf.
	* testsuite/27_io/stringstream_members.cc: Add test04 from PR.

From-SVN: r58838
2002-11-05 23:28:15 +00:00
Benjamin Kosnik
04c7481ed2 re PR libstdc++/8348 (fail() flag is set in istringstream when eof() flag is set !)
2002-10-31  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8348
	* include/bits/istream.tcc (istream::tellg): Remove sentry bits.
	(istream::seekg): Same.
	* testsuite/27_io/istream_seeks.cc (test06): New.

From-SVN: r58703
2002-11-01 05:38:27 +00:00
Jonathan Lennox
3279e88a45 PR libstdc++/8071, libstdc++/8127, c++/6745
2002-10-08  Jonathan Lennox  <lennox@cs.columbia.edu>

	PR libstdc++/8071, libstdc++/8127, c++/6745
	* streambuf.tcc (__copy_streambufs): Handle cases where
	__sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
	* testsuite/27_io/ostream_inserter_other.cc (test05): Add.

From-SVN: r57970
2002-10-09 06:32:11 +00:00
Danny Smith
f45f9aedfc istream.tcc (basic_istream::ignore): Use sbumpc, not snextc.
2002-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
            Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
	not snextc.
	* testsuite/27_io/narrow_stream_objects.cc (test10): Add.

From-SVN: r56154
2002-08-09 06:00:46 +00:00
Danny Smith
a2554733cc istream.tcc (basic_istream::ignore): Use sbumpc, not snextc.
2002-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
            Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
	not snextc.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r56153
2002-08-09 06:00:18 +00:00
Benjamin Kosnik
f13a69eccf char_traits.h: Remove generic definitions.
2002-07-30  Benjamin Kosnik  <bkoz@redhat.com>
            Gabriel Dos Reis  <gdr@nerim.net>

	* include/bits/char_traits.h: Remove generic definitions.
	* include/bits/streambuf_iterator.h (istreambuf_iterator): Use
	eof, not -2.
	* include/bits/istream.tcc (istream::readsome): Don't check
	against eof, instead use constants.
	(istream::sync): Same.
	(istream::sentry::sentry): Use eq_int_type.
	(istream::get): Same.
	* include/bits/ostream.tcc: Change __pad to
	__pad<_CharT, _Traits>::_S_pad.
	* include/bits/locale_facets.h: Add __pad_traits generic and
	ostreambuf_iterator specialization.
	* include/bits/locale_facets.tcc: Change __pad into struct __pad
	with a _CharT and _Traits template parameter and _S_pad static
	member function.
	* src/locale-inst.cc: Update __pad instantiations.

	* include/std/std_fstream.h: Declare _M_underflow_common
	specializations.
	* src/fstream.cc: New. Add _M_underflow_common specializations.
	* include/bits/fstream.tcc (filebuf::close): Use traits_type.
	(filebuf::_M_underflow_common(bool)): Remove generic version, as
	sys_ungetc and custom int_types don't get along.
	* include/std/std_streambuf.h: Add _M_pos.
	* src/Makefile.am (sources): Add fstream.cc.
	* src/Makefile.in: Regenerate.

	* testsuite/21_strings/capacity.cc: Add char_traits specializations.
	* testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
	* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
	* testsuite/22_locale/ctor_copy_dtor.cc: Same.
	* testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
	* testsuite/27_io/filebuf.cc: ...here.
	* testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
	specialization for both.
	* testsuite/27_io/streambuf.cc: Add instantiation test,
	testsuite_hooks include.
	* testsuite/27_io/istream.cc: Same.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/fstream.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.

Co-Authored-By: Gabriel Dos Reis <gdr@nerim.net>

From-SVN: r55893
2002-07-31 02:47:36 +00:00
Benjamin Kosnik
bcc6a03a0a re PR libstdc++/7216 (basic_iostream::traits_type is ambiguous issue)
2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7216
	* include/std/std_istream.h (basic_iostream): Add typedefs for
	char_type, int_type, pos_type, off_type, and traits_type.
	* testsuite/27_io/iostream.cc (test01): Add typedef tests.
	* testsuite/27_io/istream.cc: Same.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/stringbuf.cc: Replace content, move to...
	* testsuite/27_io/stringbuf_members.cc: ...here.
	* testsuite/27_io/streambuf.cc: Replace content, move to...
	* testsuite/27_io/streambuf_members.cc: ...here.
	* testsuite/27_io/stringstream.cc: Replace content, move to...
	* testsuite/27_io/stringstream_members.cc: ...here.
	* testsuite/27_io/ios.cc: New file.
	* testsuite/27_io/fstream.cc: New file.
	* testsuite/27_io/ifstream.cc: New file.
	* testsuite/27_io/ofstream.cc: New file.
	* testsuite/27_io/istringstream.cc: New file.
	* testsuite/27_io/ostringstream.cc: New file.

From-SVN: r55767
2002-07-26 01:49:36 +00:00
Benjamin Kosnik
325fceb395 re PR libstdc++/7220 (g++ 3.1: basic_istream::ignore(0,delimiter) issue.)
2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7220
	* include/bits/istream.tcc (istream::ignore): Don't extract on
	zero.
	* testsuite/27_io/istream_unformatted.cc (test10): Add.

From-SVN: r55763
2002-07-25 23:20:49 +00:00
Benjamin Kosnik
ef6838b11c ios_base_type.cc: Move to...
2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base_type.cc: Move to...
	* testsuite/27_io/ios_base_types.cc: ...here.

From-SVN: r55743
2002-07-25 07:19:40 +00:00
Benjamin Kosnik
922045978d re PR libstdc++/7219 (_GLIBCPP_DEPRECATED on (ios_base::streamoff and ios_base::streampos types))
2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7219
	* testsuite/27_io/ios_base_type.cc: New.
	* include/bits/ios_base.h (ios_base::streampos): Add.
	(ios_base::streamoff): Add.

From-SVN: r55726
2002-07-24 23:17:13 +00:00
Benjamin Kosnik
8081da07e5 c_compatibility: New.
2002-06-21  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_compatibility: New.
	* include/c_compatibility/assert.h: New.
	* include/c_compatibility/ctype.h: New.
	* include/c_compatibility/errno.h: New.
	* include/c_compatibility/float.h: New.
	* include/c_compatibility/iso646.h: New.
	* include/c_compatibility/limits.h: New.
	* include/c_compatibility/locale.h: New.
	* include/c_compatibility/math.h: New.
	* include/c_compatibility/setjmp.h: New.
	* include/c_compatibility/signal.h: New.
	* include/c_compatibility/stdarg.h: New.
	* include/c_compatibility/stddef.h: New.
	* include/c_compatibility/stdio.h: New.
	* include/c_compatibility/stdlib.h: New.
	* include/c_compatibility/string.h: New.
	* include/c_compatibility/time.h: New.
	* include/c_compatibility/wchar.h: New.
	* include/c_compatibility/wctype.h: New.

	* include/c/std_cerrno.h: Get out of the way... define errno.
	* include/c/std_cmath.h: Add abs, modf overloads.
	Undefine C99 isms. Still not sure how to deal with this sanely.
	* include/c/std_csetjmp.h: Tweak.
	* include/c/std_cwchar.h: Include cstddef for size_t.

	* include/c_std/std_cmath.h: Remove extra function.

	Pendantic std usage in testsuites.
	* testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t
	with std.
	* testsuite/17_intro/header_cwchar.cc: Tweak.
	* testsuite/22_locale/codecvt_members_char_char.cc (test03): Use
	std::setlocale.
	* testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same.
	* testsuite/22_locale/ctype_to_char.cc (test05): Same.
	* testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same.
	* testsuite/22_locale/ctype_is_char.cc (test05): Same.
	* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same.
	* testsuite/22_locale/time_get_members_char.cc (test08): Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same.
	* testsuite/22_locale/time_put_members_char.cc (test04): Same.
	* testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same.
	* testsuite/22_locale/num_put_members_char.cc (test04): Same.
	* testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same.
	* testsuite/22_locale/numpunct_members_char.cc (test03): Same.
	* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/num_get_members_char.cc: Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same.
	* testsuite/22_locale/money_put_members_char.cc (test07): Same.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same.
	* testsuite/22_locale/moneypunct_members_char.cc (test03): Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same.
	* testsuite/22_locale/money_get_members_char.cc (test08): Same.
	* testsuite/22_locale/messages_members_char.cc (test03): Same.
	* testsuite/22_locale/collate_members_wchar_t.cc (test04): Same.
	* testsuite/22_locale/collate_members_char.cc (test04): Same.
	* testsuite/26_numerics/fabs_inline.cc: Use std::printf.
	* testsuite/27_io/istream_seeks.cc (test02): Qualify abort.
	* testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol.

From-SVN: r54891
2002-06-21 20:21:03 +00:00
Benjamin Kosnik
52f02d949e re PR libstdc++/6750 (ofstream incorrectly sets failbit (severe regression))
2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6750
	* include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
	for empty string literal.
	(ostream::operator<<(const _CharT*)): Same.
	(ostream<char>::operator<<(const char*)): Same.
	(ostream<char>::operator<<(streambuf*)): Same.
	* testsuite/27_io/ostream_inserter_char.cc (test08): Add tests.
	* testsuite/27_io/ostream_inserter_other.cc (test02): Modify.

From-SVN: r53839
2002-05-24 15:50:51 +00:00
Benjamin Kosnik
7bd9b6d491 re PR libstdc++/6518 (???)
2002-05-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6518
	* include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
	for null case.
	(ostream::operator<<(const _CharT*)): Same.
	(ostream<char>::operator<<(const char*)): Same.
	* testsuite/27_io/ostream_inserter_char.cc (test07): Add test.

From-SVN: r53489
2002-05-15 14:38:30 +00:00
Paolo Carlini
bf6f276b01 re PR libstdc++/6648 (Problems with cin.getline (interactive))
2002-05-15  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/6648
	* include/bits/istream.tcc (istream::getline, ignore):
	Upon __idelim (__delim) call sbumpc() not snextc().
	* testsuite/27_io/narrow_stream_objects.cc:
	Add test08 and test09.

From-SVN: r53481
2002-05-15 10:27:29 +00:00
Benjamin Kosnik
540f5c9b2d 2002-05-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/fstream.tcc
	(basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
	try/catch blocks.
	* src/localename.cc (locale::_Impl::_M_install_facet): Same.

	* docs/html/install.html: Tweak, add bits about required locales
	for the 22_locale tests when using the gnu model.

	* testsuite/27_io/istream_sentry.cc: Tweak.

From-SVN: r53423
2002-05-13 13:58:00 +00:00
Benjamin Kosnik
2fd819efe5 re PR libstdc++/6549 (std::getline(std::cin,s) work wrong at FreeBSD 4.5)
2002-05-03  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6549.
	* include/bits/fstream.tcc (filebuf::_M_underflow_common): Revert.
	* testsuite/27_io/narrow_stream_objects.cc (test07): Add.

From-SVN: r53107
2002-05-03 18:22:58 +00:00
Benjamin Kosnik
5cdd50a591 stdio_filebuf.h: New file.
2002-04-30  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stdio_filebuf.h: New file.
	* include/ext/enc_filebuf.h: New file.
	* config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
	* config/io/basic_file_stdio.cc: Same.
	* include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
	Remove _M_unbuf hacks.
	(filebuf::_M_destroy_internal_buffer): Same.
	(filebuf::filebuf(cfile, openmode, int_type): Remove definition.
	(filebuf::fd): Remove.
	* include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
	(filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
	(filebuf::fd): Remove.
	* src/ios.cc (ios_base::_S_ios_create): Change to use specialized
	filebufs.
	(ios_base::_S_ios_destroy): Same.
	* src/misc-inst.cc (file_filebuf<char>): Add instantiation.
	* include/Makefile.am (ext_headers): Add ext_filebuf.h,
	stdio_filebuf.h.  * include/Makefile.in: Regenerate.

From-SVN: r52961
2002-04-30 19:04:43 +00:00
Benjamin Kosnik
d02475fdae re PR libstdc++/5280 (Problems with named locales and iostreams (gnulocale))
2002-04-28  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/5280
        * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int.
        (__basic_file::sys_ungetc): Take int.
        * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same.
        * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
        Use sys_getc for unbuffered input.
        * testsuite/27_io/narrow_stream_objects.cc (test06): New.

        * src/ios.cc (_M_grow_words): Adjust error checking.
        * testsuite/27_io/ios_base_storage.cc: Same.

From-SVN: r52879
2002-04-29 07:00:50 +00:00
Loren J. Rittle
9385d9cb0d std_fstream.h (basic_filebuf::sync): Hoist unconditional flush on lower-layer handle to here...
* include/std/std_fstream.h (basic_filebuf::sync): Hoist
	unconditional flush on lower-layer handle to here...
	* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow):
	...from here.  Optimize remaining _M_file.sync() call pattern.
	* testsuite/27_io/narrow_stream_objects.cc (test04): New test.
	(test05): Likewise.

From-SVN: r52699
2002-04-24 00:33:28 +00:00
Jason Merrill
736020b4a7 fstream.tcc (basic_filebuf::seekoff): Fix for output-only filebufs.
* include/bits/fstream.tcc (basic_filebuf::seekoff): Fix for
        output-only filebufs.
        * include/std/std_fstream.h (basic_filebuf::_M_set_indeterminate):
        Likewise.
        (basic_filebuf::_M_set_determinate): Likewise.

From-SVN: r52685
2002-04-23 17:56:10 -04:00
Jason Merrill
74c263af80 re PR libstdc++/6414 (g++ 3.1 tellg() regression within last week)
PR libstdc++/6414
        * include/bits/fstream.tcc (basic_filebuf::seekoff): Adjust return
        value properly in the trivial case.
        * testsuite/27_io/istream_seeks.cc (test04): Make sure that
        tellg() returns the right value after a read.

From-SVN: r52679
2002-04-23 17:01:22 -04:00
Jason Merrill
5066927d9e re PR libstdc++/4150 (catastrophic performance decrease in C++ code)
PR libstdc++/4150
        * include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate):
        Move to filebuf.
        (basic_streambuf::_M_set_determinate): Likewise.
        (basic_streambuf::_M_is_indeterminate): Likewise.
        * include/bits/std_fstream.h (basic_filebuf::_M_filepos): New
        non-static data member.
        (basic_filebuf::_M_underflow_common): New non-static member function.
        (basic_filebuf::_M_underflow, _M_uflow): Call it.
        (basic_filebuf::sync): Avoid useless seeking.
        (basic_filebuf::_M_set_indeterminate): Move here from streambuf.
        Set _M_filepos.
        (basic_filebuf::_M_set_determinate): Likewise.
        (basic_filebuf::_M_is_indeterminate): Likewise.
        * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow): Seek
        back to _M_out_beg if necessary.
        (basic_filebuf::seekoff): Likewise.
        (basic_filebuf::_M_underflow_common): Generalization of old
        underflow().  Don't seek back to _M_in_beg.
        * src/ios.cc: Lose _GLIBCPP_AVOID_FSEEK stuff.
        * config/os/solaris/solaris2.?/bits/os_defines.h: Likewise.
        * config/os/bsd/freebsd/bits/os_defines.h: Likewise.
        * config/os/mingw32/bits/os_defines.h: Likewise.
        * testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify
        ungetc test.

From-SVN: r52634
2002-04-22 16:28:05 -04:00
Benjamin Kosnik
b2e4f4fda7 istream.tcc (istream::read): Fix.
2002-04-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/istream.tcc (istream::read): Fix.
	* testsuite/27_io/istream_unformatted.cc (main): Add.

From-SVN: r52628
2002-04-22 19:10:02 +00:00
Benjamin Kosnik
9a4b4cfc1a re PR libstdc++/6360 (Wrong workaround in char_traits.h - ignore stops on \0xff)
2002-04-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6360
	* include/bits/istream.tcc (istream::ignore): Streamline, use
	delimiter as is.
	* include/bits/streambuf.tcc: Use this->gptr.
	* testsuite/27_io/istream_unformatted.cc (test08): Add test.

From-SVN: r52563
2002-04-21 04:15:29 +00:00
Benjamin Kosnik
36ce7daa04 localefwd.h (locale:🆔:_M_id): Do this correctly, as type safety is important, especially on solaris.
2002-04-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h (locale:🆔:_M_id): Do this correctly,
	as type safety is important, especially on solaris.
	* include/bits/istream.tcc (istream::read): Clean.
	(istream::readsome): Same.
	* locale.cc: Wrap lines.

	* testsuite/21_strings/inserters_extractors.cc: Tweaks.
	* testsuite/27_io/instantiations.cc (test): Add bool variable...
	* testsuite/21_strings/capacity.cc: Clean.

From-SVN: r52501
2002-04-18 23:47:50 +00:00
Benjamin Kosnik
cf76d875db filebuf_virtuals.cc: Add _S_pback_size instantiation.
2002-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation.

From-SVN: r52436
2002-04-17 17:35:00 +00:00
Benjamin Kosnik
d3a193e36c re PR libstdc++/4164 (33 Memory Leak when using iostream)
2002-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/4164
	Valgrind fixes.
	* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
	Call close.
	(__basic_file::close): Call fflush. Correct return if fclose ok.
	(__basic_file::is_open): Make const.
	Change __c_file_type to __c_file.
	* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
	(__basic_file::is_open): Make const.
	* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
	* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
	(filebuf::_M_unbuf): Add.
	(filebuf::_M_file): Change to non-pointer.
	(filebuf::_M_allocate_pback_buffer): Remove.
	* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
	(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
	Change initialization list for _M_file change.
	(filebuf::_M_allocate_pback_buffer): Remove.
	Change _M_file usage to reflect non-pointer data member.

	* config/locale/generic/c_locale.cc
	(locale::facet::_S_create_c_locale): Add parameter.
	* config/locale/generic/collate_members.cc: Change
	_M_compare_helper to _M_compare.
	Change _M_transform_helper to _M_transform.
	* config/locale/generic/monetary_members.cc: Changeup data types.
	Add dtors.
	* config/locale/generic/numeric_members.cc: Add dtors.
	* config/locale/generic/time_members.cc: Add dtors.
	* config/locale/gnu/c_locale.cc: Add parameter.
	* config/locale/gnu/collate_members.cc:Change
	_M_compare_helper to _M_compare.
	Change _M_transform_helper to _M_transform.
	* config/locale/gnu/ctype_members.cc: Better error checking.
	* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
	* config/locale/gnu/messages_members.cc: Tweak comment.
	* config/locale/gnu/monetary_members.cc: Change data types.
	Add dtors.
	* config/locale/gnu/numeric_members.cc: Add dtors, better error
	checking.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc
	(locale::facet::_S_create_c_locale): Add parameter.
	* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
	bogus ctor.

	* include/bits/locale_facets.h (moneypunct): Use string literals.
	Don't define dtor.
	(numpunct): Same.
	(__timepunct): Same.
	(locale::_Impl::_M_facets): Change from vector to array.
	(locale::_Impl::_M_names): Change from array of strings to array
	of string literals.
	(locale::facet::_S_create_c_locale): Add parameter.
	(locale::locale::_S_num_facets): Move to...
	(locale::_Impl::_M_facets_size): Here.
	* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
	changes.
	* include/bits/localefwd.h: (locale:🆔:_M_id): Add member function.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
	(locale::_Impl::_Impl(string, size_t)): Change to
	(locale::_Impl::_Impl(const char*, size_t)): This.

	* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
	* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
	(streambuf::_S_pback_size): This.

	* src/globals.cc: Add pre-allocations for "C" facets.
	* src/locale-inst.cc: Remove vector instantiations.
	* src/locale.cc: Remove vector include. Fixups for _M_names,
	_M_facets changes.
	* src/localename.cc: Same.

	* include/bits/stl_vector.h: Fix odd formatting.

	* include/bits/basic_string.tcc: Tweak comment.

	* libsupc++/new: Make sure parameters are uglified.
	* libsupc++/typeinfo: Same.

	* testsuite/22_locale/num_get_members_char.cc: Fixup.
	* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
	* testsuite/27_io/filebuf_members.cc: Same.

From-SVN: r52345
2002-04-16 00:45:36 +00:00
Benjamin Kosnik
b988dfc58f fstream.tcc (filebuf::seekpos): Fix.
2002-04-08  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/5180
	* include/bits/fstream.tcc (filebuf::seekpos): Fix.
	* include/std/std_fstream.h: Clean.
	* include/bits/ostream.tcc: Remove extraneous variables.
	* include/bits/sstream.tcc (stringbuf::seekoff): Be strict about
	open modes and which modes.
	(stringbuf::seekpos): Same.
	* testsuite/27_io/stringbuf_virtuals.cc: New tests.

From-SVN: r52057
2002-04-09 06:14:32 +00:00
Benjamin Kosnik
a9bb75a7e0 As per DR 184, libstdc++/3139
2002-04-03  Benjamin Kosnik  <bkoz@redhat.com>

        As per DR 184, libstdc++/3139
        * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1.
        (numeric_limits<bool>::is_iec559): False.
        (numeric_limits<bool>::is_modulo): False.

	* testsuite/27_io/ios_init.cc: Add instantiations.

From-SVN: r51838
2002-04-04 05:32:59 +00:00
Benjamin Kosnik
40e5b28399 ios.cc: (ios_base::Init::_S_ios_destroy): Remove flush calls.
2002-04-02  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/5268
	* src/ios.cc: (ios_base::Init::_S_ios_destroy): Remove flush calls.
	* testsuite/27_io/ios_init.cc (tests04): Add test.

	libstdc++/3983
	* include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
	(basic_ios::_M_ios_fctype): Consistently name to _M_fctype.
	* include/bits/basic_ios.tcc: Same. Remove outdated comments.
	* include/bits/istream.tcc: Use _M_fctype, make consistent with
	ostream.
	* testsuite/27_io/ios_init.cc (tests03): Add test.

From-SVN: r51777
2002-04-03 02:32:52 +00:00
Benjamin Kosnik
663653eb3a basic_ios.h (basic_ios::_M_exception): Move.
2002-04-01  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3129
	* include/bits/basic_ios.h (basic_ios::_M_exception): Move.
	(basic_ios::_M_streambuf_state): Move.
	* include/bits/ios_base (ios_base): To here.
	* include/bits/ios_base.h (ios_base::_S_local_words): To
	_S_local_word_size.
	(ios_base::_M_word_array): To _M_local_word.
	(ios_base::_M_words_limit): To _M_word_size.
	(ios_base::_M_words): To _M_word.
	Comment.
	* include/bits/basic_ios.tcc: Adjust.
	* src/ios.cc (ios_base::_M_grow_words): Tweak.
	* testsuite/27_io/ios_base_storage.cc: Add tests.

	libstdc++/5207
	Kenny Simpson <theonetruekenny@yahoo.com>
	* include/bits/ios_base.h: Fix.

	Richard Henderson  <rth@redhat.com>
	* include/bits/ostream.tcc (ostream::operator<<(_CharT)): Correct
	last change.

	* include/bits/basic_string.h: Tweak formatting.

From-SVN: r51695
2002-04-01 18:39:37 +00:00
Benjamin Kosnik
a3ebd14d24 ostream.tcc (ostream::operator<<(_CharT)): Always allocate at least a byte.
2002-03-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/ostream.tcc (ostream::operator<<(_CharT)): Always
	allocate at least a byte.

	* testsuite/18_support/numeric_limits.cc (test_extrema): Make
	debugger-friendly.
	* testsuite/27_io/streambuf.cc (test07): Fix.
	(test06): Enable.

From-SVN: r51494
2002-03-28 03:15:08 +00:00
Phil Edwards
72c9b0629d capacity.cc: Only explicitly instantiate on platforms with no weak support.
2002-03-11  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/21_strings/capacity.cc:  Only explicitly instantiate on
	platforms with no weak support.
	* testsuite/27_io/ios_init.cc:  Likewise.

From-SVN: r50597
2002-03-11 21:08:06 +00:00
Scott Snyder
96854fe254 locale_facets.tcc (num_put::_M_convert_float): Allow one more digit of precision.
2002-03-08  scott snyder  <snyder@fnal.gov>

	libstdc++/5875
	* include/bits/locale_facets.tcc (num_put::_M_convert_float):
	Allow one more digit of precision.
	* testsuite/27_io/ostream_inserter_arith.cc: Test that we can
	write a double and read back in the same value.

From-SVN: r50470
2002-03-09 02:01:34 +00:00
Phil Edwards
798355a229 std_sstream.h: Remove trailing spaces.
2002-03-03  Phil Edwards  <pme@gcc.gnu.org>

	* include/std/std_sstream.h:  Remove trailing spaces.
	(basic_stringbuf::_M_stringbuf_init):  Also check for ios_base::app.
	* testsuite/27_io/stringbuf.cc (test05, test06):  New tests.

From-SVN: r50258
2002-03-03 17:48:42 +00:00
Paolo Carlini
658499e7b4 num_get_members_char.cc (test04): Use a named locale expecting grouping (de_DE).
2002-03-02  Paolo Carlini  <pcarlini@unitus.it>

        * testsuite/22_locale/num_get_members_char.cc (test04):
	Use a named locale expecting grouping (de_DE).
        * testsuite/22_locale/num_get_members_wchar_t.cc (test04):
	Ditto.
        * testsuite/27_io/ios_manip_basefield.cc (test01):
	Extend coverage, uniform treatment of hexs and octs.

From-SVN: r50234
2002-03-02 21:32:56 +00:00
Paolo Carlini
694d519fb0 locale_facets.tcc (num_get::_M_extract_int): Admit grouping for octals and hexadecimals too.
2002-02-28  Paolo Carlini  <pcarlini@unitus.it>

        * include/bits/locale_facets.tcc (num_get::_M_extract_int):
        Admit grouping for octals and hexadecimals too.
        * testsuite/22_locale/num_get_members_char.cc: Add test04.
        (test01): Tweak "." -> "," in void* test.
        * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.

        * testsuite/27_io/ios_manip_basefield.cc: Remove static keyword.
        * testsuite/27_io/ios_manip_fmtflags.cc: Remove two of them.

From-SVN: r50162
2002-02-28 21:16:45 +00:00
Paolo Carlini
bded68b108 ios_manip_basefield.cc (test01): Fix for 64 bit machines.
2002-02-27  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/ios_manip_basefield.cc (test01):
	Fix for 64 bit machines.

From-SVN: r50111
2002-02-27 19:54:32 +00:00
Benjamin Kosnik
ac39fabb8b basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
2002-02-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
	Adjust comment.
	* include/bits/basic_ios.h (basic_ios::_M_fill): Make mutable.
	(basic_ios::_M_fill_init): New.
	(basic_ios::fill()): Deal with _M_fill lazily.
	Adjust comment.
	* testsuite/27_io/ios_init.cc (test02): Adjust testcase.

From-SVN: r50076
2002-02-27 01:01:31 +00:00
Paolo Carlini
2d13abcf86 locale_facets.tcc (num_put::_M_widen_int): Group all the integral types, not only decs.
2002-02-26  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (num_put::_M_widen_int):
	Group all the integral types, not only decs.
	* testsuite/27_io/ios_manip_basefield.cc (test01): Tweak existing
	tests, add a few more.

From-SVN: r50057
2002-02-26 20:56:24 +00:00
Benjamin Kosnik
1bc59af523 ios.cc (ios_base::~ios_base): Tweak.
2002-02-25  Benjamin Kosnik  <bkoz@redhat.com>

	* src/ios.cc (ios_base::~ios_base): Tweak.
	(ios_base::_M_call_callbacks): Deal with null __p.
	(ios_base::ios_base): Set _M_callbacks.
	* include/bits/basic_ios.tcc (basic_ios::init): Adjust comment.
	* testsuite/27_io/ios_init.cc (test02): Fix.

	* mkcheck.in (static_fail): Failed links go to output file.

From-SVN: r50032
2002-02-26 04:55:48 +00:00
Benjamin Kosnik
04fc13943f money_put_members_char.cc: Fix.
2002-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/money_put_members_char.cc: Fix.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Fix.

	* testsuite/27_io/standard_manipulators.cc: New file.

	* testsuite/27_io/ios_manip_basefield.cc: Check results, now failing.
	* testsuite/27_io/ios_manip_fmtflags.cc: Use locale::classic().

From-SVN: r49910
2002-02-20 21:06:42 +00:00
Benjamin Kosnik
0d223e3a4e std_iomanip.h: Inline, tweaks.
2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_iomanip.h: Inline, tweaks.
	* config/linker-map.gnu: Remove hacks.

	* testsuite/21_strings/capacity.cc: Add explicit instantiations.
	* testsuite/27_io/ios_init.cc: Same.
	* testsuite/22_locale/money_get_members_char.cc (test07): Fix.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test07): Same.

From-SVN: r49884
2002-02-20 00:58:17 +00:00
Paolo Carlini
866c9e660e ostream_manip.cc: Enable test02.
2002-02-01  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/ostream_manip.cc: Enable test02.

From-SVN: r49440
2002-02-02 13:13:00 +00:00
Richard Henderson
2a4a2f1da2 ostream_inserter_arith.cc (test03_check): Break out from test03 and templatize.
* testsuite/27_io/ostream_inserter_arith.cc (test03_check): Break
        out from test03 and templatize.
        (test03): Use it.

From-SVN: r49348
2002-01-30 16:03:31 -08:00
Paolo Carlini
a852d50fb4 ostream_inserter_arith.cc (test03): Better fix for 32/64 bit architectures...
2002-01-30  Paolo Carlini  <pcarlini@unitus.it>

        * testsuite/27_io/ostream_inserter_arith.cc (test03):
        Better fix for 32/64 bit architectures, avoiding the
        implicit assumption that CHAR_BIT == 8.

From-SVN: r49342
2002-01-30 20:45:18 +00:00
Paolo Carlini
11e174221b filebuf_members.cc (test_05): Add test.
2002-01-28  Paolo Carlini  <pcarlini@unitus.it>
	    Charles Leggett <CGLeggett@lbl.gov>

	* testsuite/27_io/filebuf_members.cc (test_05): Add test.

Co-Authored-By: Charles Leggett <CGLeggett@lbl.gov>

From-SVN: r49297
2002-01-28 20:07:57 +00:00
Paolo Carlini
4debe14deb ostream_inserter_arith.cc (test03): Fix to deal correctly with both 32 bit and 64 bit architectures
2002-01-28  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/ostream_inserter_arith.cc (test03):
	Fix to deal correctly with both 32 bit and 64 bit architectures

From-SVN: r49295
2002-01-28 20:06:15 +00:00
Benjamin Kosnik
e67051746f fstream.tcc (filebuf::close()): Fix close for input streams.
2002-01-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc (filebuf::close()): Fix close for input
	streams.
	(filebuf::_M_really_overflow): Match indeterminate and sync calls.
	* testsuite/27_io/filebuf.cc: Compile only.
	* testsuite/27_io/filebuf_members.cc: Move tests to here.
	* testsuite/27_io/filebuf_virtuals.cc: And here.
	Revert sungetc, sync changes for expected values.
	* testsuite/27_io/filebuf-*: Move to...
	* testsuite/27_io/filebuf_virtuals-*: ...here.
	* testsuite/27_io/istream.cc: Compile only, activate.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/iostream.cc: New.
	* testsuite/27_io/iostream_members.cc: New.

From-SVN: r49236
2002-01-26 01:55:09 +00:00
Benjamin Kosnik
3a9ebf3ced ostream_inserter_char.cc (test07): New.
2002-01-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ostream_inserter_char.cc (test07): New.

2002-01-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.h (basic_ios::_M_check_facet): Make
	const, tweak.
	(basic_ios::fill(char_type)): Use fill().
	* include/bits/basic_ios.tcc (basic_ios::widen): Use _M_check_facet.
	(basic_ios::narrow): Same.
	(basic_ios::_M_cache_facets): Explicitly set cached facets to zero
	if they are invalid.
	(basic_ios::init): Comment.
	* testsuite/27_io/ios_init.cc (test02): New.

From-SVN: r49205
2002-01-25 06:36:32 +00:00
Paolo Carlini
b4ae79f745 ios_manip_basefield.cc: Enable test02.
2002-01-22  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/ios_manip_basefield.cc: Enable test02.
	* testsuite/27_io/ostream_inserter_arith.cc: Enable test03.
	* testsuite/27_io/ostream_inserter_char.cc: Enable test01.
	* testsuite/27_io/ostream_inserter_other.cc: Enable test04.

From-SVN: r49116
2002-01-23 01:12:10 +00:00
Benjamin Kosnik
aefb3380dd signbitl.c: Copyright years as list, not range.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* libmath/signbitl.c: Copyright years as list, not range.
	* libmath/Makefile.am: Same.
	* libmath/Makefie.in: Regenerate.
	* libmath/signbit.c: Same.
	* libmath/nan.c: Same.
	* libmath/copysignf.c: Same.
	* libmath/signbitf.c: Same.
	* testsuite/22_locale/money_get_members_char.cc: Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/money_put_members_char.cc: Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_get_members_char.cc: Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_put_members_char.cc: Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Same.
	* testsuite/21_strings/nonmember.cc: Same.
	* testsuite/21_strings/compare.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/ios_manip_basefield.cc: Same.
	* testsuite/27_io/ios_manip_fmtflags.cc: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/generic_shadow.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_meta.h: Same.
	* include/bits/valarray_array.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_base.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_base.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_base.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_base.h: Same.

	* libsupc++/tinfo.h: Tweaks.

From-SVN: r48922
2002-01-16 19:57:39 +00:00
Benjamin Kosnik
9fbcb61abb [multiple changes]
2002-01-08  Benjamin Kosnik  <bkoz@redhat.com>

        libstdc++/2913
        libstdc++/4879
	* include/bits/fstream.tcc (filebuf::_M_really_overflow): Test
	return value of _M_file->sync().
	(filebuf::showmanyc): Check for is_open.
	* include/std/fstream (filebuf::sync): Tweak.
	* testsuite/27_io/filebuf.cc: Tweak.

2002-01-08  John Fardo  <jfardo@laurelnetworks.com>
	    Brad Garcia  <garsh@attbi.com>

	* testsuite/27_io/filebuf_members.cc: Add test.

From-SVN: r48654
2002-01-08 19:57:01 +00:00
Phil Edwards
2d53d9ebe7 re PR libstdc++/3829 (missing template instantiations)
2001-12-27  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/3829
	* src/misc-inst.cc:  Many additional I/O-related instantiations.
	* testsuite/27_io/instantiations.cc:  New file.

From-SVN: r48324
2001-12-27 07:26:00 +00:00
Phil Edwards
e9c46bb75e basic_file.h (__basic_file::fd): New function.
2001-12-17  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/basic_file.h (__basic_file::fd):  New function.
	* config/io/basic_file_stdio.h (__basic_file::fd):  Define.
	* include/bits/std_fstream.h (basic_filebuf::fd):  New function.
	* include/bits/fstream.tcc (basic_filebuf::fd):  Define.
	* testsuite/27_io/filebuf_members.cc (test_02):  New test.

From-SVN: r48107
2001-12-17 17:08:57 +00:00
Paolo Carlini
897bb55fe3 ropeimpl.h (rope::_S_leaf_concat_char_iter, [...]): Adjust implicit typename.
2001-12-12  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
	_S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
	_S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
	: Adjust implicit typename.
	* include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
	Adjust implicit typename.
	* testsuite/27_io/streambuf.cc: Adjust implicit typename.

From-SVN: r47958
2001-12-13 00:41:03 +00:00
Philip Martin
cb93dfb4a0 Ross Smith <r-smith@ihug.co.nz> Paolo Carlini <pcarlini@unitus.it>
2001-12-12  Philip Martin  <philip@codematters.co.uk>
            Ross Smith     <r-smith@ihug.co.nz>
            Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/5045
	* include/bits/std_limits.h (defines, numeric_limits<bool>::digits10):
	Fix digits10 values for integral types.
	* include/bits/locale_facets.tcc (num_get::do_get for integral types):
	Tweak _M_extract_int call.
	* testsuite/27_io/istream_extractor_arith.cc (test13, test12_aux):
	Tweak overflowing number of digits.
	* testsuite/18_support/numeric_limits.cc (test03): New testcase.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
Co-Authored-By: Ross Smith <r-smith@ihug.co.nz>

From-SVN: r47947
2001-12-12 20:23:30 +00:00
Benjamin Kosnik
2a74463013 locale_facets.h (__num_base::_S_scale_hex): Add.
2001-12-09  Benjamin Kosnik  <bkoz@redhat.com>
	    Philip Martin <pmartin@uklinux.net>

	* include/bits/locale_facets.h (__num_base::_S_scale_hex): Add.
	(__num_base::_S_scale_oct): Add.
	* src/locale.cc: Add definitions.
	* testsuite/27_io/istream_extractor_arith.cc (main): Call test13.

	* testsuite/testsuite_hooks.h: Remove duplicate VERIFY define.

Co-Authored-By: Philip Martin <pmartin@uklinux.net>

From-SVN: r47837
2001-12-10 08:41:03 +00:00
Benjamin Kosnik
823b4f7daa [multiple changes]
2001-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3720
	* include/bits/locale_facets.tcc (num_put): Clean.
	(num_get::_M_extract_float): Change argument to string.
	(num_get::do_get(float)): Fixup.
	(num_get::do_get(double)): Same.
	(num_get::do_get(long double)): Same.
	(num_get::_M_extract_int): Add maximum length parameter, __max.
	(num_get::_M_extract_float): Correct zeros, use string.
	* include/bits/locale_facets.h (num_get::_M_extract_float): Change
	declaration here.
	* src/locale.cc (__num_base::_S_atoms): Remove x, X.
	* testsuite/27_io/istream_extractor_arith.cc (test13): Add.

2001-12-06  Philip Martin  <pmartin@uklinux.net>

	* testsuite/27_io/istream_extractor_arith.cc (test12): Add
	tests for excess input digits.

From-SVN: r47743
2001-12-07 02:58:36 +00:00
Benjamin Kosnik
0228de0c4f [multiple changes]
2001-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	DR/282
	* include/bits/locale_facets.tcc (num_put::_M_widen_float): Add
	grouping to floating point types.
	* testsuite/27_io/ostream_inserter_arith.cc (test02): Add test.

2001-12-04  Paolo Carlini <pcarlini@unitus.it>

        libstdc++/4402
        * testsuite/27_io/ostream_inserter_arith.cc (test02): add testcase
	from the PR.
        * include/bits/locale_facets.tcc (num_put::_M_convert_float):
        Deal properly with long ios_base::fixed floats.
        (num_put::_M_widen_float): use
	__len in __builtin_alloca call.

From-SVN: r47696
2001-12-05 22:07:36 +00:00
Paolo Carlini
b334004616 locale_facets.tcc (__pad): Add bool parameter to correctly pad internal-adjusted const char*-type objects.
2001-11-29  Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/3655
	* include/bits/locale_facets.tcc (__pad): Add bool parameter to
	correctly pad internal-adjusted const char*-type objects.
	* include/bits/locale_facts.tcc (num_put::_M_insert): Update call.
	* include/bits/ostream.tcc (operator<<(_CharT , char, const
	_CharT*, const char*, const basic_string&): Update calls.
	* src/locale-inst.tcc: Update declarations.
	* testsuite/27_io/ostream_inserter_arith.cc (test04): Add test.

From-SVN: r47459
2001-11-29 22:31:02 +00:00
Paolo Carlini
5a4c85886a locale_facets.tcc (__pad): correctly output hex numbers internally aligned.
2001-11-28  Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/3655
	* include/bits/locale_facets.tcc (__pad): correctly output hex
	numbers internally aligned.
	* testsuite/27_io/ostream_inserter_arith.cc: Add testcase.

From-SVN: r47433
2001-11-29 00:27:54 +00:00
Benjamin Kosnik
86ade44cb2 Numeric facets cleanup.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	Numeric facets cleanup.
	* include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
	+ and - signs.
	(__num_base::_M_zero): Add
	(__num_base::_M_e): Add.
	(__num_base::_M_E): Add.
	* include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
	(num_get::_M_extract_float): New.
	(num_get::_M_extract_int): New.
	* src/locale.cc (num_get::_M_extract): Remove.

	* include/bits/locale_facets.tcc (num_put::_M_insert_float):
	Simplify, use _M_insert.
	(num_put::do_put(bool)): Simplify, remove __pad.
	(__pad): Remove.
	(__pad_output): Change to __pad.
	* include/bits/ostream.tcc: And here.
	* src/locale-inst: Remove instantiations.

	* include/bits/locale_facets.h: Move helper functions in to class
	num_put.
	(num_put::_M_insert_float): Same, for __output_integer.
	(num_put::_M_insert_int): Same, for __output_float.
	(num_put::_M_insert): New.
	(__num_base): Add.
	(__num_base::_S_format_float): Move
	__build_float_format into class __num_base.
	(__num_base::_S_format_int): Move __build_int_format into class
	__num_base.
	* include/bits/locale_facets.tcc (__group_digits): Change to
	(__add_grouping): This.
	* src/locale-inst.cc: And here. Tweak instantiations.
	* src/misc-inst.cc: Remove instantiations.

	* include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
	for new calling conventions, move to...
	* include/bits/locale_facets.tcc (__pad_output): Here. Adjust
	signature to make it useful for both ostream and num_put.
	(__pad_numeric): Remove.
	* src/misc-inst.cc: Remove instantiations.
	* src/locale-inst.cc: Same.

	* include/bits/locale_facets.h (_Numeric_get): Remove.
 	(_Numeric_put): Remove.
	(num_get::get(short)): Remove.
	(num_get::get(int)): Remove.
	(num_get::do_get(short)): Remove.
	(num_get::do_get(int)): Remove.
	* include/bits/istream.tcc (istream::operator>>(short)): Fix as
	per DR 118.
	(istream::operator>>(int)): Same.

	* include/bits/locale_facets.h (_Format_cache): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.
	* src/locale-inst.cc: Same.
	* include/bits/ostream.tcc: Same.
	* src/ios.cc (ios_base::imbue): Remove here as well.

	* testsuite/22_locale/num_get.cc: New file.
	* testsuite/22_locale/num_get_members_char.cc: New file.
	* testsuite/22_locale/num_get_members_wchar_t.cc: New.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
	* testsuite/22_locale/num_put.cc: New file.
	* testsuite/22_locale/num_put_members_char.cc: New file.
	* testsuite/22_locale/num_put_members_wchar_t.cc: New file.
	* testsuite/27_io/ostream_inserter_arith.cc: Fix.
	* testsuite/27_io/istream_extractor_arith.cc: Fix.

From-SVN: r47397
2001-11-28 04:07:11 +00:00
Phil Edwards
1b4a6975f7 Intro.3: More notes.
2001-11-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  More notes.
	* docs/doxygen/style.css:  Update to default style from Doxygen 1.2.10.
	* include/bits/stl_algobase.h:  Add doxygen hooks for functions.
	* include/ext/hash_map:  Add @file hook.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.

	* docs/html/17_intro/license.html:  Remove "experimental" sentence.
	* docs/html/19_diagnostics/howto.html:  Document new verbose
	terminate handler.
	* testsuite/27_io/filebuf.cc:  Fix comment, move tweakable parameter
	to more visible (closer to description) position.

	* libsupc++/eh_type.cc:  Formatting tweak.
	* libsupc++/exception:  Likewise.
	* src/vterminate.cc:  Likewise.

	* docs/html/17_intro/porting.html:  Regenerate.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r47193
2001-11-20 00:51:37 +00:00
Paolo Carlini
2dc8835ac8 ios_manip_fmtflags.cc: Fix for non-interactive output.
2001-11-01  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_manip_fmtflags.cc: Fix for non-interactive
	output.
	* include/bits/locale_facets.tcc (num_put::do_put(bool)): Fix.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r46709
2001-11-02 03:48:09 +00:00
Benjamin Kosnik
99e9125d77 fstream.tcc (filebuf::showmanyc): Simplify.
2001-10-29  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3647
	* include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
	* testsuite/27_io/filebuf.cc (test07): New test.
	(test03): Modify showmanyc test.

From-SVN: r46610
2001-10-29 19:29:29 +00:00
Phil Edwards
fe413112f8 acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): New macro, calls...
2001-08-06  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE):  New macro, calls...
	(GLIBCPP_CHECK_SETRLIMIT):  ...this new macro, which also uses...
	(GLIBCPP_CHECK_SETRLIMIT_ancilliary):  ...this new macro.
	* configure.in (AM_CONFIG_HEADER):  Also generate testsuite_hooks.h.
	Call GLIBCPP_CONFIGURE_TESTSUITE.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	* testsuite/lib/libstdc++-v3-dg.exp:  Download new header instead
	of old header.

	* testsuite_flags.in:  Add build dir's testsuite to INCLUDES.
	* testsuite/debug_assert.h:  Removed; contents merged into...
	* testsuite/testsuite_hooks.h.in:  ...here.  New file.
	* testsuite/17_intro/header_ciso646.cc:  No longer include
	debug_assert.h, include testsuite_hooks.h instead.
	* testsuite/17_intro/header_fstream.cc:  Likewise.
	* testsuite/17_intro/header_iomanip.cc:  Likewise.
	* testsuite/17_intro/header_ios.cc:  Likewise.
	* testsuite/17_intro/header_iosfwd.cc:  Likewise.
	* testsuite/17_intro/header_iostream.cc:  Likewise.
	* testsuite/17_intro/header_istream.cc:  Likewise.
	* testsuite/17_intro/header_ostream.cc:  Likewise.
	* testsuite/17_intro/header_sstream.cc:  Likewise.
	* testsuite/17_intro/header_streambuf.cc:  Likewise.
	* testsuite/18_support/numeric_limits.cc:  Likewise.
	* testsuite/19_diagnostics/stdexceptions.cc:  Likewise.
	* testsuite/20_util/allocator_members.cc:  Likewise.
	* testsuite/20_util/auto_ptr.cc:  Likewise.
	* testsuite/20_util/pairs.cc:  Likewise.
	* testsuite/21_strings/append.cc:  Likewise.
	* testsuite/21_strings/capacity.cc:  Likewise.
	* testsuite/21_strings/char_traits_requirements.cc:  Likewise.
	* testsuite/21_strings/compare.cc:  Likewise.
	* testsuite/21_strings/ctor_copy_dtor.cc:  Likewise.  Also set up
	call to (disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/element_access.cc:  Likewise.
	* testsuite/21_strings/find.cc:  Likewise.
	* testsuite/21_strings/insert.cc:  Likewise.  Also set up call to
	(disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/inserters_extractors.cc:  Likewise.
	* testsuite/21_strings/invariants.cc:  Likewise.
	* testsuite/21_strings/nonmember.cc:  Likewise.
	* testsuite/21_strings/operations.cc:  Likewise.
	* testsuite/21_strings/replace.cc:  Likewise.
	* testsuite/21_strings/rfind.cc:  Likewise.
	* testsuite/21_strings/substr.cc:  Likewise.
	* testsuite/22_locale/codecvt_char_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc:  Likewise.
	* testsuite/22_locale/codecvt_wchar_t_char.cc:  Likewise.
	* testsuite/22_locale/ctor_copy_dtor.cc:  Likewise.
	* testsuite/22_locale/ctype_char_members.cc:  Likewise.
	* testsuite/22_locale/ctype_wchar_t_members.cc:  Likewise.
	* testsuite/22_locale/facet.cc:  Likewise.
	* testsuite/22_locale/global_templates.cc:  Likewise.
	* testsuite/22_locale/members.cc:  Likewise.
	* testsuite/22_locale/numpunct_byname.cc:  Likewise.
	* testsuite/22_locale/numpunct_char_members.cc:  Likewise.
	* testsuite/22_locale/operators.cc:  Likewise.
	* testsuite/22_locale/static_members.cc:  Likewise.
	* testsuite/23_containers/bitset_ctor.cc:  Likewise.
	* testsuite/23_containers/bitset_members.cc:  Likewise.
	* testsuite/23_containers/bitset_shift.cc:  Likewise.
	* testsuite/23_containers/vector_capacity.cc:  Likewise.
	* testsuite/23_containers/vector_ctor.cc:  Likewise.
	* testsuite/23_containers/vector_element_access.cc:  Likewise.
	* testsuite/23_containers/vector_modifiers.cc:  Likewise.
	* testsuite/24_iterators/istreambuf_iterator.cc:  Likewise.
	* testsuite/24_iterators/iterator.cc:  Likewise.
	* testsuite/24_iterators/ostreambuf_iterator.cc:  Likewise.
	* testsuite/25_algorithms/binary_search.cc:  Likewise.
	* testsuite/25_algorithms/copy.cc:  Likewise.
	* testsuite/25_algorithms/heap.cc:  Likewise.
	* testsuite/25_algorithms/lower_bound.cc:  Likewise.
	* testsuite/25_algorithms/min_max.cc:  Likewise.
	* testsuite/25_algorithms/partition.cc:  Likewise.
	* testsuite/25_algorithms/rotate.cc:  Likewise.
	* testsuite/25_algorithms/sort.cc:  Likewise.
	* testsuite/26_numerics/c_math.cc:  Likewise.
	* testsuite/26_numerics/complex_inserters_extractors.cc:  Likewise.
	* testsuite/26_numerics/complex_value.cc:  Likewise.
	* testsuite/27_io/filebuf.cc:  Likewise.
	* testsuite/27_io/filebuf_members.cc:  Likewise.
	* testsuite/27_io/filebuf_virtuals.cc:  Likewise.
	* testsuite/27_io/fpos.cc:  Likewise.
	* testsuite/27_io/fstream_members.cc:  Likewise.
	* testsuite/27_io/ifstream_members.cc:  Likewise.
	* testsuite/27_io/ios_base_callbacks.cc:  Likewise.
	* testsuite/27_io/ios_base_members_static.cc:  Likewise.
	* testsuite/27_io/ios_base_storage.cc:  Likewise.
	* testsuite/27_io/ios_ctor.cc:  Likewise.
	* testsuite/27_io/ios_init.cc:  Likewise.
	* testsuite/27_io/ios_manip_basefield.cc:  Likewise.
	* testsuite/27_io/ios_manip_fmtflags.cc:  Likewise.
	* testsuite/27_io/ios_members.cc:  Likewise.
	* testsuite/27_io/istream_extractor_arith.cc:  Likewise.
	* testsuite/27_io/istream_extractor_char.cc:  Likewise.
	* testsuite/27_io/istream_extractor_other.cc:  Likewise.
	* testsuite/27_io/istream_manip.cc:  Likewise.
	* testsuite/27_io/istream_seeks.cc:  Likewise.
	* testsuite/27_io/istream_sentry.cc:  Likewise.
	* testsuite/27_io/istream_unformatted.cc:  Likewise.
	* testsuite/27_io/istringstream_members.cc:  Likewise.
	* testsuite/27_io/narrow_stream_objects.cc:  Likewise.
	* testsuite/27_io/ofstream_members.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_arith.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_char.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_other.cc:  Likewise.
	* testsuite/27_io/ostream_manip.cc:  Likewise.
	* testsuite/27_io/ostream_seeks.cc:  Likewise.
	* testsuite/27_io/ostream_unformatted.cc:  Likewise.
	* testsuite/27_io/ostringstream_members.cc:  Likewise.
	* testsuite/27_io/streambuf.cc:  Likewise.
	* testsuite/27_io/stringbuf.cc:  Likewise.
	* testsuite/27_io/stringbuf_virtuals.cc:  Likewise.
	* testsuite/27_io/stringstream.cc:  Likewise.
	* testsuite/27_io/stringstream_members.cc:  Likewise.
	* testsuite/27_io/wide_stream_objects.cc:  Likewise.

From-SVN: r44679
2001-08-07 03:38:33 +00:00
Stephen M. Webb
fed3b7b431 ostream.tcc (ostream::put): Fixed error condition check.
2001-07-18  Stephen M. Webb  <stephen@bregmasoft..com>
            Roman Sulzhyk  <roman_sulzhyk@yahoo.com>

        libstdc++/3599
        * include/bits/ostream.tcc (ostream::put): Fixed error condition check.
        * testsuite/27_io/streambuf.cc (test07): Added new regression test.

Co-Authored-By: Roman Sulzhyk <roman_sulzhyk@yahoo.com>

From-SVN: r44122
2001-07-18 17:58:37 +00:00
Phil Edwards
48fe3de0c3 std_sstream.h (basic_stringbuf::basic_stringbuf(string): Initialize _M_string with pointer-and-size constructor, not just pointer.
2001-07-13  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_sstream.h (basic_stringbuf::basic_stringbuf(string):
	Initialize _M_string with pointer-and-size constructor, not just
	pointer.  Fix some comments.
	* testsuite/21_strings/ctor_copy_dtor.cc (test03):  New test.
	* testsuite/27_io/stringbuf.cc (test02):  Remove unused variable.
	(test03):  Add embedded-NUL tests.

	* mkcheck.in:  When printing totals, match the order of the tests.
	* include/bits/stringfwd.h:  Use same declaration keywords.
	* include/bits/std_iosfwd.h:  Cosmetic spacing.

From-SVN: r43996
2001-07-13 20:50:03 +00:00
Benjamin Kosnik
213c2316b6 locale.cc (locale::locale(const char*)): Make sure global locales are initialized.
2001-07-02  Benjamin Kosnik  <bkoz@redhat.com>

	* src/locale.cc (locale::locale(const char*)): Make sure global
	locales are initialized.
	* include/bits/locale_facets.tcc (locale::combine): Refcout should
	be zero, not one as it's return-by-value.
	* testsuite/27_io/ios_base_callbacks.cc (test01): Don't check for
	named locales here.
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Instead, check
	for it here.
	(test02): Add test.
	* libsupc++/eh_alloc.cc: Use climits, not limits.h.

From-SVN: r43713
2001-07-02 23:08:28 +00:00
Benjamin Kosnik
f2f5472f06 streambuf.tcc (__copy_streambufs): Don't set eofbit.
2001-06-26  Benjamin Kosnik  <bkoz@fillmore.constant.com>
	                     <vakatov@ncbi.nlm.nih.gov>

	libstdc++/3272
	* include/bits/streambuf.tcc (__copy_streambufs): Don't set eofbit.
	* testsuite/27_io/ostream_inserter_other.cc (test04): Add test.
	* testsuite/27_io/istream_extractor_other.cc: Fix.

From-SVN: r43602
2001-06-27 01:07:29 +00:00
Benjamin Kosnik
9aaa9ee026 fpos.h (fpos::operator-): Don't return reference, return original, non-modified version.
2001-06-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fpos.h (fpos::operator-): Don't return reference,
	return original, non-modified version.
	(fpos::operator+): Same.
	* testsuite/27_io/fpos.cc: Add test.

[[Split portion of a mixed commit.]]

From-SVN: r43290.2
2001-06-13 01:50:27 +00:00
Benjamin Kosnik
3b0fd4bcdb basic_string.h (string::compare): Adjust signatures as per DR 5.
2001-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3126
	* include/bits/basic_string.h (string::compare): Adjust signatures
	as per DR 5.
	* include/bits/basic_string.tcc: And here.

	libstdc++/2346
	* config/c_io_stdio.h: Remove whitespace.
	* testsuite/27_io/istream_seeks.cc (test03): Add regression.
	(test02): Add regression.
	* testsuite/27_io/istream_seeks-3.tst: New file.

From-SVN: r43240
2001-06-12 02:30:37 +00:00
Benjamin Kosnik
d52a984783 ostream.tcc (ostream::seekp): Add error checking as per DR 129.
2001-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3114
	* include/bits/ostream.tcc (ostream::seekp): Add error checking as
	per DR 129.
	* include/bits/istream.tcc (istream::seekg): Same.
	* testsuite/27_io/istream_seeks.cc: Fix.

	libstdc++/3113
	* include/bits/stl_function.h (binder2nd): Fix as per DR 109.
	(binder1st): Same.
	* include/bits/std_queue.h: Add c++config.h.
	* testsuite/20_util/binders.cc: New test.

From-SVN: r43201
2001-06-11 19:20:20 +00:00
Benjamin Kosnik
5de197f210 basic_ios.tcc: Formatting tweaks.
2001-06-05  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3045
	* include/bits/basic_ios.tcc: Formatting tweaks.
	* include/bits/ios_base.h: Formatting tweaks.
	* src/ios.cc (ios_base::Init::_S_ios_create): Use filebufs here.
	(ios_base::Init::_S_ios_destroy): ..and here. Explicitly call dtors.
	* src/globals.cc: Allocate filebufs for standard streams here.
	(buf_cout, buf_cin, buf_cerr): Like so.
	(buf_wcout, buf_wcin, buf_wcerr): And so.
	* testsuite/27_io/ios_init.cc: Add.

From-SVN: r42922
2001-06-06 01:31:58 +00:00
Jeffrey Oldham
1007e271a3 char_traits.h (move): Qualify memmove with std::.
2001-06-04  Jeffrey Oldham  <oldham@codesourcery.com>

	* include/bits/char_traits.h (move): Qualify memmove with std::.
	(copy): Qualify memcpy with std::.
	* testsuite/27_io/filebuf_virtuals.cc (test01): Qualify strlen and
	strncmp with std::.
	(test02): Likewise.
	* testsuite/27_io/stringbuf_virtuals.cc (test01): Likewise.

From-SVN: r42854
2001-06-04 15:46:03 +00:00
Benjamin Kosnik
d422980b3f basic_ios.tcc: Small tweak.
2001-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2832
	* include/bits/basic_ios.tcc: Small tweak.
	* include/bits/std_fstream.h (ifstream): Add buffer member. Adjust
	ctors and dtors, and rdbuf settings.
	(ofstream): Same.
	(fstream): Same.
	* include/bits/std_sstream.h: Same, but for stringstream classes.
	* testsuite/27_io/ostringstream_members.cc: New.
	* testsuite/27_io/stringstream_members.cc: New.
	* testsuite/27_io/fstream_members.cc: New.
	* testsuite/27_io/ifstream_members.cc: Add test.
	* testsuite/27_io/istringstream_members.cc: Add test.
	* testsuite/27_io/ofstream_members.cc: Add test.

From-SVN: r42547
2001-05-24 23:09:53 +00:00
Benjamin Kosnik
990101f973 mkcheck.in (static_fail): Remove S_FLAG decoration on output.
2001-05-21  Benjamin Kosnik  <bkoz@redhat.com>

	* mkcheck.in (static_fail): Remove S_FLAG decoration on output.

	* include/bits/std_sstream.h (stringbuf::setbuf): Require both
	arguments to be non-null.
	* include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Only
	try allocations if allocated size is greater than zero.
	(filebuf::_M_filebuf_init): Change to
	(filebuf::_M_allocate_file): Which is what it does now.
	(filebuf::_M_allocate_bufers): Change to
	(filebuf::_M_allocate_internal_buffer): This, and create
	(filebuf::_M_allocate_pback_buffer): New.
	(filebuf::_M_destroy_internal_buffer): New.
	(filebuf::_M_buf_allocated): New data member.
	(filebuf::setbuf): Use new logic, allow use of external buffer.
	* testsuite/27_io/stringbuf_virtuals.cc: New file.
	* testsuite/27_io/filebuf_virtuals.cc: New file.

From-SVN: r42458
2001-05-22 18:48:19 +00:00
Zack Weinberg
7edc73b46a inserters_extractors.cc, [...]: Replace multi-line string constants with C89-style concatenated string constants.
2001-05-15  Zack Weinberg  <zackw@stanford.edu>

        * testsuite/21_strings/inserters_extractors.cc,
        testsuite/27_io/istream_unformatted.cc,
        testsuite/27_io/stringstream.cc:
        Replace multi-line string constants with C89-style
        concatenated string constants.

From-SVN: r42116
2001-05-15 20:46:50 +00:00
Benjamin Kosnik
04d930e6d4 *.cc: Remove spaces, make sure testcases return zero.
2001-05-11   Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*/*.cc: Remove spaces, make sure testcases return zero.
	* testsuite/config/default.exp: Update bugs email address.

From-SVN: r41997
2001-05-12 16:53:08 +00:00
Benjamin Kosnik
ee2f20b9c5 std_fstream.h (basic_filebuf): Change signature.
2001-05-07  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2523
	* include/bits/std_fstream.h (basic_filebuf): Change signature.
	* include/bits/fstream.tcc (basic_filebuf): Change bool argument
	to int_type, pass in buffer size info.
	* include/bits/std_streambuf.h (_M_is_indeterminate): Check for
	unbuffered situation.
	(underflow): Remove codecvt bits for the time being.
	* include/bits/istream.tcc (istream::sentry): Avoid sputbackc call.
	* include/bits/locale_facets.tcc (_M_extract): Cache dereference
	values from iterators, clean.
	* src/locale.cc: Ditto.
	* include/bits/sbuf_iter.h: Format.
	* src/ios.cc: Explicitly pass in buffer sizes at creation time.
	* testsuite/27_io/narrow_stream_objects.cc: Add tests.
	* testsuite/27_io/filebuf.cc: Tweaks.
	* testsuite/27_io/filebuf_members.cc: Tweaks.

From-SVN: r41909
2001-05-08 03:39:50 +00:00
Benjamin Kosnik
39003c9902 std_fstream.h (basic_filebuf): Change signature.
2001-05-07  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2523
	* include/bits/std_fstream.h (basic_filebuf): Change signature.
	* include/bits/fstream.tcc (basic_filebuf): Change bool argument
	to int_type, pass in buffer size info.
	* include/bits/std_streambuf.h (_M_is_indeterminate): Check for
	unbuffered situation.
	(underflow): Remove codecvt bits for the time being.
	* include/bits/istream.tcc (istream::sentry): Avoid sputbackc call.
	* include/bits/locale_facets.tcc (_M_extract): Cache dereference
	values from iterators, clean.
	* src/locale.cc: Ditto.
	* include/bits/sbuf_iter.h: Format.
	* src/ios.cc: Explicitly pass in buffer sizes at creation time.
	* testsuite/27_io/narrow_stream_objects.cc: Add tests.
	* testsuite/27_io/filebuf.cc: Tweaks.
	* testsuite/27_io/filebuf_members.cc: Tweaks.

From-SVN: r41908
2001-05-08 03:07:56 +00:00
Loren J. Rittle
599d54fd8e * testsuite/27_io/istream_seeks.cc: Inform DejaGnu of required files.
From-SVN: r41402
2001-04-18 05:13:33 +00:00
Benjamin Kosnik
127644626f fstream.tcc: Add bool parameter to filebuf ctor.
2001-04-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc: Add bool parameter to filebuf ctor.
	* include/bits/ios_base.h(ios_base::Init): Remove _M_cout, _M_cin,
	_M_cerr, _M_wcout, _M_wcin, _M_wcerr.
	(ios_base::Init::_S_ios_create): New.
	(ios_base::Init::_S_ios_destroy): New.
	* include/bits/std_fstream.h: Change ctor args.
	* src/ios.cc (ios_base::Init::Init): Use _S_ios_create.
	(ios_base::Init::~Init): Use _S_ios_destroy.
	(ios_base::sync_with_stdio): Use new members.
	* testsuite/27_io/filebuf_members.cc: Fix calling conventions for
	filebuf ctor.

From-SVN: r41072
2001-04-04 01:02:26 +00:00
Benjamin Kosnik
5fa9abc3e9 basic_file.h (get_fileno): Remove.
2001-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_file.h (get_fileno): Remove.
	(_M_fileno): Remove.
	(_M_cfile_created): Add.
	(basic_file::basic_file(__c_file_type*, openmode): Add.
	(basic_file::basic_file(int, const char*, openmode): Remove.
	* include/bits/fstream.tcc (basic_fstream::basic_filebuf(int __fd,
	const char*, ios_base::openmode): Don't allocate
	internal buffers. Turn off internal buffers.
	(basic_filebuf::overflow): Remove test for null buffer.
	(basic_filebuf::_M_really_overflow): Same. Allow unbuffered use.
	* include/bits/streambuf.cc: Tweak.
	* include/bits/std_ostream.h: Tweak.
	* config/basic_file_libio.h: Same.
	* config/basic_file_stdio.h: Same.
	* src/ios.cc (ios_base::Init::Init()): Unbuffer stdout by default.
	* testsuite/27_io/filebuf_members.cc: Tweaks.
	* testsuite/27_io/ios_base_members_static.cc: Tweaks.

From-SVN: r40863
2001-03-27 03:48:17 +00:00
Benjamin Kosnik
69302d8b5e std_streambuf.h: Remove cached locale facets.
2001-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2020
	* include/bits/std_streambuf.h: Remove cached locale facets.
	(basic_streambuf::_M_buf_fctype): Remove.
	(basic_streambuf::~basic_streambuf): Remove here.
	(basic_streambuf::basic_streambuf): Same.
	(basic_streambuf::imbue): Same.
	* include/bits/fstream.tcc (filebuf::imbue): Remove _M_buf_fctype.
	* include/bits/std_fstream.h (basic_filebuf::_M_fcvt): Remove.
	(basic_filebuf::~basic_filebuf()): Remove here.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf): Same.
	(basic_filebuf::imbue): Same.
	* include/bits/localefwd.h (_Count_ones): Remove.
	(locale::_S_num_categories): Just use 6, since this doesn't
	actually change, ever.
	* include/bits/locale_facets.tcc (has_facet): Simplify.
	(use_facet): Same.
	* testsuite/27_io/filebuf.cc (test06): Add tests.

From-SVN: r40472
2001-03-14 20:46:34 +00:00
Benjamin Kosnik
0e061da691 [multiple changes]
2001-03-09  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/istream.tcc ( basic_istream<_CharT, _Traits>&
	operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
	Use streamsize, not int_type.

2001-03-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/streambuf.cc (test06): New test, disabled at the
	moment.

From-SVN: r40358
2001-03-10 01:36:23 +00:00
Benjamin Kosnik
d32c94be18 std_iosfwd.h: Remove string forward decls here.
2001-03-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_iosfwd.h: Remove string forward decls here.
	* include/bits/stringfwd.h: Add forward decls for char_traits
	specializations.
	* config/c_io_libio.h (wstreamoff): Delete.
	* config/c_io_stdio.h (wstreamoff): Same.
	* include/bits/char_traits.h: Use streamoff not wstreamoff for
	char_traits<wchar_t>::off_type.
	Remove duplicate typedefs.
	* include/bits/fpos.h: Define streampos/wstreampos here.
	* testsuite/27_io/istream_seeks.cc (test04): Explicitly cast int
	values to off_type.
	(test05): Same.
	Changeup output files.
	* testsuite/27_io/istream_unformatted.cc: Change output files.
	* testsuite/27_io/istream_seeks-1.txt: Add.
	* testsuite/27_io/istream_seeks-2.tst: Add.
	* testsuite/27_io/istream_seeks-1.tst: Add.
	* testsuite/27_io/istream_unformatted-2.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.txt: Delete.

From-SVN: r40303
2001-03-07 22:22:41 +00:00
Benjamin Kosnik
2077a6c51e istream.tcc (basic_istream<_CharT, [...]): Don't use sentry.
2001-03-06  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2181
	* include/bits/istream.tcc (basic_istream<_CharT, _Traits>::
	operator>>(__istream_type& (*__pf)(__istream_type&)): Don't use
	sentry.
	(basic_istream<_CharT, _Traits>:: operator>>(__ios_type&
	(*__pf)(__ios_type&)): Same.
	(basic_istream<_CharT, _Traits>:: operator>>(ios_base&
	(*__pf)(ios_base&))): Same.
	* testsuite/27_io/istream_extractor_other.cc: Add tests.
	* testsuite/27_io/istream_manip.cc (test01): Fix.

From-SVN: r40281
2001-03-07 02:08:59 +00:00
Benjamin Kosnik
c0a26060f6 basic_file.h: Include basic_file_model.h.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1886
	* include/bits/basic_file.h: Include basic_file_model.h.
	* config/c_io_libio.cc: Move to...
	* config/basic_file_libio.cc: Here.
	* config/basic_file_libio.h: New file.
	* config/c_io_stdio.cc: Move to...
	* config/basic_file_stdio.cc: Here.
	* config/basic_file_stdio.h: New file.
	* config/c_io_libio.h: Tweak.
	* config/c_io_stdio.h: Tweak.
	* src/Makefile.am (build_headers): Add basic_file_model.h.
	(sources): Add basic_file.cc, remove c++io.cc.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
	basic_file_model.h and basic_file.cc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/filebuf.cc (test05): Add regression.

From-SVN: r40108
2001-02-28 03:20:36 +00:00
Phil Edwards
58f60b5c91 ios_base_members_static.cc: Swap order of tests.
2001-02-05  Phil Edwards  <pme@sources.redhat.com>

	* testsuite/27_io/ios_base_members_static.cc:  Swap order of tests.

From-SVN: r39466
2001-02-05 22:08:47 +00:00
Gabriel Dos Reis
db353c2c69 *.cc: Remove explicit reference to 'testsuite/' in testcases.
* testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/'
       in testcases.  Prepare for the DejaGnu based framework.
       * mkcheck.in: Adjust call to tests_flags.  Don't mmkdir testsuite
       directory -- it is now mkcheck working directory.
       * tests_flags.in: Remove reference to $(top_srcdir).  Use
       ${SRC_DIR} instead.
       * Makefile.am (check, check-install): Change mkcheck invocation
       logic.
       * Makefile.in: Regenerate.

From-SVN: r39255
2001-01-25 04:09:22 +00:00
Benjamin Kosnik
824a91091e mkcheck.in: Construct file names that match $objdir structure.
2001-01-17  Loren J. Rittle  <ljrittle@acm.org>

        * mkcheck.in: Construct file names that match $objdir structure.
        * testsuite/27_io/filebuf_members-1.txt: New file.
        * testsuite/27_io/ifstream_members-1.txt: New file.
        * testsuite/27_io/ostream_inserter_char-1.txt: New file.

	* testsuite/27_io/ios_base_members_static.cc (test02): Add test.
	* testsuite/27_io/ios_base_members_static-1.tst: Add expected output.

From-SVN: r39110
2001-01-18 07:24:16 +00:00
Peter Schmid
86b4d21106 istream_sentry.cc (test02): Fix.
2001-01-17  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/27_io/istream_sentry.cc (test02): Fix.

From-SVN: r39089
2001-01-17 08:30:25 +00:00
Benjamin Kosnik
13187a454d C++STYLE (classname): Add more existing and stylish patterns.
2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/C++STYLE (classname): Add more existing
	and stylish patterns.

	libstdc++/944
	* include/bits/istream.tcc (istream::sentry::sentry()): Set
	failbit if the state of the stream is not good.
	* testsuite/27_io/istream_sentry.cc (test02): Add test.
	* testsuite/27_io/istream_manip.cc (test01): Modify.

	libstdc++/1019
	reported by Paolo Carlini <pcarlini@unitus.it>
	* include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
	* testsuite/21_strings/inserters_extractors.cc (test08): Add test.

	libstdc++/1057
	* include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
	* include/bits/streambuf.tcc (xsputn): Remove outside if clause.
	(xsgetn): Same. Simplify.
	* testsuite/27_io/streambuf.cc (test04): Add testcases.

	reported by Larry Evans <jcampbell3@prodigy.net>
	* include/bits/streambuf.tcc (streambuf::xsputn): Just check for
	equality with eof on returned value from overflow.

From-SVN: r39059
2001-01-16 07:55:26 +00:00
Joseph Myers
a9ab8db153 acinclude.m4, [...]: Change sourceware.cygnus.com and sources.redhat.com URLs for libstdc++ web...
* acinclude.m4, configure.in, mkcheck.in,
	testsuite/21_strings/ctor_copy_dtor.cc,
	testsuite/21_strings/inserters_extractors.cc,
	testsuite/23_containers/map_operators.cc,
	testsuite/23_containers/vector_element_access.cc,
	testsuite/25_algorithms/lower_bound.cc,
	testsuite/27_io/ifstream_members.cc,
	testsuite/27_io/istream_extractor_arith.cc,
	testsuite/27_io/istream_unformatted.cc,
	testsuite/27_io/ofstream_members.cc,
	testsuite/27_io/ostream_inserter_char.cc,
	testsuite/27_io/ostream_inserter_other.cc,
	testsuite/27_io/ostream_manip.cc, testsuite/27_io/streambuf.cc:
	Change sourceware.cygnus.com and sources.redhat.com URLs for
	libstdc++ web pages and list archives to point to gcc.gnu.org
	* aclocal.m4, configure: Regenerate.

From-SVN: r38428
2000-12-21 22:08:39 +00:00
Benjamin Kosnik
713c16f860 [multiple changes]
2000-12-20  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* testsuite/17_intro/headers_c.cc (main): New file.

	* acinclude.m4 (SECTION_FLAGS): Only set if --enable-debug is not
	passed.
	(OPT_LDFLAGS): And here.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2000-12-19  Curtis Janssen  <cljanss@ca.sandia.gov>

	* src/ios.cc (ios_base::_M_grow_words(int ix)): Fix libstdc++/1089.
	* testsuite/27_io/ios_base_storage.cc (test01): New file.

From-SVN: r38392
2000-12-20 08:24:40 +00:00
Benjamin Kosnik
8ce10512a9 tests_flags.in (LTCXX): Change CXX_FLAG to CXXFLAGS.
2000-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	* tests_flags.in (LTCXX): Change CXX_FLAG to CXXFLAGS.

	* testsuite/22_locale/ctor_copy_dtor.cc: Adjust formatting.
	* testsuite/27_io/istream_extractor_arith.cc (test11): New
	testcase, based on libstdc++/90.

From-SVN: r37813
2000-11-28 09:34:08 +00:00
Benjamin Kosnik
158227a66a istream_unformatted.cc (test05): Fixup.
2000-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/istream_unformatted.cc (test05): Fixup.

From-SVN: r37769
2000-11-27 03:02:00 +00:00
Benjamin Kosnik
4bc950092b [multiple changes]
2000-10-30  Benjamin Kosnik  <bkoz@redhat.com>

	* src/complex_io.cc : Remove ancient defines.
	* config/os/gnu-linux/bits/os_defines.h: Add defines.
	* libsupc++/tinfo2.cc: Change to cstddef.

	* include/bits/codecvt.h: Add include of c++config.h, so that
	__USE_GNU gets defined. (Important for alpha.)

	* include/c/bits/std_cwctype.h: Same.
	* include/c/bits/std_ctime.h: And here.
	* include/c/bits/std_cstdarg.h: Same.
	* include/c/bits/std_csignal.h: Same.
	* include/c/bits/std_csetjmp.h: Same.
	* include/c/bits/std_clocale.h: Same.
	* include/c/bits/std_climits.h: Touch.
	* include/c/bits/std_cfloat.h: Same.
	* include/c/bits/std_cerrno.h: Same.
	* include/c/bits/std_cwchar.h: Same.
	* include/c/bits/std_cassert.h: Same.
	* include/c/bits/std_cctype.h: Same.
	* include/c/bits/std_cstddef.h: And here.
	* include/c/bits/std_cstdlib.h: And here.
	* include/c/bits/std_cstdio.h: Same.
	* include/c/bits/std_cstring.h: Add names to namespace std::.

	* include/bits/c++config (_GNU_SOURCE): Move linux-specific macros
	from here...
	(_ISOC99_SOURCE): And this one....
	* config/os/gnu-linux/bits/os_defines.h: ...to here.

	* include/bits/codecvt.h (codecvt<_InternT, _ExternT,
	__enc_traits>::do_in): Don't cast to const, this is a bug in glibc
	prior to 2.2.
	(codecvt<_InternT, _ExternT, __enc_traits>::do_out): Same.
	* include/c/bits/std_cwchar.h: Add using declarations for mbstate_t.

2000-10-30  Steven King  <sxking@uswest.net>

	* include/bits/codecvt.h: Add cast.
	* include/c_std/stdio.h: Re-add printf using declaration.
	* include/c_std/bits/std_cstdio.h: Same
	* testsuite/22_locale/codecvt_wchar_t_char.cc: Fixup testsuite.
	* testsuite/22_locale/ctor_copy_dtor.cc: Same.
	* testsuite/22_locale/facet.cc: Same.
	* testsuite/22_locale/global_templates.cc: Same.
	* testsuite/22_locale/operators.cc: Same.
	* testsuite/22_locale/static_members.cc: Same.
	* testsuite/26_numerics/c_math.cc: Same.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
	* testsuite/27_io/fpos.cc: Same.
	* testsuite/27_io/istream_extractor_arith.cc: Same.
	* testsuite/27_io/istream_unformatted.cc: Same.
	* testsuite/27_io/ostream_inserter_arith.cc: Same.
	* testsuite/27_io/streambuf.cc: Same.

From-SVN: r37149
2000-10-31 01:26:06 +00:00
Martin Buchholz
189244a414 * testsuite/27_io/istream_seeks.cc: Fix spelling typo. * testsuite/27_io/ostream_seeks.cc: Similarly.
From-SVN: r36919
2000-10-17 20:07:54 -06:00
Brent Verner
7c7688c76a istream.tcc: Removed test for _M_gcount < in_avail()...
2000-10-05  Brent Verner  <brent@rcfile.org>

        * bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
	test for _M_gcount < in_avail(), as in_avail() only reports info
	for current buffer, causing method to return at end of buffer.
	* testsuite/27_io/istream_unformatted.cc [test07()]: New test.
	* testsuite/27_io/istream_unformatted-3.txt: New file.
	* testsuite/27_io/istream_unformatted-3.tst: New file.

From-SVN: r36752
2000-10-06 07:12:32 +00:00
Brent Verner
3a1ed6a1d1 istream.tcc: Removed test for _M_gcount < in_avail()...
2000-10-03  Brent Verner  <brent@rcfile.org>

        * bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
	test for _M_gcount < in_avail(), as in_avail() only reports info
	for current buffer, causing method to return at end of buffer.
	* testsuite/27_io/istream_unformatted.cc [test07()]: New test.
	* testsuite/27_io/istream_unformatted-3.txt: New file.
	* testsuite/27_io/istream_unformatted-3.tst: New file.

From-SVN: r36751
2000-10-06 07:11:26 +00:00
Benjamin Kosnik
f60ded13ef stringstream.cc (test02): Fix.
2000-08-14  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* testsuite/27_io/stringstream.cc (test02): Fix.

From-SVN: r35690
2000-08-14 21:14:19 +00:00
Brent Verner
aa1b2f7d95 debug_assert.h: new file
2000-08-14  Brent Verner <brent@rcfile.org>

	* testsuite/debug_assert.h: new file
	* testsuite/*/*.cc: s/test\s*&=([^;]+);/VERIFY($1);/g
	changed conditional #include <c?assert.?h?> to
	unconditional #include <debug_assert.h>
	* mkcheck.in: added $SRC_DIR/testsuite to include search path
	for testsuite compile command.

From-SVN: r35682
2000-08-14 19:59:26 +00:00
Benjamin Kosnik
8901ac210e [multiple changes]
2000-08-09  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	Preliminary wchar_t implementation, with trivial encodings.
	* docs/configopts.html: Add bits about canonical configure option
	checking.

	* testsuite/27_io/iostream_objects.cc: Replace this file (which
	has newly-declared-illegal mixing of wide/narrow stdstreams) with...
	* testsuite/27_io/narrow_stream_objects.cc: New file.
	* testsuite/27_io/wide_stream_objects.cc: New file.

	* bits/fstream.tcc (underflow): Temporarily hack a solution
	together that writes from the external file to the internal
	buffers. This removes codecvt from the loop, and is incorrect.
	(_M_really_overflow): Same here.

	* testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.

2000-08-08  Benjamin Kosnik  <bkoz@cygnus.com>
	    Ulrich Drepper  <drepper@cygnus.com>

	* config/c_io_libio.h: Tweak.
	* config/c_io_libio_codecvt.c: New file.
	* libio/Makefile.am: Add c_codecvt.c.
	* libio/Makefile.in: Regenerate.
	* libio/genops.c (_IO_unbuffer_write): Don't call _IO_SETBUF if the
	stream is not orientated.

	* acinclude.m4: Add config/c_io_libio_codecvt.c dummy file, until
	encoding gets fleshed out.

	* bits/basic_file.h: Add specialization declarations.
	* config/c_io_libio.cc: Add specializations for pbackfail, uflow.

	* config/c_io_libio.h: Add __c_wfile_type.
	* bits/basic_file.h: Add _M_wfile.

	* config/c_io_libio.cc (__basic_file<char>): Initialize the
	streams without setting the orientation of the underlying FILE to
	either wide or narrow.
	(__basic_file<wchar_t>)): Enable tricky wchar_t io bits.

From-SVN: r35584
2000-08-09 07:33:39 +00:00
Benjamin Kosnik
86b8dde633 Finish preliminary wchar_t implementation, with trivial encodings.
2000-08-09  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	Finish preliminary wchar_t implementation, with trivial encodings.
	* docs/configopts.html: Add bits about canonical configure option
	checking.

	* testsuite/27_io/iostream_objects.cc: Replace this file (which
	has newly-declared-illegal mixing of wide/narrow stdstreams) with...
	* testsuite/27_io/narrow_stream_objects.cc: New file.
	* testsuite/27_io/wide_stream_objects.cc: New file.

	* bits/fstream.tcc (underflow): Temporarily hack a solution
	together that writes from the external file to the internal
	buffers. This removes codecvt from the loop, and is incorrect.
	(_M_really_overflow): Same here.

	* testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.

From-SVN: r35582
2000-08-09 07:28:54 +00:00
Benjamin Kosnik
99b5135954 [multiple changes]
2000-07-23  Brent Verner <brent@rcfile.org>

        * bits/istream.tcc: istream::getline(char_type*, streamsize,
	char_type) make compliant
        * testsuite/27_io/istream_unformatted.cc: test for compliant behavior

2000-07-23  Benjamin Kosnik  <bkoz@haight.constant.com>

	* acinclude.m4 (enable_cshadow_headers): Fix problems with blddir
	and srcdir used to define CSHADOW_INCLUDES..

	* configure.in: For consistency, change .sanity_warned to
	stamp-sanity-warned.

	* acinclude.m4: Tweak formatting.
	* Makefile.am (check): Call mkcheck with full pathname for build
	directory...
	(check-install): And here.
	* Makefile.in: Regenerate.

From-SVN: r35227
2000-07-24 16:34:00 +00:00
Benjamin Kosnik
7be50fd30f [multiple changes]
2000-07-20  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_streambuf.h: Add bits for pback buffers here, so that
	in_avail, etc can use them.
	* bits/std_fstream.h: Ditto.
	* bits/fstream.tcc: Ditto.
	* testsuite/27_io/filebuf.cc: Tweaks.
	* testsuite/27_io/filebuf-3.tst: Correct for pbackfail bits.

2000-07-19  Benjamin Kosnik  <bkoz@cygnus.com>

	* src/localename.cc: Same.
	* src/locale.cc: Same.
	* bits/localefwd.h: _M_init_facet to _M_facet_init.

	* bits/locale_facets.h: _M_init_boolnames to _M_boolnames_init.

	* bits/std_sstream.h: Change _M_init_stringbuf to _M_stringbuf_init.

	* bits/fstream.tcc: Change _M_init_filebuf to _M_filebuf_init.
	* bits/std_fstream.h: Same.

	* bits/basic_string.h: Tweaks.

From-SVN: r35157
2000-07-21 00:06:51 +00:00
Benjamin Kosnik
75555da78d [multiple changes]
2000-07-07   brent verner  <brent@rcfile.org>

	* testsuite/27_io/istream_unformatted.cc (test05): New test.

2000-07-07  Benjamin Kosnik  <bkoz@gnu.org>

	* bits/istream.tcc (istream::getline): Minor tweaks.

From-SVN: r34913
2000-07-07 21:21:57 +00:00
Benjamin Kosnik
42d18a47a0 [multiple changes]
2000-07-05  brent verner  <brent@rcfile.org>

	* testsuite/27_io/ifstream_members.cc (test01): Add tests.
	* testsuite/27_io/ofstream_members.cc (test01): Add tests.
	* config/c_io_libio.cc (__basic_file::open): Unset
	~_IO_DELETE_DONT_CLOSE.

2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>

        * bits/gslice_array.h, bits/indirect_array.h, bits/mask_array.h,
        bits/slice_array.h, bits/std_valarray.h, bits/valarray_meta.h:
        Do not paste anything after 'operator' keyword.

From-SVN: r34877
2000-07-05 23:59:02 +00:00
Benjamin Kosnik
f22ad9d09e [multiple changes]
2000-07-03  scott snyder  <snyder@fnal.gov>

        * bits/locale_facets.tcc (_M_extract): Only figure out the base
        from the input if base == 0.
        * testsuite/27_io/istream_extractor_arith.cc: Test reading a
        number with a leading `0' in hex mode.

	* shadow/bits/std_cmath.h: Fix typo in _GLIBCPP_HAVE_CEILL test.

        * mkinclosure: Change `==' to `=' in test.

2000-07-03  Chip Salzenberg  <chip@valinux.com>

        * src/Makefile.am (libio_headers): _G_config.h is found in srcdir,
        not builddir.
        * src/Makefile.in: Regenerate.

From-SVN: r34860
2000-07-04 02:24:54 +00:00
Benjamin Kosnik
fbd5f73b3e ostream_manip.cc (test02): Add tests.
2000-06-29  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* testsuite/27_io/ostream_manip.cc (test02): Add tests.
	* bits/ostream.tcc: Tweak.
	* bits/std_fstream.h (basic_filebuf::setbuf): Reset
	_M_buf_size_opt too.
	* bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
	out _M_buf_size_opt.
	* bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Set
	_M_buf_size_opt out here.
	* bits/char_traits.h (char_traits::eos): Non standard member
	function, uglify to __eos. Return char_type().
	* bits/std_ostream.h: Change.

	* testsuite/27_io/ostream_seeks.cc: New file.
	* testsuite/27_io/ostream_seeks-1.tst: New file.
	* testsuite/27_io/istream_unformatted.cc (main): Move test04 and
	test05 to...
	* testsuite/27_io/istream_seeks.cc: New file.

From-SVN: r34801
2000-06-30 02:47:19 +00:00
Benjamin Kosnik
4a2f4b128f ostream_manip.cc (test02): Add tests.
2000-06-29  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* testsuite/27_io/ostream_manip.cc (test02): Add tests.
	* bits/ostream.tcc: Tweak.
	* bits/std_fstream.h (basic_filebuf::setbuf): Reset
	_M_buf_size_opt too.
	* bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
	out _M_buf_size_opt.
	* bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Zero
	_M_buf_size_opt out here.
	* bits/char_traits.h (char_traits::eos): Non standard member
	function, uglify to __eos. Return char_type().
	* bits/std_ostream.h: Change.

From-SVN: r34797
2000-06-30 00:38:09 +00:00
Benjamin Kosnik
ab30ba5c23 filebuf.cc: Tweak.
2000-06-28  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* testsuite/27_io/filebuf.cc: Tweak.
	* testsuite/27_io/filebuf_members.cc (test_01): Fix.
	* config/c_io_libio.cc (__basic_file::~__basic_file): Match libio
	filebuf dtor.
	(__basic_file::basic_file): Clean, add calls similar to
	_IO_file_attach.
	(__basic_file::open): Clean.
	(__basic_file::sys_open): Clean.

	* bits/std_fstream.h: Revert.
	* bits/fstream.tcc (filebuf::close()): Revert.
	(filebuf::basic_filebuf()): Revert.

From-SVN: r34786
2000-06-29 18:20:55 +00:00
Benjamin Kosnik
644638bc02 [multiple changes]
2000-06-13  Brent Verner <brent@rcfile.org>

	* bits/string.tcc (string::rfind): Fix.
	* testsuite/21_strings/rfind.cc: New file.

2000-06-26  Anthony Williams  <anthony@anthonyw.cjb.net>

	* testsuite/21_strings/ctor_copy_dtor.cc: Fixed logic error.

2000-06-26  Branko Cibej  <branko.cibej@hermes.si>

        * testsuite/27_io/filebuf_members.cc (test_01): Fixed typos.

        * mkcheck.in: Make the *.txt and *.tst files writable after
	  copying them to $TEST_DIR.

        * testsuite/27_io/ostream_inserter_arith.cc: Renamed
          __TEST_NUMPUT_VERBOSE to TEST_NUMPUT_VERBOSE.
        Define TEST_NUMPUT_VERBOSE only if DEBUG_ASSERT.

From-SVN: r34719
2000-06-26 20:22:01 +00:00
Benjamin Kosnik
ba5fbc87e3 filebuf_members.cc: New file.
2000-06-23  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* testsuite/27_io/filebuf_members.cc: New file.
	* testsuite/27_io/filebuf_members-1.tst: New file.
	* bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
	(basic_filebuf::close): Use it.
	* bits/std_fstream.h (basic_filebuf): Remove default arguments for
	filebuf ctor.
	(basic_filebuf): Add _M_fileno_based data member.

	* bits/std_fstream.h: Formatting tweaks.
	* testsuite/27_io/ofstream_members.cc: New file.
	* testsuite/27_io/ofstream_members-1.tst: New file.
	* testsuite/27_io/ifstream_members.cc: New file.
	* testsuite/27_io/ifstream_members-1.tst: New file.

From-SVN: r34672
2000-06-24 00:53:06 +00:00
Benjamin Kosnik
b16810bfe2 std_fstream.h: Formatting tweaks.
2000-06-23  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* bits/std_fstream.h: Formatting tweaks.
	* testsuite/27_io/ofstream_members.cc: New file.
	* testsuite/27_io/ofstream_members-1.tst: New file.
	* testsuite/27_io/ifstream_members.cc: New file.
	* testsuite/27_io/ifstream_members-1.tst: New file.

From-SVN: r34671
2000-06-23 22:21:47 +00:00
Russell Davidson
7f1063f8ec istream_extractor_arith.cc: Patch.
2000-06-19  Russell Davidson  <russell@ehess.cnrs-mrs.fr>

	* testsuite/27_io/istream_extractor_arith.cc: Patch.
	* bits/locale_factets.tcc: Tweak.

From-SVN: r34612
2000-06-20 01:24:46 +00:00
Anthony Williams
97e0a05a9d bitset_ctor.cc: Qualify reverse wth std::.
2000-06-13  Anthony Williams  <anthony@anthonyw.cjb.net>

	* testsuite/23_containers/bitset_ctor.cc: Qualify reverse wth std::.

	* testsuite/27_io/filebuf.cc: Changed calls to
	fpos<>._M_position() to implicit calls to operator streamoff().
	* testsuite/27_io/iostream_objects.cc: Removed #include <ciso646>,
	as not needed. Revert, as part of standard.
	* testsuite/27_io/ostream_inserter_arith.cc: Replaced explicit
	call to numpunct<>._M_init() with overrides of the appropriate
	virtual functions.

	* testsuite/27_io/stringstream.cc: Removed unnecessary char *
	pointers from test01, so no need to call base(), which isn't
	guaranteed to be implemented as iterators may themselves be pointers
	* testsuite/27_io/stringbuf.cc: Removed unnecessary calls to
	_M_position() - use implicit conversion to streamoff instead

From-SVN: r34535
2000-06-13 23:48:29 +00:00
Brent Verner
96cbf48b35 streambuf.tcc: repaired _S_copy_streambufs()
2000-06-13  Brent Verner <brent@rcfile.org>

	* bits/streambuf.tcc: repaired _S_copy_streambufs()
	* testsuite/27_io/ostream_inserter_other.cc (test03): Added testcase.

From-SVN: r34528
2000-06-13 22:20:56 +00:00
Benjamin Kosnik
64cdd351dd locale_facets.tcc (num_get<char>::_M_extract): Fix signage, exponent, and scientific formatting issues.
2000-05-31  Russell Davidson  <russell@ehess.cnrs-mrs.fr>

	* bits/locale_facets.tcc (num_get<char>::_M_extract): Fix signage,
	exponent, and scientific formatting issues.
	* testsuite/27_io/istream_extractor_arith.cc (test09): Add tests.

From-SVN: r34328
2000-06-01 02:55:30 +00:00
Benjamin Kosnik
991a40fcc2 std_cmath.h: Tweaks.
2000-05-10  Benjamin Kosnik  <bkoz@redhat.com>

	* bits/std_cmath.h: Tweaks.
	* math/mathconf.h: Tweaks and fixes for HP-UX 11.
	(sqrtf): Define away iff !builtin and !in <math.h>.
	(sinf): Same.
	(cosf): Same.
	(fabsf): Same.
	At some point this directory should be converted to c++, the
	autoconf tests should be run by the c++ compiler (not c), and
	<cmath> should be used instead of math.h.
	Move declaration of nan() here.
	* math/complex-stub.h (cabsl): Remove nan() declaration.

	Finish up FreeBSD4.0 support.
	* config/bsd/ctype.cc: Scope out toupper, tolower calls.
	* config/generic/ctype.cc: And here.
	* testsuite/21_strings/char_traits.cc (test02): Guard with
	_GLIBCPP_USE_WCHAR_T.

	via Phil Edwards  <pme@sourceware.cygnus.com>
	* bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
	* acconfig.h: And here.
	* acinclude.m4: Same.
	* testsuite/27_io/istream.cc: And here.
	* testsuite/27_io/ostream.cc: And here.

From-SVN: r33835
2000-05-11 02:40:34 +00:00
Vadim Egorov
c0b84d79d2 streambuf.tcc (basic_streambuf::xsgetn): Fix uflow case.
2000-05-09  Vadim Egorov  <egorovv@mailandnews.com>
	    Benjamin Kosnik  <bkoz@gnu.org>
	    Nathan Myers  <ncm@cantrip.org>
	    Dietmar Kuehl  <dietmar_kuehl@yahoo.com>

        * bits/streambuf.tcc (basic_streambuf::xsgetn): Fix uflow case.
	(basic_streambuf::xsputn): Make consistent.
	* testsuite/27_io/filebuf.cc: Add tests.

Co-Authored-By: Benjamin Kosnik <bkoz@gnu.org>
Co-Authored-By: Dietmar Kuehl <dietmar_kuehl@yahoo.com>
Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r33794
2000-05-09 07:19:14 +00:00
Benjamin Kosnik
d207c3f7ff fstream.tcc (filebuf::_M_init_filebuf): Don't set _M_buf_size based on macro, instead use _M_buf_size_opt.
2000-05-08  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
	_M_buf_size based on macro, instead use _M_buf_size_opt.
	* bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
	(basic_streambuf()): Set _M_buf_size_opt.
	* testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt
	instead of _M_buf_size.

From-SVN: r33768
2000-05-08 17:23:37 +00:00
Benjamin Kosnik
b2dad0e372 libstdc++-v3: New directory.
2000-04-21  Benjamin Kosnik  <bkoz@redhat.com>

	* libstdc++-v3: New directory.

From-SVN: r33317
2000-04-21 20:33:34 +00:00