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

18.1  Runtime Library Definitions

For each base language, a compliant implementation must supply a set of definitions for the OpenMP API runtime library routines and the special data types of their parameters. The set of definitions must contain a declaration for each OpenMP API runtime library routine and variable and a definition of each required data type listed below. In addition, each set of definitions may specify other implementation specific values.

The library routines are external functions with “C” linkage.

Prototypes for the C/C++ runtime library routines described in this chapter shall be provided in a header file named omp.h. This file also defines the following:

The OpenMP enumeration types provided in the omp.h header file shall not be scoped enumeration types unless explicitly allowed.

The omp.h header file also defines a class template that models the Allocator concept in the omp::allocator namespace for each predefined memory allocator in 6.3 for which the name includes neither the omp_ prefix nor the _alloc suffix.

The OpenMP Fortran API runtime library routines are external procedures. The return values of these routines are of default kind, unless otherwise specified.

Interface declarations for the OpenMP Fortran runtime library routines described in this chapter shall be provided in the form of a Fortran module named omp_lib or a Fortran include file named omp_lib.h. Whether the omp_lib.h file provides derived-type definitions or those routines that require an explicit interface is implementation defined. Whether the include file or the module file (or both) is provided is also implementation defined.

These files also define the following:

Whether any of the OpenMP runtime library routines that take an argument are extended with a generic interface so arguments of different KIND type can be accommodated is implementation defined.