[PR72741] Use 'oacc_build_routine_dims' for Fortran OpenACC 'routine' directives...
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 22 Feb 2019 10:50:35 +0000 (11:50 +0100)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Fri, 22 Feb 2019 10:50:35 +0000 (11:50 +0100)
commit68034b1bc2058fd3c78b0f583e718e8443346580
treebdb11b9ae34f705b45276d4d5b45627460b70e74
parentc319667adff8cc10e87ff836f72d5a7471e942c6
[PR72741] Use 'oacc_build_routine_dims' for Fortran OpenACC 'routine' directives, too

... instead of having an incomplete local implementation.

With these changes in place, we can then also revert the work-around r267213
"[nvptx] Unify C/Fortran routine handling in nvptx_goacc_validate_dims".

gcc/fortran/
PR fortran/72741
* gfortran.h (oacc_routine_lop): New enum.
(symbol_attribute): Use it.
* openmp.c (gfc_oacc_routine_dims): Replace with...
(gfc_oacc_routine_lop): ... this new function.
(gfc_match_oacc_routine): Adjust.
* trans-decl.c (add_attributes_to_decl): Likewise.
gcc/
PR fortran/72741
* omp-general.c (oacc_replace_fn_attrib): Mostly split out into...
(oacc_replace_fn_attrib_attr): ... this new function.
* omp-general.h (oacc_replace_fn_attrib_attr): New prototype.
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Revert workaround.
gcc/testsuite/
PR fortran/72741
* gfortran.dg/goacc/classify-routine.f95: Adjust.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r269105
gcc/ChangeLog
gcc/config/nvptx/nvptx.c
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/openmp.c
gcc/fortran/trans-decl.c
gcc/omp-general.c
gcc/omp-general.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/goacc/classify-routine.f95