# 5 Specification Statements

A specification statement is a nonexecutable statement that declares the attributes of data objects. In Fortran 95/90, many of the attributes that can be defined in specification statements can also be optionally specified in type declaration statements.

This chapter contains information on the following topics:

- Type declaration statement (Section 5.1)

  Explicitly specifies the properties (for example: data type, rank, and extent) of data objects.

- ALLOCATABLE attribute and statement (Section 5.2)

  Specifies a list of array names that are allocatable (have a deferred-shape).

- AUTOMATIC and STATIC attributes and statements (Section 5.3)

  Control the storage allocation of variables in subprograms.

- COMMON statement (Section 5.4)

  Defines one or more contiguous areas, or blocks, of physical storage (called common blocks).

- DATA statement (Section 5.5)

  Assigns initial values to variables before program execution.

- DIMENSION attribute and statement (Section 5.6)

  Specifies that an object is an array, and defines the shape of the array.

- EQUIVALENCE statement (Section 5.7)

  Specifies that a storage area is shared by two or more objects in a program unit.

- EXTERNAL attribute and statement (Section 5.8)

  Allows external (user-supplied) procedures to be used as arguments to other subprograms.

- IMPLICIT statement (Section 5.9)

  Overrides the implicit data type of names.

- INTENT attribute and statement (Section 5.10)

  Specifies the intended use of a dummy argument.

- INTRINSIC attribute and statement (Section 5.11)

  Allows intrinsic procedures to be used as arguments to subprograms.

- NAMELIST statement (Section 5.12)

  Associates a name with a list of variables. This group name can be referenced in some input/output operations.

- OPTIONAL attribute and statement (Section 5.13)

  Allows a procedure reference to omit arguments.

- PARAMETER attribute and statement (Section 5.14)

  Defines a named constant.

- POINTER attribute and statement (Section 5.15)

  Specifies that an object is a pointer.

- PRIVATE and PUBLIC attributes and statements (Section 5.16)

  Declare the accessibility of entities in a module.

- SAVE attribute and statement (Section 5.17)

  Causes the definition and status of objects to be retained after the subprogram in which they are declared completes execution.

- TARGET attribute and statement (Section 5.18)

  Specifies a pointer target.

- VOLATILE attribute and statement (Section 5.19)

  Prevents optimizations from being performed on specified objects.

For More Information:

- On BLOCK DATA and PROGRAM statements, see Chapter 8.
- On HPF specification directives for Tru64 UNIX systems, see Section 15.3.

Previous Page Next Page Table of Contents