2007-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jan 2007 23:36:25 +0000 (23:36 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jan 2007 23:36:25 +0000 (23:36 +0000)
PR libgfortran/30435
* gfortran.dg/list_read_6.f90: New test.

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

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/list_read_6.f90 [new file with mode: 0644]

index 15167d5..41ebdf2 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/30435
+       * gfortran.dg/list_read_6.f90: New test.
+
 2007-01-12  Olga Golovanevsky  <olga@il.ibm.com>
 
         * gcc.dg/torture/pr24750-1.c:  Add prototype of free.
@@ -50,6 +55,7 @@
 
        * gcc.dg/fold-compare-2.c: New test case for fold_comparison.
 
+>>>>>>> .r120737
 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
 
        * gfortran.dg/chkbits.f90: Added IBCLR tests; test calls
diff --git a/gcc/testsuite/gfortran.dg/list_read_6.f90 b/gcc/testsuite/gfortran.dg/list_read_6.f90
new file mode 100644 (file)
index 0000000..5bab50b
--- /dev/null
@@ -0,0 +1,42 @@
+! { dg-do run }
+! PR30435 Slash at end of input not recognized according to standard.
+! Test case from PR by Steve Kargl.
+
+program t
+  integer a, b, c, d
+  ! This worked as expected
+  open(unit=10, file='tmp.dat')
+  write(10,*) '1 2 3 / 4'
+  rewind(10)
+  a = -1; b = -1; c = -1; d = -1;
+  read(10,*) a,b,c,d
+  if (d.ne.-1) call abort()
+  
+  ! This worked as expected
+  rewind(10)
+  write(10,*) '1 2 3 /'
+  rewind(10)
+  a = -2; b = -2; c = -2; d = -2;
+  read(10,*) a,b,c,d
+  if (d.ne.-2) call abort()
+
+  ! This worked as expected.
+  rewind(10)
+  write(10,*) '1 2'
+  write(10,*) '3 /'
+  rewind(10)
+  a = -3; b = -3; c = -3; d = -3;
+  read(10,*) a,b,c,d
+  if (d.ne.-3) call abort()
+
+  ! This failed before the patch.
+  rewind(10)
+  write(10,*) '1 2 3'
+  write(10,*) '/'
+  rewind(10)
+  a = -4; b = -4; c = -4; d = -4;
+  read(10,*) a,b,c,d
+  if (d.ne.-4) call abort()
+
+  close(unit=10, status='delete')
+end program t