https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38506
markeggleston at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |markeggleston at gcc dot gnu.org --- Comment #2 from markeggleston at gcc dot gnu.org --- Quick modification to kind=4: MODULE modtest USE ISO_C_BINDING INTERFACE One MODULE PROCEDURE Two END INTERFACE CONTAINS SUBROUTINE Two( chr ) bind(C) CHARACTER(LEN=1, KIND=4), DIMENSION(*) :: chr END SUBROUTINE Two END MODULE modtest PROGRAM main USE ISO_C_BINDING USE modtest CHARACTER(LEN=4, KIND=4) :: chrScalar chrScalar = 'Scal' CALL One( chrScalar ) CALL Two( chrScalar ) END PROGRAM main gfortran -std=f2003 results in: 17 | CALL One( chrScalar ) | 1 Error: There is no specific subroutine for the generic 'one' at (1) pr34506.f03:18:12: 18 | CALL Two( chrScalar ) | 1 Error: Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual argument with array dummy argument 'chr' at (1) Changing only the kind of chrScalar results in: 17 | CALL One( chrScalar ) | 1 Error: There is no specific subroutine for the generic 'one' at (1) pr34506.f03:18:23: 18 | CALL Two( chrScalar ) | 1 Error: Type mismatch in argument 'chr' at (1); passed CHARACTER(4,4) to CHARACTER(1) So, is this fixed? If so its status needs updating.