The following is legal: function x(z) bind(C,name='x'//'f') integer :: z, x end function x
as the Standard (F2003) only says: R509: language-binding-spec is BIND (C [, NAME = scalar-char-initialization-expr ]) C540: The scalar-char-initialization-expr shall be of default character kind. So, any scalar char initialisation expression of default character kind is fair game. This will require removing a good part of the code in gfc_match_bind_c(), and call more generic routines instead, so it's not really bad news (and it also requires remove the gfc_match_name_C function). -- Summary: Binding label can be any scalar char initialisation expression 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: fxcoudert at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36275