Mercurial > hg > CbC > CbC_llvm
view clang/test/CodeGenSYCL/functionptr-addrspace.cpp @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | c4bab56944e8 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsycl-is-device -emit-llvm -triple spir64 -verify -emit-llvm %s -o - | FileCheck %s // expected-no-diagnostics template <typename Name, typename Func> __attribute__((sycl_kernel)) void kernel_single_task(const Func &kernelFunc) { kernelFunc(); } // CHECK: define dso_local spir_func{{.*}}invoke_function{{.*}}(ptr noundef %fptr, ptr addrspace(4) noundef %ptr) void invoke_function(int (*fptr)(), int *ptr) {} int f() { return 0; } int main() { kernel_single_task<class fake_kernel>([=]() { int (*p)() = f; int (&r)() = *p; int a = 10; invoke_function(p, &a); invoke_function(r, &a); invoke_function(f, &a); }); return 0; }