The specification states: "The current task region is suspended at the task scheduling point until execution
of all its child tasks generated before the taskwait region are completed."
Does this apply to grand-children and other descendants as well?
As I understand the spec, OpenMP allows for tasks to finish before their child-tasks have finished (in contrast to e.g. cilk) and therefore I interpret the semantics of taskwait to apply only for direct children. Other descendants need to be synchronized using barriers instead. Am I right?