blob: 0753e33d535d8b15acade78e949212e2c3ad83b7 [file] [log] [blame]
! { dg-do run }
! { dg-options "-Wreturn-type" }
!
! Check that pr58586 is fixed now.
! Based on a contribution by Vladimir Fuka
! Contibuted by Andre Vehreschild
program test_pr58586
implicit none
type :: a
end type
type :: c
type(a), allocatable :: a
end type
type :: b
integer, allocatable :: a
end type
type :: t
integer, allocatable :: comp
end type
type :: u
type(t), allocatable :: comp
end type
! These two are merely to check, if compilation works
call add(b())
call add(b(null()))
! This needs to execute, to see whether the segfault at runtime is resolved
call add_c(c_init())
call sub(u())
contains
subroutine add (d)
type(b), value :: d
end subroutine
subroutine add_c (d)
type(c), value :: d
end subroutine
type(c) function c_init() ! { dg-warning "not set" }
end function
subroutine sub(d)
type(u), value :: d
end subroutine
end program test_pr58586