gcc/fortran/
* gfortran.h (struct gfc_omp_clauses): Remove non_clause_wait_expr.
* dump-parse-tree.c (show_omp_clauses): Likewise.
* openmp.c (gfc_free_omp_clauses): Likewise.
(gfc_match_omp_clauses): Update handling of async.
(OACC_WAIT_CLAUSE_MASK): New define.
(gfc_match_oacc_wait): Make the wait directive comply with OpenACC 2.0.
(resolve_omp_clauses): Use resolve_oacc_scalar_in_expr inspect
arguments to the wait clause.
(resolve_oacc_wait): Remove.
(gfc_resolve_oacc_directive): Handle EXEC_OACC_WAIT with
resolve_omp_clauses.
* trans-openmp.c (gfc_trans_omp_clauses): Update handling of OpenACC
wait arguments.
(gfc_trans_oacc_executable_directive): Remove EXEC_OACC_WAIT.
(gfc_trans_oacc_wait_directive): New function.
(gfc_trans_oacc_directive): Use it.
gcc/testsuite/
* gfortran.dg/goacc/asyncwait-1.f95: New test.
* gfortran.dg/goacc/asyncwait-2.f95: New test.
* gfortran.dg/goacc/asyncwait-3.f95: New test.
* gfortran.dg/goacc/asyncwait-4.f95: New test.
libgomp
* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: New test.
* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: New test.
* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@216983 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed: