On 27.04.23 20:36, Julian Brown wrote:
This patch fixes several cases where multiple attach or detach mapping
nodes were being created for stand-alone attach or detach clauses
in Fortran.  After the introduction of stricter checking later during
compilation, these extra nodes could cause ICEs, as seen in the PR.

The patch also fixes cases that "happened to work" previously where
the user attaches/detaches a pointer to array using a descriptor, and
(I think!) the "_data" field has offset zero, hence the same address as
the descriptor as a whole.

Tested with offloading to nvptx. OK?

LGTM for mainline and, after some grace period, for GCC 13.

Thanks,

Tobias

2023-04-27  Julian Brown  <jul...@codesourcery.com>

      PR fortran/109622

gcc/fortran/
      * trans-openmp.cc (gfc_trans_omp_clauses): Attach/detach clause fixes.

gcc/testsuite/
      * gfortran.dg/goacc/attach-descriptor.f90: Adjust expected output.

libgomp/
      * testsuite/libgomp.fortran/pr109622.f90: New test.
      * testsuite/libgomp.fortran/pr109622-2.f90: New test.
      * testsuite/libgomp.fortran/pr109622-3.f90: New test.
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
München, HRB 106955

Reply via email to