aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Parser/executable-parsers.cpp
diff options
context:
space:
mode:
authorValentin Clement <clementval@gmail.com>2020-08-13 14:04:43 -0400
committerclementval <clementval@gmail.com>2020-08-13 14:05:00 -0400
commit05169af5cea2c3b9aa0f38354d0e81ddf6b7a3d9 (patch)
tree5efb8340114b2a6a150a6ab3aedc57fce7dc0d1c /flang/lib/Parser/executable-parsers.cpp
parent8d58eb11f9dabacc37f1f5e2cc83149b24868180 (diff)
downloadllvm-05169af5cea2c3b9aa0f38354d0e81ddf6b7a3d9.zip
llvm-05169af5cea2c3b9aa0f38354d0e81ddf6b7a3d9.tar.gz
llvm-05169af5cea2c3b9aa0f38354d0e81ddf6b7a3d9.tar.bz2
[flang][openacc] Handle optional end directive in combined construct
OpenACC combined construct can have an optional end directive. This patch handle this case in the parsing/unparsing with a canonicalization step. Unlike OmpEndLoopDirective, this doesn't need a special treatment in the pre-fir tree as there is no clause attached to a AccEndCombinedDirective. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D84481
Diffstat (limited to 'flang/lib/Parser/executable-parsers.cpp')
-rw-r--r--flang/lib/Parser/executable-parsers.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/flang/lib/Parser/executable-parsers.cpp b/flang/lib/Parser/executable-parsers.cpp
index d6dd468..a0b5cf2 100644
--- a/flang/lib/Parser/executable-parsers.cpp
+++ b/flang/lib/Parser/executable-parsers.cpp
@@ -50,8 +50,9 @@ constexpr auto executableConstruct{
construct<ExecutableConstruct>(indirect(whereConstruct)),
construct<ExecutableConstruct>(indirect(forallConstruct)),
construct<ExecutableConstruct>(indirect(ompEndLoopDirective)),
- construct<ExecutableConstruct>(indirect(openaccConstruct)),
construct<ExecutableConstruct>(indirect(openmpConstruct)),
+ construct<ExecutableConstruct>(indirect(accEndCombinedDirective)),
+ construct<ExecutableConstruct>(indirect(openaccConstruct)),
construct<ExecutableConstruct>(indirect(compilerDirective)))};
// R510 execution-part-construct ->