1// RUN: %clang_cc1 %s -emit-llvm -o - -O0 | FileCheck %s
2
3constant sampler_t glb_smp = 7;
4// CHECK: constant i32 7
5
6void fnc1(image1d_t img) {}
7// CHECK: @fnc1(%opencl.image1d_t*
8
9void fnc1arr(image1d_array_t img) {}
10// CHECK: @fnc1arr(%opencl.image1d_array_t*
11
12void fnc1buff(image1d_buffer_t img) {}
13// CHECK: @fnc1buff(%opencl.image1d_buffer_t*
14
15void fnc2(image2d_t img) {}
16// CHECK: @fnc2(%opencl.image2d_t*
17
18void fnc2arr(image2d_array_t img) {}
19// CHECK: @fnc2arr(%opencl.image2d_array_t*
20
21void fnc3(image3d_t img) {}
22// CHECK: @fnc3(%opencl.image3d_t*
23
24void fnc4smp(sampler_t s) {}
25// CHECK-LABEL: define void @fnc4smp(i32
26
27kernel void foo(image1d_t img) {
28	sampler_t smp = 5;
29// CHECK: alloca i32
30	event_t evt;
31// CHECK: alloca %opencl.event_t*
32// CHECK: store i32 5,
33  fnc4smp(smp);
34// CHECK: call void @fnc4smp(i32
35  fnc4smp(glb_smp);
36// CHECK: call void @fnc4smp(i32
37}
38
39void __attribute__((overloadable)) bad1(image1d_t *b, image2d_t *c, image2d_t *d) {}
40// CHECK-LABEL: @{{_Z4bad1P11ocl_image1dP11ocl_image2dS2_|"\\01\?bad1@@YAXPE?APAUocl_image1d@@PE?APAUocl_image2d@@1@Z"}}
41