[flang][openacc] Enforce restriction on routine directive and clauses
authorValentin Clement <clementval@gmail.com>
Thu, 17 Dec 2020 16:32:52 +0000 (11:32 -0500)
committerclementval <clementval@gmail.com>
Thu, 17 Dec 2020 16:33:34 +0000 (11:33 -0500)
commit71699a998d4f648396a1a12820c0f04cc61f8e19
tree94357702b0d2d797db9bab483b8d9e2841089b63
parentdf2b9a3e02ca3bd7b60af6c65571909a7d3ab317
[flang][openacc] Enforce restriction on routine directive and clauses

This patch add some checks for the restriction on the routine directive
and fix several issue at the same time.

Validity tests have been added in a separate file than acc-clause-validity.f90 since this one
became quite large. I plan to split the larger file once on-going review are done.

Reviewed By: sameeranjoshi

Differential Revision: https://reviews.llvm.org/D92672
flang/include/flang/Parser/dump-parse-tree.h
flang/include/flang/Parser/parse-tree.h
flang/lib/Parser/openacc-parsers.cpp
flang/lib/Parser/unparse.cpp
flang/lib/Semantics/check-acc-structure.cpp
flang/lib/Semantics/resolve-directives.cpp
flang/test/Semantics/acc-clause-validity.f90
flang/test/Semantics/acc-routine-validity.f90 [new file with mode: 0644]
llvm/include/llvm/Frontend/OpenACC/ACC.td