1! { dg-do compile } 2! PR fortran/35830 3! 4abstract interface 5 function ptrfunc() 6 integer, pointer :: ptrfunc 7 end function ptrfunc 8 elemental subroutine elem(a) 9 integer,intent(in) :: a 10 end subroutine elem 11 function dims() 12 integer :: dims(3) 13 end function dims 14end interface 15 16procedure(ptrfunc) :: func_a 17procedure(elem) :: func_b 18procedure(dims) :: func_c 19 20integer, pointer :: ptr 21integer :: array(3) 22 23ptr => func_a() 24call func_b([1,2,3]) 25array = func_c() 26end 27