Copyright Digital Equipment Corp. All rights reserved.

EQUIVALENCE

 Starts two or more data elements in one program unit at the same
 storage location, thereby overlaying them in memory.  Statement
 format:

    EQUIVALENCE (nlist)[,(nlist)]...

    nlist  Is a list of variables, array elements, arrays, 
           or character substring references, separated by 
           commas.  You must specify at least two of these 
           entities in each list.

 The elements named within each set of parentheses are given the
 same storage location.  The data elements do not have to be of the
 same type or length.  An equivalency begins with the first byte of
 each element.  When an array or substring element is equivalenced,
 the entire array or string is equivalenced in its normal linear
 storage.

 You cannot equivalence array or string elements in a manner that is
 inconsistent with their normal linear order.  You cannot
 equivalence elements of the same array or string.  You cannot
 equivalence two elements that are both in common areas.

 The following objects cannot be specified in EQUIVALENCE
 statements:

  o  A dummy argument

  o  An allocatable array

  o  A pointer

  o  An object of nonsequence derived type

  o  An object of sequence derived type containing a pointer in the
     structure

  o  A function, entry, or result name

  o  A named constant

  o  A structure component

  o  A subobject of any of the above objects


 You can identify a multidimensional array element by a single
 subscript.  The single subscript designates the absolute position
 of the element within the array.