131
|
1 /* Test valid usage and processing of the finalize clause. */
|
|
2
|
|
3 /* { dg-additional-options "-fdump-tree-original -fdump-tree-gimple" } */
|
|
4
|
|
5 extern int del_r;
|
|
6 extern float del_f[3];
|
|
7 extern double cpo_r[8];
|
|
8 extern long cpo_f;
|
|
9
|
|
10 void f ()
|
|
11 {
|
|
12 #pragma acc exit data delete (del_r)
|
|
13 /* { dg-final { scan-tree-dump-times "(?n)#pragma acc exit data map\\(release:del_r\\);$" 1 "original" } }
|
|
14 { dg-final { scan-tree-dump-times "(?n)#pragma omp target oacc_enter_exit_data map\\(release:del_r \\\[len: \[0-9\]+\\\]\\)$" 1 "gimple" } } */
|
|
15
|
|
16 #pragma acc exit data finalize delete (del_f)
|
|
17 /* { dg-final { scan-tree-dump-times "(?n)#pragma acc exit data map\\(release:del_f\\) finalize;$" 1 "original" } }
|
|
18 { dg-final { scan-tree-dump-times "(?n)#pragma omp target oacc_enter_exit_data map\\(delete:del_f \\\[len: \[0-9\]+\\\]\\) finalize$" 1 "gimple" } } */
|
|
19
|
|
20 #pragma acc exit data copyout (cpo_r)
|
|
21 /* { dg-final { scan-tree-dump-times "(?n)#pragma acc exit data map\\(from:cpo_r\\);$" 1 "original" } }
|
|
22 { dg-final { scan-tree-dump-times "(?n)#pragma omp target oacc_enter_exit_data map\\(from:cpo_r \\\[len: \[0-9\]+\\\]\\)$" 1 "gimple" } } */
|
|
23
|
|
24 #pragma acc exit data copyout (cpo_f) finalize
|
|
25 /* { dg-final { scan-tree-dump-times "(?n)#pragma acc exit data finalize map\\(from:cpo_f\\);$" 1 "original" } }
|
|
26 { dg-final { scan-tree-dump-times "(?n)#pragma omp target oacc_enter_exit_data finalize map\\(force_from:cpo_f \\\[len: \[0-9\]+\\\]\\)$" 1 "gimple" } } */
|
|
27 }
|
|
28
|