The clause::Depend class was a variant that either held a TaskDep class
or a Doacross clause. This mirrors the OmpDependClause in the AST, which
due to changes in the OpenMP spec can contain two different forms.
This is not actually necessary, and we can save some complexity by
having clause::Depend only represent task dependence, and lowering
OmpDependClause to either clause:Depend or clause::Doacross.