gcc/fortran/
commit20641b569ae07624e2436a1717fa83d1133ac376
authorcesar <cesar@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Oct 2014 16:43:28 +0000 (31 16:43 +0000)
committercesar <cesar@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Oct 2014 16:43:28 +0000 (31 16:43 +0000)
tree56ed9748603cf4c91bc082f81a28c31c648302c8
parentb1a009fdf340acf1840c1b6c9022be69a8f0a661
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:
gcc/fortran/ChangeLog.gomp
gcc/fortran/dump-parse-tree.c
gcc/fortran/gfortran.h
gcc/fortran/openmp.c
gcc/fortran/trans-openmp.c
gcc/testsuite/ChangeLog.gomp
gcc/testsuite/gfortran.dg/goacc/asyncwait-1.f95 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/asyncwait-2.f95 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/asyncwait-3.f95 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/asyncwait-4.f95 [new file with mode: 0644]
libgomp/ChangeLog.gomp
libgomp/testsuite/libgomp.oacc-fortran/asyncwait-1.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/asyncwait-2.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/asyncwait-3.f90 [new file with mode: 0644]