I just noticed a difference between the cl.h header file and the latest version of the OpenCL spec 1.33.

The header file says

Code :
extern CL_API_ENTRY cl_program CL_API_CALL
clCreateProgramWithBinary(cl_context            /* context */,
                          cl_uint               /* num_devices */,
                          const cl_device_id *  /* device_list */,
                          const size_t *        /* lengths */,
                          const char **         /* binaries */,
                          cl_int *              /* binary_status */,
                          cl_int *              /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
with binaries as (const char **). But on page 84 of the spec, it says

Code :
cl_program clCreateProgramWithBinary (cl_context context,
                                      cl_uint num_devices,
                                      const cl_device_id *device_list,
                                      const size_t *lengths,
                                      const void **binaries,
                                      cl_int *binary_status,
                                      cl_int *errcode_ret)
with binaries as (const void **).

Which is correct?