OSDN Git Service

2006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Feb 2006 02:11:47 +0000 (02:11 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Feb 2006 02:11:47 +0000 (02:11 +0000)
PR libgfortran/26464
* gfortran.dg/backspace_5.f: New test.
* gfortran.dg/backspace_6.f: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111507 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/backspace_5.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/backspace_6.f [new file with mode: 0644]

index d0178e2..5246dd9 100644 (file)
@@ -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 (file)
index 0000000..a651a9e
--- /dev/null
@@ -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 (file)
index 0000000..3d9cc3d
--- /dev/null
@@ -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