! { dg-do compile } ! ! TS 29113 ! 8.1 Removed restrictions on ISO_C_BINDING module procedures ! ! [...] ! ! The function C_FUNLOC from the intrinsic module ISO_C_BINDING has ! the restriction in ISO/IEC 1539-1:2010 that its argument shall be ! interoperable. ! ! These restrictions are removed. module m use ISO_C_BINDING implicit none ! Declare a non-interoperable Fortran procedure interface. abstract interface function foo (x, y) integer :: foo integer, intent (in) :: x, y end function end interface contains subroutine test (fptr, cptr) procedure (foo), pointer, intent(in) :: fptr type(C_FUNPTR), intent(out) :: cptr cptr = c_funloc (fptr) end subroutine end module