The MODULE PROCEDURE statement specifies that the names in the module-procedure-list are part of a generic interface.
Syntax
MODULE PROCEDURE module-procedure-listWhere:module-procedure-list is a list of module procedures accessible by host or use association.
A MODULE PROCEDURE statement can only appear in a generic interface block within a module or within a program unit that accesses a module by use association.
Example
module mod1 interface swap module procedure complex_swap ! interface for a module module procedure logical_swap ! procedure is implicit end interface contains subroutine complex_swap(cx,cy) ! interface is defined here complex :: cx,cy,ct ct=cx cx=cy cy=ct end subroutine subroutine logical_swap(lx,ly) ! interface is defined here logical :: lx,ly,lt lt=lx lx=ly ly=lt end subroutine end module