Compiler projects using llvm
/* Used with the ocl_types.cl test */

// image1d_t
typedef image1d_t img1d_t;

// image1d_array_t
typedef image1d_array_t img1darr_t;

// image1d_buffer_t
typedef image1d_buffer_t img1dbuff_t;

// image2d_t
typedef image2d_t img2d_t;

// image2d_array_t
typedef image2d_array_t img2darr_t;

// image3d_t
typedef image3d_t img3d_t;

// sampler_t
typedef sampler_t smp_t;

// event_t
typedef event_t evt_t;

#if __OPENCL_VERSION__ >= 200

// clk_event_t
typedef clk_event_t clkevt_t;

// queue_t
typedef queue_t q_t;

// reserve_id_t
typedef reserve_id_t reserveid_t;

// image2d_depth_t
typedef image2d_depth_t img2ddep_t;

// image2d_array_depth_t
typedef image2d_array_depth_t img2darr_dep_t;

#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
// image2d_msaa_t
typedef image2d_msaa_t img2dmsaa_t;

// image2d_array_msaa_t
typedef image2d_array_msaa_t img2darrmsaa_t;

// image2d_msaa_depth_t
typedef image2d_msaa_depth_t img2dmsaadep_t;

// image2d_array_msaa_depth_t
typedef image2d_array_msaa_depth_t img2darrmsaadep_t;

// pipe specifier

typedef struct _person {
  int id;
  const char *name;
} Person;

void int_pipe_function(pipe int);

void person_pipe_function(pipe Person);
#endif