@@ -218,20 +218,20 @@ struct OclRuntime::Exports {
218218 CL_CHECKR (err, " Failed to create OpenCL program with IL." );
219219
220220 gcLogD (" Created new OpenCL program: " , program);
221- clBuildProgram (program, 1 , &ctx->runtime .ext .device , nullptr , nullptr ,
222- nullptr );
223- CL_CHECKR (err, " Failed to build the program: " , program);
224- gcLogD (" The program has been built: " , program);
221+ err = clBuildProgram (program, 1 , &ctx->runtime .ext .device , nullptr , nullptr ,
222+ nullptr );
225223
226- auto kernel = clCreateKernel (program, name, &err);
227224 if (err != CL_SUCCESS) {
228225 // This is a special case, handled by OclModuleBuilder::build(), that
229226 // allows rebuilding the kernel with different options in case of failure.
230227 clReleaseProgram (program);
231- gcLogD (" OpenCL error " , err,
232- " : Failed to create OpenCL kernel from program: " , program);
228+ gcLogD (" OpenCL error " , err, " : Failed to build the program: " , program);
233229 return new Kernel (nullptr , nullptr , gridSize, blockSize, argNum, argSize);
234230 }
231+
232+ gcLogD (" The program has been built: " , program);
233+ auto kernel = clCreateKernel (program, name, &err);
234+ CL_CHECKR (err, " Failed to create OpenCL kernel from program: " , program);
235235 gcLogD (" Created new OpenCL kernel " , kernel, " from program " , program);
236236
237237 cl_bool enable = CL_TRUE;
0 commit comments