brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.7 KiB · 0365e3a Raw
181 lines · c
1// RUN: %clang_cc1 %s -verify -fopenacc2 3void func() {4 5  // expected-error@+1{{expected OpenACC directive}}6#pragma acc7  for(;;){}8 9  // expected-error@+2{{expected OpenACC directive}}10  // expected-error@+1{{invalid OpenACC clause 'whatever'}}11#pragma acc(whatever) routine12 13  // expected-error@+2{{expected OpenACC directive}}14  // expected-error@+1{{invalid OpenACC clause 'routine'}}15#pragma acc) routine16 17  // expected-error@+1{{invalid OpenACC directive 'invalid'}}18#pragma acc invalid19  for(;;){}20 21  // expected-error@+1{{invalid OpenACC clause 'clause'}}22#pragma acc parallel clause list23  for(;;){}24  // expected-error@+2{{expected clause-list or newline in OpenACC directive}}25  // expected-error@+1{{invalid OpenACC clause 'clause'}}26#pragma acc parallel() clause list27  for(;;){}28  // expected-error@+3{{expected clause-list or newline in OpenACC directive}}29  // expected-error@+2{{expected ')'}}30  // expected-note@+1{{to match this '('}}31#pragma acc parallel( clause list32  for(;;){}33  // expected-error@+2{{expected clause-list or newline in OpenACC directive}}34  // expected-error@+1{{invalid OpenACC clause 'clause'}}35#pragma acc parallel() clause list36  for(;;){}37  // expected-error@+3{{expected clause-list or newline in OpenACC directive}}38  // expected-error@+2{{expected ')'}}39  // expected-note@+1{{to match this '('}}40#pragma acc parallel( clause list41  for(;;){}42  // expected-error@+2{{expected clause-list or newline in OpenACC directive}}43  // expected-error@+1{{invalid OpenACC clause 'clause'}}44#pragma acc serial() clause list45  for(;;){}46  // expected-error@+3{{expected clause-list or newline in OpenACC directive}}47  // expected-error@+2{{expected ')'}}48  // expected-note@+1{{to match this '('}}49#pragma acc serial( clause list50  for(;;){}51  // expected-error@+1{{invalid OpenACC clause 'clause'}}52#pragma acc serial clause list53  for(;;){}54  // expected-error@+1{{invalid OpenACC clause 'clause'}}55#pragma acc kernels clause list56  for(;;){}57    // expected-error@+2{{OpenACC 'data' construct must have at least one 'attach', 'copy', 'copyin', 'copyout', 'create', 'default', 'deviceptr', 'no_create', or 'present' clause}}58  // expected-error@+1{{invalid OpenACC clause 'clause'}}59#pragma acc data clause list60  for(;;){}61  // expected-error@+2{{OpenACC 'enter data' construct must have at least one 'attach', 'copyin', or 'create' clause}}62  // expected-error@+1{{invalid OpenACC clause 'clause'}}63#pragma acc enter data clause list64  for(;;){}65  // expected-error@+2{{OpenACC 'exit data' construct must have at least one 'copyout', 'delete', or 'detach' clause}}66  // expected-error@+1{{invalid OpenACC clause 'clause'}}67#pragma acc exit data clause list68  for(;;){}69  // expected-error@+1{{invalid OpenACC directive 'enter invalid'}}70#pragma acc enter invalid71  for(;;){}72  // expected-error@+1{{invalid OpenACC directive 'exit invalid'}}73#pragma acc exit invalid74  for(;;){}75  // expected-error@+1{{invalid OpenACC directive 'enter'}}76#pragma acc enter77  for(;;){}78  // expected-error@+1{{expected identifier}}79#pragma acc exit }80  for(;;){}81  // expected-error@+2{{OpenACC 'host_data' construct must have at least one 'use_device' clause}}82  // expected-error@+1{{invalid OpenACC clause 'clause'}}83#pragma acc host_data clause list84  for(;;){}85  // expected-error@+1{{invalid OpenACC clause 'clause'}}86#pragma acc loop clause list87  for(int i = 0; i < 6;++i){}88  // expected-error@+1{{invalid OpenACC clause 'invalid'}}89#pragma acc parallel invalid clause list90  for(int i = 0; i < 6;++i){}91  // expected-error@+1{{invalid OpenACC clause 'invalid'}}92#pragma acc serial invalid clause list93  for(int i = 0; i < 6;++i){}94  // expected-error@+1{{invalid OpenACC clause 'clause'}}95#pragma acc parallel loop clause list96  for(int i = 0; i < 6;++i){}97 98#pragma acc parallel loop99  for(int i = 0; i < 6;++i){}100  // expected-error@+1{{invalid OpenACC clause 'clause'}}101#pragma acc serial loop clause list102  for(int i = 0; i < 6;++i){}103#pragma acc serial loop104  for(int i = 0; i < 6;++i){}105  // expected-error@+1{{invalid OpenACC clause 'clause'}}106#pragma acc kernels loop clause list107  for(int i = 0; i < 6;++i){}108#pragma acc kernels loop109  for(int i = 0; i < 6;++i){}110 111  int i = 0, j = 0, k = 0;112#pragma acc atomic113  i = i + 1;114  // expected-error@+1{{invalid OpenACC clause 'garbage'}}115#pragma acc atomic garbage116  i = i + 1;117  // expected-error@+1{{invalid OpenACC clause 'garbage'}}118#pragma acc atomic garbage clause list119  i = i + 1;120#pragma acc atomic read121  i = j;122  // expected-error@+1{{invalid OpenACC clause 'clause'}}123#pragma acc atomic write clause list124  i = i + j;125  // expected-error@+1{{invalid OpenACC clause 'clause'}}126#pragma acc atomic update clause list127  i++;128  // expected-error@+1{{invalid OpenACC clause 'clause'}}129#pragma acc atomic capture clause list130  i = j++;131 132 133  // expected-error@+2{{invalid OpenACC clause 'clause'}}134  // expected-error@+1{{no valid clauses specified in OpenACC 'declare' directive}}135#pragma acc declare clause list136  for(;;){}137  // expected-error@+1{{invalid OpenACC clause 'clause'}}138#pragma acc init clause list139  for(;;){}140  // expected-error@+1{{invalid OpenACC clause 'clause'}}141#pragma acc shutdown clause list142  for(;;){}143  // expected-error@+2{{invalid OpenACC clause 'clause'}}144  // expected-error@+1{{OpenACC 'set' construct must have at least one 'default_async', 'device_num', or 'device_type' clause}}145#pragma acc set clause list146  for(;;){}147  // expected-error@+2{{OpenACC 'update' construct must have at least one 'device', 'host', or 'self' clause}}148  // expected-error@+1{{invalid OpenACC clause 'clause'}}149#pragma acc update clause list150  for(;;){}151}152 153#pragma acc routine seq154void routine_func();155// expected-error@+2{{invalid OpenACC clause 'clause'}}156// expected-error@+1{{OpenACC 'routine' construct must have at least one 'gang', 'seq', 'vector', or 'worker' clause}}157#pragma acc routine clause list158void routine_func();159 160// expected-error@+1{{use of undeclared identifier 'func_name'}}161#pragma acc routine (func_name) seq162// expected-error@+3{{use of undeclared identifier 'func_name'}}163// expected-error@+2{{invalid OpenACC clause 'clause'}}164// expected-error@+1{{OpenACC 'routine' construct must have at least one 'gang', 'seq', 'vector', or 'worker' clause}}165#pragma acc routine (func_name) clause list166 167#pragma acc routine (routine_func) seq168// expected-error@+2{{invalid OpenACC clause 'clause'}}169// expected-error@+1{{OpenACC 'routine' construct must have at least one 'gang', 'seq', 'vector', or 'worker' clause}}170#pragma acc routine (routine_func) clause list171 172// expected-error@+2{{expected ')'}}173// expected-note@+1{{to match this '('}}174#pragma acc routine (routine_func()) seq175 176// expected-error@+1{{expected identifier}}177#pragma acc routine() seq178 179// expected-error@+1{{expected identifier}}180#pragma acc routine(int) seq181