From 9da7372540424be93813a529fd479be069daea91 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Mon, 24 Oct 2005 03:50:15 +0000 Subject: [PATCH] re PR libfortran/24489 (read_block wrong execution order) 2005-10-23 Jerry DeLisle PR libgfortran/24489 * gfortran.dg/pr24489.f90: New test. From-SVN: r105839 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/pr24489.f90 | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/pr24489.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 57c5b589c0f..7e0e29a54b7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-10-23 Jerry DeLisle + + PR libgfortran/24489 + * gfortran.dg/pr24489.f90: New test. + 2005-10-23 Andrew Pinski PR fortran/23635 diff --git a/gcc/testsuite/gfortran.dg/pr24489.f90 b/gcc/testsuite/gfortran.dg/pr24489.f90 new file mode 100644 index 00000000000..f3327550297 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr24489.f90 @@ -0,0 +1,14 @@ +! { dg-do run } +! PR24489 Assure that read does not go past the end of record. The width of +! the format specifier is 8, but the internal unit record length is 4 so only +! the first 4 characters should be read. +! Contributed by Jerry DeLisle . +program pr24489 + character*4, dimension(8) :: abuf = (/"0123","4567","89AB","CDEF", & + "0123","4567","89AB","CDEF"/) + character*4, dimension(2,4) :: buf + character*8 :: a + equivalence (buf,abuf) + read(buf, '(a8)') a + if (a.ne.'0123') call abort() +end program pr24489 -- 2.30.2