Re: [Patch] libgomp – fix handling of 'target enter data'

2020-04-10 Thread Jakub Jelinek via Gcc-patches
On Fri, Apr 10, 2020 at 04:31:37PM +0200, Thomas Schwinge wrote: > Aha, thanks -- that resolves doubts I had (but Julian and I couldn't > allocate time to track down): see 'GOMP_target_enter_exit_data' mentioned > in > ff., for

Re: [Patch] libgomp – fix handling of 'target enter data'

2020-04-10 Thread Thomas Schwinge
Hi! On 2020-03-31T19:41:40+0200, Tobias Burnus wrote: > libgomp – fix handling of 'target enter data' > > * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. > * testsuite/libgomp.fortran/target-enter-data-1.f90: New. > > libgomp/target.c

Re: [Patch] libgomp – fix handling of 'target enter data'

2020-03-31 Thread Jakub Jelinek via Gcc-patches
On Tue, Mar 31, 2020 at 07:41:40PM +0200, Tobias Burnus wrote: > On 3/31/20 5:35 PM, Jakub Jelinek via Gcc-patches wrote: > > > Doing the mappings separately is intentional, while for target data or > > target region mappings it is very likely they will be all released together > > as well, so it

Re: [Patch] libgomp – fix handling of 'target enter data'

2020-03-31 Thread Tobias Burnus
On 3/31/20 5:35 PM, Jakub Jelinek via Gcc-patches wrote: Doing the mappings separately is intentional, while for target data or target region mappings it is very likely they will be all released together as well, so it doesn't matter if they all go from the single same mapping, for target enter

Re: [Patch] libgomp – fix handling of 'target enter data'

2020-03-31 Thread Jakub Jelinek via Gcc-patches
On Tue, Mar 31, 2020 at 05:14:17PM +0200, Tobias Burnus wrote: > gomp_map_vars_internal contains: > > if ((kind & typemask) == GOMP_MAP_TO_PSET) > { > size_t j; > for (j = i + 1; j < mapnum; j++) > if (!GOMP_MAP_POINTER_P (get_kind

[Patch] libgomp – fix handling of 'target enter data'

2020-03-31 Thread Tobias Burnus
gomp_map_vars_internal contains: if ((kind & typemask) == GOMP_MAP_TO_PSET) { size_t j; for (j = i + 1; j < mapnum; j++) if (!GOMP_MAP_POINTER_P (get_kind (short_mapkind, kinds, j) where one accesses not only the i-th hostaddr but