1! OpenACC default clause inside data construct.
2
3! { dg-additional-options "-fdump-tree-gimple" }
4
5      SUBROUTINE F1
6      IMPLICIT NONE
7      INTEGER :: F1_A = 2
8      REAL, DIMENSION (2) :: F1_B
9
10!$ACC DATA COPYIN (F1_A) COPYOUT (F1_B)
11! { dg-final { scan-tree-dump-times "omp target oacc_data map\\(to:f1_a \[^\\)\]+\\) map\\(from:f1_b" 1 "gimple" } }
12!$ACC KERNELS
13! { dg-final { scan-tree-dump-times "omp target oacc_kernels map\\(tofrom:f1_b \[^\\)\]+\\) map\\(tofrom:f1_a" 1 "gimple" } }
14      F1_B(1) = F1_A;
15!$ACC END KERNELS
16!$ACC PARALLEL
17! { dg-final { scan-tree-dump-times "omp target oacc_parallel map\\(tofrom:f1_b \[^\\)\]+\\) map\\(tofrom:f1_a" 1 "gimple" } }
18      F1_B(1) = F1_A;
19!$ACC END PARALLEL
20!$ACC END DATA
21      END SUBROUTINE F1
22
23      SUBROUTINE F2
24      IMPLICIT NONE
25      INTEGER :: F2_A = 2
26      REAL, DIMENSION (2) :: F2_B
27
28!$ACC DATA COPYIN (F2_A) COPYOUT (F2_B)
29! { dg-final { scan-tree-dump-times "omp target oacc_data map\\(to:f2_a \[^\\)\]+\\) map\\(from:f2_b" 1 "gimple" } }
30!$ACC KERNELS DEFAULT (NONE)
31! { dg-final { scan-tree-dump-times "omp target oacc_kernels default\\(none\\) map\\(tofrom:f2_b \[^\\)\]+\\) map\\(tofrom:f2_a" 1 "gimple" } }
32      F2_B(1) = F2_A;
33!$ACC END KERNELS
34!$ACC PARALLEL DEFAULT (NONE)
35! { dg-final { scan-tree-dump-times "omp target oacc_parallel default\\(none\\) map\\(tofrom:f2_b \[^\\)\]+\\) map\\(tofrom:f2_a" 1 "gimple" } }
36      F2_B(1) = F2_A;
37!$ACC END PARALLEL
38!$ACC END DATA
39      END SUBROUTINE F2
40
41      SUBROUTINE F3
42      IMPLICIT NONE
43      INTEGER :: F3_A = 2
44      REAL, DIMENSION (2) :: F3_B
45
46!$ACC DATA COPYIN (F3_A) COPYOUT (F3_B)
47! { dg-final { scan-tree-dump-times "omp target oacc_data map\\(to:f3_a \[^\\)\]+\\) map\\(from:f3_b" 1 "gimple" } }
48!$ACC KERNELS DEFAULT (PRESENT)
49! { dg-final { scan-tree-dump-times "omp target oacc_kernels default\\(present\\) map\\(tofrom:f3_b \[^\\)\]+\\) map\\(tofrom:f3_a" 1 "gimple" } }
50      F3_B(1) = F3_A;
51!$ACC END KERNELS
52!$ACC PARALLEL DEFAULT (PRESENT)
53! { dg-final { scan-tree-dump-times "omp target oacc_parallel default\\(present\\) map\\(tofrom:f3_b \[^\\)\]+\\) map\\(tofrom:f3_a" 1 "gimple" } }
54      F3_B(1) = F3_A;
55!$ACC END PARALLEL
56!$ACC END DATA
57      END SUBROUTINE F3
58