[flang][openacc] Allow multiple wait clauses

kernels loop and enter data had a too restrictive constraint for the wait clause.
The wait clause is allowed multiple times and not only once. This patch fix this problem.

Reviewed By: SouraVX

Differential Revision: https://reviews.llvm.org/D95469

GitOrigin-RevId: f30c523660106dd19072ae7baed72b18adfb0aa7
diff --git a/test/Semantics/OpenACC/acc-data.f90 b/test/Semantics/OpenACC/acc-data.f90
index 316f087..e9953e6 100644
--- a/test/Semantics/OpenACC/acc-data.f90
+++ b/test/Semantics/OpenACC/acc-data.f90
@@ -63,6 +63,8 @@
 
   !$acc enter data create(aa) wait(wait1, wait2)
 
+  !$acc enter data create(aa) wait(wait1) wait(wait2)
+
   !$acc enter data attach(bb)
 
   !ERROR: At least one of COPYOUT, DELETE, DETACH clause must appear on the EXIT DATA directive
diff --git a/test/Semantics/OpenACC/acc-kernels-loop.f90 b/test/Semantics/OpenACC/acc-kernels-loop.f90
index bc48022..4ce039b 100644
--- a/test/Semantics/OpenACC/acc-kernels-loop.f90
+++ b/test/Semantics/OpenACC/acc-kernels-loop.f90
@@ -122,6 +122,11 @@
     a(i) = 3.14
   end do
 
+  !$acc kernels loop wait(wait1) wait(wait2)
+  do i = 1, N
+    a(i) = 3.14
+  end do
+
   !$acc kernels loop wait(1, 2) async(3)
   do i = 1, N
     a(i) = 3.14