195 lines
8.2 KiB
C
195 lines
8.2 KiB
C
// RUN: %clang_cc1 %s -verify -fopenacc
|
|
|
|
void func() {
|
|
|
|
// expected-error@+2{{expected OpenACC directive}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc
|
|
for(;;){}
|
|
|
|
// expected-error@+3{{expected OpenACC directive}}
|
|
// expected-error@+2{{invalid OpenACC clause 'whatever'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc(whatever) routine
|
|
|
|
// expected-error@+3{{expected OpenACC directive}}
|
|
// expected-error@+2{{invalid OpenACC clause 'routine'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc) routine
|
|
|
|
// expected-error@+2{{invalid OpenACC directive 'invalid'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc invalid
|
|
for(;;){}
|
|
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc parallel clause list
|
|
for(;;){}
|
|
// expected-error@+3{{expected clause-list or newline in OpenACC directive}}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc parallel() clause list
|
|
for(;;){}
|
|
// expected-error@+4{{expected clause-list or newline in OpenACC directive}}
|
|
// expected-error@+3{{expected ')'}}
|
|
// expected-note@+2{{to match this '('}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc parallel( clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc serial clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc kernels clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc data clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc enter data clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc exit data clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC directive 'enter invalid'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc enter invalid
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC directive 'exit invalid'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc exit invalid
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC directive 'enter'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc enter
|
|
for(;;){}
|
|
// expected-error@+2{{expected identifier}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc exit }
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc host_data clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc loop clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'invalid'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc parallel invalid clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc parallel loop clause list
|
|
for(;;){}
|
|
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc parallel loop
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc serial loop clause list
|
|
for(;;){}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc serial loop
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc kernels loop clause list
|
|
for(;;){}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc kernels loop
|
|
for(;;){}
|
|
|
|
int i = 0, j = 0, k = 0;
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic
|
|
i = j;
|
|
// expected-error@+2{{invalid OpenACC clause 'garbage'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic garbage
|
|
i = j;
|
|
// expected-error@+2{{invalid OpenACC clause 'garbage'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic garbage clause list
|
|
i = j;
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic read
|
|
i = j;
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic write clause list
|
|
i = i + j;
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic update clause list
|
|
i++;
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc atomic capture clause list
|
|
i = j++;
|
|
|
|
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc declare clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc init clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc shutdown clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc set clause list
|
|
for(;;){}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc update clause list
|
|
for(;;){}
|
|
}
|
|
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine
|
|
void routine_func();
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine clause list
|
|
void routine_func();
|
|
|
|
// expected-error@+2{{use of undeclared identifier 'func_name'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine (func_name)
|
|
// expected-error@+3{{use of undeclared identifier 'func_name'}}
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine (func_name) clause list
|
|
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine (routine_func)
|
|
// expected-error@+2{{invalid OpenACC clause 'clause'}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine (routine_func) clause list
|
|
|
|
// expected-error@+3{{expected ')'}}
|
|
// expected-note@+2{{to match this '('}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine (routine_func())
|
|
|
|
// expected-error@+2{{expected identifier}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine()
|
|
|
|
// expected-error@+2{{expected identifier}}
|
|
// expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
|
|
#pragma acc routine(int)
|