The syntax of the assume directive is as follows:
#pragma omp assumes clause[ [ [,] clause] ... ] new-line
#pragma omp begin assumes clause[ [ [,] clause] ... ] new-line
declaration-definition-seq
#pragma omp end assumes new-line
#pragma omp assume clause[ [ [,] clause] ... ] new-line
structured-block
where clause is either assumption-clause or a clause of the form ext_implementation-defined-assumption
for an implementation-defined assumption clause, and where assumption-clause is one of the
following:
absent(directive-name [[, directive-name]...])
contains(directive-name [[, directive-name]...])
holds(scalar-expression)
no_openmp
no_openmp_routines
no_parallelism