diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_eor.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_eor.f90 | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/read_eor.f90 b/gcc/testsuite/gfortran.dg/read_eor.f90 new file mode 100644 index 000000000..e6c849eab --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_eor.f90 @@ -0,0 +1,16 @@ +! { dg-do run } +! { dg-options "-std=legacy" } +! +! 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 <jvdelisle@verizon.net>. +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 |