Bitfields result in struct/union layout that is implementation dependent and therefore it was excluded from OpenCL originally for portability reasons. In kernel prameters use of bitfields can result in functionality issues.
However, use of bitfields has been desirable feature for some applications, there was a discussion about allowing this in the next standards (https://github.com/KhronosGroup/OpenCL-Docs/issues/301) but regardless to that clang can expose this functionality as a compiler extension for the application that can take advanatge of it at the price of reduced portability.
This addresses PR45339!