diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2006-02-28 02:11:47 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2006-02-28 02:11:47 +0000 |
commit | 167f0c7e07a7cd702c966436c8cd6875cceb8697 (patch) | |
tree | 528f33b510246cfb0963de8eed07f2cc87ce673d | |
parent | 9985dd8aafd954ba667b41ab3816e9da2bb7027f (diff) | |
download | gcc-167f0c7e07a7cd702c966436c8cd6875cceb8697.zip gcc-167f0c7e07a7cd702c966436c8cd6875cceb8697.tar.gz gcc-167f0c7e07a7cd702c966436c8cd6875cceb8697.tar.bz2 |
re PR libfortran/26464 (Runtime I/O error/invald argument on READ)
2006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/26464
* gfortran.dg/backspace_5.f: New test.
* gfortran.dg/backspace_6.f: New test.
From-SVN: r111507
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/backspace_5.f | 34 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/backspace_6.f | 33 |
3 files changed, 73 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d0178e2..5246dd9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/26464 + * gfortran.dg/backspace_5.f: New test. + * gfortran.dg/backspace_6.f: New test. + 2006-02-26 Roger Sayle <roger@eyesopen.com> * gcc.dg/fold-eqandnot-1.c: New test case. diff --git a/gcc/testsuite/gfortran.dg/backspace_5.f b/gcc/testsuite/gfortran.dg/backspace_5.f new file mode 100644 index 0000000..a651a9e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/backspace_5.f @@ -0,0 +1,34 @@ +!{ dg-do run } +! PR26464 File I/O error related to buffering and BACKSPACE +! Test case derived from case by Dale Ranta. +! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> + program test + integer,parameter :: datasize = 1000 + dimension idata(datasize) + open (11, status="scratch", form="unformatted") + idata(1) = -1 + idata( datasize) = -2 + write(11)idata + idata(1) = -2 + idata( datasize) = -3 + write(11)idata + idata(1) = -3 + idata( datasize) = -4 + write(11)idata + idata(1) = -4 + idata( datasize) = -5 + write(11)idata + read(11,end= 1000 )idata + call abort() + 1000 continue + backspace 11 + backspace 11 + backspace 11 + read(11,end= 1001 )idata + if(idata(1).ne.-3 .or. idata(datasize).ne.-4) call abort() + stop + 1001 continue + call abort() + 1010 stop + end +
\ No newline at end of file diff --git a/gcc/testsuite/gfortran.dg/backspace_6.f b/gcc/testsuite/gfortran.dg/backspace_6.f new file mode 100644 index 0000000..3d9cc3d --- /dev/null +++ b/gcc/testsuite/gfortran.dg/backspace_6.f @@ -0,0 +1,33 @@ +!{ dg-do run } +! PR26464 File I/O error related to buffering and BACKSPACE +! Test case derived from case by Dale Ranta. +! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> + program test + integer,parameter :: datasize = 5000 + dimension idata(datasize) + open (11, status="scratch", form="unformatted") + idata(1) = -1 + idata(datasize) = -2 + write(11)idata + idata(1) = -2 + idata(datasize) = -3 + write(11)idata + idata(1) = -3 + idata(datasize) = -4 + write(11)idata + backspace 11 + backspace 11 + idata(1) = -2 + idata(datasize) = -3 + write(11)idata + read(11,end= 1003 )idata + call abort() + 1003 continue + backspace 11 + backspace 11 + read(11,end= 1004 )idata + if(idata(1).ne.-2 .or.idata(datasize).ne.-3) call abort() + stop + 1004 continue + end +
\ No newline at end of file |