blob: 236c54df512078c065797e15da7a0d57e503258f [file] [log] [blame]
! { dg-do run }
!
! PR 41766: [OOP] SELECT TYPE selector as actual argument with INTENT(INOUT)
!
! Contributed by Janus Weil <janus@gcc.gnu.org>
implicit none
type t1
integer :: a
end type
type, extends(t1) :: t2
integer :: b
end type
class(t1),allocatable :: cp
allocate(t2 :: cp)
select type (cp)
type is (t2)
cp%a = 98
cp%b = 76
call s(cp)
print *,cp%a,cp%b
if (cp%a /= cp%b) STOP 1
class default
STOP 2
end select
contains
subroutine s(f)
type(t2), intent(inout) :: f
f%a = 3
f%b = 3
end subroutine
end