diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/proc_decl_14.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/proc_decl_14.f90 | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/proc_decl_14.f90 b/gcc/testsuite/gfortran.dg/proc_decl_14.f90 new file mode 100644 index 000000000..d30ee7a90 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/proc_decl_14.f90 @@ -0,0 +1,26 @@ +! { dg-do compile } +! PR fortran/35830 +! +abstract interface + function ptrfunc() + integer, pointer :: ptrfunc + end function ptrfunc + elemental subroutine elem(a) + integer,intent(in) :: a + end subroutine elem + function dims() + integer :: dims(3) + end function dims +end interface + +procedure(ptrfunc) :: func_a +procedure(elem) :: func_b +procedure(dims) :: func_c + +integer, pointer :: ptr +integer :: array(3) + +ptr => func_a() +call func_b([1,2,3]) +array = func_c() +end |