Statements and attributes

This section provides an alphabetical reference to all XL Fortran statements. The section for each statement is organized to help you readily access the syntax and rules, and points to the structure and uses of the statement.

The following table lists the statements, and shows which ones are executable, which ones are specification_part statements, and which ones can be used as the terminal statement of a DO or DO WHILE construct.

Notes:
  1. IBM Extension.
  2. Fortran 95.
  3. Fortran 2003 Standard.

Table 27. Statements table
Statement Name Executable Statement Specification Statement Terminal Statement
ALLOCATABLE  3  X
ALLOCATE X X
ASSIGN X
ASSOCIATE  3  X
AUTOMATIC  1  X
BACKSPACE X X
BIND  3  X
BLOCK DATA
BYTE  1  X
CALL X X
CASE X
CHARACTER X
CLOSE X X
COMMON X
COMPLEX X
CONTAINS
CONTINUE X X
CYCLE X
DATA X
DEALLOCATE X X
Derived Type
DIMENSION X
DO X
DO WHILE X
DOUBLE COMPLEX  1  X
DOUBLE PRECISION X
ELSE X
ELSE IF X
ELSEWHERE X
END X
END ASSOCIATE  3  X
END BLOCK DATA
END DO X X
END ENUM X
END IF X
END FORALL  2  X
END FUNCTION X
END INTERFACE X
END MAP  1  X
END MODULE
END PROGRAM X
END SELECT X
END SUBROUTINE X
END STRUCTURE  1  X
END TYPE X
END UNION  1  X
END WHERE X
ENDFILE X X
ENTRY X
ENUM X
ENUMERATOR X
EQUIVALENCE X
EXIT X
EXTERNAL X
FLUSH  3  X
FORALL  2  X X
FORMAT X
FUNCTION
GO TO (Assigned) X
GO TO (Computed) X X
GO TO (Unconditional) X
IF (Block) X
IF (Arithmetic) X
IF (Logical) X X
IMPLICIT X
IMPORT  3  X
INQUIRE X X
INTEGER X
INTENT X
INTERFACE X
INTRINSIC X
LOGICAL X
MAP  1  X
MODULE
MODULE PROCEDURE X
NAMELIST X
NULLIFY X X
OPEN X X
OPTIONAL X
PARAMETER X
PAUSE X X
POINTER (Fortran 90) X
POINTER (integer)  1  X
PRINT X X
PRIVATE X
PROCEDURE  3  X
PROGRAM
PROTECTED  3  X
PUBLIC X
READ X X
REAL X
RECORD X
RETURN X
REWIND X X
SAVE X
SELECT CASE X
SEQUENCE X
Statement Function X
STATIC  1  X
STOP X
SUBROUTINE
STRUCTURE  1  X
TARGET X
TYPE X
Type Declaration X
UNION  1  X
USE X
VALUE  1  X
VECTOR  1  X
VIRTUAL  1  X
VOLATILE  1  X
WAIT  1  X X
WHERE X X
WRITE X X

Assignment and pointer assignment statements are discussed in Expressions and assignment. Both statements are executable and can serve as terminal statements.