[Bug fortran/89943] New: Submodule functions are not allowed to have C binding
aluaces at udc dot es
gcc-bugzilla@gcc.gnu.org
Wed Apr 3 11:25:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89943
Bug ID: 89943
Summary: Submodule functions are not allowed to have C binding
Product: gcc
Version: 8.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: aluaces at udc dot es
Target Milestone: ---
The submodule
module Foo_mod
interface
module subroutine runFoo4C(ndim) bind(C, name="runFoo")
use, intrinsic :: iso_c_binding
implicit none
integer(c_int32_t) , intent(in) :: ndim
end subroutine runFoo4C
end interface
contains
end module Foo_mod
submodule (Foo_mod) Foo_smod
contains
module subroutine runFoo4C(ndim) bind(C, name="runFoo")
use, intrinsic :: iso_c_binding
implicit none
integer(c_int32_t) , intent(in) :: ndim
end subroutine runFoo4C
end submodule Foo_smod
is giving the following error:
BIND(C) attribute at (1) can only be used for variables or common blocks
That is, so far we cannot have a BIND(C) procedure in the interface of a
submodule.
The discussion at
https://stackoverflow.com/questions/54857067/fortran-c-interoperable-submodule-procedure-with-bindc-reports-error-when-comp
says it should be legal, so it seems it is a bug in gfortran.
More information about the Gcc-bugs
mailing list