diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/internal_readwrite_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/internal_readwrite_1.f90 | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/internal_readwrite_1.f90 b/gcc/testsuite/gfortran.dg/internal_readwrite_1.f90 new file mode 100644 index 000000000..405f58154 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/internal_readwrite_1.f90 @@ -0,0 +1,15 @@ +! { dg-do run } +! PR 34565 - internal writes with negative strides +! didn't work. +program main + implicit none + integer :: i + integer :: lo, up, st + character(len=2) :: c (5) + integer, dimension(5) :: n + c = (/ 'a', 'b', 'c', 'd', 'e' /) + write (unit=c(5:1:-2),fmt="(A)") '5','3', '1' + write (unit=c(2:4:2),fmt="(A)") '2', '4' + read (c(5:1:-1),fmt="(I2)") (n(i), i=5,1,-1) + if (any(n /= (/ (i,i=1,5) /))) call abort +end program main |