aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c-c++-common/target-42.c
blob: a334f477e5120b13d6be5e7059724ebd2f822486 (plain)
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
/* PR libgomp/100573 */

int
foo (int a)
{
  #pragma omp target firstprivate(a)
  if (a == 0)
    {
      a++;
      #pragma omp target map(tofrom:a)		/* { dg-warning "'target' construct inside of 'target' region" } */
      a = foo (a);
      #pragma omp target data map(tofrom:a)	/* { dg-warning "'target data' construct inside of 'target' region" } */
      a++;
      #pragma omp target enter data map(to:a)	/* { dg-warning "'target enter data' construct inside of 'target' region" } */
      #pragma omp target exit data map(from:a)	/* { dg-warning "'target exit data' construct inside of 'target' region" } */
    }
  return a + 1;
}

int
main ()
{
  if (foo (1) != 2)
    __builtin_abort ();
  return 0;
}