xref: /aosp_15_r20/external/clang/test/CodeGenCXX/mangle-address-space.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s
2*67e74705SXin Li 
3*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z2f0Pc
f0(char * p)4*67e74705SXin Li void f0(char *p) { }
5*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z2f0PU3AS1c
f0(char * p)6*67e74705SXin Li void f0(char __attribute__((address_space(1))) *p) { }
7*67e74705SXin Li 
8*67e74705SXin Li struct OpaqueType;
9*67e74705SXin Li typedef OpaqueType __attribute__((address_space(100))) * OpaqueTypePtr;
10*67e74705SXin Li 
11*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z2f0PU5AS10010OpaqueType
f0(OpaqueTypePtr)12*67e74705SXin Li void f0(OpaqueTypePtr) { }
13*67e74705SXin Li 
14*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z2f1PU3AS1Kc
f1(char const * p)15*67e74705SXin Li void f1(char __attribute__((address_space(1))) const *p) {}