llvm-project/clang/test/CodeGenOpenCLCXX/addrspace-new-delete.clcpp

17 lines
437 B
Plaintext

// RUN: %clang_cc1 -no-opaque-pointers %s -triple spir -emit-llvm -O0 -o - | FileCheck %s
typedef __SIZE_TYPE__ size_t;
class A {
public:
void* operator new(size_t);
void operator delete(void *ptr);
};
void test_new_delete(A **a) {
// CHECK: %{{.*}} = call spir_func noundef i8 addrspace(4)* @_ZNU3AS41AnwEj(i32 {{.*}})
*a = new A;
// CHECK: call spir_func void @_ZNU3AS41AdlEPU3AS4v(i8 addrspace(4)* {{.*}})
delete *a;
}