Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/22/2024
Public
Document Table of Contents

Additional Attributes of Associate Names

In an ASSOCIATE, CHANGE TEAM, or SELECT TYPE construct, the rank of each entity identified by an associate name has the same rank as its corresponding selector. The lower bound of each dimension is the result of the intrinsic function LBOUND applied to the corresponding dimension of selector. The upper bound of each dimension is one less than the sum of the lower bound and the extent.

Each entity identified by an associate name in an ASSOCIATE, SELECT RANK, or SELECT TYPE construct has the same corank as the corresponding selector. The cobounds of each codimension of the entity are the same as those of the selector. In a CHANGE TEAM construct, the entity identified by an associate name is a coarray, with coshape and cobounds as specified in its codimension declaration.

The associated entity is a variable; it is not definable if the selector is not definable. An associate name or a subobject of the associate name is not allowed in a variable definition context or a pointer association context if the selector is not allowed in a variable definition context.

In a SELECT RANK construct, the selector has assumed rank, and assumed rank entities are not otherwise definable. However, in the block following a RANK(*) statement the associate name is the name of a one dimensional assumed-size array, and in the block following a RANK (scalar-int-const-expr), the variable has the specified rank. In these cases, if the selector is otherwise definable ignoring that it is assumed rank, the associated entity may be defined or undefined.