111
|
1 char __attribute__ ((noipa))
|
|
2 toup (char X)
|
|
3 {
|
|
4 if (X >= 97 && X <= 122)
|
|
5 return X - 32;
|
|
6 else
|
|
7 return X;
|
|
8 }
|
|
9
|
131
|
10 char
|
|
11 target_toup_1 (char X)
|
111
|
12 {
|
|
13 char r;
|
|
14 #pragma omp target map(to:X) map(from:r)
|
|
15 {
|
|
16 if (X >= 97 && X <= 122)
|
|
17 r = X - 32;
|
|
18 else
|
|
19 r = X;
|
|
20 }
|
|
21 return r;
|
|
22 }
|
|
23
|
131
|
24 char __attribute__ ((noipa))
|
|
25 target_toup (char X)
|
|
26 {
|
|
27 return target_toup_1 (X);
|
|
28 }
|
|
29
|
111
|
30 int main (int argc, char **argv)
|
|
31 {
|
|
32 char a = 'a';
|
|
33 if (toup (a) != target_toup (a))
|
|
34 __builtin_abort ();
|
|
35 a = 'Z';
|
|
36 if (toup (a) != target_toup (a))
|
|
37 __builtin_abort ();
|
|
38 a = 5;
|
|
39 if (toup (a) != target_toup (a))
|
|
40 __builtin_abort ();
|
|
41
|
|
42 return 0;
|
|
43 }
|