875 lines · c
1// RUN: %clang_cc1 %s -fopenacc -verify2 3void uses() {4#pragma acc loop auto5 for(unsigned i = 0; i < 5; ++i);6#pragma acc loop seq7 for(unsigned i = 0; i < 5; ++i);8#pragma acc loop independent9 for(unsigned i = 0; i < 5; ++i);10 11 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'auto' clause on a 'loop' construct}}12 // expected-note@+1{{previous 'auto' clause is here}}13#pragma acc loop auto seq14 for(unsigned i = 0; i < 5; ++i);15 // expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'auto' clause on a 'loop' construct}}16 // expected-note@+1{{previous 'auto' clause is here}}17#pragma acc loop auto independent18 for(unsigned i = 0; i < 5; ++i);19 // expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}20 // expected-note@+1{{previous 'seq' clause is here}}21#pragma acc loop seq auto22 for(unsigned i = 0; i < 5; ++i);23 // expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}24 // expected-note@+1{{previous 'seq' clause is here}}25#pragma acc loop seq independent26 for(unsigned i = 0; i < 5; ++i);27 // expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'independent' clause on a 'loop' construct}}28 // expected-note@+1{{previous 'independent' clause is here}}29#pragma acc loop independent auto30 for(unsigned i = 0; i < 5; ++i);31 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'independent' clause on a 'loop' construct}}32 // expected-note@+1{{previous 'independent' clause is here}}33#pragma acc loop independent seq34 for(unsigned i = 0; i < 5; ++i);35 36 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}37 // expected-note@+1{{previous 'seq' clause is here}}38#pragma acc loop seq seq39 for(unsigned i = 0; i < 5; ++i);40 // expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'independent' clause on a 'loop' construct}}41 // expected-note@+1{{previous 'independent' clause is here}}42#pragma acc loop independent independent43 for(unsigned i = 0; i < 5; ++i);44 // expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'auto' clause on a 'loop' construct}}45 // expected-note@+1{{previous 'auto' clause is here}}46#pragma acc loop auto auto47 for(unsigned i = 0; i < 5; ++i);48 49 int Var;50 int *VarPtr;51 52 // 'auto' can combine with any other clause.53 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}54#pragma acc loop auto finalize55 for(unsigned i = 0; i < 5; ++i);56 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}}57#pragma acc loop auto if_present58 for(unsigned i = 0; i < 5; ++i);59#pragma acc loop auto worker60 for(unsigned i = 0; i < 5; ++i);61#pragma acc loop auto vector62 for(unsigned i = 0; i < 5; ++i);63 // expected-error@+1{{OpenACC 'nohost' clause is not valid on 'loop' directive}}64#pragma acc loop auto nohost65 for(unsigned i = 0; i < 5; ++i);66 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}67#pragma acc loop auto default(none)68 for(unsigned i = 0; i < 5; ++i);69 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}}70#pragma acc loop auto if(1)71 for(unsigned i = 0; i < 5; ++i);72 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}}73#pragma acc loop auto self74 for(unsigned i = 0; i < 5; ++i);75 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}}76#pragma acc loop auto copy(Var)77 for(unsigned i = 0; i < 5; ++i);78 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}}79#pragma acc loop auto pcopy(Var)80 for(unsigned i = 0; i < 5; ++i);81 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}}82#pragma acc loop auto present_or_copy(Var)83 for(unsigned i = 0; i < 5; ++i);84 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}}85#pragma acc loop auto use_device(Var)86 for(unsigned i = 0; i < 5; ++i);87 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}}88#pragma acc loop auto attach(Var)89 for(unsigned i = 0; i < 5; ++i);90 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}}91#pragma acc loop auto delete(Var)92 for(unsigned i = 0; i < 5; ++i);93 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}}94#pragma acc loop auto detach(Var)95 for(unsigned i = 0; i < 5; ++i);96 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}}97#pragma acc loop auto device(VarPtr)98 for(unsigned i = 0; i < 5; ++i);99 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}}100#pragma acc loop auto deviceptr(VarPtr)101 for(unsigned i = 0; i < 5; ++i);102 // expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'loop' directive}}103#pragma acc loop auto device_resident(VarPtr)104 for(unsigned i = 0; i < 5; ++i);105 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}}106#pragma acc loop auto firstprivate(Var)107 for(unsigned i = 0; i < 5; ++i);108 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}}109#pragma acc loop auto host(Var)110 for(unsigned i = 0; i < 5; ++i);111 // expected-error@+1{{OpenACC 'link' clause is not valid on 'loop' directive}}112#pragma acc loop auto link(Var)113 for(unsigned i = 0; i < 5; ++i);114 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}}115#pragma acc loop auto no_create(Var)116 for(unsigned i = 0; i < 5; ++i);117 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}}118#pragma acc loop auto present(Var)119 for(unsigned i = 0; i < 5; ++i);120#pragma acc loop auto private(Var)121 for(unsigned i = 0; i < 5; ++i);122 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}123#pragma acc loop auto copyout(Var)124 for(unsigned i = 0; i < 5; ++i);125 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}}126#pragma acc loop auto pcopyout(Var)127 for(unsigned i = 0; i < 5; ++i);128 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}}129#pragma acc loop auto present_or_copyout(Var)130 for(unsigned i = 0; i < 5; ++i);131 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}}132#pragma acc loop auto copyin(Var)133 for(unsigned i = 0; i < 5; ++i);134 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}}135#pragma acc loop auto pcopyin(Var)136 for(unsigned i = 0; i < 5; ++i);137 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}}138#pragma acc loop auto present_or_copyin(Var)139 for(unsigned i = 0; i < 5; ++i);140 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}}141#pragma acc loop auto create(Var)142 for(unsigned i = 0; i < 5; ++i);143 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}}144#pragma acc loop auto pcreate(Var)145 for(unsigned i = 0; i < 5; ++i);146 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}}147#pragma acc loop auto present_or_create(Var)148 for(unsigned i = 0; i < 5; ++i);149#pragma acc loop auto reduction(+:Var)150 for(unsigned i = 0; i < 5; ++i);151#pragma acc loop auto collapse(1)152 for(unsigned i = 0; i < 5; ++i);153 // expected-error@+1{{OpenACC 'bind' clause is not valid on 'loop' directive}}154#pragma acc loop auto bind(Var)155 for(unsigned i = 0; i < 5; ++i);156 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}}157#pragma acc loop auto vector_length(1)158 for(unsigned i = 0; i < 5; ++i);159 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}}160#pragma acc loop auto num_gangs(1)161 for(unsigned i = 0; i < 5; ++i);162 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}}163#pragma acc loop auto num_workers(1)164 for(unsigned i = 0; i < 5; ++i);165 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}}166#pragma acc loop auto device_num(1)167 for(unsigned i = 0; i < 5; ++i);168 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}}169#pragma acc loop auto default_async(1)170 for(unsigned i = 0; i < 5; ++i);171#pragma acc loop auto device_type(*)172 for(unsigned i = 0; i < 5; ++i);173#pragma acc loop auto dtype(*)174 for(unsigned i = 0; i < 5; ++i);175 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}176#pragma acc loop auto async177 for(unsigned i = 0; i < 5; ++i);178#pragma acc loop auto tile(1+2, 1)179 for(unsigned j = 0; j < 5; ++j)180 for(unsigned i = 0; i < 5; ++i);181#pragma acc loop auto gang182 for(unsigned i = 0; i < 5; ++i);183 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}}184#pragma acc loop auto wait185 for(unsigned i = 0; i < 5; ++i);186 187 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}188#pragma acc loop finalize auto189 for(unsigned i = 0; i < 5; ++i);190 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}}191#pragma acc loop if_present auto192 for(unsigned i = 0; i < 5; ++i);193#pragma acc loop worker auto194 for(unsigned i = 0; i < 5; ++i);195#pragma acc loop vector auto196 for(unsigned i = 0; i < 5; ++i);197 // expected-error@+1{{OpenACC 'nohost' clause is not valid on 'loop' directive}}198#pragma acc loop nohost auto199 for(unsigned i = 0; i < 5; ++i);200 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}201#pragma acc loop default(none) auto202 for(unsigned i = 0; i < 5; ++i);203 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}}204#pragma acc loop if(1) auto205 for(unsigned i = 0; i < 5; ++i);206 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}}207#pragma acc loop self auto208 for(unsigned i = 0; i < 5; ++i);209 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}}210#pragma acc loop copy(Var) auto211 for(unsigned i = 0; i < 5; ++i);212 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}}213#pragma acc loop pcopy(Var) auto214 for(unsigned i = 0; i < 5; ++i);215 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}}216#pragma acc loop present_or_copy(Var) auto217 for(unsigned i = 0; i < 5; ++i);218 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}}219#pragma acc loop use_device(Var) auto220 for(unsigned i = 0; i < 5; ++i);221 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}}222#pragma acc loop attach(Var) auto223 for(unsigned i = 0; i < 5; ++i);224 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}}225#pragma acc loop delete(Var) auto226 for(unsigned i = 0; i < 5; ++i);227 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}}228#pragma acc loop detach(Var) auto229 for(unsigned i = 0; i < 5; ++i);230 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}}231#pragma acc loop device(VarPtr) auto232 for(unsigned i = 0; i < 5; ++i);233 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}}234#pragma acc loop deviceptr(VarPtr) auto235 for(unsigned i = 0; i < 5; ++i);236 // expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'loop' directive}}237#pragma acc loop device_resident(VarPtr) auto238 for(unsigned i = 0; i < 5; ++i);239 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}}240#pragma acc loop firstprivate(Var) auto241 for(unsigned i = 0; i < 5; ++i);242 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}}243#pragma acc loop host(Var) auto244 for(unsigned i = 0; i < 5; ++i);245 // expected-error@+1{{OpenACC 'link' clause is not valid on 'loop' directive}}246#pragma acc loop link(Var) auto247 for(unsigned i = 0; i < 5; ++i);248 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}}249#pragma acc loop no_create(Var) auto250 for(unsigned i = 0; i < 5; ++i);251 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}}252#pragma acc loop present(Var) auto253 for(unsigned i = 0; i < 5; ++i);254#pragma acc loop private(Var) auto255 for(unsigned i = 0; i < 5; ++i);256 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}257#pragma acc loop copyout(Var) auto258 for(unsigned i = 0; i < 5; ++i);259 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}}260#pragma acc loop pcopyout(Var) auto261 for(unsigned i = 0; i < 5; ++i);262 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}}263#pragma acc loop present_or_copyout(Var) auto264 for(unsigned i = 0; i < 5; ++i);265 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}}266#pragma acc loop copyin(Var) auto267 for(unsigned i = 0; i < 5; ++i);268 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}}269#pragma acc loop pcopyin(Var) auto270 for(unsigned i = 0; i < 5; ++i);271 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}}272#pragma acc loop present_or_copyin(Var) auto273 for(unsigned i = 0; i < 5; ++i);274 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}}275#pragma acc loop create(Var) auto276 for(unsigned i = 0; i < 5; ++i);277 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}}278#pragma acc loop pcreate(Var) auto279 for(unsigned i = 0; i < 5; ++i);280 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}}281#pragma acc loop present_or_create(Var) auto282 for(unsigned i = 0; i < 5; ++i);283#pragma acc loop reduction(+:Var) auto284 for(unsigned i = 0; i < 5; ++i);285#pragma acc loop collapse(1) auto286 for(unsigned i = 0; i < 5; ++i);287 // expected-error@+1{{OpenACC 'bind' clause is not valid on 'loop' directive}}288#pragma acc loop bind(Var) auto289 for(unsigned i = 0; i < 5; ++i);290 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}}291#pragma acc loop vector_length(1) auto292 for(unsigned i = 0; i < 5; ++i);293 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}}294#pragma acc loop num_gangs(1) auto295 for(unsigned i = 0; i < 5; ++i);296 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}}297#pragma acc loop num_workers(1) auto298 for(unsigned i = 0; i < 5; ++i);299 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}}300#pragma acc loop device_num(1) auto301 for(unsigned i = 0; i < 5; ++i);302 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}}303#pragma acc loop default_async(1) auto304 for(unsigned i = 0; i < 5; ++i);305#pragma acc loop device_type(*) auto306 for(unsigned i = 0; i < 5; ++i);307#pragma acc loop dtype(*) auto308 for(unsigned i = 0; i < 5; ++i);309 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}310#pragma acc loop async auto311 for(unsigned i = 0; i < 5; ++i);312#pragma acc loop tile(1+2, 1) auto313 for(unsigned j = 0; j < 5; ++j)314 for(unsigned i = 0; i < 5; ++i);315#pragma acc loop gang auto316 for(unsigned i = 0; i < 5; ++i);317 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}}318#pragma acc loop wait auto319 for(unsigned i = 0; i < 5; ++i);320 321 // 'independent' can also be combined with any clauses322 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}323#pragma acc loop independent finalize324 for(unsigned i = 0; i < 5; ++i);325 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}}326#pragma acc loop independent if_present327 for(unsigned i = 0; i < 5; ++i);328#pragma acc loop independent worker329 for(unsigned i = 0; i < 5; ++i);330#pragma acc loop independent vector331 for(unsigned i = 0; i < 5; ++i);332 // expected-error@+1{{OpenACC 'nohost' clause is not valid on 'loop' directive}}333#pragma acc loop independent nohost334 for(unsigned i = 0; i < 5; ++i);335 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}336#pragma acc loop independent default(none)337 for(unsigned i = 0; i < 5; ++i);338 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}}339#pragma acc loop independent if(1)340 for(unsigned i = 0; i < 5; ++i);341 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}}342#pragma acc loop independent self343 for(unsigned i = 0; i < 5; ++i);344 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}}345#pragma acc loop independent copy(Var)346 for(unsigned i = 0; i < 5; ++i);347 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}}348#pragma acc loop independent pcopy(Var)349 for(unsigned i = 0; i < 5; ++i);350 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}}351#pragma acc loop independent present_or_copy(Var)352 for(unsigned i = 0; i < 5; ++i);353 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}}354#pragma acc loop independent use_device(Var)355 for(unsigned i = 0; i < 5; ++i);356 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}}357#pragma acc loop independent attach(Var)358 for(unsigned i = 0; i < 5; ++i);359 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}}360#pragma acc loop independent delete(Var)361 for(unsigned i = 0; i < 5; ++i);362 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}}363#pragma acc loop independent detach(Var)364 for(unsigned i = 0; i < 5; ++i);365 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}}366#pragma acc loop independent device(VarPtr)367 for(unsigned i = 0; i < 5; ++i);368 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}}369#pragma acc loop independent deviceptr(VarPtr)370 for(unsigned i = 0; i < 5; ++i);371 // expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'loop' directive}}372#pragma acc loop independent device_resident(VarPtr)373 for(unsigned i = 0; i < 5; ++i);374 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}}375#pragma acc loop independent firstprivate(Var)376 for(unsigned i = 0; i < 5; ++i);377 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}}378#pragma acc loop independent host(Var)379 for(unsigned i = 0; i < 5; ++i);380 // expected-error@+1{{OpenACC 'link' clause is not valid on 'loop' directive}}381#pragma acc loop independent link(Var)382 for(unsigned i = 0; i < 5; ++i);383 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}}384#pragma acc loop independent no_create(Var)385 for(unsigned i = 0; i < 5; ++i);386 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}}387#pragma acc loop independent present(Var)388 for(unsigned i = 0; i < 5; ++i);389#pragma acc loop independent private(Var)390 for(unsigned i = 0; i < 5; ++i);391 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}392#pragma acc loop independent copyout(Var)393 for(unsigned i = 0; i < 5; ++i);394 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}}395#pragma acc loop independent pcopyout(Var)396 for(unsigned i = 0; i < 5; ++i);397 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}}398#pragma acc loop independent present_or_copyout(Var)399 for(unsigned i = 0; i < 5; ++i);400 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}}401#pragma acc loop independent copyin(Var)402 for(unsigned i = 0; i < 5; ++i);403 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}}404#pragma acc loop independent pcopyin(Var)405 for(unsigned i = 0; i < 5; ++i);406 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}}407#pragma acc loop independent present_or_copyin(Var)408 for(unsigned i = 0; i < 5; ++i);409 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}}410#pragma acc loop independent create(Var)411 for(unsigned i = 0; i < 5; ++i);412 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}}413#pragma acc loop independent pcreate(Var)414 for(unsigned i = 0; i < 5; ++i);415 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}}416#pragma acc loop independent present_or_create(Var)417 for(unsigned i = 0; i < 5; ++i);418#pragma acc loop independent reduction(+:Var)419 for(unsigned i = 0; i < 5; ++i);420#pragma acc loop independent collapse(1)421 for(unsigned i = 0; i < 5; ++i);422 // expected-error@+1{{OpenACC 'bind' clause is not valid on 'loop' directive}}423#pragma acc loop independent bind(Var)424 for(unsigned i = 0; i < 5; ++i);425 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}}426#pragma acc loop independent vector_length(1)427 for(unsigned i = 0; i < 5; ++i);428 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}}429#pragma acc loop independent num_gangs(1)430 for(unsigned i = 0; i < 5; ++i);431 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}}432#pragma acc loop independent num_workers(1)433 for(unsigned i = 0; i < 5; ++i);434 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}}435#pragma acc loop independent device_num(1)436 for(unsigned i = 0; i < 5; ++i);437 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}}438#pragma acc loop independent default_async(1)439 for(unsigned i = 0; i < 5; ++i);440#pragma acc loop independent device_type(*)441 for(unsigned i = 0; i < 5; ++i);442#pragma acc loop independent dtype(*)443 for(unsigned i = 0; i < 5; ++i);444 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}445#pragma acc loop independent async446 for(unsigned i = 0; i < 5; ++i);447#pragma acc loop independent tile(1+2, 1)448 for(unsigned j = 0; j < 5; ++j)449 for(unsigned i = 0; i < 5; ++i);450#pragma acc loop independent gang451 for(unsigned i = 0; i < 5; ++i);452 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}}453#pragma acc loop independent wait454 for(unsigned i = 0; i < 5; ++i);455 456 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}457#pragma acc loop finalize independent458 for(unsigned i = 0; i < 5; ++i);459 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}}460#pragma acc loop if_present independent461 for(unsigned i = 0; i < 5; ++i);462#pragma acc loop worker independent463 for(unsigned i = 0; i < 5; ++i);464#pragma acc loop vector independent465 for(unsigned i = 0; i < 5; ++i);466 // expected-error@+1{{OpenACC 'nohost' clause is not valid on 'loop' directive}}467#pragma acc loop nohost independent468 for(unsigned i = 0; i < 5; ++i);469 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}470#pragma acc loop default(none) independent471 for(unsigned i = 0; i < 5; ++i);472 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}}473#pragma acc loop if(1) independent474 for(unsigned i = 0; i < 5; ++i);475 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}}476#pragma acc loop self independent477 for(unsigned i = 0; i < 5; ++i);478 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}}479#pragma acc loop copy(Var) independent480 for(unsigned i = 0; i < 5; ++i);481 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}}482#pragma acc loop pcopy(Var) independent483 for(unsigned i = 0; i < 5; ++i);484 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}}485#pragma acc loop present_or_copy(Var) independent486 for(unsigned i = 0; i < 5; ++i);487 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}}488#pragma acc loop use_device(Var) independent489 for(unsigned i = 0; i < 5; ++i);490 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}}491#pragma acc loop attach(Var) independent492 for(unsigned i = 0; i < 5; ++i);493 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}}494#pragma acc loop delete(Var) independent495 for(unsigned i = 0; i < 5; ++i);496 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}}497#pragma acc loop detach(Var) independent498 for(unsigned i = 0; i < 5; ++i);499 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}}500#pragma acc loop device(VarPtr) independent501 for(unsigned i = 0; i < 5; ++i);502 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}}503#pragma acc loop deviceptr(VarPtr) independent504 for(unsigned i = 0; i < 5; ++i);505 // expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'loop' directive}}506#pragma acc loop device_resident(VarPtr) independent507 for(unsigned i = 0; i < 5; ++i);508 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}}509#pragma acc loop firstprivate(Var) independent510 for(unsigned i = 0; i < 5; ++i);511 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}}512#pragma acc loop host(Var) independent513 for(unsigned i = 0; i < 5; ++i);514 // expected-error@+1{{OpenACC 'link' clause is not valid on 'loop' directive}}515#pragma acc loop link(Var) independent516 for(unsigned i = 0; i < 5; ++i);517 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}}518#pragma acc loop no_create(Var) independent519 for(unsigned i = 0; i < 5; ++i);520 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}}521#pragma acc loop present(Var) independent522 for(unsigned i = 0; i < 5; ++i);523#pragma acc loop private(Var) independent524 for(unsigned i = 0; i < 5; ++i);525 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}526#pragma acc loop copyout(Var) independent527 for(unsigned i = 0; i < 5; ++i);528 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}}529#pragma acc loop pcopyout(Var) independent530 for(unsigned i = 0; i < 5; ++i);531 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}}532#pragma acc loop present_or_copyout(Var) independent533 for(unsigned i = 0; i < 5; ++i);534 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}}535#pragma acc loop copyin(Var) independent536 for(unsigned i = 0; i < 5; ++i);537 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}}538#pragma acc loop pcopyin(Var) independent539 for(unsigned i = 0; i < 5; ++i);540 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}}541#pragma acc loop present_or_copyin(Var) independent542 for(unsigned i = 0; i < 5; ++i);543 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}}544#pragma acc loop create(Var) independent545 for(unsigned i = 0; i < 5; ++i);546 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}}547#pragma acc loop pcreate(Var) independent548 for(unsigned i = 0; i < 5; ++i);549 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}}550#pragma acc loop present_or_create(Var) independent551 for(unsigned i = 0; i < 5; ++i);552#pragma acc loop reduction(+:Var) independent553 for(unsigned i = 0; i < 5; ++i);554#pragma acc loop collapse(1) independent555 for(unsigned i = 0; i < 5; ++i);556 // expected-error@+1{{OpenACC 'bind' clause is not valid on 'loop' directive}}557#pragma acc loop bind(Var) independent558 for(unsigned i = 0; i < 5; ++i);559 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}}560#pragma acc loop vector_length(1) independent561 for(unsigned i = 0; i < 5; ++i);562 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}}563#pragma acc loop num_gangs(1) independent564 for(unsigned i = 0; i < 5; ++i);565 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}}566#pragma acc loop num_workers(1) independent567 for(unsigned i = 0; i < 5; ++i);568 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}}569#pragma acc loop device_num(1) independent570 for(unsigned i = 0; i < 5; ++i);571 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}}572#pragma acc loop default_async(1) independent573 for(unsigned i = 0; i < 5; ++i);574#pragma acc loop device_type(*) independent575 for(unsigned i = 0; i < 5; ++i);576#pragma acc loop dtype(*) independent577 for(unsigned i = 0; i < 5; ++i);578 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}579#pragma acc loop async independent580 for(unsigned i = 0; i < 5; ++i);581#pragma acc loop tile(1+2, 1) independent582 for(unsigned j = 0; j < 5; ++j)583 for(unsigned i = 0; i < 5; ++i);584#pragma acc loop gang independent585 for(unsigned i = 0; i < 5; ++i);586 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}}587#pragma acc loop wait independent588 for(unsigned i = 0; i < 5; ++i);589 590 // 'seq' cannot be combined with 'gang', 'worker' or 'vector'591 // expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}592 // expected-note@+1{{previous 'seq' clause is here}}593#pragma acc loop seq gang594 for(unsigned i = 0; i < 5; ++i);595 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'loop' construct}}596 // expected-note@+1{{previous 'gang' clause is here}}597#pragma acc loop gang seq598 for(unsigned i = 0; i < 5; ++i);599 // expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}600 // expected-note@+1{{previous 'seq' clause is here}}601#pragma acc loop seq worker602 for(unsigned i = 0; i < 5; ++i);603 // expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}604 // expected-note@+1{{previous 'seq' clause is here}}605#pragma acc loop seq vector606 for(unsigned i = 0; i < 5; ++i);607 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}608#pragma acc loop seq finalize609 for(unsigned i = 0; i < 5; ++i);610 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}}611#pragma acc loop seq if_present612 for(unsigned i = 0; i < 5; ++i);613 // expected-error@+1{{OpenACC 'nohost' clause is not valid on 'loop' directive}}614#pragma acc loop seq nohost615 for(unsigned i = 0; i < 5; ++i);616 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}617#pragma acc loop seq default(none)618 for(unsigned i = 0; i < 5; ++i);619 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}}620#pragma acc loop seq if(1)621 for(unsigned i = 0; i < 5; ++i);622 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}}623#pragma acc loop seq self624 for(unsigned i = 0; i < 5; ++i);625 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}}626#pragma acc loop seq copy(Var)627 for(unsigned i = 0; i < 5; ++i);628 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}}629#pragma acc loop seq pcopy(Var)630 for(unsigned i = 0; i < 5; ++i);631 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}}632#pragma acc loop seq present_or_copy(Var)633 for(unsigned i = 0; i < 5; ++i);634 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}}635#pragma acc loop seq use_device(Var)636 for(unsigned i = 0; i < 5; ++i);637 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}}638#pragma acc loop seq attach(Var)639 for(unsigned i = 0; i < 5; ++i);640 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}}641#pragma acc loop seq delete(Var)642 for(unsigned i = 0; i < 5; ++i);643 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}}644#pragma acc loop seq detach(Var)645 for(unsigned i = 0; i < 5; ++i);646 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}}647#pragma acc loop seq device(VarPtr)648 for(unsigned i = 0; i < 5; ++i);649 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}}650#pragma acc loop seq deviceptr(VarPtr)651 for(unsigned i = 0; i < 5; ++i);652 // expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'loop' directive}}653#pragma acc loop seq device_resident(VarPtr)654 for(unsigned i = 0; i < 5; ++i);655 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}}656#pragma acc loop seq firstprivate(Var)657 for(unsigned i = 0; i < 5; ++i);658 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}}659#pragma acc loop seq host(Var)660 for(unsigned i = 0; i < 5; ++i);661 // expected-error@+1{{OpenACC 'link' clause is not valid on 'loop' directive}}662#pragma acc loop seq link(Var)663 for(unsigned i = 0; i < 5; ++i);664 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}}665#pragma acc loop seq no_create(Var)666 for(unsigned i = 0; i < 5; ++i);667 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}}668#pragma acc loop seq present(Var)669 for(unsigned i = 0; i < 5; ++i);670#pragma acc loop seq private(Var)671 for(unsigned i = 0; i < 5; ++i);672 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}673#pragma acc loop seq copyout(Var)674 for(unsigned i = 0; i < 5; ++i);675 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}}676#pragma acc loop seq pcopyout(Var)677 for(unsigned i = 0; i < 5; ++i);678 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}}679#pragma acc loop seq present_or_copyout(Var)680 for(unsigned i = 0; i < 5; ++i);681 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}}682#pragma acc loop seq copyin(Var)683 for(unsigned i = 0; i < 5; ++i);684 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}}685#pragma acc loop seq pcopyin(Var)686 for(unsigned i = 0; i < 5; ++i);687 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}}688#pragma acc loop seq present_or_copyin(Var)689 for(unsigned i = 0; i < 5; ++i);690 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}}691#pragma acc loop seq create(Var)692 for(unsigned i = 0; i < 5; ++i);693 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}}694#pragma acc loop seq pcreate(Var)695 for(unsigned i = 0; i < 5; ++i);696 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}}697#pragma acc loop seq present_or_create(Var)698 for(unsigned i = 0; i < 5; ++i);699#pragma acc loop seq reduction(+:Var)700 for(unsigned i = 0; i < 5; ++i);701#pragma acc loop seq collapse(1)702 for(unsigned i = 0; i < 5; ++i);703 // expected-error@+1{{OpenACC 'bind' clause is not valid on 'loop' directive}}704#pragma acc loop seq bind(Var)705 for(unsigned i = 0; i < 5; ++i);706 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}}707#pragma acc loop seq vector_length(1)708 for(unsigned i = 0; i < 5; ++i);709 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}}710#pragma acc loop seq num_gangs(1)711 for(unsigned i = 0; i < 5; ++i);712 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}}713#pragma acc loop seq num_workers(1)714 for(unsigned i = 0; i < 5; ++i);715 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}}716#pragma acc loop seq device_num(1)717 for(unsigned i = 0; i < 5; ++i);718 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}}719#pragma acc loop seq default_async(1)720 for(unsigned i = 0; i < 5; ++i);721#pragma acc loop seq device_type(*)722 for(unsigned i = 0; i < 5; ++i);723#pragma acc loop seq dtype(*)724 for(unsigned i = 0; i < 5; ++i);725 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}726#pragma acc loop seq async727 for(unsigned i = 0; i < 5; ++i);728#pragma acc loop seq tile(1+2, 1)729 for(;;)730 for(unsigned i = 0; i < 5; ++i);731 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}}732#pragma acc loop seq wait733 for(unsigned i = 0; i < 5; ++i);734 735 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'loop' construct}}736 // expected-note@+1{{previous 'gang' clause is here}}737#pragma acc loop gang seq738 for(unsigned i = 0; i < 5; ++i);739 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'loop' construct}}740 // expected-note@+1{{previous 'worker' clause is here}}741#pragma acc loop worker seq742 for(unsigned i = 0; i < 5; ++i);743 // expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'loop' construct}}744 // expected-note@+1{{previous 'vector' clause is here}}745#pragma acc loop vector seq746 for(unsigned i = 0; i < 5; ++i);747 // expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}748#pragma acc loop finalize seq749 for(unsigned i = 0; i < 5; ++i);750 // expected-error@+1{{OpenACC 'if_present' clause is not valid on 'loop' directive}}751#pragma acc loop if_present seq752 for(unsigned i = 0; i < 5; ++i);753 // expected-error@+1{{OpenACC 'nohost' clause is not valid on 'loop' directive}}754#pragma acc loop nohost seq755 for(unsigned i = 0; i < 5; ++i);756 // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}757#pragma acc loop default(none) seq758 for(unsigned i = 0; i < 5; ++i);759 // expected-error@+1{{OpenACC 'if' clause is not valid on 'loop' directive}}760#pragma acc loop if(1) seq761 for(unsigned i = 0; i < 5; ++i);762 // expected-error@+1{{OpenACC 'self' clause is not valid on 'loop' directive}}763#pragma acc loop self seq764 for(unsigned i = 0; i < 5; ++i);765 // expected-error@+1{{OpenACC 'copy' clause is not valid on 'loop' directive}}766#pragma acc loop copy(Var) seq767 for(unsigned i = 0; i < 5; ++i);768 // expected-error@+1{{OpenACC 'pcopy' clause is not valid on 'loop' directive}}769#pragma acc loop pcopy(Var) seq770 for(unsigned i = 0; i < 5; ++i);771 // expected-error@+1{{OpenACC 'present_or_copy' clause is not valid on 'loop' directive}}772#pragma acc loop present_or_copy(Var) seq773 for(unsigned i = 0; i < 5; ++i);774 // expected-error@+1{{OpenACC 'use_device' clause is not valid on 'loop' directive}}775#pragma acc loop use_device(Var) seq776 for(unsigned i = 0; i < 5; ++i);777 // expected-error@+1{{OpenACC 'attach' clause is not valid on 'loop' directive}}778#pragma acc loop attach(Var) seq779 for(unsigned i = 0; i < 5; ++i);780 // expected-error@+1{{OpenACC 'delete' clause is not valid on 'loop' directive}}781#pragma acc loop delete(Var) seq782 for(unsigned i = 0; i < 5; ++i);783 // expected-error@+1{{OpenACC 'detach' clause is not valid on 'loop' directive}}784#pragma acc loop detach(Var) seq785 for(unsigned i = 0; i < 5; ++i);786 // expected-error@+1{{OpenACC 'device' clause is not valid on 'loop' directive}}787#pragma acc loop device(VarPtr) seq788 for(unsigned i = 0; i < 5; ++i);789 // expected-error@+1{{OpenACC 'deviceptr' clause is not valid on 'loop' directive}}790#pragma acc loop deviceptr(VarPtr) seq791 for(unsigned i = 0; i < 5; ++i);792 // expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'loop' directive}}793#pragma acc loop device_resident(VarPtr) seq794 for(unsigned i = 0; i < 5; ++i);795 // expected-error@+1{{OpenACC 'firstprivate' clause is not valid on 'loop' directive}}796#pragma acc loop firstprivate(Var) seq797 for(unsigned i = 0; i < 5; ++i);798 // expected-error@+1{{OpenACC 'host' clause is not valid on 'loop' directive}}799#pragma acc loop host(Var) seq800 for(unsigned i = 0; i < 5; ++i);801 // expected-error@+1{{OpenACC 'link' clause is not valid on 'loop' directive}}802#pragma acc loop link(Var) seq803 for(unsigned i = 0; i < 5; ++i);804 // expected-error@+1{{OpenACC 'no_create' clause is not valid on 'loop' directive}}805#pragma acc loop no_create(Var) seq806 for(unsigned i = 0; i < 5; ++i);807 // expected-error@+1{{OpenACC 'present' clause is not valid on 'loop' directive}}808#pragma acc loop present(Var) seq809 for(unsigned i = 0; i < 5; ++i);810#pragma acc loop private(Var) seq811 for(unsigned i = 0; i < 5; ++i);812 // expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}813#pragma acc loop copyout(Var) seq814 for(unsigned i = 0; i < 5; ++i);815 // expected-error@+1{{OpenACC 'pcopyout' clause is not valid on 'loop' directive}}816#pragma acc loop pcopyout(Var) seq817 for(unsigned i = 0; i < 5; ++i);818 // expected-error@+1{{OpenACC 'present_or_copyout' clause is not valid on 'loop' directive}}819#pragma acc loop present_or_copyout(Var) seq820 for(unsigned i = 0; i < 5; ++i);821 // expected-error@+1{{OpenACC 'copyin' clause is not valid on 'loop' directive}}822#pragma acc loop copyin(Var) seq823 for(unsigned i = 0; i < 5; ++i);824 // expected-error@+1{{OpenACC 'pcopyin' clause is not valid on 'loop' directive}}825#pragma acc loop pcopyin(Var) seq826 for(unsigned i = 0; i < 5; ++i);827 // expected-error@+1{{OpenACC 'present_or_copyin' clause is not valid on 'loop' directive}}828#pragma acc loop present_or_copyin(Var) seq829 for(unsigned i = 0; i < 5; ++i);830 // expected-error@+1{{OpenACC 'create' clause is not valid on 'loop' directive}}831#pragma acc loop create(Var) seq832 for(unsigned i = 0; i < 5; ++i);833 // expected-error@+1{{OpenACC 'pcreate' clause is not valid on 'loop' directive}}834#pragma acc loop pcreate(Var) seq835 for(unsigned i = 0; i < 5; ++i);836 // expected-error@+1{{OpenACC 'present_or_create' clause is not valid on 'loop' directive}}837#pragma acc loop present_or_create(Var) seq838 for(unsigned i = 0; i < 5; ++i);839#pragma acc loop reduction(+:Var) seq840 for(unsigned i = 0; i < 5; ++i);841#pragma acc loop collapse(1) seq842 for(unsigned i = 0; i < 5; ++i);843 // expected-error@+1{{OpenACC 'bind' clause is not valid on 'loop' directive}}844#pragma acc loop bind(Var) seq845 for(unsigned i = 0; i < 5; ++i);846 // expected-error@+1{{OpenACC 'vector_length' clause is not valid on 'loop' directive}}847#pragma acc loop vector_length(1) seq848 for(unsigned i = 0; i < 5; ++i);849 // expected-error@+1{{OpenACC 'num_gangs' clause is not valid on 'loop' directive}}850#pragma acc loop num_gangs(1) seq851 for(unsigned i = 0; i < 5; ++i);852 // expected-error@+1{{OpenACC 'num_workers' clause is not valid on 'loop' directive}}853#pragma acc loop num_workers(1) seq854 for(unsigned i = 0; i < 5; ++i);855 // expected-error@+1{{OpenACC 'device_num' clause is not valid on 'loop' directive}}856#pragma acc loop device_num(1) seq857 for(unsigned i = 0; i < 5; ++i);858 // expected-error@+1{{OpenACC 'default_async' clause is not valid on 'loop' directive}}859#pragma acc loop default_async(1) seq860 for(unsigned i = 0; i < 5; ++i);861#pragma acc loop device_type(*) seq862 for(unsigned i = 0; i < 5; ++i);863#pragma acc loop dtype(*) seq864 for(unsigned i = 0; i < 5; ++i);865 // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}866#pragma acc loop async seq867 for(unsigned i = 0; i < 5; ++i);868#pragma acc loop tile(1+2, 1) seq869 for(;;)870 for(unsigned i = 0; i < 5; ++i);871 // expected-error@+1{{OpenACC 'wait' clause is not valid on 'loop' directive}}872#pragma acc loop wait seq873 for(unsigned i = 0; i < 5; ++i);874}875