You misunderstand something very basic in computing. First, OpenCL is not a language, this is a framework:
http://en.wikipedia.org/wiki/OpenCL[
^].
So, first, the C language remains C language. Second: high-level languages languages produce the same code, for kernel or not, does not matter. In particular, the code of the body of the function works on stack, which is always available, as well as the stack pointer. The only problem is the first parameter, the pointer: it should point to the valid point in memory. But this is a matter of calling code, not the code you show, which is just fine.
—SA