1 extern int i;
2 
3 void
f_acc_parallel(void)4 f_acc_parallel (void)
5 {
6 #pragma acc parallel
7   {
8 #pragma acc loop
9     for (i = 0; i < 2; ++i)
10       ;
11   }
12 }
13 
14 
15 void
f_acc_kernels(void)16 f_acc_kernels (void)
17 {
18 #pragma acc kernels
19   {
20 #pragma acc loop
21     for (i = 0; i < 2; ++i)
22       ;
23   }
24 }
25 
26 
27 void
f_acc_data(void)28 f_acc_data (void)
29 {
30 #pragma acc data
31   {
32 #pragma acc parallel
33     ;
34 
35 #pragma acc parallel
36     {
37 #pragma acc loop
38       for (i = 0; i < 2; ++i)
39 	;
40     }
41 
42 #pragma acc kernels
43     ;
44 
45 #pragma acc kernels
46     {
47 #pragma acc loop
48       for (i = 0; i < 2; ++i)
49 	;
50     }
51 
52 #pragma acc data
53     ;
54 
55 #pragma acc update host(i)
56 
57 #pragma acc enter data copyin(i)
58 
59 #pragma acc exit data delete(i)
60 
61 #pragma acc data
62     {
63 #pragma acc parallel
64       ;
65 
66 #pragma acc parallel
67       {
68 #pragma acc loop
69 	for (i = 0; i < 2; ++i)
70 	  ;
71       }
72 
73 #pragma acc kernels
74       ;
75 
76 #pragma acc kernels
77       {
78 #pragma acc loop
79 	for (i = 0; i < 2; ++i)
80 	  ;
81       }
82 
83 #pragma acc data
84       ;
85 
86 #pragma acc update host(i)
87 
88 #pragma acc enter data copyin(i)
89 
90 #pragma acc exit data delete(i)
91     }
92   }
93 }
94