Commit Graph

424 Commits

Author SHA1 Message Date
Paolo Carlini 8268bba6f8 re PR libstdc++/12077 ([3.4 only] wcin.rdbuf()->in_avail() return value too high)
2004-03-19  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12077
	* include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
	no way to find out the conversion used by the underlying FILE*.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
	* testsuite/27_io/objects/char/9.cc: Tweak.

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

From-SVN: r79695
2004-03-19 19:31:38 +00:00
Paolo Carlini 35bd3c283e 14320-2.cc: Remove xfail.
2004-03-05  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/fpos/14320-2.cc: Remove xfail.

From-SVN: r78963
2004-03-05 10:51:27 +00:00
Paolo Carlini 2aa89cbb78 testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to CXXFLAGS_save.
2004-03-04  Paolo Carlini  <pcarlini@suse.de>

	* scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
	CXXFLAGS_save.
	* testsuite/lib/libstdc++.exp: Don't add it conditionally to
	DEFAULT_CXXFLAGS.
	* testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
	from the dg-options.
	* testsuite/23_containers/vector/invalidation/1.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/2.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/3.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/4.cc: Likewise.
	* testsuite/23_containers/vector/resize/1.cc: Likewise.
	* testsuite/26_numerics/complex_value.cc: Likewise.
	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
	* testsuite/27_io/ios_base/storage/3.cc: Likewise.
	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
	* testsuite/27_io/objects/char/5.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/5.cc: Likewise.
	* testsuite/backward/11460.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

	* testsuite/21_strings/basic_string/compare/char/1.cc: Add
	missing test variable.
	* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
	missing test variable.

From-SVN: r78942
2004-03-04 23:29:44 +00:00
Benjamin Kosnik f90e600a4e 1.cc: Provide explicit instantiations for non-weak systems.
2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/allocator/1.cc: Provide explicit
	instantiations for non-weak systems.
	* testsuite/20_util/binders.cc: Same.
	* testsuite/20_util/allocator/8230.cc: Same.
	* testsuite/20_util/allocator/10378.cc: Same.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/is/char/2.cc: Same.
	* testsuite/thread/pthread7-rope.cc: Same.
	* testsuite/thread/pthread6.cc: Same.
	* testsuite/thread/pthread5.cc: Same.
	* testsuite/thread/pthread4.cc: Same.
	* testsuite/thread/pthread1.cc: Same.
	* testsuite/ext/rope.cc: Same.
	* testsuite/ext/hash_set.cc: Same.
	* testsuite/ext/hash_map.cc: Same.
	* testsuite/ext/concept_checks.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
	* testsuite/25_algorithms/unique/2.cc: Same.
	* testsuite/25_algorithms/unique/1.cc: Same.
	* testsuite/25_algorithms/rotate.cc: Same.
	* testsuite/25_algorithms/min_max.cc: Same.
	* testsuite/25_algorithms/equal.cc: Same.
	* testsuite/24_iterators/rel_ops.cc: Same.
	* testsuite/24_iterators/iterator.cc: Same.
	* testsuite/24_iterators/insert_iterator.cc: Same.
	* testsuite/24_iterators/front_insert_iterator.cc: Same.
	* testsuite/24_iterators/back_insert_iterator.cc: Same.
	* testsuite/23_containers/vector/resize/1.cc: Same.
	* testsuite/23_containers/vector/modifiers/2.cc: Same.
	* testsuite/23_containers/vector/modifiers/1.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/1.cc: Same.
	* testsuite/23_containers/vector/element_access/1.cc: Same.
	* testsuite/23_containers/vector/cons/6513.cc: Same.
	* testsuite/23_containers/vector/cons/3.cc: Same.
	* testsuite/23_containers/vector/cons/2.cc: Same.
	* testsuite/23_containers/vector/cons/1.cc: Same.
	* testsuite/23_containers/vector/capacity/8230.cc: Same.
	* testsuite/23_containers/vector/capacity/1.cc: Same.
	* testsuite/23_containers/vector/bool/6886.cc: Same.
	* testsuite/23_containers/stack/members/7158.cc: Same.
	* testsuite/23_containers/set/invalidation/2.cc: Same.
	* testsuite/23_containers/set/invalidation/1.cc: Same.
	* testsuite/23_containers/queue/members/7157.cc: Same.
	* testsuite/23_containers/priority_queue/members/7161.cc: Same.
	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
	* testsuite/23_containers/multiset/insert/1.cc: Same.
	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
	* testsuite/23_containers/map/operators/1.cc: Same.
	* testsuite/23_containers/map/invalidation/2.cc: Same.
	* testsuite/23_containers/map/invalidation/1.cc: Same.
	* testsuite/23_containers/map/insert/1.cc: Same.
	* testsuite/23_containers/list/operators/4.cc: Same.
	* testsuite/23_containers/list/operators/3.cc: Same.
	* testsuite/23_containers/list/operators/2.cc: Same.
	* testsuite/23_containers/list/operators/1.cc: Same.
	* testsuite/23_containers/list/modifiers/3.cc: Same.
	* testsuite/23_containers/list/modifiers/2.cc: Same.
	* testsuite/23_containers/list/modifiers/1.cc: Same.
	* testsuite/23_containers/list/invalidation/4.cc: Same.
	* testsuite/23_containers/list/invalidation/3.cc: Same.
	* testsuite/23_containers/list/invalidation/2.cc: Same.
	* testsuite/23_containers/list/invalidation/1.cc: Same.
	* testsuite/23_containers/list/cons/9.cc: Same.
	* testsuite/23_containers/list/cons/8.cc: Same.
	* testsuite/23_containers/list/cons/7.cc: Same.
	* testsuite/23_containers/list/cons/6.cc: Same.
	* testsuite/23_containers/list/cons/5.cc: Same.
	* testsuite/23_containers/list/cons/4.cc: Same.
	* testsuite/23_containers/list/cons/3.cc: Same.
	* testsuite/23_containers/list/cons/2.cc: Same.
	* testsuite/23_containers/list/cons/1.cc: Same.
	* testsuite/23_containers/list/capacity/1.cc: Same.
	* testsuite/23_containers/deque/operators/1.cc: Same.
	* testsuite/23_containers/deque/invalidation/4.cc: Same.
	* testsuite/23_containers/deque/invalidation/3.cc: Same.
	* testsuite/23_containers/deque/invalidation/2.cc: Same.
	* testsuite/23_containers/deque/invalidation/1.cc: Same.
	* testsuite/23_containers/deque/cons/2.cc: Same.
	* testsuite/23_containers/deque/cons/1.cc: Same.

	* src/allocator.cc: Add char, wchar_t instantiations
	to match extern template declarations in memory.h.

From-SVN: r78922
2004-03-04 18:11:08 +00:00
Paolo Carlini 0b1d67d23b re PR libstdc++/14320 (istreambuf_iterator::difference_type is not a signed integral type)
2004-03-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14320
	* include/bits/postypes.h (class streamoff): Remove, now
	streamoff is just typedef a 64 bit signed integer type.
	(class fpos): Tweak consistently.
	* testsuite/27_io/fpos/14320-1.cc: New.
	* testsuite/27_io/fpos/14320-2.cc: New.
	* testsuite/27_io/fpos/14320-3.cc: New.
	* testsuite/27_io/fpos/14320-4.cc: New.
	* testsuite/27_io/fpos/14320-5.cc: New.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.

From-SVN: r78799
2004-03-03 00:22:05 +00:00
Benjamin Kosnik 2c5d0ae842 atomicity.h: New, forward declarations for __atomic_add and __exchange_and_add.
2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/atomicity.h: New, forward declarations for __atomic_add
	and __exchange_and_add.
	* config/cpu/generic/atomic_word.h: New, typdef for atomic word.
	* config/cpu/cris/atomic_word.h: Same.
	* config/cpu/sparc/atomic_word.h: Same.
	* include/bits/ios_base.h (_Callback_list::_M_remove_reference):
	Qualifiy with __gnu_cxx.
	(_Callback_list::_M_add_reference): Same.
	* include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
	(locale::facet::_M_remove_reference): Same.
	(locale::_Impl::_M_add_reference): Add.
	(locale::_Impl::_M_remove_reference): Same.
	* include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
	(basic_string::_Rep::_M_dispose): Same.
	* src/ios.cc (ios_base::xalloc): Same.
	* src/ios_init.cc (ios_base::Init::Init): Same.
	(ios_base::Init::~Init): Same.
	* src/locale.cc (locale:🆔:_M_id): Same.
	* config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
	static, and inline keyworks.
	* config/cpu/alpha/atomicity.h: Same.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/ia64/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/s390/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.

	* src/Makefile.am (host_sources): Add atomicity.cc.
	(atomicity.cc): New rule.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (host_headers): Remove host atomicity.h.
	(host_headers): Add atomic_word.h.
	(bits_headers): Add bits atomicity.h.
	Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
	* include/Makefile.in: Regenerate.
	* configure.host (atomic_word_dir): Add.
	* configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
	ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
	* configure: Regenerate.
	* config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.

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

From-SVN: r78544
2004-02-27 00:49:50 +00:00
Paolo Carlini b79cef0683 re PR libstdc++/14252 (Problems with count and iterator_traits<istreambuf_iterator<char> >::difference_type)
2004-02-24  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14252
	* include/bits/postypes.h (class streamoff): Add operator++(),
	operator++(int), operator--() and operator--(int).
	* testsuite/27_io/fpos/14252.cc: New.

From-SVN: r78388
2004-02-24 21:20:33 +00:00
Mark Mitchell f196bdc447 9533-1.cc: Open FIFO for writing with ios_base::in|ios_base::out.
* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
	FIFO for writing with ios_base::in|ios_base::out.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
	with "r+".

From-SVN: r78195
2004-02-20 23:51:07 +00:00
Paolo Carlini 3e9b6cf4e0 13858.cc: Qualify exception with std::.
2004-02-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
	Qualify exception with std::.
	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.

From-SVN: r77913
2004-02-16 19:28:06 +00:00
Paolo Carlini 3c4d3154dd 2004-02-14 Paolo Carlini <pcarlini@suse.de>
Adjust last commit.

From-SVN: r77830
2004-02-14 21:22:36 +00:00
Paolo Carlini 45cbe93c0e 9182-2.cc: Make sure the exception is actually thrown.
2004-02-14  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
	sure the exception is actually thrown.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.

From-SVN: r77828
2004-02-14 20:46:14 +00:00
Paolo Carlini ac3cadf042 re PR libstdc++/13858 (Bad error handling in basic_filebuf::imbue)
2004-02-14  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13858
	* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
	In case of conversion errors, throw ios_failure; simplify.
	* testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
	previously we didn't throw in case of conversion errors, instead
	just returned eof().
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.

	* include/bits/fstream.tcc (basic_filebuf<>::overflow):
	Trivial simplification of a conditional.

From-SVN: r77812
2004-02-14 19:04:00 +00:00
Paolo Carlini 86fd2b512a re PR libstdc++/14072 (basic_ios::imbue leaves dangling pointers)
2004-02-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14072
	* include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
	Don't leave dangling pointers.
	* testsuite/27_io/basic_ios/imbue/14072.cc: New.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
	facet is needed in the final test.

From-SVN: r77526
2004-02-09 09:02:52 +00:00
Paolo Carlini c5dd98f3ec 9507.cc: Adjust timings.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Adjust timings.

From-SVN: r77392
2004-02-06 11:45:23 +00:00
Benjamin Kosnik 6a734d618f basic_file_stdio.cc (__gnu_internal::fopen_mode): New function.
2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
	New function.
	(__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
	(__basic_file<char>::_M_open_mode): Delete.
	* config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.

	* testsuite/27_io/basic_filebuf/close/char/9964.cc
	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Correct flags to filebuf::open calls.

	* config/abi/alpha-freebsd5/baseline_symbols.txt
	* config/abi/alpha-linux-gnu/baseline_symbols.txt
	* config/abi/hppa-linux-gnu/baseline_symbols.txt
	* config/abi/i386-freebsd4/baseline_symbols.txt
	* config/abi/i386-freebsd5/baseline_symbols.txt
	* config/abi/i486-linux-gnu/baseline_symbols.txt
	* config/abi/ia64-linux-gnu/baseline_symbols.txt
	* config/abi/mips-linux-gnu/baseline_symbols.txt
	* config/abi/sparc-freebsd5/baseline_symbols.txt
	* config/abi/sparc-linux-gnu/baseline_symbols.txt
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt:
	Remove entry for __basic_file<char>::_M_open_mode.

From-SVN: r77298
2004-02-05 05:24:18 +00:00
Benjamin Kosnik 62b21ea0fc 11584.cc: Correct new and delete declarations, add include and test variable.
2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/storage/11584.cc: Correct new and
	delete declarations, add include and test variable.

From-SVN: r76766
2004-01-27 23:41:16 +00:00
Jerry Quinn 2a837cf803 re PR libstdc++/11584 (ios::iword() fails to zero-initialize storage on failure)
2004-01-27  Jerry Quinn  <jlquinn@optonline.net>

	PR libstdc++/11584
	* include/bits/ios_base.h (ios_base::_M_grow_words):  Add
        iword/pword selector.
	(ios_base::iword, ios_base::pword):  Use it.
	* src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
        iword or pword member on alloc failure.
	* testsuite/27_io/ios_base/storage/11584.cc:  New test.

From-SVN: r76725
2004-01-27 15:45:43 +00:00
Paolo Carlini 300b3317f3 13582-2.cc: Use try_mkfifo.
2004-01-12  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
	Use try_mkfifo.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
	Likewise.

From-SVN: r75738
2004-01-12 17:25:25 +00:00
Mark Mitchell ea1ea21af5 testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
* testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
	* testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
	it.
	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
	and remove Cygwin XFAIL.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.

From-SVN: r75706
2004-01-12 08:11:08 +00:00
Paolo Carlini 09625c1681 re PR libstdc++/13582 (basic_filebuf::imbue drops characters)
2004-01-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13582
	* include/bits/fstream.tcc (imbue): Exploit the external
	buffer to imbue 'on the fly' a new locale and convert its
	remainder with the new codecvt facet.
	(underflow): Tweak slightly to deal with this special case.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.

From-SVN: r75677
2004-01-11 15:17:02 +00:00
Paolo Carlini d8f5bd5016 9318-in.cc: Remove redundant #include.
2004-01-07  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
	Remove redundant #include.
	* testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
	re-enable normal testing.
	* testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
	#include.
	* testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
	More properly, #include <locale>.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
	Remove redundant #include.
	* testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
	redundant DejaGnu directive.
	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
	redundant #include.

From-SVN: r75508
2004-01-07 17:13:51 +00:00
Paolo Carlini b80115c4b7 1.cc: Remove redundant #includes.
2004-01-06  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_other/char/1.cc:
	Remove redundant #includes.
	* testsuite/27_io/basic_istream/extractors_other/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/3.cc:
	Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/char/8258.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.

From-SVN: r75469
2004-01-06 12:20:42 +00:00
Paolo Carlini 223b5084a6 01.cc: Remove redundant #includes.
2003-01-04  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
	Remove redundant #includes.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
	Likewise.

From-SVN: r75398
2004-01-04 23:19:00 +00:00
Mark Mitchell 4f8163b19c re PR c++/12226 (g++ fails to enforce accessibility requirement for copy constructor)
PR c++/12226
	* call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
	(reference_binding): Set it when appropriate.
	(build_temp): New function, split out from ...
	(convert_like_real): ... here.  Honor CHECK_COPY_CONSTRUCTOR_P.
	(initialize_reference): Likewise.

	PR c++/12226
	* g++.dg/init/copy7.c: New test.

	PR c++/12226
	* testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
	constructor.
	* testsuite/27_io/basic_fstream/4.cc: Likewise.
	* testsuite/27_io/basic_ifstream/4.cc: Likewise.
	* testsuite/27_io/basic_ios/4.cc: Likewise.
	* testsuite/27_io/basic_iostream/4.cc: Likewise.
	* testsuite/27_io/basic_istream/4.cc: Likewise.
	* testsuite/27_io/basic_istingstream/4.cc: Likewise.
	* testsuite/27_io/basic_ofstream/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/4.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/4.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/5.cc: Likewise.
	* testsuite/27_io/basic_stringstream/4.cc: Likewise.

	PR c++/13536
	* parser.c (cp_parser): Add in_type_id_in_expr_p.
	(cp_parser_new): Initialize it.
	(cp_parser_postfix_expression): Set it.
	(cp_parser_sizeof_operand): Likewise.
	(cp_parser_parameteR_declaration): Do not commit early to tenative
	parsers when in_type_id_in_expr_p is set.

	PR c++/13536
	* g++.dg/parse/cast1.C: New test.

From-SVN: r75397
2004-01-04 22:42:22 +00:00
Mark Mitchell 5d1e475e2c Fix typo
From-SVN: r75210
2003-12-29 19:28:17 +00:00
Mark Mitchell 517da0ce8a acconfig.h: Add _GLIBCXX_USE_C99_MATH.
* acconfig.h: Add _GLIBCXX_USE_C99_MATH.
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
	* configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
	targeting newlib.
	* aclocal.m4: Regenerated.
	* config.h.in: Likewise.
	* configure: Likewise.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
	(_GLIBCXX_USE_C99_MATH): ... this.

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
	arm-none-elf.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.

From-SVN: r75209
2003-12-29 19:26:16 +00:00
Benjamin Kosnik 941fe801b4 numeric_limits.cc: Add _GLIBCXX_ASSERT to dg-options in testcases that use VERIFY.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
	dg-options in testcases that use VERIFY.
	* testsuite/23_containers/vector/invalidation/1.cc: Same.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/vector/resize/1.cc: Same.
	* testsuite/26_numerics/complex_value.cc: Same.
	* testsuite/27_io/ios_base/storage/1.cc: Same.
	* testsuite/27_io/ios_base/storage/2.cc: Same.
	* testsuite/27_io/ios_base/storage/3.cc: Same.
	* testsuite/27_io/manipulators/standard/char/2.cc: Same.
	* testsuite/backward/11460.cc: Same.
	* testsuite/backward/strstream_members.cc: Same.

	* include/ext/hash_set (class hash_multiset): Fix typo.

From-SVN: r74951
2003-12-22 21:05:22 +00:00
Benjamin Kosnik 70a8416094 5.cc: Don't use stdc++.h.gch.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
	* testsuite/27_io/objects/wchar_t/5.cc: Same.
	* docs/html/test.html: Add docs for constructing test files that
	don't use stdc++.h.gch.
	* scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
	* testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
	differently.

	* include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
	* src/ios_init.cc: Same.
	* config/linker-map.gnu: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.

From-SVN: r74946
2003-12-22 20:09:23 +00:00
Paolo Carlini 1b4513069a locale_facets.tcc (num_get::_M_extract_float): When __found_sci becomes true stop eating thousands separators and the decimal...
2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	When __found_sci becomes true stop eating thousands separators
	and the decimal radix separator.
	* testsuite/22_locale/num_get/get/char/9.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.

	* config/locale/generic/c_locale.cc (__convert_to_v): Don't
	check that *__sanity == '\0': parsing may stop earlier, still
	be successful.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Tweak in one place accordingly.

	* testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.

From-SVN: r74826
2003-12-19 09:35:24 +00:00
Benjamin Kosnik fa972243f6 re PR libstdc++/12855 (Thread safety problems in ios_base::Init)
2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12855
	* include/bits/ios_base.h (Init::_S_ios_base_init): Change to
	_S_refcount, make atomic.
	* src/ios.cc: Adjust definition.
	* src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
	and __atomic_add.
	(ios_base::Init::~Init): Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r74642
2003-12-15 19:03:13 +00:00
Benjamin Kosnik 6b98580b89 basic_ios.h (basic_ios::setstate): Revert.
2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.h (basic_ios::setstate): Revert.
	* include/bits/istream.tcc: Only call setstate if __err != goodbit.
	* include/bits/ostream.tcc: Same.
	* testsuite/27_io/basic_ios/exceptions/char/2.cc: New.

	* testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
	internal buffer non-static.

From-SVN: r74151
2003-12-02 02:48:51 +00:00
Paolo Carlini 2d25605a54 13171-2.cc: Tweak for a few small problems (fix timings, use VERIFY..)
2003-11-29  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
	Tweak for a few small problems (fix timings, use VERIFY..)

From-SVN: r74034
2003-11-29 17:42:16 +00:00
Paolo Carlini 05a47a473d 13171-3.cc: Remove.
2003-11-28  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
	the original third testcase for libstdc++/13171 belong here.

From-SVN: r74017
2003-11-28 10:24:27 +00:00
Paolo Carlini ac912ba1db 13171-3.cc: Remove extraneous wchar_t lines.
2003-11-28  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
	Remove extraneous wchar_t lines.

From-SVN: r74016
2003-11-28 08:02:51 +00:00
Paolo Carlini 5536b61c1e re PR libstdc++/11544 (wifstream conversion errors result in wrong rdstate())
2003-11-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11544
	PR libstdc++/11603
	* include/bits/fstream.tcc (underflow): Throw ios_base:failure
	upon incomplete or invalid byte sequences in the file.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.

From-SVN: r74000
2003-11-27 17:56:05 +00:00
Benjamin Kosnik 12841eb3d0 re PR libstdc++/9371 (Bad exception handling in i/ostream::operator>>/<<(streambuf*))
2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9371
	PR libstdc++/9546
	PR libstdc++/10093
	PR libstdc++/10095
	* include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
	(basic_ios::_M_setstate): Consolidate common error handling code.
	* include/bits/basic_ios.tcc: Tweak.
	* include/bits/fstream.tcc: Tweak.
	* include/bits/istream.tcc: Use _M_setstate for common exception
	handling. Move setstate calls after catch.
	(basic_istream::tellg): Check for exceptions thrown by streambuf
	virtual functions.
	(basic_istream::seekg): Same.
	* include/bits/ostream.tcc: Same, but for ostream.
	(basic_ostream::flush): Check for exceptions thrown by streambuf
	virtual functions.
	(basic_istream::tellp): Same.
	(basic_istream::seekp): Same.
	* include/bits/locale_facets.tcc: Tweak.
	* include/bits/streambuf.tcc: Tweak.
	(__copy_streambufs): Propagate exceptions.
	* testsuite/testsuite_io.h (fail_streambuf): New.
	(fail_num_get): New.
	(fail_num_put): New.
	(facet_error): New.
	(underflow_error): New.
	(overflow_error): New.
	(positioning_error): New.
	* testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
        exceptions_badbit_throw.cc, exceptions_failbit.cc,
        exceptions_failbit_throw.cc: New.
	* testsuite/27_io/basic_istream/extractors_other/char/
	error_failbit.cc, exceptions_badbit_throw.cc,
        exceptions_failbit_throw.cc, exceptions_null.cc: New.
	* testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
	exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	error_failbit.cc, exceptions_badbit_throw.cc,
        exceptions_failbit_throw.cc, exceptions_null.cc: New.
	* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
	New.

From-SVN: r73979
2003-11-27 08:14:25 +00:00
Benjamin Kosnik 48f499cf81 re PR libstdc++/12297 (istream::sentry::sentry() handles eof() incorrectly.)
2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12297
	* include/bits/istream.tcc
	(basic_istream::sentry::sentry): Set failbit and eofbit when eof.
	* testsuite/27_io/basic_istream/sentry/char/12297.cc: New.

From-SVN: r73968
2003-11-26 22:45:56 +00:00
Paolo Carlini c03d83d499 re PR libstdc++/13171 (Bugs in basic_filebuf::imbue)
2003-11-26  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/13171
	* include/bits/fstream.tcc (imbue): Relax the conditions under
	which the function succeeds: allow for two consecutive calls with
	the same name; state dependent encodings are ok even after open
	if at the beginning of the file; don't check seekoff return value
	(pipes, cin, cout, etc...)
	* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
	* testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.

	* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
	correctly use the UTF-8 locale appearing in the PR.

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

From-SVN: r73954
2003-11-26 15:56:40 +00:00
Paolo Carlini 2934246345 re PR libstdc++/12868 (basic_filebuf::imbue fails too easily)
2003-11-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12868
	* include/bits/fstream.tcc (imbue): For encodings != -1 it's
	always ok to imbue a new locale, provided seekoff(0, cur, ...)
	doesn't fail, of course.
	(underflow): In order for the above to work, deal gracefully
	with _M_codecvt->in returning codecvt_base::error while
	(__ilen = __iend - this->eback()) > 0: it just means __ilen
	correctly converted internal characters before an error.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.

From-SVN: r73697
2003-11-18 08:21:38 +00:00
Paolo Carlini a2dcfada8a re PR libstdc++/13007 (basic_streambuf::pubimbue, imbue wrong)
2003-11-13  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/13007
	* include/bits/fstream.tcc (imbue): Don't touch the stored
	locale.
	* include/std/std_streambuf.h (imbue): According to the
	standard, base class version does nothing.
	(pubimbue): Store the locale.
	* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
	* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.

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

From-SVN: r73563
2003-11-13 23:13:22 +00:00
Petur Runolfsson 5681c890b6 re PR libstdc++/12594 (DRs 60 [TC] and 63 [TC] not implemented)
2003-11-13  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12594
	* include/bits/ostream.tcc
	(basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
	basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
	basic_ostream::operator<<(ios_base& (*)(ios_base&))):
	Implement the resolution of DR 60 (TC): These are not formatted
	output functions so don't construct sentry objects and don't
	catch exceptions.
	(basic_ostream::put, basic_ostream::write): Implement the
	resolution of DR 63 (TC) by catching exceptions and setting
	badbit.
	(basic_ostream::flush): Implement the resolution of DR 60 (TC):
	This is not an unformatted output function so don't construct
	a sentry object.
	* testsuite/testsuite_io.h (sync_streambuf): Define.
	* testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
	* testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
	* testsuite/27_io/basic_ostream/put/char/1.cc: New test.
	* testsuite/27_io/basic_ostream/write/char/1.cc: New test.

From-SVN: r73551
2003-11-13 17:43:48 +00:00
Paolo Carlini f144e859cc 11305-1: Fix, closely following the testcase included in the PR.
2003-11-13  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
	Fix, closely following the testcase included in the PR.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.

From-SVN: r73548
2003-11-13 14:19:39 +00:00
Paolo Carlini dfad48c6e8 re PR libstdc++/12875 (Weird behaviour in basic_filebuf::setbuf())
2003-11-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12875
	* include/bits/fstream.tcc (setbuf): Don't do anything
	after open(), in particular don't discard data.
	(_M_allocate_internal_buffer): Tweak to not allocate memory
	in case the buffer is provided by the user via setbuf.
	* include/ext/stdio_filebuf.h: Tweak comment.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
	setbuf does nothing after open().
	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.

From-SVN: r73477
2003-11-12 01:14:34 +00:00
Petur Runolfsson 5e93f39f64 re PR libstdc++/12790 (basic_filebuf doesn't handle stateful encodings)
2003-11-03  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12790
	* include/bits/fstream.tcc: Delete _M_last_overflowed.
	(basic_filebuf::basic_filebuf): Initialize _M_state_last.
	(basic_filebuf::open, basic_filebuf::close): Assign
	_M_state_beg to _M_state_cur and _M_state_last.
	(basic_filebuf::close): Call _M_terminate_output to handle
	unshift and flushing.
	(basic_filebuf::underflow): Assign _M_state_last, throw
	exception instead of calling abort when codecvt::max_length()
	is bad.
	(basic_filebuf::seekoff): Use _M_state_last when calling
	codecvt::length(), pass correct state to _M_seek.
	(basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
	(basic_filebuf::_M_seek): Add __state_type parameter,
	set _M_state_cur correctly, store the resulting state in
	the return value and use _M_terminate_output to handle
	flushing and unshift.
	(basic_filebuf::_M_terminate_output): Flush contents of
	output buffer, if any, then call codecvt::unshift as
	needed and output the result.
	(basic_filebuf::sync): Move here, don't modify _M_writing
	or _M_reading.

	* include/std/std_fstream.h
	(basic_filebuf::_M_state_last): Declare it.
	(basic_filebuf::_M_last_overflowed): Delete.
	(basic_filebuf::_M_seek): Add __state_type parameter.
	(basic_filebuf::sync): Declare only.
	(basic_filebuf::_M_output_unshift): Delete.
	(basic_filebuf::_M_terminate_output): Declare it.

	* testsuite/testsuite_character.h:
	Define character class and state class plus char_traits and
	codecvt specializations for same for testing support for
	stateful encodings.

	* testsuite/27_io/basic_filebuf/close/12790-1.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
	* testsuite/27_io/basic_filebuf/open/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
	* testsuite/27_io/basic_filebuf/sync/char/1.cc,
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
	New tests.

	* testsuite/27_io/basic_filebuf/3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
	* testsuite/27_io/basic_fstream/3.cc,
	* testsuite/27_io/basic_ifstream/3.cc,
	* testsuite/27_io/basic_ofstream/3.cc:
	Use streamoff as off_type and fpos<state_type> as pos_type.

	* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
	Check that sync does *not* set _M_writing to false.

From-SVN: r73245
2003-11-04 05:27:41 +00:00
Benjamin Kosnik 0f09879bd2 TODO: Add links.
2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/TODO: Add links.
	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
	Uncomment.

From-SVN: r72991
2003-10-27 21:43:33 +00:00
Benjamin Kosnik 9540958eff re PR libstdc++/10081 (basic_ios::_M_cache_locale leaves NULL members in the face of unknown locales)
2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10081
	* testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
	* testsuite_hooks.cc: Same.
	* 22_locale/numpunct/members/pod/1.cc: Edit.
	* 22_locale/numpunct/members/pod/2.cc: Same.
	* 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
	* 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
	* 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
	* 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
	* 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
	* 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
	* 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
	* 27_io/basic_istream/sentry/pod/1.cc: New.
	* 27_io/basic_ostream/sentry/pod/1.cc: New.
	* 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
	* 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.

From-SVN: r72728
2003-10-20 22:11:40 +00:00
Benjamin Kosnik 4c4809c175 [multiple changes]
2003-10-16  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/8610
	PR libstdc++/11450
	PR libstdc++/11543
	PR libstdc++/12065
	* config/io/basic_file_stdio.cc (__basic_file::seekoff):
	Change return value from streampos to streamoff.
	(__basic_file::seekpos): Delete.
	* config/io/basic_file_stdio.h: Same.
	* config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
	* include/Makefile.am (bits_headers): Add bits/postypes.h.
	* include/bits/char_traits.h: Include bits/postypes.h instead of
	bits/fpos.h.
	* include/bits/fstream.tcc (basic_filebuf::open,
	basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
	values, use == and != instead.
	(basic_filebuf::_M_seek): Use explicit conversion from streamoff
	to pos_type.
	(basic_filebuf::imbue):  Don't use ! on pos_type values, use
	== instead. Don't use __check_facet(_M_codecvt) unless is_open().
	* include/bits/postypes.h: New file.
	Add __streamoff_base_type typedef, streamsize.
	(streamoff, streampos, wstreampos): Define typedefs, with
	streamoff defined as...
	(streamoff): New class. Document implementation defined
	aspects.
	(fpos): New implementation. Document implementation defined
	aspects.
	* include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
	explicit conversion from pos_type to off_type.
	* include/std/std_iosfwd.h: Include bits/postypes.h instead
	of bits/fpos.h.
	* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
	* testsuite/27_io/fpos/11450.cc: New test.
	* testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
	* testsuite/27_io/types/3.cc: New test.

2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>

        * configure.host: Remove fpos_include_dir.
        * configure.ac: Remove FPOS_INC_SRCDIR.
        * configure: Regenerate.
        * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
        * aclocal.m4: Regenerate.
        * include/Makefile.am (host_headers): Remove fpos.h.
        (bits_headers): Add postypes.h.
        * include/Makefile.in: Regenerate.
        * config/os/gnu-linux/fposh: Remove.
        * config/os/generic/fpos.h: Remove.

        * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
        * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
        * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
        * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
        * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
        * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
        * testsuite/27_io/objects/char/10.cc: Same.

From-SVN: r72582
2003-10-16 22:37:53 +00:00
Paolo Carlini f5677b1560 codecvt_specializations.h: Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2003-10-12  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
	Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_function.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/streambuf_iterator.h
	* include/std/std_iosfwd.h: Likewise.
	* include/std/std_istream.h: Likewise.
	* include/std/std_sstream.h: Likewise.
	* include/std/std_streambuf.h: Likewise.
	* src/ios.cc: Likewise.
	* include/bits/c++config:
	Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
	dg-error directive due to removal of a blank line.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

From-SVN: r72392
2003-10-12 10:12:09 +00:00
Benjamin Kosnik 93d046861d [multiple changes]
2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* src/string-inst.cc: Prune.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

2003-10-09  Petur Runolfsson  <peturr02@ru.is>

	* src/io-inst.cc: Don't include iostream.
	* include/bits/ios_base.h (ios_base::failure): Use string.
	* src/Makefile.am: Add ios_failure.cc.
	* src/Makefile.in: Regenerate.
	* src/ios.cc: Move ios_base::failure definitions to...
	* src/ios_failure.cc: ...here. New.

From-SVN: r72272
2003-10-09 16:53:54 +00:00
Petur Runolfsson 1a139c5924 re PR libstdc++/9874 (filebuf::seekpos fails if codecvt::encoding() <= 0)
2003-10-09  Petur Runolfsson  <peturr02@ru.is>

        PR libstdc++/9874
        * include/bits/fstream.tcc (basic_filebuf::seekoff):
        Move code needed for both seekoff and seekpos...
        (basic_filebuf::_M_seek): ...here. New function.
        (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
        * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
        * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.

        * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.

From-SVN: r72268
2003-10-09 16:11:40 +00:00
Paolo Carlini 184b434cf8 re PR libstdc++/12206 (Segmentation fault in basic_filebuf::seekoff)
2003-10-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12206
	* include/bits/fstream.tcc (imbue): In case a codecvt facet
	is not available, set _M_codecvt = 0.
	* testsuite/27_io/basic_filebuf/imbue/12206.cc: New.

From-SVN: r72087
2003-10-04 07:52:02 +00:00
Paolo Carlini 8dcaff2850 re PR libstdc++/12232 (Incorrect handling of openmode argument in filebuf::seekoff and seekpos)
2003-10-02  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12232
	* include/bits/fstream.tcc (seekoff): Ignore the openmode
	argument; simplify.
	* config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
	seekpos): Remove the openmode argument.
	* config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
	seekpos): Remove redundant placeholder for the openmode argument.
	* testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.

From-SVN: r72048
2003-10-02 20:37:06 +00:00
Paolo Carlini e5012ba5ec [multiple changes]
2003-09-29  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12296
	* include/bits/istream.tcc (peek): Set eofbit if sgetc
	returns eof.
	* testsuite/27_io/basic_istream/peek/char/12296.cc:
	New, from the PR.

2003-09-29  Nathan Myers  <ncm@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11400
	* include/bits/stl_algo.h (search_n):
	Use iterator_traits<>::difference_type for __n.
	* testsuite/25_algorithms/search_n/11400.cc: New, from the PR.

From-SVN: r71911
2003-09-29 17:36:18 +00:00
Brad Spencer 2d07c3f562 10132-1.cc: Explicitly qualify exceptions.
2003-09-26  Brad Spencer  <spencer@infointeractive.com>

	* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
	Explicitly qualify exceptions.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
	* testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.

From-SVN: r71832
2003-09-26 20:20:55 +00:00
Benjamin Kosnik 11f10e6b1f locale_facets.tcc: Tweak to avoid warnings.
2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Tweak to avoid warnings.
	* testsuite/testsuite_hooks.h: Same.
	* testsuite/*/*.cc: Same.

From-SVN: r71693
2003-09-23 20:03:30 +00:00
Petur Runolfsson 8c8dec01e2 fstream.tcc (basic_filebuf::seekoff): Use codecvt::length to handle variable-width stateless encodings correctly.
2003-09-10  Petur Runolfsson  <peturr02@ru.is>

	* include/bits/fstream.tcc (basic_filebuf::seekoff):
	Use codecvt::length to handle variable-width stateless encodings
	correctly.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.

From-SVN: r71271
2003-09-10 13:43:15 +00:00
Petur Runolfsson f1813b6972 re PR libstdc++/9028 (codecvt<wchar_t, char, mbstate_t> doesn't work on Red Hat Linux 8.0.)
2003-09-04  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9028
	* include/bits/fstream.tcc
	(basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
	(basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
	_M_ext_buf_size, _M_ext_next and _M_ext_end.
	(basic_filebuf::underflow): Handle variable-width stateless
	encodings (codecvt::encoding() == 0), including UTF-8.
	* include/std/std_fstream.h (basic_filebuf):
	Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
	* testsuite/27_io/objects/wchar_t/12.cc: New test.
	* testsuite/27_io/objects/wchar_t/13.cc: New test.

From-SVN: r71111
2003-09-05 12:55:33 +00:00
Petur Runolfsson 4c620c398e re PR libstdc++/12048 (unget does not work)
2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12048
	* include/ext/stdio_sync_filebuf.h
	(stdio_sync_filebuf::_M_unget_buf): Declare it.
	(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
	(stdio_sync_filebuf::uflow): Store the returned character in
	_M_unget_buf.
	(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
	_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
	(stdio_sync_filebuf<char>::xsgetn): Store last read character in
	_M_unget_buf, if any, else eof().
	(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
	_M_unget_buf, if any, else eof().
	* testsuite/27_io/objects/char/12048.cc: Rename to...
	* testsuite/27_io/objects/char/12048-1.cc: ...this.
	* testsuite/27_io/objects/char/12048-2.cc: New test.
	* testsuite/27_io/objects/char/12048-3.cc: New test.
	* testsuite/27_io/objects/char/12048-4.cc: New test.
	* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
	* testsuite/ext/stdio_sync_filebuf_char.cc
	(test02, test03, test04, test05): New tests.
	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
	(test02, test03, test04, test05): New tests.

From-SVN: r71027
2003-09-03 14:57:04 +00:00
Petur Runolfsson 3bedd16188 10.cc: Move wcout stuff...
2003-08-27  Petur Runolfsson  <peturr02@ru.is>

	* testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
	* testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.

From-SVN: r70867
2003-08-27 21:39:52 +00:00
Loren J. Rittle 73780bfe9a cin_unget-1.txt: New.
* testsuite/data/cin_unget-1.txt: New.
	* testsuite/27_io/objects/char/12048.cc: New.

From-SVN: r70804
2003-08-26 11:46:22 +00:00
Benjamin Kosnik cb584bcf98 testsuite_hooks.h: Remove list include.
2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h: Remove list include.
	(func_callback): Define as unique type, not std::list.
	Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
	* testsuite/libstdc++-v3.dg/dg.exp: Same.
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
	* testsuite/23_containers/bitset_ctor.cc:
	* testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
	* testsuite/18_support/numeric_limits.cc: Same.
	* testsuite/21_strings/basic_string/append/char/1.cc: Same.
	* testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/compare/char/1.cc: Same.
	* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
	* testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
	* testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
	* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
	* testsuite/21_strings/basic_string/find/char/1.cc: Same.
	* testsuite/21_strings/basic_string/find/char/2.cc: Same.
	* testsuite/21_strings/basic_string/find/char/3.cc: Same.
	* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
	* testsuite/21_strings/basic_string/insert/char/1.cc: Same.
	* testsuite/21_strings/basic_string/insert/char/2.cc: Same.
	* testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
	* testsuite/21_strings/basic_string/operators/char/1.cc: Same.
	* testsuite/21_strings/basic_string/operators/char/2.cc: Same.
	* testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/replace/char/1.cc: Same.
	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
	* testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
	* testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
	* testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
	* testsuite/21_strings/basic_string/substr/char/1.cc: Same.
	* testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
	* testsuite/23_containers/bitset_ctor.cc: Same.
	* testsuite/23_containers/bitset_shift.cc: Same.
	* testsuite/23_containers/vector_ctor.cc: Same.
	* testsuite/23_containers/vector_element_access.cc: Same.
	* testsuite/24_iterators/istreambuf_iterator.cc: Same.
	* testsuite/24_iterators/iterator.cc: Same.
	* testsuite/24_iterators/ostreambuf_iterator.cc: Same.
	* testsuite/25_algorithms/lower_bound.cc: Same.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
        Same.

From-SVN: r69892
2003-07-28 17:12:16 +00:00
Benjamin Kosnik aecf642c78 *: Change __gnu_cxx_test to __gnu_test.
2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*: Change __gnu_cxx_test to __gnu_test.

From-SVN: r69761
2003-07-24 21:08:03 +00:00
Benjamin Kosnik 5dfda04264 testsuite_flags.in (--build-includes): Remove extraneous paths for libio.
2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/testsuite_flags.in (--build-includes): Remove extraneous
	paths for libio.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
	(test03): Include typeinfo for bad_cast.
	* testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
	* testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.

From-SVN: r69651
2003-07-21 22:12:53 +00:00
Paolo Carlini bda243ec50 Nathan C.
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
	unnecessary includes and unused string literals.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.

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

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

From-SVN: r66724
2003-05-12 16:10:55 +00:00
Benjamin Kosnik 51ff814940 [multiple changes]
2003-05-10  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9027
	PR libstdc++/9520
	PR libstdc++/10096
	* include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
	implementation, based on old wchar_t specialization, add support
	for codecvt::in() return value of codecvt_base::noconv, remove
	_M_file.sys_ungetc() call.
	* include/std/std_fstream.h (basic_file::underflow,
	basic_file::uflow, basic_file::_M_underflow):  Remove
	specialization declarations, call _M_underflow from generic versions
	of underflow and uflow.
	* src/fstream.cc (basic_file::underflow, basic_file::uflow,
	basic_file::_M_underflow):  Remove specializations.
	* src/Makefile.am (sources):  Remove fstream.cc.
	* src/Makefile.in:  Regenerated.
	* testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.

2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
	buffer.
	* config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
	unbuffered bits.
	(__basic_file::xsputn): Same.
	(__basic_file::seekoff): Same.
	(__basic_file::seekpos): Same.
	(__basic_file::showmanyc): Same.
	* config/io/basic_file_stdio.cc: Same.
	* include/std/std_fstream.h: Same.
	* include/bits/fstream.tcc: Same.
	* src/fstream.cc: Same.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.

2003-05-10  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9520
	PR libstdc++/9661
	PR libstdc++/9662
	* include/ext/stdio_sync_filebuf.h:  New file.
	(basic_stdiobuf):  New.
	* include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
	* include/Makefile.in: Regenerate.
	* include/bits/ios_base.h (Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Remove declarations.
	* src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
	buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
	* src/ios.cc (Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Remove.
	(Init::Init):  Create and use syncronized buffers.
	(ios_base::sync_with_stdio):  Destroy syncronized buffers,
	create and install unsyncronized buffers.
	* testsuite/27_io/objects/char/10.cc:  New test.
	* testsuite/27_io/objects/char/9.cc:  New test.
	* testsuite/27_io/objects/char/9661-1.cc:  New test.
	* testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
	* testsuite/27_io/objects/char/9661-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/1.cc:  New test.
	* testsuite/27_io/objects/wchar_t/10.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/3045.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3647.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/4_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/5.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5268.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/7.cc:  New test.
	* testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/8.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/9520.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/9662.cc:  New test.
	* testsuite/ext/stdiobuf_char.cc:  New test.
	* testsuite/ext/stdiobuf_wchar_t.cc:  New test.

From-SVN: r66678
2003-05-11 04:20:57 +00:00
Paolo Carlini 6e39f8601a 3.cc: Remove unnecessary includes and unused string literals.
2003-05-10  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
	unnecessary includes and unused string literals.
	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.

From-SVN: r66663
2003-05-10 15:05:15 +00:00
Benjamin Kosnik 7968097540 cons: New.
2003-05-07  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons: New.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: New.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: New.

From-SVN: r66580
2003-05-07 21:27:29 +00:00
Benjamin Kosnik 2aacd7357a [multiple changes]
2003-04-28  Petur Runolfsson  <peturr02@ru.is>

        PR libstdc++/9523
        * include/bits/ios_base.h (Init::_S_ios_create,
        Init::_S_ios_destroy):  Remove declarations.
        (Init::_S_create_buffers,
        Init::_S_destroy_buffers):  Declare
        * src/ios.cc (Init::_S_ios_create):  Remove
        (Init::_S_create_buffers):  Create buffers and add to streams.
        (Init::_S_ios_destroy):  Rename to...
        (Init::_S_destroy_buffers):  this.
        (Init::Init):  Only construct streams once.
        (Init::~Init):  Flush streams, don't destroy them.
        (ios_base::sync_with_stdio):  Don't destroy streams, only buffers.
        * testsuite/27_io/ios_base/sync_with_stdio/9523.cc:  New test.
        * testsuite/27_io/objects/char/5.cc:  New test.
        * testsuite/27_io/objects/char/5268.cc:  Avoid undefined behavior.
        * testsuite/27_io/objects/char/6.cc:  New test.
        * testsuite/27_io/objects/char/7.cc:  New test.

2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>

        * testsuite/27_io/objects/char/8.cc:  New test.

From-SVN: r66177
2003-04-28 17:15:03 +00:00
Benjamin Kosnik a1796d12ff re PR libstdc++/10132 (filebuf destructor throws exceptions)
2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10132
	* include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
	exception specifications.
	(basic_filebuf::close): Same.
	(basic_filebuf::_M_pback_destroy): Same.
	(basic_filebuf::_M_destroy_internal_buffer): Same.
	(basic_filebuf): Remove __res_type typedef.
	* src/fstream.cc: Same.
	* include/bits/fstream.tcc
	(basic_filebuf::_M_convert_to_external): Simplify.
	(basic_filebuf::seekoff): Use has_facet	before use_facet.
	(basic_filebuf::close): Add exception specification of throw().
	* testsuite/27_io/basic_filebuf/cons: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.

From-SVN: r66091
2003-04-26 00:23:18 +00:00
Paolo Carlini 06f5e63748 3.cc: _S_pback_size now belongs to basic_filebuf.
2003-04-23  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
	belongs to basic_filebuf.
	* testsuite/27_io/basic_fstream/3.cc: Likewise.
	* testsuite/27_io/basic_ifstream/3.cc: Likewise.
	* testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_iostream/3.cc: Likewise.
	* testsuite/27_io/basic_istream/3.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
	_S_pback_size now belongs to basic_filebuf.
	* testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
	belongs to basic_filebuf.
	* testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
	_S_pback_size now belongs to basic_filebuf.
	* testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
	to basic_filebuf.
	* testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_stringstream/3.cc: Likewise.

From-SVN: r66018
2003-04-23 22:34:51 +00:00
Phil Edwards 6894ddcf3d howto.html ('LWG Issues'): Add issue 60, partial implementation only.
2003-04-23  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
	implementation only.
	* include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
	Comment and change to comply with DR 60 and the effect on gcount().
	* include/std/std_istream.h:  Update comments.
	* testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
	comments about reasons for tests.  Test sync() against gcount().
	* testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
	for effect on gcount().
	* testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
	for effect on gcount().

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

From-SVN: r65957
2003-04-22 21:06:56 +00:00
Benjamin Kosnik 06e7ca50ab re PR libstdc++/9555 (ostream inserters fail to set badbit on exception)
2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9555
	* include/bits/ostream.tcc: Catch all exceptions for formatted
	output, instead of std::exception and derivatives.
	* include/bits/istream.tcc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
	* testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
	* testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
	* testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
	New.

From-SVN: r65770
2003-04-18 03:46:44 +00:00
Benjamin Kosnik 3d838e28dd [multiple changes]
2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
 	    Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/generic/ctype_inline.h: Fix.

2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h
	(__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
	Change to run_named_locale_test.
	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.

	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
	run_test_named_locale.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
	* testsuite/22_locale/collate/compare/char/1.cc: Same.
	* testsuite/22_locale/collate/compare/char/2.cc: Same.
	* testsuite/22_locale/collate/compare/char/3.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
	* testsuite/22_locale/collate/hash/char/2.cc: Same.
	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/transform/char/2.cc: Same.
	* testsuite/22_locale/collate/transform/char/3.cc: Same.
	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
	* testsuite/22_locale/collate_byname/1.cc: Same.
	* testsuite/22_locale/ctype/is/char/2.cc: Same.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
	* testsuite/22_locale/facet/2.cc: Same.
	* testsuite/22_locale/locale/cons/2.cc: Same.
	* testsuite/22_locale/locale/cons/4.cc: Same.
	* testsuite/22_locale/locale/cons/5.cc: Same.
	* testsuite/22_locale/locale/cons/7.cc: Same.
	* testsuite/22_locale/locale/cons/7222-c.cc: Same.
	* testsuite/22_locale/locale/cons/7222-env.cc: Same.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
	* testsuite/22_locale/messages/members/char/1.cc: Same.
	* testsuite/22_locale/messages/members/char/2.cc: Same.
	* testsuite/22_locale/messages/members/char/3.cc: Same.
	* testsuite/22_locale/messages_byname/1.cc: Same.
	* testsuite/22_locale/money_get/get/char/1.cc: Same.
	* testsuite/22_locale/money_get/get/char/2.cc: Same.
	* testsuite/22_locale/money_get/get/char/3.cc: Same.
	* testsuite/22_locale/money_get/get/char/4.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
	* testsuite/22_locale/money_put/put/char/1.cc: Same.
	* testsuite/22_locale/money_put/put/char/2.cc: Same.
	* testsuite/22_locale/money_put/put/char/3.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/moneypunct/members/char/2.cc: Same.
	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
	* testsuite/22_locale/moneypunct_byname/1.cc: Same.
	* testsuite/22_locale/num_get/get/char/1.cc: Same.
	* testsuite/22_locale/num_get/get/char/2.cc: Same.
	* testsuite/22_locale/num_get/get/char/3.cc: Same.
	* testsuite/22_locale/num_get/get/char/5.cc: Same.
	* testsuite/22_locale/num_get/get/char/6.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
	* testsuite/22_locale/num_put/put/char/1.cc: Same.
	* testsuite/22_locale/num_put/put/char/2.cc: Same.
	* testsuite/22_locale/num_put/put/char/3.cc: Same.
	* testsuite/22_locale/num_put/put/char/5.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
	* testsuite/22_locale/numpunct/members/char/1.cc: Same.
	* testsuite/22_locale/numpunct/members/char/2.cc: Same.
	* testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
	* testsuite/22_locale/numpunct_byname/1.cc: Same.
	* testsuite/22_locale/numpunct_byname/2.cc: Same.
	* testsuite/22_locale/time_get/date_order/char/1.cc: Same.
	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_put/put/char/1.cc: Same.
	* testsuite/22_locale/time_put/put/char/2.cc: Same.
	* testsuite/22_locale/time_put/put/char/3.cc: Same.
	* testsuite/22_locale/time_put/put/char/4.cc: Same.
	* testsuite/22_locale/time_put/put/char/5.cc: Same.
	* testsuite/22_locale/time_put/put/char/6.cc: Same.
	* testsuite/22_locale/time_put/put/char/7.cc: Same.
	* testsuite/22_locale/time_put/put/char/8.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.

2003-04-14  Andreas Tobler  <toa@pop.agri.ch>

	* configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
	solaris includes, not generic.

From-SVN: r65622
2003-04-15 06:36:31 +00:00
Nathan Myers 21a1d2c493 PR libstdc++/9701 (in_avail())
2003-04-14  Nathan Myers  <ncm@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9701 (in_avail())
	* include/std/std_streambuf.h (in_avail): Simplify, in_avail
	doesn't care if there is anything in some putback cell.
	* testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.

	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
	unused string literals.

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

From-SVN: r65603
2003-04-14 22:43:32 +00:00
David Edelsohn 4440f5b597 3983-fstream.cc: Change basic_streambuf instantiation to "unsigned char".
* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
        Change basic_streambuf instantiation to "unsigned char".
        * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.

From-SVN: r65526
2003-04-12 17:13:12 -04:00
Paolo Carlini 7ef9fd85ef Remove _M_buf_size_opt, use directly _M_buf_size instead.
2003-04-12  Paolo Carlini  <pcarlini@unitus.it>

	Remove _M_buf_size_opt, use directly _M_buf_size instead.
	* include/bits/fstream.tcc
	(basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
	references to _M_buf_size_opt.
	* include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
	* include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
	__bufsize to __in_avail and __size_opt to __buf_size.
	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
	* include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
	* include/std/std_streambuf.h (~basic_streambuf(),
	basic_streambuf()): Likewise, remove _M_buf_size_opt member.
	* testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.

From-SVN: r65518
2003-04-12 19:21:35 +00:00
Paolo Carlini 2bc67e0663 re PR libstdc++/9533 (Can't read from tty with ifstream)
2003-04-12  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9533
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.

From-SVN: r65507
2003-04-12 13:56:37 +00:00
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