https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92728

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
See also PR 92730 for a related issue (OpenMP's map() does not handle /common/)

Remark, as I only just remembered:

"Named common blocks of the same name shall be of the same size in all scoping
units of a program in which they appear, but blank common blocks may be of
different sizes." (Fortran 2018, 8.10.2.5)

If the common block is only on the host – and uses map(/block/), mapping single
variables is fine. If it is only on the device, it is also fine – it only
becomes interesting if the same-named common block is on both device and host.
In this case, they have to be named (= same size) and a copy(/map/) should
really copy the whole block and not only the (directly) used common-block
variables.

For OpenACC, device_resident seems to be about this feature, OpenMP seems to be
silent on this topic.

Reply via email to