1 // RUN: %clang_cc1 -fopenacc -Wno-openacc-deprecated-clause-alias -ast-print %s -o - | FileCheck %s 2 3 struct SomeStruct{}; 4 5 void foo() { 6 // CHECK: #pragma acc loop 7 // CHECK-NEXT: for (;;) 8 // CHECK-NEXT: ; 9 #pragma acc loop 10 for(;;); 11 12 // CHECK: #pragma acc loop device_type(SomeStruct) 13 // CHECK-NEXT: for (;;) 14 // CHECK-NEXT: ; 15 #pragma acc loop device_type(SomeStruct) 16 for(;;); 17 18 // CHECK: #pragma acc loop device_type(int) 19 // CHECK-NEXT: for (;;) 20 // CHECK-NEXT: ; 21 #pragma acc loop device_type(int) 22 for(;;); 23 24 // CHECK: #pragma acc loop dtype(bool) 25 // CHECK-NEXT: for (;;) 26 // CHECK-NEXT: ; 27 #pragma acc loop dtype(bool) 28 for(;;); 29 30 // CHECK: #pragma acc loop dtype(AnotherIdent) 31 // CHECK-NEXT: for (;;) 32 // CHECK-NEXT: ; 33 #pragma acc loop dtype(AnotherIdent) 34 for(;;); 35 36 // CHECK: #pragma acc loop independent 37 // CHECK-NEXT: for (;;) 38 // CHECK-NEXT: ; 39 #pragma acc loop independent 40 for(;;); 41 // CHECK: #pragma acc loop seq 42 // CHECK-NEXT: for (;;) 43 // CHECK-NEXT: ; 44 #pragma acc loop seq 45 for(;;); 46 // CHECK: #pragma acc loop auto 47 // CHECK-NEXT: for (;;) 48 // CHECK-NEXT: ; 49 #pragma acc loop auto 50 for(;;); 51 52 int i; 53 float array[5]; 54 55 // CHECK: #pragma acc loop private(i, array[1], array, array[1:2]) 56 // CHECK-NEXT: for (;;) 57 // CHECK-NEXT: ; 58 #pragma acc loop private(i, array[1], array, array[1:2]) 59 for(;;); 60 61 // CHECK: #pragma acc loop collapse(1) 62 // CHECK-NEXT: for (;;) 63 // CHECK-NEXT: ; 64 #pragma acc loop collapse(1) 65 for(;;); 66 // CHECK: #pragma acc loop collapse(force:1) 67 // CHECK-NEXT: for (;;) 68 // CHECK-NEXT: ; 69 #pragma acc loop collapse(force:1) 70 for(;;); 71 // CHECK: #pragma acc loop collapse(2) 72 // CHECK-NEXT: for (;;) 73 // CHECK-NEXT: for (;;) 74 // CHECK-NEXT: ; 75 #pragma acc loop collapse(2) 76 for(;;) 77 for(;;); 78 // CHECK: #pragma acc loop collapse(force:2) 79 // CHECK-NEXT: for (;;) 80 // CHECK-NEXT: for (;;) 81 // CHECK-NEXT: ; 82 #pragma acc loop collapse(force:2) 83 for(;;) 84 for(;;); 85 } 86