1 // RUN: %clang_cc1 %s -fopenacc -verify 2 3 void uses() { 4 #pragma acc loop auto 5 for(unsigned i = 0; i < 5; ++i); 6 #pragma acc loop seq 7 for(unsigned i = 0; i < 5; ++i); 8 #pragma acc loop independent 9 for(unsigned i = 0; i < 5; ++i); 10 11 // expected-error@+2{{OpenACC clause 'seq' on 'loop' construct conflicts with previous data dependence clause}} 12 // expected-note@+1{{previous clause is here}} 13 #pragma acc loop auto seq 14 for(unsigned i = 0; i < 5; ++i); 15 // expected-error@+2{{OpenACC clause 'independent' on 'loop' construct conflicts with previous data dependence clause}} 16 // expected-note@+1{{previous clause is here}} 17 #pragma acc loop auto independent 18 for(unsigned i = 0; i < 5; ++i); 19 // expected-error@+2{{OpenACC clause 'auto' on 'loop' construct conflicts with previous data dependence clause}} 20 // expected-note@+1{{previous clause is here}} 21 #pragma acc loop seq auto 22 for(unsigned i = 0; i < 5; ++i); 23 // expected-error@+2{{OpenACC clause 'independent' on 'loop' construct conflicts with previous data dependence clause}} 24 // expected-note@+1{{previous clause is here}} 25 #pragma acc loop seq independent 26 for(unsigned i = 0; i < 5; ++i); 27 // expected-error@+2{{OpenACC clause 'auto' on 'loop' construct conflicts with previous data dependence clause}} 28 // expected-note@+1{{previous clause is here}} 29 #pragma acc loop independent auto 30 for(unsigned i = 0; i < 5; ++i); 31 // expected-error@+2{{OpenACC clause 'seq' on 'loop' construct conflicts with previous data dependence clause}} 32 // expected-note@+1{{previous clause is here}} 33 #pragma acc loop independent seq 34 for(unsigned i = 0; i < 5; ++i); 35 36 int Var; 37 int *VarPtr; 38 39 // 'auto' can combine with any other clause. 40 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}} 41 #pragma acc loop auto finalize 42 for(unsigned i = 0; i < 5; ++i); 43 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}} 44 #pragma acc loop auto if_present 45 for(unsigned i = 0; i < 5; ++i); 46 #pragma acc loop auto worker 47 for(unsigned i = 0; i < 5; ++i); 48 #pragma acc loop auto vector 49 for(unsigned i = 0; i < 5; ++i); 50 // expected-warning@+1{{OpenACC clause 'nohost' not yet implemented}} 51 #pragma acc loop auto nohost 52 for(unsigned i = 0; i < 5; ++i); 53 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}} 54 #pragma acc loop auto default(none) 55 for(unsigned i = 0; i < 5; ++i); 56 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}} 57 #pragma acc loop auto if(1) 58 for(unsigned i = 0; i < 5; ++i); 59 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}} 60 #pragma acc loop auto self 61 for(unsigned i = 0; i < 5; ++i); 62 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}} 63 #pragma acc loop auto copy(Var) 64 for(unsigned i = 0; i < 5; ++i); 65 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}} 66 #pragma acc loop auto pcopy(Var) 67 for(unsigned i = 0; i < 5; ++i); 68 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}} 69 #pragma acc loop auto present_or_copy(Var) 70 for(unsigned i = 0; i < 5; ++i); 71 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}} 72 #pragma acc loop auto use_device(Var) 73 for(unsigned i = 0; i < 5; ++i); 74 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}} 75 #pragma acc loop auto attach(Var) 76 for(unsigned i = 0; i < 5; ++i); 77 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}} 78 #pragma acc loop auto delete(Var) 79 for(unsigned i = 0; i < 5; ++i); 80 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}} 81 #pragma acc loop auto detach(Var) 82 for(unsigned i = 0; i < 5; ++i); 83 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}} 84 #pragma acc loop auto device(VarPtr) 85 for(unsigned i = 0; i < 5; ++i); 86 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}} 87 #pragma acc loop auto deviceptr(VarPtr) 88 for(unsigned i = 0; i < 5; ++i); 89 // expected-warning@+1{{OpenACC clause 'device_resident' not yet implemented}} 90 #pragma acc loop auto device_resident(VarPtr) 91 for(unsigned i = 0; i < 5; ++i); 92 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}} 93 #pragma acc loop auto firstprivate(Var) 94 for(unsigned i = 0; i < 5; ++i); 95 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}} 96 #pragma acc loop auto host(Var) 97 for(unsigned i = 0; i < 5; ++i); 98 // expected-warning@+1{{OpenACC clause 'link' not yet implemented}} 99 #pragma acc loop auto link(Var) 100 for(unsigned i = 0; i < 5; ++i); 101 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}} 102 #pragma acc loop auto no_create(Var) 103 for(unsigned i = 0; i < 5; ++i); 104 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}} 105 #pragma acc loop auto present(Var) 106 for(unsigned i = 0; i < 5; ++i); 107 #pragma acc loop auto private(Var) 108 for(unsigned i = 0; i < 5; ++i); 109 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}} 110 #pragma acc loop auto copyout(Var) 111 for(unsigned i = 0; i < 5; ++i); 112 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}} 113 #pragma acc loop auto pcopyout(Var) 114 for(unsigned i = 0; i < 5; ++i); 115 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}} 116 #pragma acc loop auto present_or_copyout(Var) 117 for(unsigned i = 0; i < 5; ++i); 118 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}} 119 #pragma acc loop auto copyin(Var) 120 for(unsigned i = 0; i < 5; ++i); 121 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}} 122 #pragma acc loop auto pcopyin(Var) 123 for(unsigned i = 0; i < 5; ++i); 124 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}} 125 #pragma acc loop auto present_or_copyin(Var) 126 for(unsigned i = 0; i < 5; ++i); 127 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}} 128 #pragma acc loop auto create(Var) 129 for(unsigned i = 0; i < 5; ++i); 130 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}} 131 #pragma acc loop auto pcreate(Var) 132 for(unsigned i = 0; i < 5; ++i); 133 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}} 134 #pragma acc loop auto present_or_create(Var) 135 for(unsigned i = 0; i < 5; ++i); 136 #pragma acc loop auto reduction(+:Var) 137 for(unsigned i = 0; i < 5; ++i); 138 #pragma acc loop auto collapse(1) 139 for(unsigned i = 0; i < 5; ++i); 140 // expected-warning@+1{{OpenACC clause 'bind' not yet implemented}} 141 #pragma acc loop auto bind(Var) 142 for(unsigned i = 0; i < 5; ++i); 143 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}} 144 #pragma acc loop auto vector_length(1) 145 for(unsigned i = 0; i < 5; ++i); 146 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}} 147 #pragma acc loop auto num_gangs(1) 148 for(unsigned i = 0; i < 5; ++i); 149 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}} 150 #pragma acc loop auto num_workers(1) 151 for(unsigned i = 0; i < 5; ++i); 152 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}} 153 #pragma acc loop auto device_num(1) 154 for(unsigned i = 0; i < 5; ++i); 155 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}} 156 #pragma acc loop auto default_async(1) 157 for(unsigned i = 0; i < 5; ++i); 158 #pragma acc loop auto device_type(*) 159 for(unsigned i = 0; i < 5; ++i); 160 #pragma acc loop auto dtype(*) 161 for(unsigned i = 0; i < 5; ++i); 162 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}} 163 #pragma acc loop auto async 164 for(unsigned i = 0; i < 5; ++i); 165 #pragma acc loop auto tile(1+2, 1) 166 for(unsigned j = 0; j < 5; ++j) 167 for(unsigned i = 0; i < 5; ++i); 168 #pragma acc loop auto gang 169 for(unsigned i = 0; i < 5; ++i); 170 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}} 171 #pragma acc loop auto wait 172 for(unsigned i = 0; i < 5; ++i); 173 174 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}} 175 #pragma acc loop finalize auto 176 for(unsigned i = 0; i < 5; ++i); 177 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}} 178 #pragma acc loop if_present auto 179 for(unsigned i = 0; i < 5; ++i); 180 #pragma acc loop worker auto 181 for(unsigned i = 0; i < 5; ++i); 182 #pragma acc loop vector auto 183 for(unsigned i = 0; i < 5; ++i); 184 // expected-warning@+1{{OpenACC clause 'nohost' not yet implemented}} 185 #pragma acc loop nohost auto 186 for(unsigned i = 0; i < 5; ++i); 187 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}} 188 #pragma acc loop default(none) auto 189 for(unsigned i = 0; i < 5; ++i); 190 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}} 191 #pragma acc loop if(1) auto 192 for(unsigned i = 0; i < 5; ++i); 193 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}} 194 #pragma acc loop self auto 195 for(unsigned i = 0; i < 5; ++i); 196 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}} 197 #pragma acc loop copy(Var) auto 198 for(unsigned i = 0; i < 5; ++i); 199 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}} 200 #pragma acc loop pcopy(Var) auto 201 for(unsigned i = 0; i < 5; ++i); 202 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}} 203 #pragma acc loop present_or_copy(Var) auto 204 for(unsigned i = 0; i < 5; ++i); 205 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}} 206 #pragma acc loop use_device(Var) auto 207 for(unsigned i = 0; i < 5; ++i); 208 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}} 209 #pragma acc loop attach(Var) auto 210 for(unsigned i = 0; i < 5; ++i); 211 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}} 212 #pragma acc loop delete(Var) auto 213 for(unsigned i = 0; i < 5; ++i); 214 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}} 215 #pragma acc loop detach(Var) auto 216 for(unsigned i = 0; i < 5; ++i); 217 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}} 218 #pragma acc loop device(VarPtr) auto 219 for(unsigned i = 0; i < 5; ++i); 220 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}} 221 #pragma acc loop deviceptr(VarPtr) auto 222 for(unsigned i = 0; i < 5; ++i); 223 // expected-warning@+1{{OpenACC clause 'device_resident' not yet implemented}} 224 #pragma acc loop device_resident(VarPtr) auto 225 for(unsigned i = 0; i < 5; ++i); 226 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}} 227 #pragma acc loop firstprivate(Var) auto 228 for(unsigned i = 0; i < 5; ++i); 229 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}} 230 #pragma acc loop host(Var) auto 231 for(unsigned i = 0; i < 5; ++i); 232 // expected-warning@+1{{OpenACC clause 'link' not yet implemented}} 233 #pragma acc loop link(Var) auto 234 for(unsigned i = 0; i < 5; ++i); 235 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}} 236 #pragma acc loop no_create(Var) auto 237 for(unsigned i = 0; i < 5; ++i); 238 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}} 239 #pragma acc loop present(Var) auto 240 for(unsigned i = 0; i < 5; ++i); 241 #pragma acc loop private(Var) auto 242 for(unsigned i = 0; i < 5; ++i); 243 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}} 244 #pragma acc loop copyout(Var) auto 245 for(unsigned i = 0; i < 5; ++i); 246 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}} 247 #pragma acc loop pcopyout(Var) auto 248 for(unsigned i = 0; i < 5; ++i); 249 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}} 250 #pragma acc loop present_or_copyout(Var) auto 251 for(unsigned i = 0; i < 5; ++i); 252 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}} 253 #pragma acc loop copyin(Var) auto 254 for(unsigned i = 0; i < 5; ++i); 255 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}} 256 #pragma acc loop pcopyin(Var) auto 257 for(unsigned i = 0; i < 5; ++i); 258 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}} 259 #pragma acc loop present_or_copyin(Var) auto 260 for(unsigned i = 0; i < 5; ++i); 261 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}} 262 #pragma acc loop create(Var) auto 263 for(unsigned i = 0; i < 5; ++i); 264 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}} 265 #pragma acc loop pcreate(Var) auto 266 for(unsigned i = 0; i < 5; ++i); 267 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}} 268 #pragma acc loop present_or_create(Var) auto 269 for(unsigned i = 0; i < 5; ++i); 270 #pragma acc loop reduction(+:Var) auto 271 for(unsigned i = 0; i < 5; ++i); 272 #pragma acc loop collapse(1) auto 273 for(unsigned i = 0; i < 5; ++i); 274 // expected-warning@+1{{OpenACC clause 'bind' not yet implemented}} 275 #pragma acc loop bind(Var) auto 276 for(unsigned i = 0; i < 5; ++i); 277 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}} 278 #pragma acc loop vector_length(1) auto 279 for(unsigned i = 0; i < 5; ++i); 280 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}} 281 #pragma acc loop num_gangs(1) auto 282 for(unsigned i = 0; i < 5; ++i); 283 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}} 284 #pragma acc loop num_workers(1) auto 285 for(unsigned i = 0; i < 5; ++i); 286 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}} 287 #pragma acc loop device_num(1) auto 288 for(unsigned i = 0; i < 5; ++i); 289 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}} 290 #pragma acc loop default_async(1) auto 291 for(unsigned i = 0; i < 5; ++i); 292 #pragma acc loop device_type(*) auto 293 for(unsigned i = 0; i < 5; ++i); 294 #pragma acc loop dtype(*) auto 295 for(unsigned i = 0; i < 5; ++i); 296 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}} 297 #pragma acc loop async auto 298 for(unsigned i = 0; i < 5; ++i); 299 #pragma acc loop tile(1+2, 1) auto 300 for(unsigned j = 0; j < 5; ++j) 301 for(unsigned i = 0; i < 5; ++i); 302 #pragma acc loop gang auto 303 for(unsigned i = 0; i < 5; ++i); 304 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}} 305 #pragma acc loop wait auto 306 for(unsigned i = 0; i < 5; ++i); 307 308 // 'independent' can also be combined with any clauses 309 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}} 310 #pragma acc loop independent finalize 311 for(unsigned i = 0; i < 5; ++i); 312 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}} 313 #pragma acc loop independent if_present 314 for(unsigned i = 0; i < 5; ++i); 315 #pragma acc loop independent worker 316 for(unsigned i = 0; i < 5; ++i); 317 #pragma acc loop independent vector 318 for(unsigned i = 0; i < 5; ++i); 319 // expected-warning@+1{{OpenACC clause 'nohost' not yet implemented}} 320 #pragma acc loop independent nohost 321 for(unsigned i = 0; i < 5; ++i); 322 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}} 323 #pragma acc loop independent default(none) 324 for(unsigned i = 0; i < 5; ++i); 325 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}} 326 #pragma acc loop independent if(1) 327 for(unsigned i = 0; i < 5; ++i); 328 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}} 329 #pragma acc loop independent self 330 for(unsigned i = 0; i < 5; ++i); 331 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}} 332 #pragma acc loop independent copy(Var) 333 for(unsigned i = 0; i < 5; ++i); 334 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}} 335 #pragma acc loop independent pcopy(Var) 336 for(unsigned i = 0; i < 5; ++i); 337 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}} 338 #pragma acc loop independent present_or_copy(Var) 339 for(unsigned i = 0; i < 5; ++i); 340 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}} 341 #pragma acc loop independent use_device(Var) 342 for(unsigned i = 0; i < 5; ++i); 343 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}} 344 #pragma acc loop independent attach(Var) 345 for(unsigned i = 0; i < 5; ++i); 346 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}} 347 #pragma acc loop independent delete(Var) 348 for(unsigned i = 0; i < 5; ++i); 349 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}} 350 #pragma acc loop independent detach(Var) 351 for(unsigned i = 0; i < 5; ++i); 352 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}} 353 #pragma acc loop independent device(VarPtr) 354 for(unsigned i = 0; i < 5; ++i); 355 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}} 356 #pragma acc loop independent deviceptr(VarPtr) 357 for(unsigned i = 0; i < 5; ++i); 358 // expected-warning@+1{{OpenACC clause 'device_resident' not yet implemented}} 359 #pragma acc loop independent device_resident(VarPtr) 360 for(unsigned i = 0; i < 5; ++i); 361 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}} 362 #pragma acc loop independent firstprivate(Var) 363 for(unsigned i = 0; i < 5; ++i); 364 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}} 365 #pragma acc loop independent host(Var) 366 for(unsigned i = 0; i < 5; ++i); 367 // expected-warning@+1{{OpenACC clause 'link' not yet implemented}} 368 #pragma acc loop independent link(Var) 369 for(unsigned i = 0; i < 5; ++i); 370 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}} 371 #pragma acc loop independent no_create(Var) 372 for(unsigned i = 0; i < 5; ++i); 373 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}} 374 #pragma acc loop independent present(Var) 375 for(unsigned i = 0; i < 5; ++i); 376 #pragma acc loop independent private(Var) 377 for(unsigned i = 0; i < 5; ++i); 378 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}} 379 #pragma acc loop independent copyout(Var) 380 for(unsigned i = 0; i < 5; ++i); 381 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}} 382 #pragma acc loop independent pcopyout(Var) 383 for(unsigned i = 0; i < 5; ++i); 384 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}} 385 #pragma acc loop independent present_or_copyout(Var) 386 for(unsigned i = 0; i < 5; ++i); 387 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}} 388 #pragma acc loop independent copyin(Var) 389 for(unsigned i = 0; i < 5; ++i); 390 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}} 391 #pragma acc loop independent pcopyin(Var) 392 for(unsigned i = 0; i < 5; ++i); 393 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}} 394 #pragma acc loop independent present_or_copyin(Var) 395 for(unsigned i = 0; i < 5; ++i); 396 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}} 397 #pragma acc loop independent create(Var) 398 for(unsigned i = 0; i < 5; ++i); 399 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}} 400 #pragma acc loop independent pcreate(Var) 401 for(unsigned i = 0; i < 5; ++i); 402 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}} 403 #pragma acc loop independent present_or_create(Var) 404 for(unsigned i = 0; i < 5; ++i); 405 #pragma acc loop independent reduction(+:Var) 406 for(unsigned i = 0; i < 5; ++i); 407 #pragma acc loop independent collapse(1) 408 for(unsigned i = 0; i < 5; ++i); 409 // expected-warning@+1{{OpenACC clause 'bind' not yet implemented}} 410 #pragma acc loop independent bind(Var) 411 for(unsigned i = 0; i < 5; ++i); 412 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}} 413 #pragma acc loop independent vector_length(1) 414 for(unsigned i = 0; i < 5; ++i); 415 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}} 416 #pragma acc loop independent num_gangs(1) 417 for(unsigned i = 0; i < 5; ++i); 418 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}} 419 #pragma acc loop independent num_workers(1) 420 for(unsigned i = 0; i < 5; ++i); 421 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}} 422 #pragma acc loop independent device_num(1) 423 for(unsigned i = 0; i < 5; ++i); 424 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}} 425 #pragma acc loop independent default_async(1) 426 for(unsigned i = 0; i < 5; ++i); 427 #pragma acc loop independent device_type(*) 428 for(unsigned i = 0; i < 5; ++i); 429 #pragma acc loop independent dtype(*) 430 for(unsigned i = 0; i < 5; ++i); 431 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}} 432 #pragma acc loop independent async 433 for(unsigned i = 0; i < 5; ++i); 434 #pragma acc loop independent tile(1+2, 1) 435 for(unsigned j = 0; j < 5; ++j) 436 for(unsigned i = 0; i < 5; ++i); 437 #pragma acc loop independent gang 438 for(unsigned i = 0; i < 5; ++i); 439 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}} 440 #pragma acc loop independent wait 441 for(unsigned i = 0; i < 5; ++i); 442 443 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}} 444 #pragma acc loop finalize independent 445 for(unsigned i = 0; i < 5; ++i); 446 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}} 447 #pragma acc loop if_present independent 448 for(unsigned i = 0; i < 5; ++i); 449 #pragma acc loop worker independent 450 for(unsigned i = 0; i < 5; ++i); 451 #pragma acc loop vector independent 452 for(unsigned i = 0; i < 5; ++i); 453 // expected-warning@+1{{OpenACC clause 'nohost' not yet implemented}} 454 #pragma acc loop nohost independent 455 for(unsigned i = 0; i < 5; ++i); 456 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}} 457 #pragma acc loop default(none) independent 458 for(unsigned i = 0; i < 5; ++i); 459 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}} 460 #pragma acc loop if(1) independent 461 for(unsigned i = 0; i < 5; ++i); 462 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}} 463 #pragma acc loop self independent 464 for(unsigned i = 0; i < 5; ++i); 465 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}} 466 #pragma acc loop copy(Var) independent 467 for(unsigned i = 0; i < 5; ++i); 468 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}} 469 #pragma acc loop pcopy(Var) independent 470 for(unsigned i = 0; i < 5; ++i); 471 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}} 472 #pragma acc loop present_or_copy(Var) independent 473 for(unsigned i = 0; i < 5; ++i); 474 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}} 475 #pragma acc loop use_device(Var) independent 476 for(unsigned i = 0; i < 5; ++i); 477 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}} 478 #pragma acc loop attach(Var) independent 479 for(unsigned i = 0; i < 5; ++i); 480 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}} 481 #pragma acc loop delete(Var) independent 482 for(unsigned i = 0; i < 5; ++i); 483 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}} 484 #pragma acc loop detach(Var) independent 485 for(unsigned i = 0; i < 5; ++i); 486 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}} 487 #pragma acc loop device(VarPtr) independent 488 for(unsigned i = 0; i < 5; ++i); 489 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}} 490 #pragma acc loop deviceptr(VarPtr) independent 491 for(unsigned i = 0; i < 5; ++i); 492 // expected-warning@+1{{OpenACC clause 'device_resident' not yet implemented}} 493 #pragma acc loop device_resident(VarPtr) independent 494 for(unsigned i = 0; i < 5; ++i); 495 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}} 496 #pragma acc loop firstprivate(Var) independent 497 for(unsigned i = 0; i < 5; ++i); 498 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}} 499 #pragma acc loop host(Var) independent 500 for(unsigned i = 0; i < 5; ++i); 501 // expected-warning@+1{{OpenACC clause 'link' not yet implemented}} 502 #pragma acc loop link(Var) independent 503 for(unsigned i = 0; i < 5; ++i); 504 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}} 505 #pragma acc loop no_create(Var) independent 506 for(unsigned i = 0; i < 5; ++i); 507 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}} 508 #pragma acc loop present(Var) independent 509 for(unsigned i = 0; i < 5; ++i); 510 #pragma acc loop private(Var) independent 511 for(unsigned i = 0; i < 5; ++i); 512 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}} 513 #pragma acc loop copyout(Var) independent 514 for(unsigned i = 0; i < 5; ++i); 515 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}} 516 #pragma acc loop pcopyout(Var) independent 517 for(unsigned i = 0; i < 5; ++i); 518 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}} 519 #pragma acc loop present_or_copyout(Var) independent 520 for(unsigned i = 0; i < 5; ++i); 521 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}} 522 #pragma acc loop copyin(Var) independent 523 for(unsigned i = 0; i < 5; ++i); 524 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}} 525 #pragma acc loop pcopyin(Var) independent 526 for(unsigned i = 0; i < 5; ++i); 527 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}} 528 #pragma acc loop present_or_copyin(Var) independent 529 for(unsigned i = 0; i < 5; ++i); 530 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}} 531 #pragma acc loop create(Var) independent 532 for(unsigned i = 0; i < 5; ++i); 533 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}} 534 #pragma acc loop pcreate(Var) independent 535 for(unsigned i = 0; i < 5; ++i); 536 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}} 537 #pragma acc loop present_or_create(Var) independent 538 for(unsigned i = 0; i < 5; ++i); 539 #pragma acc loop reduction(+:Var) independent 540 for(unsigned i = 0; i < 5; ++i); 541 #pragma acc loop collapse(1) independent 542 for(unsigned i = 0; i < 5; ++i); 543 // expected-warning@+1{{OpenACC clause 'bind' not yet implemented}} 544 #pragma acc loop bind(Var) independent 545 for(unsigned i = 0; i < 5; ++i); 546 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}} 547 #pragma acc loop vector_length(1) independent 548 for(unsigned i = 0; i < 5; ++i); 549 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}} 550 #pragma acc loop num_gangs(1) independent 551 for(unsigned i = 0; i < 5; ++i); 552 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}} 553 #pragma acc loop num_workers(1) independent 554 for(unsigned i = 0; i < 5; ++i); 555 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}} 556 #pragma acc loop device_num(1) independent 557 for(unsigned i = 0; i < 5; ++i); 558 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}} 559 #pragma acc loop default_async(1) independent 560 for(unsigned i = 0; i < 5; ++i); 561 #pragma acc loop device_type(*) independent 562 for(unsigned i = 0; i < 5; ++i); 563 #pragma acc loop dtype(*) independent 564 for(unsigned i = 0; i < 5; ++i); 565 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}} 566 #pragma acc loop async independent 567 for(unsigned i = 0; i < 5; ++i); 568 #pragma acc loop tile(1+2, 1) independent 569 for(unsigned j = 0; j < 5; ++j) 570 for(unsigned i = 0; i < 5; ++i); 571 #pragma acc loop gang independent 572 for(unsigned i = 0; i < 5; ++i); 573 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}} 574 #pragma acc loop wait independent 575 for(unsigned i = 0; i < 5; ++i); 576 577 // 'seq' cannot be combined with 'gang', 'worker' or 'vector' 578 // expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'loop' construct}} 579 // expected-note@+1{{previous clause is here}} 580 #pragma acc loop seq gang 581 for(unsigned i = 0; i < 5; ++i); 582 // expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'loop' construct}} 583 // expected-note@+1{{previous clause is here}} 584 #pragma acc loop seq worker 585 for(unsigned i = 0; i < 5; ++i); 586 // expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'loop' construct}} 587 // expected-note@+1{{previous clause is here}} 588 #pragma acc loop seq vector 589 for(unsigned i = 0; i < 5; ++i); 590 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}} 591 #pragma acc loop seq finalize 592 for(unsigned i = 0; i < 5; ++i); 593 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}} 594 #pragma acc loop seq if_present 595 for(unsigned i = 0; i < 5; ++i); 596 // expected-warning@+1{{OpenACC clause 'nohost' not yet implemented}} 597 #pragma acc loop seq nohost 598 for(unsigned i = 0; i < 5; ++i); 599 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}} 600 #pragma acc loop seq default(none) 601 for(unsigned i = 0; i < 5; ++i); 602 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}} 603 #pragma acc loop seq if(1) 604 for(unsigned i = 0; i < 5; ++i); 605 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}} 606 #pragma acc loop seq self 607 for(unsigned i = 0; i < 5; ++i); 608 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}} 609 #pragma acc loop seq copy(Var) 610 for(unsigned i = 0; i < 5; ++i); 611 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}} 612 #pragma acc loop seq pcopy(Var) 613 for(unsigned i = 0; i < 5; ++i); 614 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}} 615 #pragma acc loop seq present_or_copy(Var) 616 for(unsigned i = 0; i < 5; ++i); 617 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}} 618 #pragma acc loop seq use_device(Var) 619 for(unsigned i = 0; i < 5; ++i); 620 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}} 621 #pragma acc loop seq attach(Var) 622 for(unsigned i = 0; i < 5; ++i); 623 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}} 624 #pragma acc loop seq delete(Var) 625 for(unsigned i = 0; i < 5; ++i); 626 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}} 627 #pragma acc loop seq detach(Var) 628 for(unsigned i = 0; i < 5; ++i); 629 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}} 630 #pragma acc loop seq device(VarPtr) 631 for(unsigned i = 0; i < 5; ++i); 632 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}} 633 #pragma acc loop seq deviceptr(VarPtr) 634 for(unsigned i = 0; i < 5; ++i); 635 // expected-warning@+1{{OpenACC clause 'device_resident' not yet implemented}} 636 #pragma acc loop seq device_resident(VarPtr) 637 for(unsigned i = 0; i < 5; ++i); 638 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}} 639 #pragma acc loop seq firstprivate(Var) 640 for(unsigned i = 0; i < 5; ++i); 641 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}} 642 #pragma acc loop seq host(Var) 643 for(unsigned i = 0; i < 5; ++i); 644 // expected-warning@+1{{OpenACC clause 'link' not yet implemented}} 645 #pragma acc loop seq link(Var) 646 for(unsigned i = 0; i < 5; ++i); 647 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}} 648 #pragma acc loop seq no_create(Var) 649 for(unsigned i = 0; i < 5; ++i); 650 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}} 651 #pragma acc loop seq present(Var) 652 for(unsigned i = 0; i < 5; ++i); 653 #pragma acc loop seq private(Var) 654 for(unsigned i = 0; i < 5; ++i); 655 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}} 656 #pragma acc loop seq copyout(Var) 657 for(unsigned i = 0; i < 5; ++i); 658 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}} 659 #pragma acc loop seq pcopyout(Var) 660 for(unsigned i = 0; i < 5; ++i); 661 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}} 662 #pragma acc loop seq present_or_copyout(Var) 663 for(unsigned i = 0; i < 5; ++i); 664 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}} 665 #pragma acc loop seq copyin(Var) 666 for(unsigned i = 0; i < 5; ++i); 667 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}} 668 #pragma acc loop seq pcopyin(Var) 669 for(unsigned i = 0; i < 5; ++i); 670 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}} 671 #pragma acc loop seq present_or_copyin(Var) 672 for(unsigned i = 0; i < 5; ++i); 673 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}} 674 #pragma acc loop seq create(Var) 675 for(unsigned i = 0; i < 5; ++i); 676 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}} 677 #pragma acc loop seq pcreate(Var) 678 for(unsigned i = 0; i < 5; ++i); 679 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}} 680 #pragma acc loop seq present_or_create(Var) 681 for(unsigned i = 0; i < 5; ++i); 682 #pragma acc loop seq reduction(+:Var) 683 for(unsigned i = 0; i < 5; ++i); 684 #pragma acc loop seq collapse(1) 685 for(unsigned i = 0; i < 5; ++i); 686 // expected-warning@+1{{OpenACC clause 'bind' not yet implemented}} 687 #pragma acc loop seq bind(Var) 688 for(unsigned i = 0; i < 5; ++i); 689 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}} 690 #pragma acc loop seq vector_length(1) 691 for(unsigned i = 0; i < 5; ++i); 692 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}} 693 #pragma acc loop seq num_gangs(1) 694 for(unsigned i = 0; i < 5; ++i); 695 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}} 696 #pragma acc loop seq num_workers(1) 697 for(unsigned i = 0; i < 5; ++i); 698 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}} 699 #pragma acc loop seq device_num(1) 700 for(unsigned i = 0; i < 5; ++i); 701 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}} 702 #pragma acc loop seq default_async(1) 703 for(unsigned i = 0; i < 5; ++i); 704 #pragma acc loop seq device_type(*) 705 for(unsigned i = 0; i < 5; ++i); 706 #pragma acc loop seq dtype(*) 707 for(unsigned i = 0; i < 5; ++i); 708 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}} 709 #pragma acc loop seq async 710 for(unsigned i = 0; i < 5; ++i); 711 #pragma acc loop seq tile(1+2, 1) 712 for(;;) 713 for(unsigned i = 0; i < 5; ++i); 714 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}} 715 #pragma acc loop seq wait 716 for(unsigned i = 0; i < 5; ++i); 717 718 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'loop' construct}} 719 // expected-note@+1{{previous clause is here}} 720 #pragma acc loop gang seq 721 for(unsigned i = 0; i < 5; ++i); 722 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'loop' construct}} 723 // expected-note@+1{{previous clause is here}} 724 #pragma acc loop worker seq 725 for(unsigned i = 0; i < 5; ++i); 726 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'loop' construct}} 727 // expected-note@+1{{previous clause is here}} 728 #pragma acc loop vector seq 729 for(unsigned i = 0; i < 5; ++i); 730 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}} 731 #pragma acc loop finalize seq 732 for(unsigned i = 0; i < 5; ++i); 733 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}} 734 #pragma acc loop if_present seq 735 for(unsigned i = 0; i < 5; ++i); 736 // expected-warning@+1{{OpenACC clause 'nohost' not yet implemented}} 737 #pragma acc loop nohost seq 738 for(unsigned i = 0; i < 5; ++i); 739 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}} 740 #pragma acc loop default(none) seq 741 for(unsigned i = 0; i < 5; ++i); 742 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}} 743 #pragma acc loop if(1) seq 744 for(unsigned i = 0; i < 5; ++i); 745 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}} 746 #pragma acc loop self seq 747 for(unsigned i = 0; i < 5; ++i); 748 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}} 749 #pragma acc loop copy(Var) seq 750 for(unsigned i = 0; i < 5; ++i); 751 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}} 752 #pragma acc loop pcopy(Var) seq 753 for(unsigned i = 0; i < 5; ++i); 754 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}} 755 #pragma acc loop present_or_copy(Var) seq 756 for(unsigned i = 0; i < 5; ++i); 757 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}} 758 #pragma acc loop use_device(Var) seq 759 for(unsigned i = 0; i < 5; ++i); 760 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}} 761 #pragma acc loop attach(Var) seq 762 for(unsigned i = 0; i < 5; ++i); 763 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}} 764 #pragma acc loop delete(Var) seq 765 for(unsigned i = 0; i < 5; ++i); 766 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}} 767 #pragma acc loop detach(Var) seq 768 for(unsigned i = 0; i < 5; ++i); 769 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}} 770 #pragma acc loop device(VarPtr) seq 771 for(unsigned i = 0; i < 5; ++i); 772 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}} 773 #pragma acc loop deviceptr(VarPtr) seq 774 for(unsigned i = 0; i < 5; ++i); 775 // expected-warning@+1{{OpenACC clause 'device_resident' not yet implemented}} 776 #pragma acc loop device_resident(VarPtr) seq 777 for(unsigned i = 0; i < 5; ++i); 778 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}} 779 #pragma acc loop firstprivate(Var) seq 780 for(unsigned i = 0; i < 5; ++i); 781 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}} 782 #pragma acc loop host(Var) seq 783 for(unsigned i = 0; i < 5; ++i); 784 // expected-warning@+1{{OpenACC clause 'link' not yet implemented}} 785 #pragma acc loop link(Var) seq 786 for(unsigned i = 0; i < 5; ++i); 787 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}} 788 #pragma acc loop no_create(Var) seq 789 for(unsigned i = 0; i < 5; ++i); 790 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}} 791 #pragma acc loop present(Var) seq 792 for(unsigned i = 0; i < 5; ++i); 793 #pragma acc loop private(Var) seq 794 for(unsigned i = 0; i < 5; ++i); 795 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}} 796 #pragma acc loop copyout(Var) seq 797 for(unsigned i = 0; i < 5; ++i); 798 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}} 799 #pragma acc loop pcopyout(Var) seq 800 for(unsigned i = 0; i < 5; ++i); 801 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}} 802 #pragma acc loop present_or_copyout(Var) seq 803 for(unsigned i = 0; i < 5; ++i); 804 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}} 805 #pragma acc loop copyin(Var) seq 806 for(unsigned i = 0; i < 5; ++i); 807 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}} 808 #pragma acc loop pcopyin(Var) seq 809 for(unsigned i = 0; i < 5; ++i); 810 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}} 811 #pragma acc loop present_or_copyin(Var) seq 812 for(unsigned i = 0; i < 5; ++i); 813 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}} 814 #pragma acc loop create(Var) seq 815 for(unsigned i = 0; i < 5; ++i); 816 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}} 817 #pragma acc loop pcreate(Var) seq 818 for(unsigned i = 0; i < 5; ++i); 819 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}} 820 #pragma acc loop present_or_create(Var) seq 821 for(unsigned i = 0; i < 5; ++i); 822 #pragma acc loop reduction(+:Var) seq 823 for(unsigned i = 0; i < 5; ++i); 824 #pragma acc loop collapse(1) seq 825 for(unsigned i = 0; i < 5; ++i); 826 // expected-warning@+1{{OpenACC clause 'bind' not yet implemented}} 827 #pragma acc loop bind(Var) seq 828 for(unsigned i = 0; i < 5; ++i); 829 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}} 830 #pragma acc loop vector_length(1) seq 831 for(unsigned i = 0; i < 5; ++i); 832 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}} 833 #pragma acc loop num_gangs(1) seq 834 for(unsigned i = 0; i < 5; ++i); 835 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}} 836 #pragma acc loop num_workers(1) seq 837 for(unsigned i = 0; i < 5; ++i); 838 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}} 839 #pragma acc loop device_num(1) seq 840 for(unsigned i = 0; i < 5; ++i); 841 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}} 842 #pragma acc loop default_async(1) seq 843 for(unsigned i = 0; i < 5; ++i); 844 #pragma acc loop device_type(*) seq 845 for(unsigned i = 0; i < 5; ++i); 846 #pragma acc loop dtype(*) seq 847 for(unsigned i = 0; i < 5; ++i); 848 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}} 849 #pragma acc loop async seq 850 for(unsigned i = 0; i < 5; ++i); 851 #pragma acc loop tile(1+2, 1) seq 852 for(;;) 853 for(unsigned i = 0; i < 5; ++i); 854 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}} 855 #pragma acc loop wait seq 856 for(unsigned i = 0; i < 5; ++i); 857 } 858