This patch Implements AST node creation and appertainment enforcement for 'parallel', as well as changes the 'not implemented' messages to be more specific. It does not deal with clauses/clause legality, nor a few of the other rules from the standard, but this gets us most of the way for a framework for future construct implementation.
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
// RUN: %clang_cc1 %s -verify -fopenacc
|
|
|
|
// expected-warning@+1{{OpenACC construct 'routine' not yet implemented, pragma ignored}}
|
|
#pragma acc routine
|
|
|
|
struct S {
|
|
// expected-warning@+1{{OpenACC construct 'wait' not yet implemented, pragma ignored}}
|
|
#pragma acc wait
|
|
int foo;
|
|
};
|
|
|
|
void func() {
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
int foo;
|
|
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
{
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
{
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
}
|
|
}
|
|
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
while(0){}
|
|
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
for(;;){}
|
|
|
|
// expected-warning@+1{{OpenACC construct 'declare' not yet implemented, pragma ignored}}
|
|
#pragma acc declare
|
|
};
|
|
|