gl_FrontFacing & Intel Cantiga

I have a user reporting this compile error:

Fragment shader uses varying gl_FrontFacing but vertex shader does not write to it.
…on this hardware (shiver):

Vendor: Intel
Renderer: Intel Cantiga
Version: 2.0.0 - Build
GLSL Version: 1.10 - Intel Build
…and this is the line that triggers the error:

if (!gl_FrontFacing) n.z = -n.z;

I found this statement in the ARB_fragment_shader spec:

The fragment shader has access to the read-only built-in variable gl_FrontFacing whose value is true if the fragment belongs to a front-facing primitive.
A driver bug, or am I missing something?

Looks like a bug. As a workaround, you can turn on two sided coloring and do gl_FrontColor.a = 1.0 and gl_BackColor.a = 0.0. Then you can just look at the gl_Color.a in the pixel shader and know which side you are shading.

Good idea!