gcc/libstdc++-v3/include
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
..
backward Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
bits re PR libstdc++/9371 (Bad exception handling in i/ostream::operator>>/<<(streambuf*)) 2003-11-27 08:14:25 +00:00
c c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove. 2003-07-30 16:51:51 +00:00
c_compatibility re PR c++/6072 (3.2 g++ testsuite breakage on cygwin) 2003-09-25 20:30:20 +00:00
c_std std_cmath.h: Don't import C99's float transcendentals into the __gnu_cxx::__c99_binding... 2003-11-15 14:26:47 +00:00
debug formatter.h: Use _Tp as template argument. 2003-11-21 05:49:21 +00:00
ext PR libstdc++/12882 (partial) 2003-11-21 20:30:12 +00:00
std std_fstream.h: Tweak a comment. 2003-11-16 00:55:51 +00:00
Makefile.am [multiple changes] 2003-11-11 20:09:16 +00:00
Makefile.in [multiple changes] 2003-11-11 20:09:16 +00:00
stdc++.h stdc++.h: New. 2003-03-14 22:16:06 +00:00