aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c-c++-common/target-41.c
blob: 3aca19a15f94825300e1ac7fb5efa092861e70a9 (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
27
28
/* PR libgomp/100573 */

int
foo (int a)
{
  if (a == 0)
    {
      int c;
      a++;
      #pragma omp target map(tofrom:a)
      a = foo (a);
      #pragma omp target data map(tofrom:a)
      c = a != 2;
      if (c)
	return -1;
      #pragma omp target enter data map(to:a)
      #pragma omp target exit data map(from:a)
    }
  return a + 1;
}

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