An interface block can be used to specify a generic name to reference all of the procedures within the interface block. Statement format for initial line in block: INTERFACE generic-name This kind of interface block can be used to extend or redefine a generic intrinsic procedure. The procedures that are given the generic name must be the same kind of subprogram: all must be functions, or all must be subroutines. Any procedure reference involving a generic procedure name must be resolvable to one specific procedure; it must be unambiguous. EXAMPLES: INTERFACE GROUP_SUBS SUBROUTINE INTEGER_SUB (A, B) INTEGER, INTENT(INOUT) :: A, B END SUBROUTINE INTEGER_SUB SUBROUTINE REAL_SUB (A, B) REAL, INTENT(INOUT) :: A, B END SUBROUTINE REAL_SUB SUBROUTINE COMPLEX_SUB (A, B) COMPLEX, INTENT(INOUT) :: A, B END SUBROUTINE COMPLEX_SUB END INTERFACE The three subroutines can be referenced by their individual specific names or by the group name GROUP_SUBS. The following example shows a reference to INTEGER_SUB: INTEGER V1, V2 CALL GROUP_SUBS (V1, V2)