public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/113006] New: OpenMP 5 - lvalue parsing support for map/to/from clause
@ 2023-12-13 20:54 jules at gcc dot gnu.org
  2024-04-08 16:31 ` [Bug middle-end/113006] " burnus at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: jules at gcc dot gnu.org @ 2023-12-13 20:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113006

            Bug ID: 113006
           Summary: OpenMP 5 - lvalue parsing support for map/to/from
                    clause
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jules at gcc dot gnu.org
  Target Milestone: ---

The following test:

  libgomp/testsuite/libgomp.c++/baseptrs-4.C

partly depends on the following in-review patches:

  https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629365.html
  https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629364.html

Tobias points out there is currently an unresolved OpenMP issue, 2618 ("Clarify
behavior of mapping lvalues on target construct"), which talks about whether
code like the following:

   map(*p = 10)
   map(x = 20)
   map(x ? y[0] : p[1])
   map(f(y))

is valid or not. He writes that the sentiment was to require that a 'map'
clause list item must have a base pointer or a base variable.

As far as I know, none of these "problematic" cases are permitted by the above
patches, but it might be worth following the OpenMP issue to make sure that
nothing diverges.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug middle-end/113006] OpenMP 5 - lvalue parsing support for map/to/from clause
  2023-12-13 20:54 [Bug middle-end/113006] New: OpenMP 5 - lvalue parsing support for map/to/from clause jules at gcc dot gnu.org
@ 2024-04-08 16:31 ` burnus at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: burnus at gcc dot gnu.org @ 2024-04-08 16:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113006

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
[WIP] The Pull Request 3831 for Issue 2618 adds the restriction
to *target* only:

"* A list-item in a *map* clause that is specified on a *target* construct must
have a base-variable or base-pointer."

However, function calls in lvalue expressions can be still be used in 'target
{,enter,exit} data'.

NOTE: This also applies to Fortran as 'f()' if 'f' returns a data pointer is a
variable in Fortran, but it isn't a base-variable; i.e. permitted in 'target
... data' not in 'target'.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-08 16:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-13 20:54 [Bug middle-end/113006] New: OpenMP 5 - lvalue parsing support for map/to/from clause jules at gcc dot gnu.org
2024-04-08 16:31 ` [Bug middle-end/113006] " burnus at gcc dot gnu.org

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).