brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · c9ccbd6 Raw
46 lines · c
1// RUN: %clang_cc1 %s -fopenacc -verify2 3short getS();4 5void Test() {6#pragma acc parallel loop async7  for (int i = 5; i < 10; ++i);8#pragma acc parallel loop async(1)9  for (int i = 5; i < 10; ++i);10#pragma acc kernels loop async(1)11  for (int i = 5; i < 10; ++i);12#pragma acc kernels loop async(-51)13  for (int i = 5; i < 10; ++i);14 15#pragma acc serial loop async(1)16  for (int i = 5; i < 10; ++i);17 18  // expected-error@+2{{expected ')'}}19  // expected-note@+1{{to match this '('}}20#pragma acc serial loop async(1, 2)21  for (int i = 5; i < 10; ++i);22 23  struct NotConvertible{} NC;24  // expected-error@+1{{OpenACC clause 'async' requires expression of integer type ('struct NotConvertible' invalid)}}25#pragma acc parallel loop async(NC)26  for (int i = 5; i < 10; ++i);27 28#pragma acc kernels loop async(getS())29  for (int i = 5; i < 10; ++i);30 31  struct Incomplete *SomeIncomplete;32 33  // expected-error@+1{{OpenACC clause 'async' requires expression of integer type ('struct Incomplete' invalid)}}34#pragma acc kernels loop async(*SomeIncomplete)35  for (int i = 5; i < 10; ++i);36 37  enum E{A} SomeE;38 39#pragma acc kernels loop async(SomeE)40  for (int i = 5; i < 10; ++i);41 42  // expected-error@+1{{OpenACC 'async' clause is not valid on 'loop' directive}}43#pragma acc loop async(1)44  for(int i = 5; i < 10;++i);45}46