From 99634fd7da6eed1a08c6c1c0b6d458d02564bdd8 Mon Sep 17 00:00:00 2001
From: jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 12 Jan 2007 23:36:25 +0000
Subject: [PATCH] 2007-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	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                   |  6 ++++
 gcc/testsuite/gfortran.dg/list_read_6.f90 | 42 +++++++++++++++++++++++
 2 files changed, 48 insertions(+)
 create mode 100644 gcc/testsuite/gfortran.dg/list_read_6.f90

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 15167d5c4e17..41ebdf225701 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 000000000000..5bab50bab13f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/list_read_6.f90
@@ -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
-- 
GitLab