mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-28 18:56:06 +00:00
23 lines
774 B
Fortran
23 lines
774 B
Fortran
! { dg-do run }
|
|
! { dg-additional-options "-ffrontend-optimize -fdump-tree-original" }
|
|
! PR fortran/35339 - make sure that I/O of an implied DO loop
|
|
! of allocatable character arrays a) works and b) is converted
|
|
! to a transfer_array
|
|
program main
|
|
implicit none
|
|
integer:: i
|
|
integer, parameter:: N = 10
|
|
character(len=:), dimension(:),allocatable:: ca
|
|
allocate(character(len=N):: ca(3))
|
|
open(unit=10,status="scratch")
|
|
ca(1) = "foo"
|
|
ca(2) = "bar"
|
|
ca(3) = "xyzzy"
|
|
write (10, '(3A10)') (ca(i),i=1,3)
|
|
rewind (10)
|
|
ca(:) = ''
|
|
read (10, '(3A10)') (ca(i),i=1,3)
|
|
if (ca(1) /= 'foo' .or. ca(2) /= 'bar' .or. ca(3) /= 'xyzzy') call abort
|
|
end program
|
|
! { dg-final { scan-tree-dump-times "_gfortran_transfer_array" 2 "original" } }
|