mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 15:36:09 +00:00

This clause is pretty nearly copy/paste from private, except that it doesn't support 'loop', and thus 'kernelsloop' for appertainment.
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
// RUN: %clang_cc1 -fopenacc -ast-print %s -o - | FileCheck %s
|
|
|
|
void foo() {
|
|
int i;
|
|
float array[5];
|
|
// CHECK: #pragma acc parallel default(none)
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc parallel default(none)
|
|
while(true);
|
|
// CHECK: #pragma acc serial default(present)
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc serial default(present)
|
|
while(true);
|
|
// CHECK: #pragma acc kernels if(i == array[1])
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc kernels if(i == array[1])
|
|
while(true);
|
|
// CHECK: #pragma acc parallel self(i == 3)
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc parallel self(i == 3)
|
|
while(true);
|
|
|
|
// CHECK: #pragma acc parallel num_gangs(i, (int)array[2])
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc parallel num_gangs(i, (int)array[2])
|
|
while(true);
|
|
|
|
// CHECK: #pragma acc parallel num_workers(i)
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc parallel num_workers(i)
|
|
while(true);
|
|
|
|
// CHECK: #pragma acc parallel vector_length((int)array[1])
|
|
// CHECK-NEXT: while (true)
|
|
#pragma acc parallel vector_length((int)array[1])
|
|
while(true);
|
|
|
|
// CHECK: #pragma acc parallel private(i, array[1], array, array[1:2])
|
|
#pragma acc parallel private(i, array[1], array, array[1:2])
|
|
while(true);
|
|
|
|
// CHECK: #pragma acc parallel firstprivate(i, array[1], array, array[1:2])
|
|
#pragma acc parallel firstprivate(i, array[1], array, array[1:2])
|
|
while(true);
|
|
}
|
|
|