https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118266
--- Comment #11 from H.J. Lu <hjl.tools at gmail dot com> --- A smaller testcase: --- void *xmalloc(); void free(void *); typedef struct { int a; int b; int c; } mystruct; int main_j; int main() { mystruct *m = (mystruct *)xmalloc(), *mref = m; #pragma acc enter data copyin(m[1]) for (int i; i < 9; i++) { #pragma acc parallel for (; main_j;) ; #pragma acc parallel loop copy(mref->b, m->c) for (main_j = 0; main_j < 4; main_j++) ; } #pragma acc data copyout(m[ : 1]) free(m); } ---