Next: , Previous: Intrinsic Procedures, Up: Top


8 Intrinsic Modules

8.1 ISO_FORTRAN_ENV

Standard:
Fortran 2003 and later

The ISO_FORTRAN_ENV module provides the following scalar default-integer named constants:

CHARACTER_STORAGE_SIZE:
Size in bits of the character storage unit.
ERROR_UNIT:
Identifies the preconnected unit used for error reporting.
FILE_STORAGE_SIZE:
Size in bits of the file-storage unit.
INPUT_UNIT:
Identifies the preconnected unit identified by the asterisk (*) in READ statement.
IOSTAT_END:
The value assigned to the variable passed to the IOSTAT= specifier of an input/output statement if an end-of-file condition occurred.
IOSTAT_EOR:
The value assigned to the variable passed to the IOSTAT= specifier of an input/output statement if an end-of-record condition occurred.
NUMERIC_STORAGE_SIZE:
The size in bits of the numeric storage unit.
OUTPUT_UNIT:
Identifies the preconnected unit identified by the asterisk (*) in WRITE statement.

8.2 ISO_C_BINDING

Standard:
Fortran 2003 and later, GNU extensions

The following intrinsic procedures are provided by the module; their definition can be found in the section Intrinsic Procedures of this manual.

C_ASSOCIATED
C_F_POINTER
C_F_PROCPOINTER
C_FUNLOC
C_LOC

The ISO_C_BINDING module provides the following named constants of the type integer, which can be used as KIND type parameter. Note that GNU Fortran currently does not support the C_INT_FAST... KIND type parameters (marked by an asterisk (*) in the list below). The C_INT_FAST... parameters have therefore the value -2 and cannot be used as KIND type parameter of the INTEGER type.

In addition to the integer named constants required by the Fortran 2003 standard, GNU Fortran provides as an extension named constants for the 128-bit integer types supported by the C compiler: C_INT128_T, C_INT_LEAST128_T, C_INT_FAST128_T.

Fortran Type Named constant C type Extension
INTEGERC_INT int
INTEGERC_SHORT short int
INTEGERC_LONG long int
INTEGERC_LONG_LONG long long int
INTEGERC_SIGNED_CHAR signed char/unsigned char
INTEGERC_SIZE_T size_t
INTEGERC_INT8_T int8_t
INTEGERC_INT16_T int16_t
INTEGERC_INT32_T int32_t
INTEGERC_INT64_T int64_t
INTEGERC_INT128_T int128_t Ext.
INTEGERC_INT_LEAST8_T int_least8_t
INTEGERC_INT_LEAST16_T int_least16_t
INTEGERC_INT_LEAST32_T int_least32_t
INTEGERC_INT_LEAST64_T int_least64_t
INTEGERC_INT_LEAST128_T int_least128_t Ext.
INTEGERC_INT_FAST8_T* int_fast8_t
INTEGERC_INT_FAST16_T* int_fast16_t
INTEGERC_INT_FAST32_T* int_fast32_t
INTEGERC_INT_FAST64_T* int_fast64_t
INTEGERC_INT_FAST128_T* int_fast128_t Ext.
INTEGERC_INTMAX_T intmax_t
INTEGERC_INTPTR_T intptr_t
REAL C_FLOAT float
REAL C_DOUBLE double
REAL C_LONG_DOUBLE long double
COMPLEXC_FLOAT_COMPLEX float _Complex
COMPLEXC_DOUBLE_COMPLEXdouble _Complex
COMPLEXC_LONG_DOUBLE_COMPLEXlong double _Complex
LOGICALC_BOOL _Bool
CHARACTERC_CHAR char

Additionally, the following (CHARACTER(KIND=C_CHAR)) are defined.

Name C definition Value
C_NULL_CHAR null character '\0'
C_ALERT alert '\a'
C_BACKSPACE backspace '\b'
C_FORM_FEED form feed '\f'
C_NEW_LINE new line '\n'
C_CARRIAGE_RETURN carriage return '\r'
C_HORIZONTAL_TAB horizontal tab '\t'
C_VERTICAL_TAB vertical tab '\v'

8.3 OpenMP Modules OMP_LIB and OMP_LIB_KINDS

Standard:
OpenMP Application Program Interface v3.0

The OpenMP Fortran runtime library routines are provided both in a form of two Fortran 90 modules, named OMP_LIB and OMP_LIB_KINDS, and in a form of a Fortran include file named omp_lib.h. The procedures provided by OMP_LIB can be found in the Introduction manual, the named constants defined in the OMP_LIB_KINDS module are listed below.

For details refer to the actual OpenMP Application Program Interface v3.0.

OMP_LIB_KINDS provides the following scalar default-integer named constants:

omp_integer_kind
omp_logical_kind
omp_lock_kind
omp_nest_lock_kind
omp_sched_kind