! { dg-do run } | |
! | |
! PR fortran/67721 | |
! Check that scalar to array assignments of derived type constructor | |
! deep copy the value when there are allocatable components. | |
program p | |
implicit none | |
type :: t1 | |
integer :: c1 | |
end type t1 | |
type :: t2 | |
type(t1), allocatable :: c2 | |
end type t2 | |
block | |
type(t2) :: v(4) | |
v = t2(t1(3)) | |
v(2)%c2%c1 = 7 | |
v(3)%c2%c1 = 11 | |
v(4)%c2%c1 = 13 | |
if (v(1)%c2%c1 /= 3) STOP 1 | |
if (v(2)%c2%c1 /= 7) STOP 2 | |
if (v(3)%c2%c1 /= 11) STOP 3 | |
if (v(4)%c2%c1 /= 13) STOP 4 | |
end block | |
end program p |