1! { dg-do compile} 2! 3! TS 29113 4! 8.1 Removed restrictions on ISO_C_BINDING module procedures 5! 6! [...] 7! 8! The function C_FUNLOC from the intrinsic module ISO_C_BINDING has 9! the restriction in ISO/IEC 1539-1:2010 that its argument shall be 10! interoperable. 11! 12! These restrictions are removed. 13 14module m 15 use ISO_C_BINDING 16 implicit none 17 18 ! Declare a non-interoperable Fortran procedure interface. 19 abstract interface 20 function foo (x, y) 21 integer :: foo 22 integer, intent (in) :: x, y 23 end function 24 end interface 25 26contains 27 28 subroutine test (fptr, cptr) 29 procedure (foo), pointer, intent(in) :: fptr 30 type(C_FUNPTR), intent(out) :: cptr 31 32 cptr = c_funloc (fptr) 33 end subroutine 34end module 35