(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
clauses-2.c
       1  /* { dg-skip-if "PR 68733" { hppa*-*-hpux* && { ! lp64 } } } */
       2  struct S { int r; int *s; int t[10]; };
       3  void bar (int *);
       4  
       5  void
       6  foo (int *p, int q, struct S t, int i, int j, int k, int l)
       7  {
       8    #pragma omp target map (q), firstprivate (q) /* { dg-error "appears both in data and map clauses" } */
       9      bar (&q);
      10    #pragma omp target map (p[0]) firstprivate (p) /* { dg-error "appears more than once in data clauses" } */
      11      bar (p);
      12    #pragma omp target firstprivate (p), map (p[0]) /* { dg-error "appears more than once in data clauses" } */
      13      bar (p);
      14    #pragma omp target map (p[0]) map (p) /* { dg-error "appears both in data and map clauses" } */
      15      bar (p);
      16    #pragma omp target map (p) , map (p[0])
      17      bar (p);
      18    #pragma omp target map (q) map (q) /* { dg-error "appears more than once in map clauses" } */
      19      bar (&q);
      20    #pragma omp target map (p[0]) map (p[0]) /* { dg-error "appears more than once in data clauses" } */
      21      bar (p);
      22    #pragma omp target map (t) map (t.r)
      23      bar (&t.r);
      24    #pragma omp target map (t.r) map (t)
      25      bar (&t.r);
      26    #pragma omp target map (t.r) map (t.r)
      27      bar (&t.r);
      28    #pragma omp target firstprivate (t), map (t.r) /* { dg-error "appears both in data and map clauses" } */
      29      bar (&t.r);
      30    #pragma omp target map (t.r) firstprivate (t) /* { dg-error "appears both in data and map clauses" } */
      31      bar (&t.r);
      32    #pragma omp target map (t.s[0]) map (t)
      33      bar (t.s);
      34    #pragma omp target map (t) map(t.s[0])
      35      bar (t.s);
      36    #pragma omp target firstprivate (t) map (t.s[0]) /* { dg-error "appears both in data and map clauses" } */
      37      bar (t.s);
      38    #pragma omp target map (t.s[0]) firstprivate (t) /* { dg-error "appears both in data and map clauses" } */
      39      bar (t.s);
      40    #pragma omp target map (t.s[0]) map (t.s[2])
      41      bar (t.s);
      42    #pragma omp target map (t.t[0:2]) map (t.t[4:6])
      43      bar (t.t);
      44    #pragma omp target map (t.t[i:j]) map (t.t[k:l])
      45      bar (t.t);
      46    #pragma omp target map (t.s[0]) map (t.r)
      47      bar (t.s);
      48    #pragma omp target map (t.r) ,map (t.s[0])
      49      bar (t.s);
      50    #pragma omp target map (t.r) map (t) map (t.s[0]) firstprivate (t) /* { dg-error "appears both in data and map clauses" } */
      51      bar (t.s);
      52    #pragma omp target map (t) map (t.r) firstprivate (t) map (t.s[0]) /* { dg-error "appears both in data and map clauses" } */
      53      bar (t.s);
      54  }