C1237 (R1225) A proc-language-binding-spec shall not be specified for an internal procedure.
However, gfortran accepts the following: subroutine foo() contains subroutine bar() bind (c) end subroutine bar end subroutine foo program main use iso_c_binding implicit none contains subroutine test(c) bind(c) character(len=1,kind=c_char) :: c end subroutine test end program main -- Summary: Bind(c): Accepts PROGRAM internal bind(c) procedure Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org OtherBugsDependingO 32630 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34133