As per the current Fortran standard (C1254), my reading is NAME= specifier should not be allowed in an ABSTRACT INTERFACE
but the compiler raises no errors or warnings with the following code:
MODULE m USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_INT !.. IMPLICIT NONE !.. ABSTRACT INTERFACE FUNCTION foo() RESULT(RetVal) BIND(C, NAME="foo") IMPORT :: C_INT !.. Function result INTEGER(C_INT) :: RetVal END FUNCTION foo SUBROUTINE bar() BIND(C, NAME="bar") END SUBROUTINE bar END INTERFACE END MODULE m
Comments?