| /* { dg-skip-if "" { *-*-* } } */ |
| /* Used by target-same-name-1.c */ |
| |
| static int local_link = 55; |
| #pragma omp declare target link(local_link) |
| |
| extern int decl_a_link; |
| #pragma omp declare target link(decl_a_link) |
| |
| #pragma omp declare target |
| static int __attribute__ ((noinline,noclone)) |
| foo () |
| { |
| return 7; |
| } |
| #pragma omp end declare target |
| |
| static int __attribute__ ((noinline,noclone)) |
| bar () |
| { |
| int i; |
| #pragma omp target map(from:i) |
| i = foo (); |
| return i; |
| } |
| |
| int |
| two () { |
| return bar (); |
| } |
| |
| int |
| two_get_inc4_local_link () |
| { |
| int res, res2; |
| #pragma omp target map(from: res, res2) |
| { |
| res = local_link; |
| local_link += 4; |
| res2 = local_link; |
| } |
| if (res + 4 != res2) |
| __builtin_abort (); |
| return res; |
| } |
| |
| int |
| two_get_inc5_link_a () |
| { |
| int res, res2; |
| #pragma omp target map(from: res, res2) |
| { |
| res = decl_a_link; |
| decl_a_link += 5; |
| res2 = decl_a_link; |
| } |
| if (res + 5 != res2) |
| __builtin_abort (); |
| return res; |
| } |