62 lines · cpp
1// RUN: %clang_cc1 %s -verify -fopenacc2 3// expected-error@+1{{OpenACC construct 'parallel' cannot be used here; it can only be used in a statement context}}4#pragma acc parallel5 6// expected-error@+1{{OpenACC construct 'parallel' cannot be used here; it can only be used in a statement context}}7#pragma acc parallel8int foo;9 10struct S {11// expected-error@+1{{OpenACC construct 'parallel' cannot be used here; it can only be used in a statement context}}12#pragma acc parallel13int foo;14 15void mem_func() {16 // FIXME: Should we disallow this on declarations, or consider this to be on17 // the initialization?18#pragma acc parallel19 int foo;20 21#pragma acc parallel22 {23 }24 25#pragma acc parallel26 while(0){}27 28#pragma acc parallel29 for(;;){}30 31// expected-error@+2{{expected statement}}32#pragma acc parallel33}34 35};36 37template<typename T>38void func() {39 // FIXME: Should we disallow this on declarations, and consider this to be on40 // the initialization?41#pragma acc parallel42 int foo;43 44#pragma acc parallel45 {46 }47 48#pragma acc parallel49 while(0){}50 51#pragma acc parallel52 for(;;){}53 54#pragma acc parallel55#pragma acc parallel56 for(;;){}57 58// expected-error@+2{{expected statement}}59#pragma acc parallel60};61 62