! { dg-do run } ! { dg-additional-sources bind_c_usage_10_c.c } ! ! PR fortran/34079 ! ! Check BIND(C) for ENTRY ! module mod use iso_c_binding implicit none contains subroutine sub1(j) bind(c, name="mySub1") integer(c_int) :: j real(c_float) :: x j = 5 return entry sub1ent(x) x = 55.0 end subroutine sub1 subroutine sub2(j) integer(c_int) :: j real(c_float) :: x j = 6 return entry sub2ent(x) bind(c, name="mySubEnt2") x = 66.0 end subroutine sub2 subroutine sub3(j) bind(c, name="mySub3") integer(c_int) :: j real(c_float) :: x j = 7 return entry sub3ent(x) bind(c, name="mySubEnt3") x = 77.0 end subroutine sub3 subroutine sub4(j) integer(c_int) :: j real(c_float) :: x j = 8 return entry sub4ent(x) bind(c) x = 88.0 end subroutine sub4 integer(c_int) function func1() bind(c, name="myFunc1") real(c_float) :: func1ent func1 = -5 return entry func1ent() func1ent = -55.0 end function func1 integer(c_int) function func2() real(c_float) :: func2ent func2 = -6 return entry func2ent() bind(c, name="myFuncEnt2") func2ent = -66.0 end function func2 integer(c_int) function func3() bind(c, name="myFunc3") real(c_float) :: func3ent func3 = -7 return entry func3ent() bind(c, name="myFuncEnt3") func3ent = -77.0 end function func3 integer(c_int) function func4() real(c_float) :: func4ent func4 = -8 return entry func4ent() bind(c) func4ent = -88.0 end function func4 end module mod ! { dg-final { cleanup-modules "mod" } }