llvm-project/clang/test/CodeGenCXX/zos-mangle-ptr-size-address-space.cpp
Abhina Sree 135fecd444
[SystemZ][z/OS] __ptr32 support for z/OS (#101696)
Enabling __ptr32 keyword to support in Clang for z/OS. It is represented
by addrspace(1) in LLVM IR. Unlike existing implementation, __ptr32 is
not mangled into symbol names for z/OS.
2024-08-08 08:35:22 -04:00

18 lines
536 B
C++

// RUN: %clang_cc1 -fzos-extensions -emit-llvm -triple s390x-ibm-zos -x c++ -o - %s | FileCheck %s --check-prefixes=CHECK
// CHECK-LABEL: define void @_Z2f1v()
void f1() {}
// CHECK-LABEL: define void @_Z2f2Pi(ptr addrspace(1) noundef %p32)
void f2(int * __ptr32 p32) {}
// CHECK-LABEL: define noundef ptr addrspace(1) @_Z2f3Pi(ptr addrspace(1) noundef %p32)
int * __ptr32 f3(int * __ptr32 p32) {
return p32;
}
// CHECK-LABEL: define noundef ptr @_Z2f4PPi(ptr noundef %p32)
int * __ptr32 *f4(int * __ptr32 *p32) {
return p32;
}