mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 17:06:07 +00:00

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.
32 lines
670 B
C
32 lines
670 B
C
// RUN: %clang_cc1 %s -triple s390x-ibm-zos -ast-print -fzos-extensions | FileCheck %s
|
|
|
|
// CHECK: int * __ptr32 p32;
|
|
int * __ptr32 p32;
|
|
|
|
// CHECK: char * __ptr32 c32;
|
|
char * __ptr32 c32;
|
|
|
|
// CHECK: void * __ptr32 v32;
|
|
void * __ptr32 v32;
|
|
|
|
// CHECK: int * __ptr32 *q;
|
|
int * __ptr32 *q;
|
|
|
|
// CHECK: void *func(int * __ptr32 p);
|
|
void *func(int * __ptr32 p);
|
|
|
|
// CHECK: int * __ptr32 func1(int * __ptr32 p);
|
|
int * __ptr32 func1(int * __ptr32 p);
|
|
|
|
// CHECK: int *func2(void * __ptr32 p);
|
|
int *func2(void * __ptr32 p);
|
|
|
|
// CHECK: int *const __ptr32 r;
|
|
int * __ptr32 const r;
|
|
|
|
// CHECK: int ** __ptr32 *v;
|
|
int * *__ptr32* v;
|
|
|
|
// CHECK: int *** __ptr32 *z;
|
|
int ** * __ptr32 * z;
|