gcc/libgomp/testsuite/libgomp.c-c++-common/target-41.c

29 lines
422 B
C

/* 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;
}