[PATCH] D105874: [flang][OpenMP] Fix semantic check of test case in taskloop simd construct
Peixin Qiao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 13 18:34:45 PDT 2021
peixin updated this revision to Diff 358482.
peixin retitled this revision from "[flang][OpenMP] Add semantic check for reduction clause in taskloop simd construct" to "[flang][OpenMP] Fix semantic check of test case in taskloop simd construct".
peixin edited the summary of this revision.
peixin set the repository for this revision to rG LLVM Github Monorepo.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105874/new/
https://reviews.llvm.org/D105874
Files:
flang/lib/Semantics/check-omp-structure.cpp
flang/test/Semantics/omp-clause-validity01.f90
flang/test/Semantics/omp-taskloop-simd01.f90
Index: flang/test/Semantics/omp-taskloop-simd01.f90
===================================================================
--- flang/test/Semantics/omp-taskloop-simd01.f90
+++ flang/test/Semantics/omp-taskloop-simd01.f90
@@ -1,18 +1,15 @@
! RUN: %S/test_errors.sh %s %t %flang -fopenmp
-! XFAIL: *
+! REQUIRES: shell
-! OpenMP Version 4.5
-! 2.9.3 taskloop simd Construct
-! No reduction clause may be specified for !$omp taskloop simd.
+! OpenMP Version 5.0
+! 2.10.3 taskloop simd Construct
program omp_taskloop_simd
integer i , j , k
- !ERROR: Unexpected clause specified for !$OMP taskloop simd
!$omp taskloop simd reduction(+:k)
do i=1,10000
do j=1,i
- call loop_body(i, j)
k = k + 1
end do
end do
Index: flang/test/Semantics/omp-clause-validity01.f90
===================================================================
--- flang/test/Semantics/omp-clause-validity01.f90
+++ flang/test/Semantics/omp-clause-validity01.f90
@@ -7,8 +7,6 @@
! 2.7.1 Loop construct
! ...
-! TODO: all the internal errors
-
integer :: b = 128
integer :: z, c = 32
integer, parameter :: num = 16
@@ -87,7 +85,7 @@
do i = 1, N
z = 2
enddo
- !$omp end target data
+ !$omp end target data
!ERROR: SCHEDULE clause is not allowed on the PARALLEL directive
!$omp parallel schedule(static)
@@ -177,7 +175,7 @@
exit outofparallel
end do inner
end do outer
- !$end omp do
+ !$omp end do
!$omp end parallel
end do outofparallel
Index: flang/lib/Semantics/check-omp-structure.cpp
===================================================================
--- flang/lib/Semantics/check-omp-structure.cpp
+++ flang/lib/Semantics/check-omp-structure.cpp
@@ -931,7 +931,7 @@
// 3. Checks on clauses which are not in 'struct OmpClause' from parse-tree.h.
void OmpStructureChecker::Leave(const parser::OmpClauseList &) {
- // 2.7 Loop Construct Restriction
+ // 2.7.1 Loop Construct Restriction
if (llvm::omp::doSet.test(GetContext().directive)) {
if (auto *clause{FindClause(llvm::omp::Clause::OMPC_schedule)}) {
// only one schedule clause is allowed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105874.358482.patch
Type: text/x-patch
Size: 2139 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210714/78adb6c6/attachment.bin>
More information about the llvm-commits
mailing list