1! { dg-do run } 2! { dg-options "-std=f2003 -fall-intrinsics" } 3 4! PR fortran/38936 5! Check associate to polymorphic entities. 6 7! Contributed by Tobias Burnus, burnus@gcc.gnu.org. 8 9type t 10end type t 11 12type, extends(t) :: t2 13end type t2 14 15class(t), allocatable :: a, b 16allocate( t :: a) 17allocate( t2 :: b) 18 19associate ( one => a, two => b) 20 select type(two) 21 type is (t) 22 call abort () 23 type is (t2) 24 print *, 'OK', two 25 class default 26 call abort () 27 end select 28 select type(one) 29 type is (t2) 30 call abort () 31 type is (t) 32 print *, 'OK', one 33 class default 34 call abort () 35 end select 36end associate 37end 38