Hi! commit 3e3de40a5ab21d72f08071a7a40120dd05608cc1 Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Nov 30 20:39:18 2018 +0000
Clean up Fortran OpenACC wait clause handling "wait" can be deduced from "wait_list". gcc/fortran/ * gfortran.h (struct gfc_omp_clauses): Remove "wait". Adjust all users. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266685 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 3 +++ gcc/fortran/gfortran.h | 2 +- gcc/fortran/openmp.c | 7 ++----- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git gcc/fortran/ChangeLog gcc/fortran/ChangeLog index 435ecf82f970..76bb0b9f5c0c 100644 --- gcc/fortran/ChangeLog +++ gcc/fortran/ChangeLog @@ -1,5 +1,8 @@ 2018-11-30 Thomas Schwinge <tho...@codesourcery.com> + * gfortran.h (struct gfc_omp_clauses): Remove "wait". Adjust all + users. + * openmp.c (gfc_match_omp_clauses): Support multiple OpenACC wait clauses. diff --git gcc/fortran/gfortran.h gcc/fortran/gfortran.h index 4dd6298b3ddb..a14b4c44a18a 100644 --- gcc/fortran/gfortran.h +++ gcc/fortran/gfortran.h @@ -1345,7 +1345,7 @@ typedef struct gfc_omp_clauses gfc_expr_list *wait_list; gfc_expr_list *tile_list; unsigned async:1, gang:1, worker:1, vector:1, seq:1, independent:1; - unsigned wait:1, par_auto:1, gang_static:1; + unsigned par_auto:1, gang_static:1; unsigned if_present:1, finalize:1; locus loc; diff --git gcc/fortran/openmp.c gcc/fortran/openmp.c index e1560c1fe372..fb9c073ff779 100644 --- gcc/fortran/openmp.c +++ gcc/fortran/openmp.c @@ -1878,7 +1878,6 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, const omp_mask mask, if ((mask & OMP_CLAUSE_WAIT) && gfc_match ("wait") == MATCH_YES) { - c->wait = true; match m = match_oacc_expr_list (" (", &c->wait_list, false); if (m == MATCH_ERROR) { @@ -4779,10 +4778,8 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses, resolve_positive_int_expr (omp_clauses->worker_expr, "WORKER"); if (omp_clauses->vector_expr) resolve_positive_int_expr (omp_clauses->vector_expr, "VECTOR"); - if (omp_clauses->wait) - if (omp_clauses->wait_list) - for (el = omp_clauses->wait_list; el; el = el->next) - resolve_scalar_int_expr (el->expr, "WAIT"); + for (el = omp_clauses->wait_list; el; el = el->next) + resolve_scalar_int_expr (el->expr, "WAIT"); if (omp_clauses->collapse && omp_clauses->tile_list) gfc_error ("Incompatible use of TILE and COLLAPSE at %L", &code->loc); if (omp_clauses->depend_source && code->op != EXEC_OMP_ORDERED) Grüße Thomas