diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/proc_ptr_10.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/proc_ptr_10.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_10.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_10.f90 new file mode 100644 index 000000000..0ceedaa2d --- /dev/null +++ b/gcc/testsuite/gfortran.dg/proc_ptr_10.f90 @@ -0,0 +1,30 @@ +! { dg-do run } +! +! PR fortran/37253 +! +! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr> + +module myMod + + CONTAINS + + real function proc3( arg1 ) + integer :: arg1 + proc3 = arg1+7 + end function proc3 + + subroutine proc4( arg1 ) + procedure(real), pointer :: arg1 + if (arg1(0)/=7) call abort() + end subroutine proc4 + +end module myMod + +program myProg + use myMod + PROCEDURE (real), POINTER :: p => NULL() + p => proc3 + call proc4( p ) +end program myProg + +! { dg-final { cleanup-modules "myMod" } } |