title: Does OpenGL (and OpenGL ES) support preprocessor "line continuation" characters?
body: <p>I've got a macro in my OpenGL ES fragment shader that looks like this:</p>
  
  <pre><code>#define CHECK(x, DELTA, outColor, c1, c2) \
    if (x &lt; (delta + (DELTA))) { \
      outColor = mix(c1, c2, smoothstep(delta, min(1.0, delta + (DELTA)), x)); \
      x = 10.0; /*skip all subsequent CHECKs */ \
    } \
    delta += DELTA; 
  </code></pre>
  
  <p>This works fine on my desktop, and on a variety of Android devices.  (Yeah, I need to move away from the explicit flow control, but it gets the output I want for now.)  The problem is that a few devices fail to compile this shader with errors like:</p>
  
  <pre><code> 0:257: L0002: Undeclared variable 'DELTA'
  ,0:260: L0001: Expected literal or '(', got '\'
  ,0:263: L0001: Expected literal or '('...
  </code></pre>
  
  <p>(Line 257 is the <code>"if ( x"</code> line, line 260 is the <code>"} \"</code> line, and 263 is not shown here, its the first use of the <code>CHECK</code> macro.  There are no other instances of all-caps "DELTA" elsewhere in the shader.)</p>
  
  <p>I think this error means they're tripping up on the line-continuation characters?  Is this really something that only some GLSL compilers support?</p>
  
  <p>I'm building my shaders with <code>#version 100</code> to be as compatible as possible between desktop and Android.</p>