! { dg-do run } | |
! | |
! Test the fix for PR83611, in which the assignment caused a | |
! double free error and the initialization of 'foo' was not done. | |
! | |
module pdt_m | |
implicit none | |
type :: vec(k) | |
integer, len :: k=3 | |
integer :: foo(k)=[1,2,3] | |
end type vec | |
end module pdt_m | |
program test_pdt | |
use pdt_m | |
implicit none | |
type(vec) :: u,v | |
if (any (u%foo .ne. [1,2,3])) STOP 1 | |
u%foo = [7,8,9] | |
v = u | |
if (any (v%foo .ne. [7,8,9])) STOP 2 | |
end program test_pdt |