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