diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-11-04 09:37:22 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-11-04 10:02:01 +0100 |
commit | 9649031577028310e853025672c71dfb500494f0 (patch) | |
tree | 77628998c8b1cfcf5d767872248ff33542eff532 /gcc/c/config-lang.in | |
parent | 7988c76ebacd66741110886c3dc7a4f0245ba9b5 (diff) | |
download | gcc-9649031577028310e853025672c71dfb500494f0.zip gcc-9649031577028310e853025672c71dfb500494f0.tar.gz gcc-9649031577028310e853025672c71dfb500494f0.tar.bz2 |
openmp: allocate clause vs. *reduction array sections [PR97670]
This patch finds the base expression of reduction array sections and uses it
in checks whether allocate clause lists only variables that have been privatized.
Also fixes a pasto that caused an ICE.
2020-11-04 Jakub Jelinek <jakub@redhat.com>
PR c++/97670
gcc/c-family/
* c-omp.c (c_omp_split_clauses): Look through array reductions to find
underlying decl to clear in the allocate_head bitmap.
gcc/c/
* c-typeck.c (c_finish_omp_clauses): Look through array reductions to
find underlying decl to clear in the aligned_head bitmap.
gcc/cp/
* semantics.c (finish_omp_clauses): Look through array reductions to
find underlying decl to clear in the aligned_head bitmap. Use
DECL_UID (t) instead of DECL_UID (OMP_CLAUSE_DECL (c)) when clearing
in the bitmap. Only diagnose errors about allocate vars not being
privatized on the same construct on allocate clause if it has
a DECL_P OMP_CLAUSE_DECL.
gcc/testsuite/
* c-c++-common/gomp/allocate-4.c: New test.
* g++.dg/gomp/allocate-2.C: New test.
* g++.dg/gomp/allocate-3.C: New test.
Diffstat (limited to 'gcc/c/config-lang.in')
0 files changed, 0 insertions, 0 deletions