1! { dg-do run } 2! { dg-additional-sources bind_c_usage_10_c.c } 3! 4! PR fortran/34079 5! 6! Check BIND(C) for ENTRY 7! 8module mod 9 use iso_c_binding 10 implicit none 11contains 12 subroutine sub1(j) bind(c, name="mySub1") 13 integer(c_int) :: j 14 real(c_float) :: x 15 j = 5 16 return 17 entry sub1ent(x) 18 x = 55.0 19 end subroutine sub1 20 subroutine sub2(j) 21 integer(c_int) :: j 22 real(c_float) :: x 23 j = 6 24 return 25 entry sub2ent(x) bind(c, name="mySubEnt2") 26 x = 66.0 27 end subroutine sub2 28 subroutine sub3(j) bind(c, name="mySub3") 29 integer(c_int) :: j 30 real(c_float) :: x 31 j = 7 32 return 33 entry sub3ent(x) bind(c, name="mySubEnt3") 34 x = 77.0 35 end subroutine sub3 36 subroutine sub4(j) 37 integer(c_int) :: j 38 real(c_float) :: x 39 j = 8 40 return 41 entry sub4ent(x) bind(c) 42 x = 88.0 43 end subroutine sub4 44 45 integer(c_int) function func1() bind(c, name="myFunc1") 46 real(c_float) :: func1ent 47 func1 = -5 48 return 49 entry func1ent() 50 func1ent = -55.0 51 end function func1 52 integer(c_int) function func2() 53 real(c_float) :: func2ent 54 func2 = -6 55 return 56 entry func2ent() bind(c, name="myFuncEnt2") 57 func2ent = -66.0 58 end function func2 59 integer(c_int) function func3() bind(c, name="myFunc3") 60 real(c_float) :: func3ent 61 func3 = -7 62 return 63 entry func3ent() bind(c, name="myFuncEnt3") 64 func3ent = -77.0 65 end function func3 66 integer(c_int) function func4() 67 real(c_float) :: func4ent 68 func4 = -8 69 return 70 entry func4ent() bind(c) 71 func4ent = -88.0 72 end function func4 73end module mod 74