summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/internal_readwrite_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/internal_readwrite_1.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/internal_readwrite_1.f9015
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