I believe it means that at compile time (when the OpenCL code is compiled, not the C/C++ code) the size of the local array must be known if it's declared in the kernel, while if it's allocated by the host through clSetKernelArg it's size need not be known by the OpenCL compiler.