xref: /aosp_15_r20/external/clang/test/CodeGenOpenCL/address-spaces-mangling.cl (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -ffake-address-space-map -faddress-space-map-mangling=yes -triple %itanium_abi_triple -emit-llvm -o - | FileCheck -check-prefix=ASMANG %s
2*67e74705SXin Li// RUN: %clang_cc1 %s -ffake-address-space-map -faddress-space-map-mangling=no -triple %itanium_abi_triple -emit-llvm -o - | FileCheck -check-prefix=NOASMANG %s
3*67e74705SXin Li
4*67e74705SXin Li// We can't name this f as private is equivalent to default
5*67e74705SXin Li// no specifier given address space so we get multiple definition
6*67e74705SXin Li// warnings, but we do want it for comparison purposes.
7*67e74705SXin Li__attribute__((overloadable))
8*67e74705SXin Livoid ff(int *arg) { }
9*67e74705SXin Li// ASMANG: @_Z2ffPi
10*67e74705SXin Li// NOASMANG: @_Z2ffPi
11*67e74705SXin Li
12*67e74705SXin Li__attribute__((overloadable))
13*67e74705SXin Livoid f(private int *arg) { }
14*67e74705SXin Li// ASMANG: @_Z1fPi
15*67e74705SXin Li// NOASMANG: @_Z1fPi
16*67e74705SXin Li
17*67e74705SXin Li__attribute__((overloadable))
18*67e74705SXin Livoid f(global int *arg) { }
19*67e74705SXin Li// ASMANG: @_Z1fPU3AS1i
20*67e74705SXin Li// NOASMANG: @_Z1fPU8CLglobali
21*67e74705SXin Li
22*67e74705SXin Li__attribute__((overloadable))
23*67e74705SXin Livoid f(local int *arg) { }
24*67e74705SXin Li// ASMANG: @_Z1fPU3AS2i
25*67e74705SXin Li// NOASMANG: @_Z1fPU7CLlocali
26*67e74705SXin Li
27*67e74705SXin Li__attribute__((overloadable))
28*67e74705SXin Livoid f(constant int *arg) { }
29*67e74705SXin Li// ASMANG: @_Z1fPU3AS3i
30*67e74705SXin Li// NOASMANG: @_Z1fPU10CLconstanti
31