This section describes constructs and clauses in OpenMP that support the specification and enforcement of dependences. OpenMP supports two kinds of dependences: task dependences, which enforce orderings between tasks; and cross-iteration dependences, which enforce orderings between loop iterations.