blob: 715312e6bfcd01936ea1e1032b468b55e88e3773 [file] [log] [blame]
! { dg-do run }
!
! Test the fix for the array version of PR64757.
!
! Based on by Michael Lee Rilee <mike@rilee.net>
!
type :: Test
integer :: i
end type
type :: TestReference
class(Test), allocatable :: test(:)
end type
type(TestReference) :: testList
type(test), allocatable :: x(:)
testList = TestReference([Test(99), Test(199)]) ! Gave: The rank of the element in the
! structure constructor at (1) does not
! match that of the component (1/0)
! allocate (testList%test(2), source = [Test(99), Test(199)]) ! Works, of course
x = testList%test
select type (y => testList%test) ! Check vptr set
type is (Test)
if (any(x%i .ne. y%i)) STOP 1
class default
STOP 2
end select
end