diff options
| author | Inderpreet Singh <[email protected]> | 2012-10-16 17:18:50 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:49:21 -0700 |
| commit | 6405de1556cc50fd4feb3445272945a037e37423 (patch) | |
| tree | 2124c1127a5630a919cd5da1b9ebea9f1479ed4f /libopencl/opencl_runtime_api.cc | |
| parent | 1ade3b340c72f65fe01735df0748e13d4c026998 (diff) | |
Integrated in CL14390.
Fixed clCreateProgramWithSource to accept NULL or 0 as string length parameter
Fixed replacement of printf modifiers when compiling OpenCL code (e.g. '%f')
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14391]
Diffstat (limited to 'libopencl/opencl_runtime_api.cc')
| -rw-r--r-- | libopencl/opencl_runtime_api.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libopencl/opencl_runtime_api.cc b/libopencl/opencl_runtime_api.cc index be2fdd0..5506ea4 100644 --- a/libopencl/opencl_runtime_api.cc +++ b/libopencl/opencl_runtime_api.cc @@ -391,7 +391,11 @@ _cl_program::_cl_program( cl_context context, { m_context = context; for( cl_uint i=0; i<count; i++ ) { - unsigned len = lengths[i]; + unsigned len; + if(lengths != NULL and lengths[i] > 0) + len = lengths[i]; + else + len = strlen(strings[i]); char *tmp = (char*)malloc(len+1); memcpy(tmp,strings[i],len); tmp[len] = 0; @@ -461,7 +465,7 @@ void _cl_program::Build(const char *options) printf(" Ensure you have write permission to the simulation directory\n"); exit(1); } - fprintf(fp,source); + fputs(source,fp); fclose(fp); char commandline[1024]; |
