annotate libgomp/testsuite/libgomp.c/target-28.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 extern void abort (void);
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 int g;
kono
parents:
diff changeset
4 #pragma omp declare target (g)
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 #pragma omp declare target
kono
parents:
diff changeset
7 int
kono
parents:
diff changeset
8 foo (void)
kono
parents:
diff changeset
9 {
kono
parents:
diff changeset
10 static int s;
kono
parents:
diff changeset
11 return ++s + g;
kono
parents:
diff changeset
12 }
kono
parents:
diff changeset
13 #pragma omp end declare target
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 int
kono
parents:
diff changeset
16 bar (void)
kono
parents:
diff changeset
17 {
kono
parents:
diff changeset
18 static int s;
kono
parents:
diff changeset
19 #pragma omp declare target to (s)
kono
parents:
diff changeset
20 return ++s;
kono
parents:
diff changeset
21 }
kono
parents:
diff changeset
22 #pragma omp declare target (bar)
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 int
kono
parents:
diff changeset
25 main ()
kono
parents:
diff changeset
26 {
kono
parents:
diff changeset
27 int r;
kono
parents:
diff changeset
28 #pragma omp target map(from:r)
kono
parents:
diff changeset
29 {
kono
parents:
diff changeset
30 r = (foo () == 1) + (bar () == 1);
kono
parents:
diff changeset
31 r += (foo () == 2) + (bar () == 2);
kono
parents:
diff changeset
32 }
kono
parents:
diff changeset
33 if (r != 4)
kono
parents:
diff changeset
34 abort ();
kono
parents:
diff changeset
35 return 0;
kono
parents:
diff changeset
36 }