tree-nested.c (convert_nonlocal_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS...
commitdb941d7ef7b191700ad4467800dd0324365e474e
authorCesar Philippidis <cesar@gcc.gnu.org>
Mon, 30 Nov 2015 19:09:33 +0000 (30 11:09 -0800)
committerCesar Philippidis <cesar@gcc.gnu.org>
Mon, 30 Nov 2015 19:09:33 +0000 (30 11:09 -0800)
tree68145daf074ea8294cdb3c958aa8fd3af1344384
parent522cdabdeae7c2e3374d5b1c6d780ec3506dfbfd
tree-nested.c (convert_nonlocal_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.

gcc/
* tree-nested.c (convert_nonlocal_omp_clauses): Add support for
OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
(convert_local_omp_clauses): Likewise.

gcc/fortran/
* f95-lang.c (gfc_attribute_table): Add an "oacc function"
attribute.
* gfortran.h (symbol_attribute): Add an oacc_function bit-field.
(gfc_oacc_routine_name): New struct;
(gfc_get_oacc_routine_name): New macro.
(gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and
oacc_routine fields.
(gfc_exec_op): Add EXEC_OACC_ROUTINE.
* openmp.c (OACC_ROUTINE_CLAUSES): New mask.
(gfc_oacc_routine_dims): New function.
(gfc_match_oacc_routine): Add support for named routines and the
gang, worker vector and seq clauses.
* parse.c (is_oacc): Add EXEC_OACC_ROUTINE.
* resolve.c (gfc_resolve_blocks): Likewise.
* st.c (gfc_free_statement): Likewise.
* trans-decl.c (add_attributes_to_decl): Attach an 'oacc function'
attribute and shape geometry for acc routine.

gcc/testsuite/
* gfortran.dg/goacc/routine-3.f90: New test.
* gfortran.dg/goacc/routine-4.f90: New test.
* gfortran.dg/goacc/routine-5.f90: New test.
* gfortran.dg/goacc/routine-6.f90: New test.
* gfortran.dg/goacc/subroutines: New test.

libgomp/
* libgomp.oacc-fortran/routine-5.f90: New test.
* libgomp.oacc-fortran/routine-7.f90: New test.
* libgomp.oacc-fortran/routine-9.f90: New test.

From-SVN: r231081
20 files changed:
gcc/ChangeLog
gcc/fortran/ChangeLog
gcc/fortran/f95-lang.c
gcc/fortran/gfortran.h
gcc/fortran/openmp.c
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/fortran/st.c
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/goacc/routine-3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/routine-4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/routine-5.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/routine-6.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/subroutines.f90 [new file with mode: 0644]
gcc/tree-nested.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-fortran/routine-5.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/routine-7.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/routine-9.f90 [new file with mode: 0644]