GLSL Stringify macro fails in some cases

I was just struggling with this for a while, thought I’d post it in case someone else has found this issue. When using the STRINGIFY macro:

#define STRINGIFY(A) #A

For vertex or fragment shaders, I sometimes got a weird error saying:

glsl unexpected $end, expecting ‘,’ or ‘;’ at token < EOF >

I don’t know why, but it was some float declarations in the style of:

float a, b, c;

It should be:

float a;
float b;
float c;

This is quite useful because at least with VS2012, I get syntax highlighting for GLSL when using STRINGIFY.

Hope it helps someone!

yes, comas will be parsed as separators for parameters of the macro and stringify will fail. also using # inside stringify won’t work