aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-01-12 23:36:25 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-01-12 23:36:25 +0000
commit2e014a85eac8227bae7ffac54d56ed9dc081dab6 (patch)
treeda54114a83b18de94e401c654b6ae6e18257aa34 /gcc
parentb8df885f6399a588fbf4cab17547096c042b356d (diff)
downloadgcc-2e014a85eac8227bae7ffac54d56ed9dc081dab6.zip
gcc-2e014a85eac8227bae7ffac54d56ed9dc081dab6.tar.gz
gcc-2e014a85eac8227bae7ffac54d56ed9dc081dab6.tar.bz2
re PR fortran/30435 (Slash at end of input not recognized according to standard)
2007-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/30435 * gfortran.dg/list_read_6.f90: New test. From-SVN: r120738
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_6.f9042
2 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 15167d5..41ebdf2 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 0000000..5bab50b
--- /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