Purpose
The MODULE PROCEDURE statement lists those module procedures that have a generic interface.
Format
>>-MODULE PROCEDURE--procedure_name_list----------------------->< |
Rules
+---------------------------------Fortran 95---------------------------------+
The MODULE PROCEDURE statement can appear anywhere among the interface bodies in an interface block that has a generic specification.
+-----------------------------End of Fortran 95------------------------------+
MODULE PROCEDURE statements must be contained in a scoping unit where procedure_name can be accessed as a module procedure, and must be the name that is accesible in this scope.
procedure_name must not have been previously associated with the generic specification of the interface block in which it appears, either by a previous appearance in an interface block or by use or by host association.
The characteristics of module procedures are determined by module procedure definitions, not by interface bodies.
Examples
MODULE M CONTAINS SUBROUTINE S1(IARG) IARG=1 END SUBROUTINE SUBROUTINE S2(RARG) RARG=1.1 END SUBROUTINE END MODULE USE M INTERFACE SS SUBROUTINE SS1(IARG,JARG) END SUBROUTINE MODULE PROCEDURE S1, S2 END INTERFACE CALL SS(N) ! Calls subroutine S1 from M CALL SS(I,J) ! Calls subroutine SS1 END
Related Information