https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92311
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Nichols A. Romero from comment #0) > The bug is against the frontend of the Fortran compiler that handles > directives in both OpenACC and OpenMP for NVidia GPUs. Here is the > compile-time error with -fopenmp: > > The error for the OpenMP is shown below: > 29 | !$omp target data use_device_ptr(this_bin) > | 1 > Error: TARGET DATA must contain at least one MAP clause at (1) > > AFAIK, this is not a correct interpretation of the standard. You don't need > a map clause here, use_device_ptr clause is enough. > https://www.openmp.org/spec-html/5.0/openmpsu57.html#x83-2580002.12.2 That is what OpenMP 5.0 says, but not what 4.5 said, 4.5 required at least one map clause, and GCC 9 implements in Fortran only OpenMP 4.0 and some parts of OpenMP 4.5, not OpenMP 5.0. CCing Tobias Burnus who has made progress on use_device_ptr/use_device_addr for GCC 10 in Fortran.