1 /* { dg-do run { target openacc_nvidia_accel_selected } } */
14 #pragma acc declare copyout (f)
16 #pragma acc parallel copy (a[0:N])
18 for (i
= 0; i
< N
; i
++)
21 a
[i
] = f
[i
] + f
[i
] + f
[i
];
30 #pragma acc declare copy (f)
32 #pragma acc parallel copy (a[0:N])
36 for (i
= 0; i
< N
; i
++)
45 #pragma acc declare create (b)
47 int d
[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };
48 #pragma acc declare copyin (d)
51 main (int argc
, char **argv
)
55 #pragma acc declare create (e)
58 for (i
= 0; i
< N
; i
++)
61 if (!acc_is_present (&b
, sizeof (b
)))
64 if (!acc_is_present (&d
, sizeof (d
)))
67 if (!acc_is_present (&e
, sizeof (e
)))
70 #pragma acc parallel copyin (a[0:N])
72 for (i
= 0; i
< N
; i
++)
79 for (i
= 0; i
< N
; i
++)
85 #pragma acc parallel copy (a[0:N])
87 for (i
= 0; i
< N
; i
++)
94 for (i
= 0; i
< N
; i
++)
96 if (a
[i
] != (i
+ 1) * 2)
100 for (i
= 0; i
< N
; i
++)
107 for (i
= 0; i
< N
; i
++)
109 if (a
[i
] != 1234 * 2)
115 for (i
= 0; i
< 1; i
++)
117 if (a
[i
] != 1234 * 6)