summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/proc_ptr_10.f90
blob: 0ceedaa2dff0c68971e07b845dc18e96817af719 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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" } }