diff options
author | Chung-Lin Tang <cltang@codesourcery.com> | 2021-10-20 23:25:02 +0800 |
---|---|---|
committer | Chung-Lin Tang <cltang@codesourcery.com> | 2021-10-20 23:25:02 +0800 |
commit | d98626bf451dea6a28a42d953f7d0bd7659ad4d5 (patch) | |
tree | 2a7e9e62091ea1a79d1a46bb82e0a861167c0bc4 /gcc/cp/parser.c | |
parent | 90454a900824d96e6d4eae557a809c9d986198d9 (diff) | |
download | gcc-d98626bf451dea6a28a42d953f7d0bd7659ad4d5.zip gcc-d98626bf451dea6a28a42d953f7d0bd7659ad4d5.tar.gz gcc-d98626bf451dea6a28a42d953f7d0bd7659ad4d5.tar.bz2 |
openmp: in_reduction support for Fortran
This patch implements support for the in_reduction clause for Fortran.
It also includes more completion of the taskgroup construct inside the
Fortran front-end, thus allowing task_reduction to work for task and
target constructs.
gcc/fortran/ChangeLog:
* openmp.c (gfc_match_omp_clause_reduction): Add 'openmp_target' default
false parameter. Add 'always,tofrom' map for OMP_LIST_IN_REDUCTION case.
(gfc_match_omp_clauses): Add 'openmp_target' default false parameter,
adjust call to gfc_match_omp_clause_reduction.
(match_omp): Adjust call to gfc_match_omp_clauses
* trans-openmp.c (gfc_trans_omp_taskgroup): Add call to
gfc_match_omp_clause, create and return block.
gcc/ChangeLog:
* omp-low.c (omp_copy_decl_2): For !ctx, use record_vars to add new copy
as local variable.
(scan_sharing_clauses): Place copy of OMP_CLAUSE_IN_REDUCTION decl in
ctx->outer instead of ctx.
gcc/testsuite/ChangeLog:
* gfortran.dg/gomp/reduction4.f90: Adjust omp target in_reduction' scan
pattern.
libgomp/ChangeLog:
* testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
* testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
Diffstat (limited to 'gcc/cp/parser.c')
0 files changed, 0 insertions, 0 deletions