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

ID 767251
Date 7/13/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Named Constants in the ISO_FORTRAN_ENV Module

The ISO_FORTRAN_ENV intrinsic module provides the following named constants that you can use to get information on the Fortran environment. They are all scalars of type default integer.

Named Constant

Definition

ATOMIC_INT_KIND

Is the kind type parameter used when defining integer variables used in atomic operations.

ATOMIC_LOGICAL_KIND

Is the kind type parameter used when defining logical variables used in atomic operations.

CHARACTER_KINDS

Is the kind type parameter supported by the processor that is used when defining variables of type character. This is a default integer array constant. The rank of the array is one, its lower bound is one, and its size is the number of character kinds supported. In Intel® Fortran, its value is [1].

CHARACTER_STORAGE_SIZE

Is the size of the character storage unit expressed in bits.

CURRENT_TEAM

Identifies the current team of images when used as the LEVEL argument to the GET_TEAM intrinsic function.

ERROR_UNIT

Identifies the preconnected external unit used for error reporting.

FILE_STORAGE_SIZE

Is the size of the file storage unit expressed in bits. To use this constant, compiler option assume byterecl must be enabled.

INITIAL_TEAM

Identifies the initial team of images when used as the LEVEL argument to the GET_TEAM intrinsic function.

INPUT_UNIT

Identifies the preconnected external unit as the one specified by an asterisk in a READ statement. To use this constant, compiler option assume noold_unit_star must be enabled.

INT8
INT16
INT32
INT64

Are the kind type parameters that specify an INTEGER type whose storage size is 8 bits, 16 bits, 32 bits, and 64 bits, respectively. If, for any of these constants, the processor supports more than one kind of that size, the kind value is determined by the processor. If the processor supports no kind of a particular size, that constant is equal to -2 if the processor supports a kind with larger size; otherwise, -1. In Intel Fortran, their respective values are 1, 2, 4, and 8.

INTEGER_KINDS

Is the kind type parameter supported by the processor that is used when defining variables of type integer. This is a default integer array constant. The rank of the array is one, its lower bound is one, and its size is the number of integer kinds supported. In Intel Fortran its value is [1, 2, 4, 8].

IOSTAT_END

Is the value assigned to the variable specified in an IOSTAT= specifier if an end-of-file condition occurs during execution of an input/output statement and no error condition occurs.

IOSTAT_EOR

Is the value assigned to the variable specified in an IOSTAT= specifier if an end-of-record condition occurs during execution of an input/output statement and no error condition occurs.

IOSTAT_INQUIRE_INTERNAL_UNIT

Is the value assigned to the variable specified in an IOSTAT= specifier in an INQUIRE statement if the unit number identifies an internal unit. This is a negative value, indicating an error condition.

LOGICAL_KINDS

Is the kind type parameter supported by the processor that is used when defining variables of type logical. This is a default integer array constant. The rank of the array is one, its lower bound is one, and its size is the number of logical kinds supported. In Intel® Fortran its value is [1, 2, 4, 8].

NUMERIC_STORAGE_SIZE

Is the size of the numeric storage unit expressed in bits.

OUTPUT_UNIT

Identifies the preconnected external unit as the one specified by an asterisk in a WRITE statement. To use this constant, compiler option assume noold_unit_star must be enabled.

PARENT_TEAM

Identifies the parent team of images when used as the LEVEL argument to the GET_TEAM intrinsic function.

REAL_KINDS

Is the kind type parameter supported by the processor that is used when defining variables of type real. This is a default integer array constant. The rank of the array is one, its lower bound is one, and its size is the number of real kinds supported. In Intel Fortran its value is [4, 8, 16].

REAL32
REAL64
REAL128

Are the kind type parameters that specify a real type whose storage size is 32 bits, 64 bits, and 128 bits, respectively. If, for any of these constants, the processor supports more than one kind of that size, the kind value is determined by the processor. If the processor supports no kind of a particular size, that constant is equal to -2 if the processor supports kinds of a larger size; otherwise, -1. In Intel Fortran, their respective values are 4, 8, and 16.

STAT_FAILED_IMAGE

The value assigned to the variable specified in a STAT= specifier of an image control statement or coindexed object reference, or the STAT argument of a collective or atomic subroutine if an image involved in the execution of that statement, reference, or subroutine has failed.

STAT_LOCKED

The value assigned to the variable specified in a STAT= specifier of a LOCK statement if the lock variable is locked by the executing image.

STAT_LOCKED_OTHER_IMAGE

The value assigned to the variable specified in a STAT= specifier of an UNLOCK statement if the lock variable is locked by another image.

STAT_STOPPED_IMAGE

The value assigned to the variable specified in a STAT= specifier of a statement if execution of the statement requires synchronization with an image that has initiated normal termination (an image control statement). It is the value assigned to the STAT variable of a collective subroutine if the current team contains images that inititiated normal termination.

STAT_UNLOCKED

The value assigned to the variable specified in a STAT= specifier of an UNLOCK statement if the lock variable is unlocked.

STAT_UNLOCKED_FAILED_IMAGE

The value assigned to the STAT= specifier of a LOCK statement if the lock variable is unlocked because the image that locked it has failed.