51 lines
973 B
Fortran
51 lines
973 B
Fortran
! { dg-do compile }
|
|
! { dg-options "-std=gnu" }
|
|
! PR fortran/34133
|
|
!
|
|
! The compiler should accept internal procedures with BIND(c) attribute
|
|
! for STD GNU / Fortran 2008.
|
|
!
|
|
subroutine foo() bind(c)
|
|
contains
|
|
subroutine bar() bind (c)
|
|
end subroutine bar
|
|
end subroutine foo
|
|
|
|
subroutine foo2() bind(c)
|
|
use iso_c_binding
|
|
contains
|
|
integer(c_int) function barbar() bind (c)
|
|
barbar = 1
|
|
end function barbar
|
|
end subroutine foo2
|
|
|
|
function one() bind(c)
|
|
use iso_c_binding
|
|
integer(c_int) :: one
|
|
one = 1
|
|
contains
|
|
integer(c_int) function two() bind (c)
|
|
two = 1
|
|
end function two
|
|
end function one
|
|
|
|
function one2() bind(c)
|
|
use iso_c_binding
|
|
integer(c_int) :: one2
|
|
one2 = 1
|
|
contains
|
|
subroutine three() bind (c)
|
|
end subroutine three
|
|
end function one2
|
|
|
|
program main
|
|
use iso_c_binding
|
|
implicit none
|
|
contains
|
|
subroutine test() bind(c)
|
|
end subroutine test
|
|
integer(c_int) function test2() bind (c)
|
|
test2 = 1
|
|
end function test2
|
|
end program main
|