[Bug fortran/38829] New: Bogus BIND(C) error message
burnus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Jan 13 18:06:00 GMT 2009
Compiling the following program gives the error:
Error: Type 'y_c' at (1) is a parameter to the BIND(C) procedure 'wrapper' but
is not C interoperable because derived type 'ty_c' is not C interoperable
It works if one moves the TYPE declaration up. It also works with the
SUBROUTINE is not BIND(C).
TODO:
- Move check from decl.c to resolve.c
- Change "parameter" to (dummy/formal) "argument" as otherwise it can be
confused with the PARAMETER attribute.
Found at:
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/5392e4c270d4f3c7
Where it was reported by Steven Correll.
MODULE mExample
CONTAINS
SUBROUTINE wrapper(y_c) bind(c)
USE iso_c_binding
type, bind(c) :: ty_c
type(c_ptr) :: y_cptr
Integer(c_int) ny
end type
type(ty_c) :: y_c
END SUBROUTINE
END MODULE
--
Summary: Bogus BIND(C) error message
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38829
More information about the Gcc-bugs
mailing list