Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/proc_ptr_7.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line source
! { dg-do run } ! { dg-additional-sources proc_ptr_7.c } ! ! PR fortran/32580 ! Procedure pointer test ! ! Contributed by Tobias Burnus <burnus@gcc.gnu.org> program proc_pointer_test use iso_c_binding, only: c_int implicit none interface subroutine assignF(f) import c_int procedure(Integer(c_int)), pointer :: f end subroutine end interface procedure(Integer(c_int)), pointer :: ptr call assignF(ptr) if(ptr() /= 42) call abort() ptr => f55 if(ptr() /= 55) call abort() call foo(ptr) if(ptr() /= 65) call abort() contains subroutine foo(a) procedure(integer(c_int)), pointer :: a if(a() /= 55) call abort() a => f65 if(a() /= 65) call abort() end subroutine foo integer(c_int) function f55() f55 = 55 end function f55 integer(c_int) function f65() f65 = 65 end function f65 end program proc_pointer_test