KhronosGroup / OpenCL-CLHPP

Khronos OpenCL-CLHPP
Apache License 2.0
375 stars 130 forks source link

add a preprocessor enable for provisional extensions or features #272

Open bashbaug opened 1 year ago

bashbaug commented 1 year ago

I've been generally trying to reduce the number of special CL_HPP_FOO preprocessor defines in these C++ headers, but I think it would be good to add a preprocessor define to explicitly opt-in to provisional extensions or features. This will avoid breaking code that doesn't use these features if their definitions change as part of the provisional review process, say by removing or renaming functions or enumerants.

Assuming we want to do this, the hardest thing will probably be deciding on a name. Some options:

There are already several defines to ENABLE or USE features, such as CL_HPP_ENABLE_EXCEPTIONS and CL_HPP_USE_CL_SUB_GROUPS_KHR, so although I have a slight preference for ENABLE I think we could go either way.