public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Julian Brown <julian@codesourcery.com>
To: <gcc-patches@gcc.gnu.org>
Cc: Jakub Jelinek <jakub@redhat.com>
Subject: [PATCH 0/4] OpenMP: Parsing of lvalues for "map" clauses for C andjC++
Date: Mon, 15 Nov 2021 03:18:22 -0800	[thread overview]
Message-ID: <cover.1636974589.git.julian@codesourcery.com> (raw)

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


             reply	other threads:[~2021-11-15 11:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15 11:18 Julian Brown [this message]
2021-11-15 11:18 ` [PATCH 1/4] Add debug_omp_expr Julian Brown
2021-11-15 11:18 ` [PATCH 2/4] OpenMP: Add inspector class to unify mapped address analysis Julian Brown
2021-11-15 11:18 ` [PATCH 3/4] OpenMP: lvalue parsing for map clauses (C++) Julian Brown
2021-11-15 11:18 ` [PATCH 4/4] OpenMP: lvalue parsing for map clauses (C) Julian Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1636974589.git.julian@codesourcery.com \
    --to=julian@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).