K(void)1void K(void) 2 { 3 int i, j; 4 5 #pragma acc kernels 6 { 7 #pragma acc loop auto 8 for (i = 0; i < 10; i++) 9 { } 10 #pragma acc loop gang 11 for (i = 0; i < 10; i++) 12 { } 13 #pragma acc loop gang(5) 14 for (i = 0; i < 10; i++) 15 { } 16 #pragma acc loop gang(num:5) 17 for (i = 0; i < 10; i++) 18 { } 19 #pragma acc loop gang(static:5) 20 for (i = 0; i < 10; i++) 21 { } 22 #pragma acc loop gang(static:*) 23 for (i = 0; i < 10; i++) 24 { } 25 #pragma acc loop gang 26 for (i = 0; i < 10; i++) 27 { 28 #pragma acc loop vector 29 for (j = 0; j < 10; j++) 30 { } 31 #pragma acc loop worker 32 for (j = 0; j < 10; j++) 33 { } 34 #pragma acc loop gang // { dg-error "inner loop uses same" } 35 for (j = 0; j < 10; j++) 36 { } 37 } 38 #pragma acc loop seq gang // { dg-error "'seq' overrides" } 39 for (i = 0; i < 10; i++) 40 { } 41 42 #pragma acc loop worker 43 for (i = 0; i < 10; i++) 44 { } 45 #pragma acc loop worker(5) 46 for (i = 0; i < 10; i++) 47 { } 48 #pragma acc loop worker(num:5) 49 for (i = 0; i < 10; i++) 50 { } 51 #pragma acc loop worker 52 for (i = 0; i < 10; i++) 53 { 54 #pragma acc loop vector 55 for (j = 0; j < 10; j++) 56 { } 57 #pragma acc loop worker // { dg-error "inner loop uses same" } 58 for (j = 0; j < 10; j++) 59 { } 60 #pragma acc loop gang 61 for (j = 0; j < 10; j++) 62 { } 63 } 64 #pragma acc loop seq worker // { dg-error "'seq' overrides" } 65 for (i = 0; i < 10; i++) 66 { } 67 #pragma acc loop gang worker 68 for (i = 0; i < 10; i++) 69 { } 70 71 #pragma acc loop vector 72 for (i = 0; i < 10; i++) 73 { } 74 #pragma acc loop vector(5) 75 for (i = 0; i < 10; i++) 76 { } 77 #pragma acc loop vector(length:5) 78 for (i = 0; i < 10; i++) 79 { } 80 #pragma acc loop vector 81 for (i = 0; i < 10; i++) 82 { 83 #pragma acc loop vector // { dg-error "inner loop uses same" } 84 for (j = 1; j < 10; j++) 85 { } 86 #pragma acc loop worker 87 for (j = 1; j < 10; j++) 88 { } 89 #pragma acc loop gang 90 for (j = 1; j < 10; j++) 91 { } 92 } 93 #pragma acc loop seq vector // { dg-error "'seq' overrides" } 94 for (i = 0; i < 10; i++) 95 { } 96 #pragma acc loop gang vector 97 for (i = 0; i < 10; i++) 98 { } 99 #pragma acc loop worker vector 100 for (i = 0; i < 10; i++) 101 { } 102 103 #pragma acc loop auto 104 for (i = 0; i < 10; i++) 105 { } 106 #pragma acc loop seq auto // { dg-error "'seq' overrides" } 107 for (i = 0; i < 10; i++) 108 { } 109 #pragma acc loop gang auto // { dg-error "'auto' conflicts" } 110 for (i = 0; i < 10; i++) 111 { } 112 #pragma acc loop worker auto // { dg-error "'auto' conflicts" } 113 for (i = 0; i < 10; i++) 114 { } 115 #pragma acc loop vector auto // { dg-error "'auto' conflicts" } 116 for (i = 0; i < 10; i++) 117 { } 118 } 119 120 #pragma acc kernels loop auto 121 for (i = 0; i < 10; i++) 122 { } 123 #pragma acc kernels loop gang 124 for (i = 0; i < 10; i++) 125 { } 126 #pragma acc kernels loop gang(5) 127 for (i = 0; i < 10; i++) 128 { } 129 #pragma acc kernels loop gang(num:5) 130 for (i = 0; i < 10; i++) 131 { } 132 #pragma acc kernels loop gang(static:5) 133 for (i = 0; i < 10; i++) 134 { } 135 #pragma acc kernels loop gang(static:*) 136 for (i = 0; i < 10; i++) 137 { } 138 139 #pragma acc kernels loop worker 140 for (i = 0; i < 10; i++) 141 { } 142 #pragma acc kernels loop worker(5) 143 for (i = 0; i < 10; i++) 144 { } 145 #pragma acc kernels loop worker(num:5) 146 for (i = 0; i < 10; i++) 147 { } 148 #pragma acc kernels loop seq worker // { dg-error "'seq' overrides" "" { target c } } 149 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } } 150 { } 151 #pragma acc kernels loop gang worker 152 for (i = 0; i < 10; i++) 153 { } 154 155 #pragma acc kernels loop vector 156 for (i = 0; i < 10; i++) 157 { } 158 #pragma acc kernels loop vector(5) 159 for (i = 0; i < 10; i++) 160 { } 161 #pragma acc kernels loop vector(length:5) 162 for (i = 0; i < 10; i++) 163 { } 164 #pragma acc kernels loop seq vector // { dg-error "'seq' overrides" "" { target c } } 165 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } } 166 { } 167 #pragma acc kernels loop gang vector 168 for (i = 0; i < 10; i++) 169 { } 170 #pragma acc kernels loop worker vector 171 for (i = 0; i < 10; i++) 172 { } 173 174 #pragma acc kernels loop auto 175 for (i = 0; i < 10; i++) 176 { } 177 #pragma acc kernels loop seq auto // { dg-error "'seq' overrides" "" { target c } } 178 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } } 179 { } 180 #pragma acc kernels loop gang auto // { dg-error "'auto' conflicts" "" { target c } } 181 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } } 182 { } 183 #pragma acc kernels loop worker auto // { dg-error "'auto' conflicts" "" { target c } } 184 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } } 185 { } 186 #pragma acc kernels loop vector auto // { dg-error "'auto' conflicts" "" { target c } } 187 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } } 188 { } 189 } 190