message: core(ocl): add option to abort on OpenCL kernel build failure
  exceptions are catched by fallback CPU path
  OPENCV_OPENCL_ABORT_ON_BUILD_ERROR (disabled by default)
diff: @@ -153,6 +153,17 @@ static bool isRaiseError()
  }
  #endif
  +static void onOpenCLKernelBuildError()
  +{
  + // NB: no need to cache this value
  + bool value = cv::utils::getConfigurationParameterBool("OPENCV_OPENCL_ABORT_ON_BUILD_ERROR", false);
  + if (value)
  + {
  + fprintf(stderr, "Abort on OpenCL kernel build failure!\n");
  + abort();
  + }
  +}
  +
  #if CV_OPENCL_TRACE_CHECK
  static inline
  void traceOpenCLCheck(cl_int status, const char* message)
  @@ -3881,6 +3892,12 @@ struct Program::Impl
  CV_OCL_DBG_CHECK(clReleaseProgram(handle));
  handle = NULL;
  }
  + if (retval != CL_SUCCESS &&
  + sourceName_ != "dummy" // used for testing of compilation flags
  + )
  + {
  + onOpenCLKernelBuildError();
  + }
  }
  #if CV_OPENCL_VALIDATE_BINARY_PROGRAMS
  if (handle && CV_OPENCL_VALIDATE_BINARY_PROGRAMS_VALUE)
  