summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/proc_ptr_comp_46.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/proc_ptr_comp_46.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/proc_ptr_comp_46.f9029
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_comp_46.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_comp_46.f90
new file mode 100644
index 00000000000..c01b8221210
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/proc_ptr_comp_46.f90
@@ -0,0 +1,29 @@
+! { dg-do compile }
+!
+! PR 77596: [F03] procedure pointer component with implicit interface can point to a function
+!
+! Contributed by toK <t.kondic@leeds.ac.uk>
+
+program xxx
+ implicit none
+
+ type tf
+ procedure(), nopass, pointer :: fp
+ end type tf
+
+ call ass()
+
+contains
+
+ integer function ff(x)
+ integer, intent(in) :: x
+ ff = x + 1
+ end function ff
+
+ subroutine ass()
+ type(tf) :: p
+ p%fp=>ff ! { dg-error "is not a subroutine" }
+ call p%fp(3)
+ end subroutine ass
+
+end