opencl: make all numerical float constants well-behaving; fixes #9478

the ability to properly parse valid float constants has been taken away
from recent OpenCL compilers for whatever reason. so we need a workaround.
(cherry picked from commit 1c6d71d56dfebc072075550cb19a038d557bda0a)