PR target/81988
[official-gcc.git] / libgomp / testsuite / libgomp.c++ / target-13.C
blob5279ac026840098c23fa8d587f369a9b3c4934a9
1 extern "C" void abort (void);
3 int g;
4 #pragma omp declare target (g)
6 #pragma omp declare target
7 int
8 foo (void)
10   static int s;
11   return ++s + g;
13 #pragma omp end declare target
15 int
16 bar (void)
18   static int s;
19   #pragma omp declare target to (s)
20   return ++s;
22 #pragma omp declare target (bar)
24 int
25 main ()
27   int r;
28   #pragma omp target map(from:r)
29   {
30     r = (foo () == 1) + (bar () == 1);
31     r += (foo () == 2) + (bar () == 2);
32   }
33   if (r != 4)
34     abort ();
35   return 0;