1! { dg-do run }
2! This test case simply checks that c_funloc exists, accepts arguments of 
3! flavor FL_PROCEDURE, and returns the type c_funptr
4module c_funloc_tests
5  use, intrinsic :: iso_c_binding, only: c_funptr, c_funloc
6
7contains
8  recursive subroutine sub0() bind(c)
9    type(c_funptr) :: my_c_funptr
10
11    my_c_funptr = c_funloc(sub0)
12  end subroutine sub0
13end module c_funloc_tests
14
15program driver
16  use c_funloc_tests
17  
18  call sub0()
19end program driver
20