1 // RUN: %clang_cc1 %s -fopenacc -verify 2 3 template<typename T> SingleOnly()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 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 clause is here}} 17 #pragma acc serial async default(present) copy(i) default(none) self 18 while(false); 19 20 // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels' directive}} 21 // expected-note@+1{{previous clause is here}} 22 #pragma acc kernels async default(present) copy(i) default(none) self 23 while(false); 24 25 // expected-error@+1{{expected '('}} 26 #pragma acc parallel async default(none) copy(i) default self 27 while(false); 28 } 29 Instantiate()30void Instantiate() { 31 SingleOnly<int>(); 32 } 33