brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 7a39ea0 Raw
46 lines · c
1// RUN: %clang_cc1 %s -fopenacc -verify2 3void SingleOnly() {4  #pragma acc parallel default(none)5  while(0);6 7  // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial' directive}}8  // expected-note@+1{{previous 'default' clause is here}}9  #pragma acc serial default(present) self default(none)10  while(0);11 12  int i;13 14  // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels' directive}}15  // expected-note@+1{{previous 'default' clause is here}}16  #pragma acc kernels self default(present) present(i) default(none) copy(i)17  while(0);18 19  // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel' directive}}20  // expected-note@+1{{previous 'default' clause is here}}21  #pragma acc parallel self default(present) private(i) default(none) copy(i)22  for(int i = 0; i < 5; ++i);23 24  // expected-error@+1{{expected '('}}25  #pragma acc serial self default private(i) default(none) if(i)26  for(int i = 0; i < 5; ++i);27 28  #pragma acc kernels default(none)29  for(int i = 0; i < 5; ++i);30 31  #pragma acc data default(none)32  while(0);33 34  // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}35  #pragma acc loop default(none)36  for(int i = 5; i < 10;++i);37 38  // expected-error@+1{{OpenACC 'default' clause is not valid on 'wait' directive}}39  #pragma acc wait default(none)40  while(0);41 42  // expected-error@+1{{OpenACC 'default' clause is not valid on 'loop' directive}}43#pragma acc loop default(present)44  for(int i = 5; i < 10;++i);45}46