GLSL Fragment Shader compiles fine on certain computers [closed]

I got this piece of code in a fragment shader:

if (color.a < 0.01f)


It runs fine on an older graphic card but can't even compile on my newer (maybe not new, but..) GTX 770. I got the most recent drivers and everything. The versions is correct. OpenGL 4.4. The shader compiles like normal if I remove the discard statement.

closed as off-topic by Nicol Bolas, Maximus Minimus, Trevor Powell, Gnemlock, DMGregory♦May 21 '17 at 13:47

This question appears to be off-topic. The users who voted to close gave this specific reason:

• "Questions about debugging a problem must provide a minimal, complete, verifiable example of the issue so that readers can diagnose it without needing to guess, read all of your code, or engage in extensive back-and-forth dialog. For more information, see this meta thread." – Nicol Bolas, Trevor Powell, Gnemlock, DMGregory
If this question can be reworded to fit the rules in the help center, please edit the question.

• Can you obtain any information about the specific compilation error that's occurring? – DMGregory May 20 '17 at 17:50
• Possible duplicate of glsl Expected token ')', found 'identifier' with function mix – Maximus Minimus May 20 '17 at 20:51
• This might be better suited for Computer Graphics StackExchange – Archmede May 21 '17 at 1:02
• Really needs the whole shader and the glGetShaderInfoLog() messages to diagnose what's going wrong. – Trevor Powell May 21 '17 at 1:33

If you do not put a #version NNN pragma at the top of your shader it will compile according to GLSL 1.10 which does not supports the f suffix.
• If you don't use the directive #version the shader will be compiled as version 1.1 which does not support the f suffix. And newer drivers tend to enforce this. – Stephane Hockenhull May 21 '17 at 1:51