Hi! Ah, and the reason why it doesn't work on target is that it has the everything is mapped assumption: if ((ctx->region_type & ORT_TARGET) != 0) { if (ctx->region_type & ORT_ACC) /* For OpenACC, as remarked above, defer expansion. */ shared = false; else shared = true; ret = lang_hooks.decls.omp_disregard_value_expr (decl, shared);
Perhaps shared = true; should be shared = (flags & GOVD_MAPPED) != 0; now that we have private/firstprivate clauses on target? Jakub