xref: /llvm-project/clang/test/AST/ast-print-openacc-update-construct.cpp (revision 553fa204ed5ab4c48bc6080451df24310c00e69c)
1 // RUN: %clang_cc1 -fopenacc -ast-print %s -o - | FileCheck %s
2 void uses(bool cond) {
3   int I;
4   int *iPtr;
5   int array[5];
6   // CHECK: #pragma acc update self(I)
7 #pragma acc update self(I)
8 
9 // CHECK: #pragma acc update self(I) if_present
10 #pragma acc update self(I) if_present
11 // CHECK: #pragma acc update self(I) if(cond)
12 #pragma acc update self(I) if(cond)
13 
14 // CHECK: #pragma acc update self(I) async
15 #pragma acc update self(I) async
16 // CHECK: #pragma acc update self(I) async(*iPtr)
17 #pragma acc update self(I) async(*iPtr)
18 // CHECK: #pragma acc update self(I) async(I)
19 #pragma acc update self(I) async(I)
20 
21 // CHECK: #pragma acc update self(I) wait(*iPtr, I) async
22 #pragma acc update self(I) wait(*iPtr, I) async
23 
24 // CHECK: #pragma acc update self(I) wait(queues: *iPtr, I) async(*iPtr)
25 #pragma acc update self(I) wait(queues:*iPtr, I) async(*iPtr)
26 
27 // CHECK: #pragma acc update self(I) wait(devnum: I : *iPtr, I) async(I)
28 #pragma acc update self(I) wait(devnum:I:*iPtr, I) async(I)
29 
30 // CHECK: #pragma acc update self(I) wait(devnum: I : queues: *iPtr, I) if(I == array[I]) async(I)
31 #pragma acc update self(I) wait(devnum:I:queues:*iPtr, I) if(I == array[I]) async(I)
32 
33 // CHECK: #pragma acc update self(I) device_type(I) dtype(H)
34 #pragma acc update self(I) device_type(I) dtype(H)
35 
36 // CHECK: #pragma acc update self(I) device_type(J) dtype(K)
37 #pragma acc update self(I) device_type(J) dtype(K)
38 
39 // CHECK: #pragma acc update self(I, iPtr, array, array[1], array[1:2])
40 #pragma acc update self(I, iPtr, array, array[1], array[1:2])
41 
42 // CHECK: #pragma acc update host(I, iPtr, array, array[1], array[1:2])
43 #pragma acc update host (I, iPtr, array, array[1], array[1:2])
44 
45 // CHECK: #pragma acc update device(I, iPtr, array, array[1], array[1:2])
46 #pragma acc update device(I, iPtr, array, array[1], array[1:2])
47 }
48