[PATCH 0/4] OpenMP: Parsing of lvalues for "map" clauses for C andjC++
Julian Brown
julian@codesourcery.com
Mon Nov 15 11:18:22 GMT 2021
This patch series builds on top of the previously-posted series:
"Topological sort for OpenMP 5.0 base pointers"
https://gcc.gnu.org/pipermail/gcc-patches/2021-August/577211.html
and:
"OpenMP: Deep struct dereferences"
https://gcc.gnu.org/pipermail/gcc-patches/2021-October/580721.html
To add support for parsing general lvalues in "map" clauses in both
C and C++. A new "address inspector" class is introduced in order to
unify address analyses from several places in the C/C++ front-ends which
had some level of duplication.
Tested with offloading to NVPTX, and bootstrapped. OK?
Julian Brown (4):
Add debug_omp_expr
OpenMP: Add inspector class to unify mapped address analysis
OpenMP: lvalue parsing for map clauses (C++)
OpenMP: lvalue parsing for map clauses (C)
gcc/c-family/c-common.h | 44 +++
gcc/c-family/c-omp.c | 172 ++++++++++-
gcc/c/c-parser.c | 150 ++++++++--
gcc/c/c-tree.h | 1 +
gcc/c/c-typeck.c | 232 +++++----------
gcc/cp/error.c | 9 +
gcc/cp/parser.c | 141 ++++++++-
gcc/cp/parser.h | 3 +
gcc/cp/semantics.c | 278 +++++++-----------
gcc/gimplify.c | 37 ++-
gcc/testsuite/c-c++-common/gomp/map-1.c | 3 +-
gcc/testsuite/c-c++-common/gomp/map-6.c | 6 +-
gcc/testsuite/g++.dg/gomp/pr67522.C | 2 +-
.../g++.dg/gomp/unmappable-component-1.C | 21 ++
gcc/tree-pretty-print.c | 45 +++
gcc/tree-pretty-print.h | 1 +
gcc/tree.def | 3 +
libgomp/testsuite/libgomp.c++/ind-base-1.C | 162 ++++++++++
libgomp/testsuite/libgomp.c++/ind-base-2.C | 49 +++
libgomp/testsuite/libgomp.c++/struct-ref-1.C | 97 ++++++
20 files changed, 1088 insertions(+), 368 deletions(-)
create mode 100644 gcc/testsuite/g++.dg/gomp/unmappable-component-1.C
create mode 100644 libgomp/testsuite/libgomp.c++/ind-base-1.C
create mode 100644 libgomp/testsuite/libgomp.c++/ind-base-2.C
create mode 100644 libgomp/testsuite/libgomp.c++/struct-ref-1.C
--
2.29.2
More information about the Gcc-patches
mailing list