Variadic macros are used for debugging and therefore it is desirable to accept the code that uses them.
There was a discussion about this in OpenCL spec bugs: https://github.com/KhronosGroup/OpenCL-Docs/issues/50
There was no disagreement on relaxing this , but however we didn't find a way to version this yet.
For now we are allowing this as Clang feature (difference to a standard).
I assume it's not a separate feature and therefore not worth to start Clang extension for this. So I just modified the Clang manual for now. However, I could also start a new section in the extension document: https://clang.llvm.org/docs/LanguageExtensions.html