next up previous contents
Next: Examples of Definitions Up: Storage Association Previous: Storage Association

Definitions

 

  1. COMMON blocks are either sequential or nonsequential, as determined by either explicit directive or compiler default. A sequential COMMON block has a single common block storage sequence (F95:5.5.2.1).
  2. An aggregate variable group is a collection of variables whose individual storage sequences are parts of a single storage sequence.

    Variables associated by EQUIVALENCE statements or by a combination of EQUIVALENCE and COMMON statements form an aggregate variable group. The variables of a sequential COMMON block form a single aggregate variable group.

  3. The size of an aggregate variable group is the number of storage units in the group's storage sequence (F95:14.6.3.1).
  4.   Data objects are either sequential or nonsequential. A data object is sequential if and only if any of the following holds:

    1. it appears in a sequential COMMON block;
    2. it is a member of an aggregate variable group;
    3. it is an assumed-size array;
    4. its type is a sequence type;
    5. it is a subobject of a sequential data object; or
    6. it is declared to be sequential in an HPF SEQUENCE directive.

    A sequential object can be storage associated or sequence associated; nonsequential objects cannot.

  5. A COMMON block contains a sequence of components. Each component is either an aggregate variable group, or a variable that is not a member of any aggregate variable group. A sequential COMMON block contains a single component. A nonsequential COMMON block may contain several components each of which may be a sequential variable, an aggregate variable group, or a nonsequential variable.