

def __new__(cls):
    with _nvvm_lock:
        if (cls.__INSTANCE is None):
            cls.__INSTANCE = inst = object.__new__(cls)
            try:
                inst.driver = open_cudalib('nvvm', ccc=True)
            except OSError as e:
                cls.__INSTANCE = None
                errmsg = 'libNVVM cannot be found. Do `conda install cudatoolkit`:\n%s'
                raise NvvmSupportError((errmsg % e))
            for (name, proto) in inst._PROTOTYPES.items():
                func = getattr(inst.driver, name)
                func.restype = errmsg[0]
                func.argtypes = proto[1:]
                setattr(inst, name, func)
    return cls.__INSTANCE

dataset/ETHPy150Open numba/numba/numba/cuda/cudadrv/nvvm.py NVVM.__new__/VarMisuse@117/173 `proto`->`errmsg`