LF Fortran 95

Specification Statements


The ALLOCATABLE statement declares allocatable arrays. The shape of an allocatable array is determined when space is allocated for it by an ALLOCATE statement.


The CHARACTER statement declares entities of type CHARACTER.


The COMMON statement provides a global data facility. It specifies blocks of physical storage, called common blocks, that can be accessed by any scoping unit in an executable program.


The COMPLEX statement declares names of type COMPLEX.


The DATA statement provides initial values for variables. It is not executable.

Derived-Type Definition Statement

The derived-type definition statement begins a derived-type definition.


The DIMENSION statement specifies the shape of an array.

DLL_EXPORT (Windows only)

The DLL_EXPORT statement declares names externally available in a DLL.

DLL_IMPORT (Windows only)

The DLL_IMPORT statement declares names to import from a DLL.


The DOUBLE PRECISION statement declares names of type double precision REAL.


The EQUIVALENCE statement specifies that two or more objects in a scoping unit share the same storage.


The EXTERNAL statement specifies external procedures. Specifying a procedure name as EXTERNAL permits the name to be used as an actual argument.


The IMPLICIT statement specifies, for a scoping unit, a type and optionally a kind or a CHARACTER length for each name beginning with a letter specified in the statement. Alternately, it can specify that no implicit typing is to apply in the scoping unit.


The INTEGER statement declares names of type INTEGER.


The INTENT statement specifies the intended use of a dummy argument.


The INTRINSIC statement specifies a list of names that represent intrinsic procedures. Doing so permits a name that represents a specific intrinsic function to be used as an actual argument.


The LOGICAL statement declares names of type LOGICAL.


The NAMELIST statement specifies a list of variables which can be referred to by one name for the purpose of performing input/output.

ML_EXTERNAL (Windows only)

The ML_EXTERNAL statement specifies the name is an external procedure, or a common block name, that is available for calling from a mixed language procedure (see ML_EXTERNAL Statement).


The MODULE PROCEDURE statement specifies that the names in the statement are part of a generic interface.


The OPTIONAL statement specifies that any of the dummy arguments specified need not be associated with an actual argument when the procedure is invoked.


The PARAMETER statement specifies named constants.


The POINTER statement specifies a list of variables that have the POINTER attribute.


The PRIVATE statement specifies that the names of entities are accessible only within the current module.


The PUBLIC statement specifies that the names of entities are accessible anywhere the module in which the PUBLIC statement appears is used.


The REAL statement declares names of type REAL.


The SAVE statement specifies that all objects in the statement retain their association, allocation, definition, and value after execution of a RETURN or subprogram END statement.


The SEQUENCE statement can only appear in a derived type definition. It specifies that the order of the component definitions is the storage sequence for objects of that type.


The TARGET statement specifies a list of object names that have the target attribute and thus can have pointers associated with them.


The TYPE statement specifies that all entities whose names are declared in the statement are of the derived type named in the statement.


The USE statement specifies that a specified module is accessible by the current scoping unit. It also provides a means of renaming or limiting the accessibility of entities in the module.


The VOLATILE statement specifies that a data object may be referenced, become redefined or undefined by means not specified in the Fortran standard (see VOLATILE Statement).