1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/* { dg-do run } */ #include <stdlib.h> void foo () { int A[30], *p; #pragma omp target data map(A[0:4]) { p = &A[0]; #pragma omp target map(p[7:20]) map(A[0:4]) { A[2] = 777; p[8] = 777; } } if (A[2] != 777 || A[8] != 777) abort (); } int main () { foo (); return 0; }