! { dg-do compile } ! ! PR 46067: [F03] invalid procedure pointer assignment not detected ! ! Contributed by Janus Weil module m type test_type integer :: id = 1 end type contains real function fun1 (t,x) real, intent(in) :: x type(test_type) :: t print *," id = ", t%id fun1 = cos(x) end function end module use m implicit none call test (fun1) ! { dg-error "Interface mismatch in dummy procedure" } contains subroutine test(proc) interface real function proc(t,x) import :: test_type real, intent(in) :: x class(test_type) :: t end function end interface type(test_type) :: funs real :: r r = proc(funs,0.) print *, " proc(0) ",r end subroutine end