#version 110 #define ON float sum = 0.0; void main() { #ifdef ON //yes sum += 1.0; #endif #ifdef OFF //no sum += 20.0; #endif #if defined(ON) //yes sum += 300.0; #endif #if defined(OFF) //no sum += 4000.0; #endif #if !defined(ON) //no sum += 50000.0; #endif #if !defined(OFF) //yes sum += 600000.0; #endif #if defined (ON) && defined (OFF) //no sum += 7000000.0; #endif #if defined ( ON ) && ! defined(OFF) //yes sum += 80000000.0; #endif #if defined(OFF) || defined(ON) //yes sum += 900000000.0; #endif // sum should be 980600301.0 gl_Position = vec4(sum); } #define FUNC(a,b) a+b // needs to be last test in file due to syntax error void foo986(){ FUNC( (((2)))), 4); } // ERROR, too few arguments )