const _clfft_error_codes = Dict{Int,Symbol}(
    cl.CL_INVALID_GLOBAL_WORK_SIZE => :CLFFT_INVALID_GLOBAL_WORK_SIZE,
    cl.CL_INVALID_MIP_LEVEL => :CLFFT_INVALID_MIP_LEVEL,
    cl.CL_INVALID_BUFFER_SIZE => :CLFFT_INVALID_BUFFER_SIZE,
    cl.CL_INVALID_GL_OBJECT => :CLFFT_INVALID_GL_OBJECT,
    cl.CL_INVALID_OPERATION => :CLFFT_INVALID_OPERATION,
    cl.CL_INVALID_EVENT => :CLFFT_INVALID_EVENT,
    cl.CL_INVALID_EVENT_WAIT_LIST => :CLFFT_INVALID_EVENT_WAIT_LIST,
    cl.CL_INVALID_GLOBAL_OFFSET => :CLFFT_INVALID_GLOBAL_OFFSET,
    cl.CL_INVALID_WORK_ITEM_SIZE => :CLFFT_INVALID_WORK_ITEM_SIZE,
    cl.CL_INVALID_WORK_GROUP_SIZE => :CLFFT_INVALID_WORK_GROUP_SIZE,
    cl.CL_INVALID_WORK_DIMENSION => :CLFFT_INVALID_WORK_DIMENSION,
    cl.CL_INVALID_KERNEL_ARGS => :CLFFT_INVALID_KERNEL_ARGS,
    cl.CL_INVALID_ARG_SIZE => :CLFFT_INVALID_ARG_SIZE,
    cl.CL_INVALID_ARG_VALUE => :CLFFT_INVALID_ARG_VALUE,
    cl.CL_INVALID_ARG_INDEX => :CLFFT_INVALID_ARG_INDEX,
    cl.CL_INVALID_KERNEL => :CLFFT_INVALID_KERNEL,
    cl.CL_INVALID_KERNEL_DEFINITION => :CLFFT_INVALID_KERNEL_DEFINITION,
    cl.CL_INVALID_KERNEL_NAME => :CLFFT_INVALID_KERNEL_NAME,
    cl.CL_INVALID_PROGRAM_EXECUTABLE => :CLFFT_INVALID_PROGRAM_EXECUTABLE,
    cl.CL_INVALID_PROGRAM => :CLFFT_INVALID_PROGRAM,
    cl.CL_INVALID_BUILD_OPTIONS => :CLFFT_INVALID_BUILD_OPTIONS,
    cl.CL_INVALID_BINARY => :CLFFT_INVALID_BINARY,
    cl.CL_INVALID_SAMPLER => :CLFFT_INVALID_SAMPLER,
    cl.CL_INVALID_IMAGE_SIZE => :CLFFT_INVALID_IMAGE_SIZE,
    cl.CL_INVALID_IMAGE_FORMAT_DESCRIPTOR => :CLFFT_INVALID_IMAGE_FORMAT_DESCRIPTOR,
    cl.CL_INVALID_MEM_OBJECT => :CLFFT_INVALID_MEM_OBJECT,
    cl.CL_INVALID_HOST_PTR => :CLFFT_INVALID_HOST_PTR,
    cl.CL_INVALID_COMMAND_QUEUE => :CLFFT_INVALID_COMMAND_QUEUE,
    cl.CL_INVALID_QUEUE_PROPERTIES => :CLFFT_INVALID_QUEUE_PROPERTIES,
    cl.CL_INVALID_CONTEXT => :CLFFT_INVALID_CONTEXT,
    cl.CL_INVALID_DEVICE => :CLFFT_INVALID_DEVICE,
    cl.CL_INVALID_PLATFORM => :CLFFT_INVALID_PLATFORM,
    cl.CL_INVALID_DEVICE_TYPE => :CLFFT_INVALID_DEVICE_TYPE,
    cl.CL_INVALID_VALUE => :CLFFT_INVALID_VALUE,
    cl.CL_MAP_FAILURE => :CLFFT_MAP_FAILURE,
    cl.CL_BUILD_PROGRAM_FAILURE => :CLFFT_BUILD_PROGRAM_FAILURE,
    cl.CL_IMAGE_FORMAT_NOT_SUPPORTED => :CLFFT_IMAGE_FORMAT_NOT_SUPPORTED,
    cl.CL_IMAGE_FORMAT_MISMATCH => :CLFFT_IMAGE_FORMAT_MISMATCH,
    cl.CL_MEM_COPY_OVERLAP => :CLFFT_MEM_COPY_OVERLAP,
    cl.CL_PROFILING_INFO_NOT_AVAILABLE => :CLFFT_PROFILING_INFO_NOT_AVAILABLE,
    cl.CL_OUT_OF_HOST_MEMORY => :CLFFT_OUT_OF_HOST_MEMORY,
    cl.CL_OUT_OF_RESOURCES => :CLFFT_OUT_OF_RESOURCES,
    cl.CL_MEM_OBJECT_ALLOCATION_FAILURE => :CLFFT_MEM_OBJECT_ALLOCATION_FAILURE,
    cl.CL_COMPILER_NOT_AVAILABLE => :CLFFT_COMPILER_NOT_AVAILABLE,
    cl.CL_DEVICE_NOT_AVAILABLE => :CLFFT_DEVICE_NOT_AVAILABLE,
    cl.CL_DEVICE_NOT_FOUND => :CLFFT_DEVICE_NOT_FOUND,
    cl.CL_SUCCESS => :CLFFT_SUCCESS,
    4096 => :CLFFT_BUGCHECK,
    4097 => :CLFFT_NOTIMPLEMENTED,
    4098 => :CLFFT_TRANSPOSED_NOTIMPLEMENTED,
    4099 => :CLFFT_FILE_NOT_FOUND,
    4100 => :CLFFT_FILE_CREATE_FAILURE,
    4101 => :CLFFT_VERSION_MISMATCH,
    4102 => :CLFFT_INVALID_PLAN,
    4103 => :CLFFT_DEVICE_NO_DOUBLE,
)
