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.