https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110639
Bug ID: 110639 Summary: [OpenMP][5.1] Predefined firstprivate for pointers - attachment missing Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: openmp, wrong-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org Target Milestone: --- OpenMP 5.1 changed (quoting GCC impl. status): Pointer predetermined firstprivate getting initialized to address of matching mapped list item per 5.1, Sect. 2.21.7.2 However, looking at the examples in the OpenMP spec issue #1796 (TRAC864) this does not handle partially mapped data correctly: int a[100]; int *p = &a[0]; #pragma omp target teams distribute map(a[start:n]) for (int i = start; i < start+n; i++) { p[i] = f(p[i], i); } Here, 'p' has an points to 'a' (actually, to the base address of 'a') but this address is not mapped. However, it still points to the extended address range of mapped data.