Combined constructs are shortcuts for specifying one construct immediately nested inside another construct. Composite constructs are also shortcuts for specifying the effect of one construct immediately following the effect of another construct. However, composite constructs define semantics to combine constructs that cannot otherwise be immediately nested.
For all combined and composite constructs, directive-name concatenates directive-name-A, the directive name of the enclosing construct, with an intervening space followed by directive-name-B, the directive name of the nested construct. If directive-name-A and directive-name-B both correspond to loop-associated constructs then directive-name is a composite construct. Otherwise directive-name is a combined construct.
If directive-name-A is taskloop, for or do then directive-name-B may be simd.
If directive-name-A is masked then directive-name-B may be taskloop or the directive name of a combined or composite construct for which directive-name-A is taskloop.
If directive-name-A is parallel then directive-name-B may be loop, sections, workshare, masked, for, do or the directive name of a combined or composite construct for which directive-name-A is masked, for or do.
If directive-name-A is distribute then directive-name-B may be simd or the directive name of a combined or composite construct for which directive-name-A is parallel and for or do is a leaf construct.
If directive-name-A is teams then directive-name-B may be loop, distribute or the directive name of a combined or composite construct for which directive-name-A is distribute.
If directive-name-A is target then directive-name-B may be simd, parallel, teams, the directive name of a combined or composite construct for which directive-name-A is teams or the directive name of a combined or composite construct for which directive-name-A is parallel and loop, for or do is a leaf construct.
For all combined or composite constructs for which the masked construct is a leaf construct, the directive name master may be substituted for the directive name masked. The use of the directive name master has been deprecated.
Cross References