brintos

brintos / llvm-project-archived public Read only

0
0
Text · 43.0 KiB · 381b3ff Raw
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