llvm-project/clang/test/CodeGenCXX/address-space-cast.cpp

16 lines
586 B
C++

// RUN: %clang_cc1 %s -triple=amdgcn-amd-amdhsa -emit-llvm -o - | FileCheck %s
#define __private__ __attribute__((address_space(5)))
void func_pchar(__private__ char *x);
void test_cast(char *gen_ptr) {
// CHECK: %[[cast:.*]] = addrspacecast i8* %{{.*}} to i8 addrspace(5)*
// CHECK-NEXT: store i8 addrspace(5)* %[[cast]]
__private__ char *priv_ptr = (__private__ char *)gen_ptr;
// CHECK: %[[cast:.*]] = addrspacecast i8* %{{.*}} to i8 addrspace(5)*
// CHECK-NEXT: call void @_Z10func_pcharPU3AS5c(i8 addrspace(5)* %[[cast]])
func_pchar((__private__ char *)gen_ptr);
}