https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104696
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Tobias Burnus from comment #1) > Namely: > ------------ test.c-------------- > struct s { int *d; }; It makes more sense to use 'int d;' to match Fortran. Doing so yields in the gimple dump: #pragma omp target num_teams(1) thread_limit(0) map(struct:x [len: 1]) map(tofrom:x.q.d [len: 4]) #pragma omp target num_teams(1) thread_limit(0) map(tofrom:x [len: 4194328][implicit]) map(tofrom:x.r[1].d [len: 4]) Thus, C and Fortran show the same issue.