Files
clang-p2996/clang/test/AST/ast-print-openacc-set-construct.cpp
erichkeane d47401e376 [OpenACC] Start enforcing 'device_type' clause values
Researching in prep of doing the implementation for lowering, I found
that the source of the valid identifiers list from flang is in the
frontend.  This patch adds the same list to the frontend, but does it as
a sema diagnostic, so we still parse it as an identifier/identifier-like
thing, but then diagnose it as invalid later.
2025-04-09 14:55:50 -07:00

25 lines
1.1 KiB
C++

// RUN: %clang_cc1 -fopenacc -ast-print %s -o - | FileCheck %s
unsigned Int;
void uses() {
// CHECK: #pragma acc set default_async(Int) if(Int == 5) device_type(default) device_num(Int)
#pragma acc set default_async(Int) if (Int == 5) device_type(default) device_num(Int)
// CHECK: #pragma acc set default_async(Int) device_type(nvidia) device_num(Int)
#pragma acc set default_async(Int) device_type(nvidia) device_num(Int)
// CHECK: #pragma acc set default_async(Int) if(Int == 5) device_num(Int)
#pragma acc set default_async(Int) if (Int == 5) device_num(Int)
// CHECK: #pragma acc set default_async(Int) if(Int == 5) device_type(host)
#pragma acc set default_async(Int) if (Int == 5) device_type(host)
// CHECK: #pragma acc set if(Int == 5) device_type(multicore) device_num(Int)
#pragma acc set if (Int == 5) device_type(multicore) device_num(Int)
// CHECK: #pragma acc set default_async(Int)
#pragma acc set default_async(Int)
// CHECK: #pragma acc set if(Int == 5)
#pragma acc set if (Int == 5)
// CHECK: #pragma acc set device_type(radeon)
#pragma acc set device_type(radeon)
// CHECK: #pragma acc set device_num(Int)
#pragma acc set device_num(Int)
}