2005-12-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Dec 2005 02:56:34 +0000 (02:56 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Dec 2005 02:56:34 +0000 (02:56 +0000)
PR libgfortran/25307
* gfortran.dg/list_read_5.f90: New test.

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

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

index 078c541..b5f1063 100644 (file)
@@ -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 (file)
index 0000000..f69d1f3
--- /dev/null
@@ -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