| /* Test valid usages of the if_present clause. */ |
| |
| /* { dg-additional-options "-fdump-tree-omplower" } */ |
| |
| void |
| t () |
| { |
| int a, b, c[10]; |
| |
| #pragma acc update self(a) if_present |
| #pragma acc update device(b) async if_present |
| #pragma acc update host(c[1:3]) wait(4) if_present |
| #pragma acc update self(c) device(b) host (a) async(10) if (a == 5) if_present |
| |
| #pragma acc update self(a) |
| #pragma acc update device(b) async |
| #pragma acc update host(c[1:3]) wait(4) |
| #pragma acc update self(c) device(b) host (a) async(10) if (a == 5) |
| } |
| |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update if_present map.from:a .len: 4.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update if_present async.-1. map.to:b .len: 4.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update if_present wait.4. map.from:c.1. .len: 12.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update if_present if.... async.10. map.from:a .len: 4.. map.to:b .len: 4.. map.from:c .len: 40.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update map.force_from:a .len: 4.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update async.-1. map.force_to:b .len: 4.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update wait.4. map.force_from:c.1. .len: 12.." 1 "omplower" } } */ |
| /* { dg-final { scan-tree-dump-times "omp target oacc_update if.... async.10. map.force_from:a .len: 4.. map.force_to:b .len: 4.. map.force_from:c .len: 40.." 1 "omplower" } } */ |