! { dg-do run } ! ! PR fortran/34187 ! The binding label was not exported for private procedures ! with public generic interfaces. ! module mod use iso_c_binding, only: c_int implicit none private public :: gen, c_int interface gen module procedure test end interface gen contains subroutine test(a) bind(c, name="myFunc") integer(c_int), intent(out) :: a a = 17 end subroutine test end module mod program main use mod implicit none integer(c_int) :: x x = -44 call gen(x) if(x /= 17) call abort() end program main