5 ! Check whether DT assignment with polymorphic components works.
14 class(t), allocatable :: a
20 if (allocated (one%a)) call abort ()
25 if (one%a%x /= 7890) call abort ()
29 if (allocated (one%a)) call abort ()
34 integer, allocatable :: x(:)
38 class(t), allocatable :: a
44 if (allocated (one%a)) call abort ()
48 if (.not.allocated (one%a)) call abort ()
49 if (allocated (one%a%x)) call abort ()
54 if (any (one%a%x /= 7890)) call abort ()
58 if (allocated (one%a)) call abort ()
68 class(t), allocatable :: a(:)
74 if (allocated (one%a)) call abort ()
76 allocate (two%a(2), source=[t(4), t(6)])
78 if (.not.allocated (one%a)) call abort ()
83 if (allocated (one%a)) call abort ()
88 integer, allocatable :: x(:)
92 class(t), allocatable :: a(:)
98 if (allocated (one%a)) call abort ()
100 ! allocate (two%a(2)) ! ICE: SEGFAULT
102 ! if (.not. allocated (one%a)) call abort ()