Consider the following program.
program test
procedure(fun1), pointer:: fun_ptr
fun_ptr => fun1
print *, fun_ptr (3)
contains
integer function fun1 (x)
implicit none
integer :: x
fun1 = x + 1
end function fun1
end program test
When compiled with flang and stopped in GDB at print line, shows the following:
(gdb) ptype fun_ptr
type = integer
It seems that this pointer to procedure is unhandled and a default type is being used.