+-------------------------------IBM Extension--------------------------------+

RECORD

Purpose

The RECORD statement is a special form of type declaration statement. Unlike other type declaration statements, attributes for entities declared on the RECORD statement cannot be specified on the statement itself.

Syntax



           .-,------------------------------------------.
           V                                            |
>>-RECORD----/ type_name /--+----+--record_obj_dcl_list-+------><
                            '-::-'
 
 

record_obj_dcl:

>>-record_object_name--+----------------+----------------------><
                       '-(-array_spec-)-'
 
 

record_stmt:

           .-,------------------------------------------.
           V                                            |
>>-RECORD----/ type_name /--+----+--record_obj_dcl_list-+------><
                            '-::-'
 
 

record_obj_dcl:

>>-record_object_name--+----------------+----------------------><
                       '-(-array_spec-)-'
 
 

where type_name must be the name of a derived type that is accessible in the scoping unit.

Rules

Entities can not be initialized in a RECORD statement.

A record_stmt declares an entity to be of the derived type, specified by the type_name that most immediately precedes it.

The RECORD keyword must not appear as the type_spec of an IMPLICIT or FUNCTION statement.

+------------------------Fortran 2003 Draft Standard-------------------------+

A derived type with the BIND attribute must not be specified in a RECORD statement.

+---------------------End of Fortran 2003 Draft Standard---------------------+

Examples

In the following example, a RECORD statement is used to declare a derived type variable.

        STRUCTURE /S/
          INTEGER I
        END STRUCTURE
        STRUCTURE /DT/
          INTEGER I
        END STRUCTURE
        RECORD/DT/REC1,REC2,/S/REC3,REC4
 

Related Information

+---------------------End of Fortran 2003 Draft Standard---------------------+

IBM Copyright 2003