diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/proc_ptr_26.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/proc_ptr_26.f90 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_26.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_26.f90 new file mode 100644 index 000000000..044f0a403 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/proc_ptr_26.f90 @@ -0,0 +1,31 @@ +! { dg-do run } +! +! PR fortran/42597 +! +! Contributed by mrestelli@gmail.com +! + +module mod_a + implicit none + + abstract interface + pure function intf(x) result(y) + real, intent(in) :: x(:,:) + real :: y(size(x,1),size(x,1),size(x,2)) + end function intf + end interface + + procedure(intf), pointer :: p_fun => null() +end module mod_a + +program main + use mod_a + implicit none + + procedure(intf), pointer :: p_fun2 => null() + + if (associated(p_fun) .or. associated(p_fun2)) & + call abort () +end program main + +! { dg-final { cleanup-modules "mod_a" } } |