brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · ffa7fda Raw
46 lines · c
1// RUN: %clang_cc1 %s -fopenacc -verify2 3void SingleOnly() {4  #pragma acc parallel loop default(none)5  for(int i = 5; i < 10;++i);6 7  // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial loop' directive}}8  // expected-note@+1{{previous 'default' clause is here}}9  #pragma acc serial loop default(present) self default(none)10  for(int i = 5; i < 10;++i);11 12  int i;13 14  // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels loop' directive}}15  // expected-note@+1{{previous 'default' clause is here}}16  #pragma acc kernels loop self default(present) present(i) default(none) copy(i)17  for(int i = 5; i < 10;++i);18 19  // expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel loop' directive}}20  // expected-note@+1{{previous 'default' clause is here}}21  #pragma acc parallel loop 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 loop self default private(i) default(none) if(i)26  for(int i = 0; i < 5; ++i);27 28  #pragma acc kernels loop 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