| /* { dg-do compile } */ |
| /* { dg-options "-fopenmp -fdump-tree-gimple" } */ |
| /* { dg-additional-options "-std=c++98" { target c++ } } */ |
| |
| int bar (int, int); |
| void baz (int, int *); |
| #pragma omp declare target enter (baz) |
| |
| void |
| foo (int x, int *p) |
| { |
| #pragma omp target map (iterator (i=0:4), to: p[bar (x, i)]) |
| baz (x, p); |
| } |
| |
| /* { dg-final { scan-tree-dump "firstprivate\\\(x\\\)" "gimple" } } */ |
| /* { dg-final { scan-tree-dump-times "bar \\\(x, i\\\)" 2 "gimple" } } */ |
| /* { dg-final { scan-tree-dump-times "map\\\(iterator\\\(int i=0:4:1, loop_label=" 2 "gimple" } } */ |