The following table relates clauses to directives and pragmas:
Table A–1 Directives Where Clauses Can Appear
Clause/Directive |
PARALLEL |
DO/for |
SECTIONS |
SINGLE |
PARALLEL DO/for |
PARALLELSECTIONS |
PARALLELWORKSHARE |
TASK |
---|---|---|---|---|---|---|---|---|
IF |
Yes |
Yes |
Yes |
Yes |
Yes |
|||
PRIVATE |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
SHARED |
Yes |
Yes |
Yes |
Yes |
Yes |
|||
FIRSTPRIVATE |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
LASTPRIVATE |
Yes |
Yes |
Yes |
Yes | ||||
DEFAULT |
Yes |
Yes |
Yes |
Yes |
Yes |
|||
REDUCTION |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes | ||
COPYIN |
Yes |
Yes |
Yes |
Yes | ||||
COPYPRIVATE |
Yes (1) | |||||||
ORDERED |
Yes |
Yes | ||||||
SCHEDULE |
Yes |
Yes | ||||||
NOWAIT |
Yes (2) |
Yes (2) |
Yes (2) | |||||
NUM_THREADS |
Yes |
Yes |
Yes |
Yes | ||||
UNTIED |
Yes |
|||||||
__AUTO |
Yes |
Yes |
Yes |
Yes |
Fortran only: COPYPRIVATE can appear on the END SINGLE directive.
For Fortran, a NOWAIT modifier can only appear on the END DO, END SECTIONS, END SINGLE, or END WORKSHARE directives.
Only Fortran supports WORKSHARE and PARALLEL WORKSHARE.