https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98476
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The error is correct for OpenMP 4.5, !$omp target data there has the restriction: At least one map clause must appear on the directive. and OpenMP 4.5 is what GCC 10 implements in Fortran mostly. OpenMP 5.0 and 5.1 changes that restriction to: At least one map, use_device_addr or use_device_ptr clause must appear on the directive. which is what you can see in the C and C++ FEs. GCC 11 is going to implement the 5.0 behavior here even in Fortran.