HOME
| OPENMP API Specification: "Version 5.2 -- GIT rev 95b2e3a44"

4.1  OpenMP Types and Identifiers

An OpenMP identifier is a special identifier for use within OpenMP directives and clauses for some specific purpose. For example, OpenMP reduction identifiers specify the combiner operation to use in a reduction, OpenMP mapper identifiers specify the name of a user-defined mapper, and OpenMP foreign runtime identifiers specify the name of a foreign runtime.

Generic OpenMP types specify the type of expression or variable that is used in OpenMP contexts regardless of the base language. These types support the definition of many important OpenMP concepts independently of the base language in which they are used.

The assignable OpenMP type instance is defined to facilitate base language neutrality. An assignable OpenMP type instance can be used as an argument of an OpenMP construct in order for the implementation to modify the value of that instance.

An assignable OpenMP type instance is an lvalue expression of that OpenMP type.
An assignable OpenMP type instance is a variable of that OpenMP type.

The OpenMP logical type supports logical variables and expressions in any base language.

Any OpenMP logical expression is a scalar expression. This document uses true as a generic term for a non-zero integer value and false as a generic term for an integer value of zero.
Any OpenMP logical expression is a scalar logical expression. This document uses true as a generic term for a logical value of .TRUE. and false as a generic term for a logical value of .FALSE..

The OpenMP integer type supports integer variables and expressions in any base language.

Any OpenMP integer expression is an integer expression.
Any OpenMP integer expression is a scalar integer expression.

The OpenMP string type supports character string variables and expressions in any base language.

Any OpenMP string expression is an expression of type qualified or unqualified const char * or char * pointing to a null-terminated character string.
Any OpenMP string expression is a character string of default kind.

OpenMP function identifiers support procedure names in any base language. Regardless of the base language, any OpenMP function identifier is the name of a procedure as a base language identifier.

Each OpenMP type other than those specifically defined in this section has a generic name, <generic_name>, by which it is referred throughout this document and that is used to construct the base language construct that corresponds to that OpenMP type.

A variable of <generic_name> OpenMP type is a variable of type omp_<generic_name>_t.
A variable of <generic_name> OpenMP type is a scalar integer variable of kind omp_<generic_name>_kind.

Cross References