Attributes

Standard: F77 F90 F95 F2003 F2008


<Syntax>

attr-spec ::= access-spec
| ALLOCATABLE
| ASYNCHRONOUS
| bind-spec
| CODIMENSION [ coarray-spec ]
| CONTIGUOUS
| DIMENSION ( array-spec )
| EXTERNAL
| INTENT ( intent )
| INTRINSIC
| OPTIONAL
| PARAMETER
| POINTER
| PROTECTED
| SAVE
| TARGET
| VALUE
| VOLATILE

access-spec ::= PRIVATE
| PUBLIC

bind-spec ::= BIND ( C [ , NAME = expression ] )

intent ::= IN | INOUT | OUT

An attr-spec may appear in a Type Declaration statement. Also, some attr-specs may appear in a Component Definition statement; these are: access-spec, ALLOCATABLE, CODIMENSION, CONTIGUOUS, DIMENSION and POINTER. The syntax for both of these statements is

      type [ [ , attr-spec ]... :: ] entity-decl-list

<Semantics>

Each attr-spec specifies that the entities being declared have the corresponding attribute. As well as being specified in type declaration and component definition statements, attributes may be individually specified on their own attribute specification statements.

<Related>

ALLOCATABLE attribute, ASYNCHRONOUS attribute, BIND attribute, Component Definition statement, CODIMENSION attribute, CONTIGUOUS attribute, DIMENSION attribute, Entity Declaration List, EXTERNAL attribute, INTENT attribute, INTRINSIC attribute, PARAMETER attribute, OPTIONAL attribute, POINTER attribute, PRIVATE attribute, PROTECTED attribute, PUBLIC attribute, SAVE attribute, TARGET attribute, Type Declaration statement, VALUE attribute, VOLATILE attribute