インテル® Fortran コンパイラー 19.1 デベロッパー・ガイドおよびリファレンス

Additional Attributes Of Associate Names

In an ASSOCIATE 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. The entity identified by the associate name does not have the ALLOCATABLE or POINTER attributes. If the corresponding selector has the POINTER or TARGET attribute, the entity identified by the associate name has the TARGET attribute.

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 an ASSOCIATE, SELECT RANK, or SELECT TYPE construct, if a selector has the ASYNCHRONOUS or VOLATILE attribute, the entity associated with the corresponding associate name also has that attribute. If the selector is polymorphic, the associated entity has the same dynamic type and type parameters as the selector. If the selector has the OPTIONAL attribute, it must be present. If the selector is contiguous, the associated entity is also contiguous.

The associated entity is a variable. In an ASSOCIATE or SELECT TYPE construct, if the selector is not definable, the associated entity is not definable and cannot be defined or undefined. An associate name or a subobject of the associate name is not allowed in a variable definition 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.

See Also