Tobias Burnus
972da55746
OpenMP/Fortran: Fix (re)mapping of allocatable/pointer arrays [PR96668]
gcc/cp/ChangeLog:
PR fortran/96668
* cp-gimplify.c (cxx_omp_finish_clause): Add bool openacc arg.
* cp-tree.h (cxx_omp_finish_clause): Likewise
* semantics.c (handle_omp_for_class_iterator): Update call.
gcc/fortran/ChangeLog:
PR fortran/96668
* trans.h (gfc_omp_finish_clause): Add bool openacc arg.
* trans-openmp.c (gfc_omp_finish_clause): Ditto. Use
GOMP_MAP_ALWAYS_POINTER with PSET for pointers.
(gfc_trans_omp_clauses): Like the latter and also if the always
modifier is used.
gcc/ChangeLog:
PR fortran/96668
* gimplify.c (gimplify_omp_for): Add 'bool openacc' argument;
update omp_finish_clause calls.
(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses,
gimplify_expr, gimplify_omp_loop): Update omp_finish_clause
and/or gimplify_for calls.
* langhooks-def.h (lhd_omp_finish_clause): Add bool openacc arg.
* langhooks.c (lhd_omp_finish_clause): Likewise.
* langhooks.h (lhd_omp_finish_clause): Likewise.
* omp-low.c (scan_sharing_clauses): Keep GOMP_MAP_TO_PSET cause for
'declare target' vars.
include/ChangeLog:
PR fortran/96668
* gomp-constants.h (GOMP_MAP_ALWAYS_POINTER_P): Define.
libgomp/ChangeLog:
PR fortran/96668
* libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
* target.c (gomp_map_vars_existing): Add always_to_flag flag.
(gomp_map_vars_existing): Update call to it.
(gomp_map_fields_existing): Likewise
(gomp_map_vars_internal): Update PSET handling such that if a nullptr is
now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
remapped.
(GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
GOMP_MAP_POINTER.
* testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
* testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2020-09-15 09:24:47 +02:00
..
2019-08-17 11:57:25 +00:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-07-15 17:23:04 +02:00
2020-07-15 08:33:20 +02:00
2020-07-15 08:33:20 +02:00
2020-07-15 08:33:20 +02:00
2020-07-15 08:33:20 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-11-04 11:01:22 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2018-08-21 18:48:59 +00:00
2018-08-21 18:48:59 +00:00
2018-08-21 18:48:59 +00:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2018-12-09 18:54:47 +00:00
2020-05-23 19:01:43 +02:00
2019-12-12 00:58:04 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-05-14 18:33:24 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2017-09-28 09:32:00 +00:00
2017-09-28 09:32:00 +00:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-07-22 12:14:22 +02:00
2020-07-22 12:14:22 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2017-01-26 12:20:51 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2018-11-08 18:13:04 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-09 10:37:44 +02:00
2019-12-11 12:45:49 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-08-20 13:33:40 +02:00
2019-10-30 12:44:54 +01:00
2018-03-25 16:00:52 +00:00
2018-03-25 16:00:52 +00:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-09-15 09:24:47 +02:00
2020-09-15 09:24:47 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-01-03 13:56:46 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2018-03-25 16:00:52 +00:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-11-04 14:18:50 +01:00
2019-11-04 14:18:50 +01:00
2020-05-13 10:06:45 +02:00
2020-05-13 10:06:45 +02:00
2020-05-13 10:06:45 +02:00
2020-05-13 10:06:45 +02:00
2020-05-13 10:06:45 +02:00
2020-05-13 10:06:45 +02:00
2020-05-13 10:06:45 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2018-12-12 23:49:35 +01:00
2018-12-12 23:49:35 +01:00
2019-10-30 11:33:58 +01:00
2020-08-08 11:10:30 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2020-07-15 12:34:03 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-11-11 09:50:40 +01:00
2019-06-19 00:14:24 +02:00
2019-06-19 00:14:24 +02:00
2020-04-10 15:44:17 +02:00
2020-04-20 23:16:40 +02:00
2020-07-14 12:55:53 +02:00
2019-11-27 18:50:55 +01:00
2019-11-27 18:50:55 +01:00
2019-10-30 11:33:58 +01:00
2020-06-08 23:24:57 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-11-04 14:18:50 +01:00
2019-11-04 14:18:50 +01:00
2019-11-04 14:18:50 +01:00
2019-12-04 09:47:13 +01:00
2019-12-04 09:47:13 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-12-06 14:06:53 +01:00
2019-12-06 14:06:53 +01:00
2019-12-09 12:21:22 +01:00
2019-12-09 12:21:22 +01:00
2019-11-11 09:50:29 +01:00
2019-11-11 10:19:29 +01:00
2020-04-29 09:24:07 +02:00
2020-06-18 00:14:46 +02:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00