// RUN: %clang_cc1 %s -emit-llvm -o - -O0 | FileCheck %s constant sampler_t glb_smp = 7; // CHECK: constant i32 7 void fnc1(image1d_t img) {} // CHECK: @fnc1(%opencl.image1d_t* void fnc1arr(image1d_array_t img) {} // CHECK: @fnc1arr(%opencl.image1d_array_t* void fnc1buff(image1d_buffer_t img) {} // CHECK: @fnc1buff(%opencl.image1d_buffer_t* void fnc2(image2d_t img) {} // CHECK: @fnc2(%opencl.image2d_t* void fnc2arr(image2d_array_t img) {} // CHECK: @fnc2arr(%opencl.image2d_array_t* void fnc3(image3d_t img) {} // CHECK: @fnc3(%opencl.image3d_t* void fnc4smp(sampler_t s) {} // CHECK-LABEL: define void @fnc4smp(i32 kernel void foo(image1d_t img) { sampler_t smp = 5; // CHECK: alloca i32 event_t evt; // CHECK: alloca %opencl.event_t* // CHECK: store i32 5, fnc4smp(smp); // CHECK: call void @fnc4smp(i32 fnc4smp(glb_smp); // CHECK: call void @fnc4smp(i32 } void __attribute__((overloadable)) bad1(image1d_t *b, image2d_t *c, image2d_t *d) {} // CHECK-LABEL: @{{_Z4bad1P11ocl_image1dP11ocl_image2dS2_|"\\01\?bad1@@\$\$J0YAXPE?APAUocl_image1d@@PE?APAUocl_image2d@@1@Z"}}