33 lines · cpp
1// RUN: %clang_cc1 %s -fopenacc -verify2 3template<typename T>4void SingleOnly() {5 #pragma acc parallel default(none)6 while(false);7 8 int i;9 10 // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel' directive}}11 // expected-note@+1{{previous 'default' clause is here}}12 #pragma acc parallel default(present) async default(none)13 while(false);14 15 // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial' directive}}16 // expected-note@+1{{previous 'default' clause is here}}17 #pragma acc serial async default(present) copy(i) default(none) self18 while(false);19 20 // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels' directive}}21 // expected-note@+1{{previous 'default' clause is here}}22 #pragma acc kernels async default(present) copy(i) default(none) self23 while(false);24 25 // expected-error@+1{{expected '('}}26 #pragma acc parallel async default(none) copy(i) default self27 while(false);28}29 30void Instantiate() {31 SingleOnly<int>();32}33