xref: /llvm-project/clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp (revision ebd97534e71aafaa637e466d700f66bbfa63d56b)
1// RUN: %clang_cc1 %s -triple spir -emit-llvm -O0 -o - | FileCheck %s
2
3typedef __SIZE_TYPE__ size_t;
4
5class A {
6public:
7  void* operator new(size_t);
8  void operator delete(void *ptr);
9};
10
11void test_new_delete(A **a) {
12// CHECK: %{{.*}} = call spir_func noundef ptr addrspace(4) @_ZNU3AS41AnwEj(i32 {{.*}})
13    *a = new A;
14// CHECK: call spir_func void @_ZNU3AS41AdlEPU3AS4v(ptr addrspace(4) {{.*}})
15    delete *a;
16}
17