xref: /llvm-project/clang/test/SemaSYCL/bf16.cpp (revision c10615e4a94fc8dec65a48a6eb8f7efccc3fb1fc)
1 // RUN: %clang_cc1 -triple spir64 -aux-triple x86_64-unknown-linux-gnu -fsycl-is-device -verify -fsyntax-only %s
2 
3 template <typename Name, typename Func>
kernel(const Func & kernelFunc)4 __attribute__((sycl_kernel)) void kernel(const Func &kernelFunc) {
5   kernelFunc(); // expected-note {{called by 'kernel}}
6 }
7 
host_ok(void)8 void host_ok(void) {
9   __bf16 A;
10 }
11 
main()12 int main()
13 {  host_ok();
14   __bf16 var; // expected-note {{'var' defined here}}
15   kernel<class variables>([=]() {
16     (void)var; // expected-error {{'var' requires 16 bit size '__bf16' type support, but target 'spir64' does not support it}}
17     int B = sizeof(__bf16);
18   });
19 
20   return 0;
21 }
22 
23