# Intrinsic Modules

Intrinsic modules, like other module program units, contain specifications and definitions that can be made accessible to other program units. The intrinsic modules are part of the Fortran library.

An intrinsic module is specified in a USE statement, as follows:

USE, INTRINSIC :: mod-name [, rename-list] ...

USE, INTRINSIC :: mod-name, ONLY : [, only-list]

mod-name | Is the name of the intrinsic module.
rename-list | See the description in USE.
only-list | See the description in USE.

Procedures and types defined in an intrinsic module are not themselves intrinsic.

An intrinsic module can have the same name as other global entities, such as program units, common blocks, or external procedures. A scoping unit must not access both an intrinsic module and a non-intrinsic module with the same name.

When INTRINSIC is used, mod-name must be the name of an intrinsic module. If NON_INTRINSIC is used, mod-name must be the name of an nonintrinsic module. If neither is specified, mod-name must be the name of an intrinsic or nonintrinsic module. If both are provided, the nonintrinsic module is used.

The following intrinsic modules are included in the Fortran library: ISO_C_BINDING, ISO_FORTRAN_ENV, and IEEE Intrinsic Modules.

Parent topic: Program Units and Procedures