| char __attribute__ ((noipa)) |
| toup (char X) |
| { |
| if (X >= 97 && X <= 122) |
| return X - 32; |
| else |
| return X; |
| } |
| |
| char |
| target_toup_1 (char X) |
| { |
| char r; |
| #pragma omp target map(to:X) map(from:r) |
| { |
| if (X >= 97 && X <= 122) |
| r = X - 32; |
| else |
| r = X; |
| } |
| return r; |
| } |
| |
| char __attribute__ ((noipa)) |
| target_toup (char X) |
| { |
| return target_toup_1 (X); |
| } |
| |
| int main (int argc, char **argv) |
| { |
| char a = 'a'; |
| if (toup (a) != target_toup (a)) |
| __builtin_abort (); |
| a = 'Z'; |
| if (toup (a) != target_toup (a)) |
| __builtin_abort (); |
| a = 5; |
| if (toup (a) != target_toup (a)) |
| __builtin_abort (); |
| |
| return 0; |
| } |