blob: 722efc80fe13c5fb6d4f8690bc15e55f0f06b48e [file] [log] [blame]
! { dg-do run }
! Test the fix for PR43895, in which the dummy 'a' was not
! dereferenced for the deallocation of component 'a', as required
! for INTENT(OUT).
!
! Contributed by Salvatore Filippone <sfilippone@uniroma2.it>
!
module d_mat_mod
type :: base_sparse_mat
end type base_sparse_mat
type, extends(base_sparse_mat) :: d_base_sparse_mat
integer :: i
end type d_base_sparse_mat
type :: d_sparse_mat
class(d_base_sparse_mat), allocatable :: a
end type d_sparse_mat
end module d_mat_mod
use d_mat_mod
type(d_sparse_mat) :: b
allocate (b%a)
b%a%i = 42
call bug14 (b)
if (allocated (b%a)) STOP 1
contains
subroutine bug14(a)
implicit none
type(d_sparse_mat), intent(out) :: a
end subroutine bug14
end