2006-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Mar 2006 05:15:42 +0000 (05:15 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Mar 2006 05:15:42 +0000 (05:15 +0000)
PR libgfortran/26890
* gfortran.dg/read_size_noadvance.f90: New test.

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

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

index 018e11c..79fb94c 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/26890
+       * gfortran.dg/read_size_noadvance.f90: New test.
+
 2006-03-30  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR fortran/25031
diff --git a/gcc/testsuite/gfortran.dg/read_size_noadvance.f90 b/gcc/testsuite/gfortran.dg/read_size_noadvance.f90
new file mode 100644 (file)
index 0000000..819a28d
--- /dev/null
@@ -0,0 +1,23 @@
+! { dg-do run }
+! PR26890 Test for use of SIZE variable in IO list.
+! Test case from Paul Thomas.
+! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+  character(80) :: buffer, line
+  integer :: nchars
+  line = "The quick brown fox jumps over the lazy dog."
+  open (10)
+  write (10, '(a)') trim(line)
+  rewind (10)
+  read (10, '(a)', advance = 'no', size = nchars, eor = 998) buffer
+  call abort()
+998 if (nchars.ne.44) call abort()
+  rewind (10)
+  buffer = "how about some random text here just to be sure on this one."
+  nchars = 80
+  read (10, '(a)', advance = 'no', size = nchars, eor = 999) buffer(:nchars)
+999 if (nchars.ne.44) call abort()
+  if (buffer.ne.line) call abort()
+  close (10, status="delete")
+end
+