I've noticed a strange thing: if I write this in a kernel (with cl_amd_printf enabled):
__local uchar test;
the printf will print "4" instead of "256" (as it should do). In other words, it seems that the sizeof operator is returning the size of the pointer to the vector and not the size of the vector...
Any explanation about this?