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.

Reply via email to