OpenACC PR 475(targetting OpenACC3.4) added support for the _Pragma
spelling of an OpenACC pragma. We already implemented this, as clang
doesn't really differentiate between the spellings (so we did it as an
inadvertent extension).
This patch adds a few spot-check tests to make sure we support this
spelling and that it results in the same AST as the traditional
spelling.
Combined constructs (OpenACC 3.3 section 2.11) are a short-cut for
writing a `loop` construct immediately inside of a `compute` construct.
However, this interaction requires we do additional work to ensure that
we get the semantics between the two correct, as well as diagnostics.
This patch adds the semantic analysis for the constructs (but no
clauses), as well as the AST nodes.