summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-04 22:42:32 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-04 22:42:32 +0000
commit6216acec8a96dce5c4deb2102cce07b67a0828bf (patch)
tree65c44c2de016efc62e22b368ac2174dff478f580 /libstdc++-v3/testsuite
parent762fbc725360a8259765f6905ffd8cafaba63218 (diff)
downloadgcc-6216acec8a96dce5c4deb2102cce07b67a0828bf.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62408 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite')
-rw-r--r--libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc b/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
index 75c2e1cac77..58a56509583 100644
--- a/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
+++ b/libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
@@ -570,6 +570,20 @@ void test08()
mb.sputbackc(0);
}
+// libstdc++/9439, libstdc++/9425
+void test09()
+{
+ using namespace std;
+ bool test = true;
+
+ filebuf fbuf;
+ fbuf.open(name_01, ios_base::in);
+ filebuf::int_type r = fbuf.sputbackc('a');
+ fbuf.close();
+
+ VERIFY( r == filebuf::traits_type::eof() );
+}
+
main()
{
test01();
@@ -582,5 +596,6 @@ main()
test07();
test08();
+ test09();
return 0;
}