aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/proc_ptr_5.f90
blob: bf47d1ed3621570747f0e799b3ce67c44573a092 (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
31
32
33
! { dg-do run }
!
! NULL() initialization for PROCEDURE POINTERS
!
! Contributed by Tobias Burnus <burnus@gcc.gnu.org>

program main
implicit none
call test(.true.)
call test(.false.)

contains

integer function hello()
 hello = 42
end function hello

subroutine test(first)
 logical :: first
 integer :: i
 procedure(integer), pointer :: x => null()

 if(first) then
  if(associated(x)) STOP 1
  x => hello
 else
  if(.not. associated(x)) STOP 2
  i = x()
  if(i /= 42) STOP 3
 end if
 end subroutine test

end program main