! { dg-do run }
!
! PR fortran/58880
! PR fortran/60495
!
! Contributed by Andrew Benson and Janus Weil
!

module gn
  implicit none
  type sl
     integer, allocatable, dimension(:) :: lv
   contains
     final :: sld
  end type
  type :: nde
     type(sl) :: r
  end type nde

  integer :: cnt = 0

contains

  subroutine sld(s)
    type(sl) :: s
    cnt = cnt + 1
    ! print *,'Finalize sl'
  end subroutine
  subroutine ndm(s)
    type(nde), intent(inout) :: s
    type(nde)                :: i
    i=s
  end subroutine ndm
end module

program main
  use gn
  type :: nde2
     type(sl) :: r
  end type nde2
  type(nde) :: x

  cnt = 0
  call ndm(x)
  if (cnt /= 2) STOP 1

  cnt = 0
  call ndm2()
  if (cnt /= 3) STOP 2
contains
  subroutine ndm2
    type(nde2) :: s,i
    i=s
  end subroutine ndm2
end program main
