https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103708

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
The following is also rejected:

  int **a;
  #pragma omp target enter data map(to:a[1:2])

  #pragma omp target data use_device_addr(a[1:2])
  {
    int *p = &a[1];
    #pragma omp target has_device_addr(a[1:2])
       { /* ... */ }

While 'use_device_addr' doesn't support arrays at all,
the 'has_device_addr' feature is partially implemented
(syntax of comment 0 is supported), but not using pointer arrays:

bar.c:10:39: error: ‘*(a + 8)’ is not a variable in clause ‘has_device_addr’
   10 |     #pragma omp target has_device_addr(a[1:2])

Reply via email to