1 /* For GLSL in OpenGL ES, an undefined macro appearing in an #if or #elif 2 * expression, (other than as an argument to defined) is an error. 3 * 4 * Except in the case of a short-circuiting && or || operator, where the 5 * specification explicitly mandates that there be no error. 6 */ 7 #version 300 es 8 9 /* These yield errors */ 10 #if NOT_DEFINED 11 #endif 12 13 #if 0 14 #elif ALSO_NOT_DEFINED 15 #endif 16 17 /* But these yield no errors */ 18 #if 1 || STILL_NOT_DEFINED 19 Success 20 #endif 21 22 #if 0 23 #elif 0 && WILL_ANYONE_DEFINE_ANYTHING 24 #else 25 More success 26 #endif 27 28