1 void
test1(int & ref)2 test1 (int &ref)
3 {
4 #pragma acc kernels copy (ref)
5   {
6     ref = 10;
7   }
8 }
9 
10 void
test2(int & ref)11 test2 (int &ref)
12 {
13   int b;
14 #pragma acc kernels copyout (b)
15   {
16     b = ref + 10;
17   }
18 
19 #pragma acc parallel copyout (b)
20   {
21     b = ref + 10;
22   }
23 
24   ref = b;
25 }
26 
27 int
main()28 main()
29 {
30   int a = 0;
31   int &ref_a = a;
32 
33   #pragma acc parallel copy (a, ref_a)
34   {
35     ref_a = 5;
36   }
37 
38   return a;
39 }
40