https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92843
--- Comment #3 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- (In reply to jules from comment #2) > I don't think your example is valid Which one, specifically? > but I'm not sure it will be fail in > quite the right way with the current version of my refcount overhaul patch. > Actually I think the acc_map_data implementation using REFCOUNT_INFINITY is > probably wrong too. Maybe, but adjusting that can wait until later. And in particular, incrementally. > I will try changing the implementation as follows: > > - calls to acc_delete with the structured reference count being non-zero (or > infinity in the case of '#pragma acc declare'd data) should raise an error. Are you sure about that? Per my reading as detailed above, that would actually be valid, and be a no-op. (That's also what I'm asking about in <https://github.com/OpenACC/openacc-spec/issues/246>, using the very same text/example.) > - acc_map_data should use GOMP_MAP_VARS_OPENACC_ENTER_DATA instead of > forcing the refcount to infinity (i.e., making the behaviour the same as > "enter data (create)"). > > Does that match your understanding of what the behaviour should be? I still have to look into that one (which may have changed between OpenACC 2.6 and later?), but let's defer that one until later, as mentioned above.