diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/arrayio_derived_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/arrayio_derived_1.f90 | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/arrayio_derived_1.f90 b/gcc/testsuite/gfortran.dg/arrayio_derived_1.f90 new file mode 100644 index 000000000..dd12561b7 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/arrayio_derived_1.f90 @@ -0,0 +1,33 @@ +! { dg-do run } +! PR 24862: IO for arrays of derived type handled incorrectly. +program arrayio_derived_1 + implicit none + type tp + integer :: i + character(len=1) :: c + end type tp + type(tp) :: x(5) + character(len=500) :: a + integer :: i, b(5) + + x%i = 256 + x%c = "q" + + write(a, *) x%i + read(a, *) b + do i = 1, 5 + if (b(i) /= 256) then + call abort () + end if + end do + write(a, *) x ! Just test that the library doesn't abort. + write(a, *) x(:)%i + b = 0 + read(a, *) b + do i = 1, 5 + if (b(i) /= 256) then + call abort () + end if + end do + +end program arrayio_derived_1 |