Commit 8ced98c6 by Thomas Schwinge Committed by Thomas Schwinge

[PR72741] The name in a Fortran OpenACC 'routine' directive refers to the…

[PR72741] The name in a Fortran OpenACC 'routine' directive refers to the containing subroutine or function

	gcc/fortran/
	PR fortran/72741
	* openmp.c (gfc_match_oacc_routine): Clarify.
	gcc/testsuite/
	PR fortran/72741
	* gfortran.dg/goacc/routine-module-mod-1.f90: Update.

From-SVN: r269856
parent 64a40f13
2019-03-21 Thomas Schwinge <thomas@codesourcery.com>
PR fortran/72741
* openmp.c (gfc_match_oacc_routine): Clarify.
PR fortran/72741
* module.c (verify_OACC_ROUTINE_LOP_NONE): New function.
(enum ab_attribute): Add AB_OACC_ROUTINE_LOP_GANG,
AB_OACC_ROUTINE_LOP_WORKER, AB_OACC_ROUTINE_LOP_VECTOR,
......
......@@ -2314,6 +2314,9 @@ gfc_match_oacc_routine (void)
if (st)
{
sym = st->n.sym;
/* If the name in a 'routine' directive refers to the containing
subroutine or function, then make sure that we'll later handle
this accordingly. */
if (gfc_current_ns->proc_name != NULL
&& strcmp (sym->name, gfc_current_ns->proc_name->name) == 0)
sym = NULL;
......
2019-03-21 Thomas Schwinge <thomas@codesourcery.com>
PR fortran/72741
* gfortran.dg/goacc/routine-module-mod-1.f90: Update.
PR fortran/72741
* gfortran.dg/goacc/routine-module-1.f90: New file.
* gfortran.dg/goacc/routine-module-2.f90: Likewise.
* gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
......
......@@ -18,7 +18,7 @@ contains
subroutine s_2
implicit none
!$acc routine seq
!$acc routine (s_2) seq
integer :: i
......@@ -41,7 +41,7 @@ contains
subroutine w_1
implicit none
!$acc routine worker
!$acc routine (w_1) worker
integer :: i
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment