! { dg-do run } | |
! { dg-options "-std=f2003 " } | |
! PR fortran/38936 | |
! Check associate to polymorphic entities. | |
! Contributed by Tobias Burnus, burnus@gcc.gnu.org. | |
type t | |
end type t | |
type, extends(t) :: t2 | |
end type t2 | |
class(t), allocatable :: a, b | |
allocate( t :: a) | |
allocate( t2 :: b) | |
associate ( one => a, two => b) | |
select type(two) | |
type is (t) | |
STOP 1 | |
type is (t2) | |
print *, 'OK', two | |
class default | |
STOP 2 | |
end select | |
select type(one) | |
type is (t2) | |
STOP 3 | |
type is (t) | |
print *, 'OK', one | |
class default | |
STOP 4 | |
end select | |
end associate | |
end |