gcc/libstdc++-v3/testsuite
David Krauss 3531cf5ef3 re PR libstdc++/45628 (std::fstream::tellg invalidates I/O buffer)
2010-09-22  David Krauss  <potswa@mac.com>

	PR libstdc++/45628
	* include/bits/fstream.tcc (basic_filebuf::underflow): Add state
	transition to avoid modality requiring seekoff(0,ios::cur).
	(basic_filebuf::pbackfail): Likewise.
	(basic_filebuf::overflow): Likewise.
	(basic_filebuf::_M_seek): Avoid minor unnecessary conversion.
	(basic_filebuf::seekoff): Remove code to _M_get_ext_pos; make
	(0, ios::cur) a special case preserving buffer contents.
	(basic_filebuf::_M_get_ext_pos): New function to obtain status
	about codecvt extern_t buffer for overflow and seekoff.
	* include/std/fstream (basic_filebuf::_M_get_ext_pos): Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: New,
	verifies that seekoff(0, ios::cur) preserves buffers.
	* testsuite/27_io/basic_filebuf/seekoff/char/45628-2.cc: Likewise.
	for codecvt case. More lenient as it may still flush put area.
	* testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Modify to
	check that seekoff is not required between read and write.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Remove.
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Likewise.
	* testsuite/util/testsuite_character.h (codecvt::do_length): Comply
	with 22.2.1.5.2/10 "Returns ... the LARGEST value in the range..."

From-SVN: r164529
2010-09-22 19:40:43 +00:00
..
17_intro freestanding.cc: Avoid -Wall warnings. 2010-03-19 14:19:23 +00:00
18_support typeindex: New. 2010-09-22 12:04:08 +00:00
19_diagnostics system_error (system_error::system_error(error_code), [...]): Fix for what() to return the NBTS recommended in the Note in 19.5.6.2/14. 2010-09-16 14:55:37 +00:00
20_util typeindex: New. 2010-09-22 12:04:08 +00:00
21_strings libstdc++.exp ([check_v3_target_debug_mode]): Fix so that it really detects when debug mode is activated. 2010-09-03 18:10:46 +00:00
22_locale [multiple changes] 2010-09-15 10:46:39 +00:00
23_containers re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1) 2010-09-18 01:29:31 +00:00
24_iterators [multiple changes] 2010-07-27 17:27:06 +00:00
25_algorithms stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121). 2010-08-11 17:10:04 +00:00
26_numerics cmath: Implement US 136. 2010-08-08 10:07:16 +00:00
27_io re PR libstdc++/45628 (std::fstream::tellg invalidates I/O buffer) 2010-09-22 19:40:43 +00:00
28_regex [multiple changes] 2010-07-27 17:27:06 +00:00
29_atomics * decl2.c (mark_used): Adjust error for use of deleted function. 2010-06-29 20:51:13 -04:00
30_threads * include/std/thread: Add deleted thread(thread&). 2010-08-06 15:41:23 -04:00
abi Return dgs.alc on success 2010-01-09 16:24:52 -08:00
backward Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
config Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
data Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
decimal binary-arith.cc: Fix directive to skip test. 2009-10-06 23:17:07 +00:00
ext [multiple changes] 2010-09-15 10:46:39 +00:00
lib libstdc++.exp, ([check_v3_target_namedlocale]): Clean temporary source file once compiled. 2010-09-15 20:54:48 +00:00
libstdc++-abi abi.exp: Add "libstdc++-abi/" to abi_check FAIL message. 2010-09-06 09:55:40 -04:00
libstdc++-dg [multiple changes] 2009-10-05 17:42:00 +00:00
performance [multiple changes] 2010-09-14 10:27:36 +00:00
tr1 libstdc++.exp: Set additional_prunes. 2010-06-15 17:05:22 -04:00
util re PR libstdc++/45628 (std::fstream::tellg invalidates I/O buffer) 2010-09-22 19:40:43 +00:00
Makefile.am gc++filt.m4: New file. 2010-07-02 10:05:49 +00:00
Makefile.in gc++filt.m4: New file. 2010-07-02 10:05:49 +00:00