Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

Fortran Module Naming Conventions

Fortran module entities (data and procedures) have external names that differ from other external entities. Module names use the convention:

Linux

modulename_mp_entity_

Windows

_MODULENAME_mp_ENTITY

modulename is the name of the module. On Windows, the name is uppercase by default.

entity is the name of the module procedure or module data contained within MODULENAME. On Windows, ENTITY is uppercase by default.

_mp_ is the separator between the module and entity names and is always lowercase (except when option assume std_mod_proc_name or option standard-semantics is specified).

For example:

   MODULE mymod
      INTEGER a
   CONTAINS
      SUBROUTINE b (j)
         INTEGER j
      END SUBROUTINE
   END MODULE

On Linux, this results in the following symbols being defined in the compiled object file.

mymod_mp_a_
mymod_mp_b_

On Windows, there is no beginning underscore.