aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2018-11-30 21:39:08 +0100
committerThomas Schwinge <tschwinge@gcc.gnu.org>2018-11-30 21:39:08 +0100
commitc34f4fbcc450474885baede3d5de8dcfcb9f103f (patch)
treedf2b9c7efec72adce3fd92fcb00a3e0eec0d834f /gcc/fortran
parentc223608f542416a5e47685013c680e256a583416 (diff)
downloadgcc-c34f4fbcc450474885baede3d5de8dcfcb9f103f.zip
gcc-c34f4fbcc450474885baede3d5de8dcfcb9f103f.tar.gz
gcc-c34f4fbcc450474885baede3d5de8dcfcb9f103f.tar.bz2
Support multiple OpenACC wait clauses
Support for this is not explicitly called for in OpenACC 2.6, but given that GCC internally decomposes "wait (1, 2)" into "wait (1) wait (2)" (similar for other clauses, too), it's reasonable to also support that syntax in the front ends -- which happens to already be the case for C, C++, and easy enough to do for Fortran. gcc/fortran/ * openmp.c (gfc_match_omp_clauses): Support multiple OpenACC wait clauses. gcc/testsuite/ * c-c++-common/goacc/asyncwait-5.c: New file. * gfortran.dg/goacc/asyncwait-5.f: Likewise. From-SVN: r266684
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/openmp.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 06e7400..435ecf8 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * openmp.c (gfc_match_omp_clauses): Support multiple OpenACC wait
+ clauses.
+
2018-11-27 Martin Liska <mliska@suse.cz>
* decl.c (gfc_match_gcc_builtin): New function.
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 6430e61..e1560c1 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -1876,7 +1876,6 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, const omp_mask mask,
break;
case 'w':
if ((mask & OMP_CLAUSE_WAIT)
- && !c->wait
&& gfc_match ("wait") == MATCH_YES)
{
c->wait = true;