! { dg-do compile }

module Test
use ISO_C_BINDING

contains

subroutine Callback(arg) bind(C)
  integer(C_INT)  :: arg
end subroutine Callback

subroutine Check(proc)
  type(C_FUNPTR)  :: proc
end subroutine Check

end module Test


program Main
  use Test
  type(C_FUNPTR)  :: proc

  call Check(C_FUNLOC(Callback))
end program Main
