diff options
Diffstat (limited to 'flang/test/Semantics/OpenACC')
| -rw-r--r-- | flang/test/Semantics/OpenACC/acc-parallel.f90 | 22 | ||||
| -rw-r--r-- | flang/test/Semantics/OpenACC/acc-reduction-validity.f90 | 14 |
2 files changed, 34 insertions, 2 deletions
diff --git a/flang/test/Semantics/OpenACC/acc-parallel.f90 b/flang/test/Semantics/OpenACC/acc-parallel.f90 index 635c547f744c..45c0fafbed1b 100644 --- a/flang/test/Semantics/OpenACC/acc-parallel.f90 +++ b/flang/test/Semantics/OpenACC/acc-parallel.f90 @@ -200,3 +200,25 @@ program openacc_parallel_validity !$acc end parallel end program openacc_parallel_validity + +subroutine acc_parallel_default_none + integer :: i, l + real :: a(10,10) + l = 10 + !$acc parallel default(none) + !$acc loop + !ERROR: The DEFAULT(NONE) clause requires that 'l' must be listed in a data-mapping clause + do i = 1, l + !ERROR: The DEFAULT(NONE) clause requires that 'a' must be listed in a data-mapping clause + a(1,i) = 1 + end do + !$acc end parallel + + !$acc data copy(a) + !$acc parallel loop firstprivate(l) default(none) + do i = 1, l + a(1,i) = 1 + end do + !$acc end parallel + !$acc end data +end subroutine acc_parallel_default_none diff --git a/flang/test/Semantics/OpenACC/acc-reduction-validity.f90 b/flang/test/Semantics/OpenACC/acc-reduction-validity.f90 index 0cdf33a2adb9..fd83e411191d 100644 --- a/flang/test/Semantics/OpenACC/acc-reduction-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-reduction-validity.f90 @@ -177,13 +177,23 @@ program openacc_reduction_validity end program subroutine sum() - ! ERROR: 'sum' is already declared in this scoping unit + !ERROR: 'sum' is already declared in this scoping unit integer :: i,sum sum = 0 - !$acc parallel + !$acc parallel + !ERROR: Only variables are allowed in data clauses on the LOOP directive !$acc loop independent gang reduction(+:sum) do i=1,10 sum = sum + i enddo !$acc end parallel end subroutine + +subroutine reduce() + integer :: red = 0, ii + !$acc parallel loop default(none) reduction(+:red) + do ii = 1, 10 + red = red + ii + end do + !$acc end parallel +end subroutine |
