brintos

brintos / llvm-project-archived public Read only

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