https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113867
--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> --- Also not handled: struct s { int *p; } s1; ... #pragma omp target map(s1.p[:N]) p[0] = p[N-1] = 99; Here, the pointer attachment is missing. See also PR113724 's attachment 57407 for a testcase for this and (some) other issues. TODO: - Fix the extra struct issue (→ this patch or other solution) - Fix the missing attachment issue (this comment's example) - Audit whether other changes are required.