Hi! On 2020-01-17T13:18:20-0800, Julian Brown <jul...@codesourcery.com> wrote: > This patch prevents "exit data" directives from copying back data that > was mapped with an acc_map_data API call. This matches the behaviour > expected by the pr92843-1.c test
> --- a/libgomp/oacc-mem.c > +++ b/libgomp/oacc-mem.c > @@ -1235,6 +1235,7 @@ goacc_exit_data_internal (struct gomp_device_descr > *acc_dev, size_t mapnum, > n->refcount--; > > if (copyfrom > + && n->refcount != REFCOUNT_INFINITY > && (kind != GOMP_MAP_FROM || n->refcount == 0)) > gomp_copy_dev2host (acc_dev, aq, (void *) cur_node.host_start, > (void *) (n->tgt->tgt_start + n->tgt_offset Such a change -- re-posted as <http://mid.mail-archive.com/7b2f54faa0a25a7a445ad86bf4726202a1190a4f.1590182783.git.julian@codesourcery.com>, and <0585b4fda1ba5c76dce2ac5053a55e2ceef06041.1592343756.git.julian@codesourcery.com">http://mid.mail-archive.com/0585b4fda1ba5c76dce2ac5053a55e2ceef06041.1592343756.git.julian@codesourcery.com> -- does fix the 'libgomp.oacc-c-c++-common/pr92843-1.c' test case, but I don't agree that the change is correct. Instead, I have pushed "[OpenACC] Revert always-copyfrom behavior for 'GOMP_MAP_FORCE_FROM' in 'libgomp/oacc-mem.c:goacc_exit_data_internal'", <87wo3ky5vn.fsf@euler.schwinge.homeip.net">http://mid.mail-archive.com/87wo3ky5vn.fsf@euler.schwinge.homeip.net>. (This moves us past the point where it used to 'abort' before, but doesn't resolve the XFAIL, yet, which needs changes from "[OpenACC] Adjust dynamic reference count semantics", <5e9472b80dc475214a4a082ef54ee919d7f9dcff.1592343756.git.julian@codesourcery.com">http://mid.mail-archive.com/5e9472b80dc475214a4a082ef54ee919d7f9dcff.1592343756.git.julian@codesourcery.com>.) Grüße Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter