I checked it and my observation was same as yours. I've asked someone from compiler team and will get back to you as soon as I get any reply.
As I came to know that the compilation errors are due to conflict with the built-in functions defined in our implementation. You can use those built-in functions directly from your own code as follows:
float f = ::fmin(1.0f, 2.0f);
thanks for the reply,
i'm aware of the fact that my code compiles using the built-in from the global namespace,
but why can't a built-in function not be referenced in a using declaration without declaring it first?
i don't know any internals of the OpenCL compiler, but i always thought that built-ins ressemble
already defined functions (just as a theoretical model) and thus a function declaration in some sense (float fmin(float, float))
should be already present (and i don't have to write it :-)
my use case is a wrapper library (OpenCL/CUDA/Host C++), where i would like to have a "fmin" in a dedicated namespace.
i also would like to avoid implementing a dummy fmin in the namespace that simply calls the ::fmin (avoid any redudant piece of code, also the declaration if possible).
thanks and regards,