Dear all,

I'm trying the mad_test.cl example from the 'OpenCL in Action' book in Chapter 5. I'm using Windows 7 64-bit and NVIDIA Tesla GPU. The code is compiled from command line using the
'VS2012 x64 cross tools command prompt' with the command 'cl -o mad_test.exe -I"C:\Program files\NVIDIA GPU computing toolkit\CUDA\v5.5\include" mad_test.c "C:\Program files\NVIDIA
GPU computing toolkit\CUDA\v5.5\lib\x64\OpenCL.lib". The program compiles fine. However, I find that the kernel only compiles correctly in the following form (it is in a separate file called mad_test.cl):

__kernel void mad_test(__global uint *resul)
{
uint a = 0x123456;
uint b = 0x112233;
uint c = 0x111111;

resul[0] = mad24(a, b, c);
resul[1] = mad_hi(a, b, c);
}

If the variable name 'resul' is made longer, e.g. 'result1' kernel compilation fails with the following error log:
:9:2: error: expected identifier or '('
}▲

I'm a bit new to OpenCL and don't know where I should look at '9:2:' in the kernel. Is this a line number?

Are there any known restrictions on the formatting of OpenCL kernels? Some maximum of characters per line that should not be exceeded?

Many thanks!