aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2005-12-23 02:56:34 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2005-12-23 02:56:34 +0000
commit1c3a47459b84141aeba46bc1273fed8fb39c8d79 (patch)
treebf8ebdb6baa55a2bf3ed573d595b539f1f81a342 /gcc
parent752b602fede7017f745d81d78d80ecc1bec25b0d (diff)
downloadgcc-1c3a47459b84141aeba46bc1273fed8fb39c8d79.zip
gcc-1c3a47459b84141aeba46bc1273fed8fb39c8d79.tar.gz
gcc-1c3a47459b84141aeba46bc1273fed8fb39c8d79.tar.bz2
re PR libfortran/25307 (internal read with end=label aborts)
2005-12-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/25307 * gfortran.dg/list_read_5.f90: New test. From-SVN: r109003
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_5.f9038
2 files changed, 43 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 078c541..b5f1063 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25307
+ * gfortran.dg/list_read_5.f90: New test.
+
2005-12-22 Richard Henderson <rth@redhat.com>
* gcc.target/i386/sse-7.c: Use -msse2.
diff --git a/gcc/testsuite/gfortran.dg/list_read_5.f90 b/gcc/testsuite/gfortran.dg/list_read_5.f90
new file mode 100644
index 0000000..f69d1f3
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/list_read_5.f90
@@ -0,0 +1,38 @@
+! { dg-do run }
+! PR25307 Check handling of end-of-file conditions for list directed reads.
+! Prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
+program pr25307
+ character(len=10) :: str
+ character(len=10) :: a(5)
+ a=""
+ a(1)="123"
+ a(3)="234"
+ str = '123'
+! Check internal unit
+ i = 0
+ j = 0
+ read( str, *, end=10 ) i,j
+ call abort()
+10 continue
+ if (i.ne.123) call abort()
+ if (j.ne.0) call abort()
+! Check file unit
+ i = 0
+ write(10,'(a)') "123"
+ rewind(10)
+ read(10, *, end=20) i,j
+ call abort()
+20 continue
+ if (i.ne.123) call abort()
+ if (j.ne.0) call abort()
+! Check internal array unit
+ i = 0
+ j = 0
+ k = 0
+ read(a(1:5:2),*, end=30)i,j,k
+ call abort()
+30 continue
+ if (i.ne.123) call abort()
+ if (j.ne.234) call abort()
+ if (k.ne.0) call abort()
+end program pr25307