https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118520
Thomas Schwinge <tschwinge at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |15.0
CC| |tschwinge at gcc dot gnu.org
Keywords| |openmp
--- Comment #2 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
Benjamin, thanks for this one, too. This now works with (the upcoming) GCC 15:
compiles, executes (tested Nvidia GPU) without error, produces output (that
I've not verified in detail).
I'm curious about a few of your comments, please feel free to provide some more
context if you'd like:
> interestingly, local arrays on the stack work on clang in target regions.
Yes, that's expected to work. (Within the smallish GPU stack size
constraints.)
> interestingly, with clang, one can do pointer arithmetic on target regions,
> so the pointers are really target pointers now..
Yes, that's expected to behave according to base language standards.
> interestingly, ['new'] works on clang on target regions. On gcc, this
> apparently does not work.
Now it does (PR101544).
> also, one can allocate memory in the target region with omp alloc.
Yes.
> ['device' clause confusion]
I can't comment on what LLVM is doing, but with GCC this is expected to behave
as documented by OpenMP.