diff options
| -rw-r--r-- | CHANGES | 6 | ||||
| -rw-r--r-- | libopencl/opencl_runtime_api.cc | 8 |
2 files changed, 10 insertions, 4 deletions
@@ -47,10 +47,12 @@ Version 3.1.1+edits (development branch) versus 3.1.1 instruction or not showing up at all. This should correct a bug where the instruction addresses in ptxplus are different than sass. They need to be the same for the brx ptxplus instruction to work. - - Fixed a bug where the L2 cache was modelling write-back for local writes + - Fixed a bug where the L2 cache was modelling write-back for local writes and write-evict for global writes - Should be write-back for all writes. - Fixed bug that was causing undetermistic kernel end detection inside the - simulation thread. + simulation thread. + - Fixed clCreateProgramWithSource to accept NULL or 0 as string length parameter + - Fixed replacement of printf modifiers when compiling OpenCL code (e.g. '%f') Version 3.1.1 versus 3.1.0 - Add checks to top level makefile to ensure setup_environment is run and checks to 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]; |
