summaryrefslogtreecommitdiff
path: root/flang/test/Semantics/OpenACC
diff options
context:
space:
mode:
Diffstat (limited to 'flang/test/Semantics/OpenACC')
-rw-r--r--flang/test/Semantics/OpenACC/acc-parallel.f9022
-rw-r--r--flang/test/Semantics/OpenACC/acc-reduction-validity.f9014
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