OpenACC: Stand-alone attach/detach clause fixes for Fortran [PR109622]
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. 2023-04-27 Julian Brown <julian@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. (cherry picked from commit cacf65d7)
Showing
- gcc/fortran/trans-openmp.cc 33 additions, 3 deletionsgcc/fortran/trans-openmp.cc
- gcc/testsuite/gfortran.dg/goacc/attach-descriptor.f90 6 additions, 6 deletionsgcc/testsuite/gfortran.dg/goacc/attach-descriptor.f90
- libgomp/testsuite/libgomp.fortran/pr109622-2.f90 32 additions, 0 deletionslibgomp/testsuite/libgomp.fortran/pr109622-2.f90
- libgomp/testsuite/libgomp.fortran/pr109622-3.f90 32 additions, 0 deletionslibgomp/testsuite/libgomp.fortran/pr109622-3.f90
- libgomp/testsuite/libgomp.fortran/pr109622.f90 32 additions, 0 deletionslibgomp/testsuite/libgomp.fortran/pr109622.f90
Loading
Please register or sign in to comment