aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2006-03-31 05:15:42 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2006-03-31 05:15:42 +0000
commit9ef47dec918a7b32927f240581d9418981050170 (patch)
treeed41fa0939990e7914d7717a3f472e837c606e62 /gcc
parentd57d34243215318c25a0139d971b15c9b9a1c099 (diff)
downloadgcc-9ef47dec918a7b32927f240581d9418981050170.zip
gcc-9ef47dec918a7b32927f240581d9418981050170.tar.gz
gcc-9ef47dec918a7b32927f240581d9418981050170.tar.bz2
re PR libfortran/26890 (SIZE parameter interacts with same variable in IO list character length specification.)
2006-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/26890 * gfortran.dg/read_size_noadvance.f90: New test. From-SVN: r112571
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/read_size_noadvance.f9023
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 018e11c..79fb94c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..819a28d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/read_size_noadvance.f90
@@ -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
+