Lahey/Fujitsu Fortran

Specification Statements

ALLOCATABLE

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

CHARACTER

The CHARACTER statement declares entities of type CHARACTER.

COMMON

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.

COMPLEX

The COMPLEX statement declares names of type COMPLEX.

DATA

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.

DIMENSION

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.

DOUBLE PRECISION

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

EQUIVALENCE

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

EXTERNAL

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

IMPLICIT

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.

INTEGER

The INTEGER statement declares names of type INTEGER.

INTENT

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

INTRINSIC

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.

LOGICAL

The LOGICAL statement declares names of type LOGICAL.

NAMELIST

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).

MODULE PROCEDURE

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

OPTIONAL

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

PARAMETER

The PARAMETER statement specifies named constants.

POINTER

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

PRIVATE

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

PUBLIC

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

REAL

The REAL statement declares names of type REAL.

SAVE

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.

SEQUENCE

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.

TARGET

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

TYPE

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

USE

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.

VOLATILE

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).