blob: c6f2b79c1faa52b37e95c437ca10dd2387b6a0e9 [file] [log] [blame]
! { 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