URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [proc_ptr_6.f90] - Rev 801
Go to most recent revision | Compare with Previous | Blame | View Log
! { dg-do run }
!
! PROCEDURE POINTERS as actual/formal arguments
!
! Contributed by Janus Weil <janus@gcc.gnu.org>
subroutine foo(j)
INTEGER, INTENT(OUT) :: j
j = 6
end subroutine
program proc_ptr_6
PROCEDURE(),POINTER :: ptr1
PROCEDURE(REAL),POINTER :: ptr2
EXTERNAL foo
INTEGER :: k = 0
ptr1 => foo
call s_in(ptr1,k)
if (k /= 6) call abort()
call s_out(ptr2)
if (ptr2(-3.0) /= 3.0) call abort()
contains
subroutine s_in(p,i)
PROCEDURE(),POINTER,INTENT(IN) :: p
INTEGER, INTENT(OUT) :: i
call p(i)
end subroutine
subroutine s_out(p)
PROCEDURE(REAL),POINTER,INTENT(OUT) :: p
p => abs
end subroutine
end program
Go to most recent revision | Compare with Previous | Blame | View Log