OpenMP directives for C/C++ are specified with #pragma directives. The syntax of an OpenMP directive
is as follows:
#pragma omp directive-name [clause[ [,] clause] ... ] new-line
Each directive starts with #pragma omp. The remainder of the directive follows the conventions of the C and C++ standards for compiler directives. In particular, white space can be used before and after the #, and sometimes white space must be used to separate the words in a directive. Preprocessing tokens following #pragma omp are subject to macro replacement.
Some OpenMP directives may be composed of consecutive #pragma directives if specified in their syntax.
Directives are case-sensitive.
Each of the expressions used in the OpenMP syntax inside of the clauses must be a valid assignment-expression of the base language unless otherwise specified.