1 // RUN: %clang_cc1 -cl-std=CL2.0 -emit-llvm -o - %s | FileCheck %s
3 void __attribute__((overloadable)) foo(global int *a, global int *b);
4 void __attribute__((overloadable)) foo(generic int *a, generic int *b);
5 void __attribute__((overloadable)) bar(generic int *global *a, generic int *global *b);
6 void __attribute__((overloadable)) bar(generic int *generic *a, generic int *generic *b);
13 generic int *generic *gengen;
14 generic int *local *genloc;
15 generic int *global *genglob;
16 // CHECK: call void @_Z3fooPU8CLglobaliS0_(i32* undef, i32* undef)
18 // CHECK: call void @_Z3fooPU9CLgenericiS0_(i32* undef, i32* undef)
20 // CHECK: call void @_Z3fooPU9CLgenericiS0_(i32* undef, i32* undef)
23 // CHECK: call void @_Z3barPU9CLgenericPU9CLgenericiS2_(i32** undef, i32** undef)
25 // CHECK: call void @_Z3barPU9CLgenericPU9CLgenericiS2_(i32** undef, i32** undef)
27 // CHECK: call void @_Z3barPU8CLglobalPU9CLgenericiS2_(i32** undef, i32** undef)
28 bar(genglob, genglob);