| #version 110 | |
| #define ON | |
| float sum = 0.0; | |
| void main() | |
| { | |
| #ifdef ON | |
| //yes | |
| sum += 1.0; | |
| #ifdef OFF | |
| //no | |
| sum += 20.0; | |
| #endif | |
| #if defined(ON) | |
| //yes | |
| sum += 300.0; | |
| #endif | |
| #endif | |
| #if defined(OFF) | |
| //no | |
| sum += 4000.0; | |
| #if !defined(ON) | |
| //no | |
| sum += 50000.0; | |
| #endif | |
| //no | |
| sum += 0.1; | |
| #ifdef ON | |
| //no | |
| sum += 0.2; | |
| #endif | |
| //no | |
| sum += 0.01; | |
| #ifdef ON | |
| //no | |
| sum += 0.02; | |
| #else | |
| //no | |
| sum += 0.03; | |
| #endif | |
| //no | |
| sum + 0.3; | |
| #endif | |
| #if !defined(OFF) | |
| //yes | |
| sum += 600000.0; | |
| #if defined(ON) && !defined(OFF) | |
| //yes | |
| sum += 80000000.0; | |
| #if defined(OFF) || defined(ON) | |
| //yes | |
| sum += 900000000.0; | |
| #if defined(ON) && defined(OFF) | |
| //no | |
| sum += 0.7; | |
| #elif !defined(OFF) | |
| //yes | |
| sum += 7000000.0; | |
| #endif | |
| #endif | |
| #endif | |
| #endif | |
| // sum should be 987600301.0 | |
| gl_Position = vec4(sum); | |
| } | |
| #define A 1 | |
| #define C 0 | |
| #define E 0 | |
| #define F 1 | |
| #if A | |
| #if C | |
| #if E | |
| int selected4 = 1; | |
| #elif F | |
| int selected4 = 2; | |
| #else | |
| int selected4 = 3; | |
| #endif | |
| #endif | |
| int selected4 = 4; | |
| #endif | |
| #define ZA 1 | |
| #define ZC 1 | |
| #define ZE 0 | |
| #define ZF 1 | |
| #if ZA | |
| #if ZC | |
| #if ZE | |
| int selected2 = 1; | |
| #elif ZF | |
| int selected2 = 2; | |
| #else | |
| int selected2 = 3; | |
| #endif | |
| #endif | |
| #endif | |
| #define AZA 1 | |
| #define AZC 1 | |
| #define AZE 0 | |
| #define AZF 0 | |
| #if AZA | |
| #if AZC | |
| #if AZE | |
| int selected3 = 1; | |
| #elif AZF | |
| int selected3 = 2; | |
| #else | |
| int selected3 = 3; | |
| #endif | |
| #endif | |
| #endif | |
| // ERROR cases... | |
| #if 0 | |
| int; | |
| #else | |
| int; | |
| #elif 1 | |
| int; | |
| #endif | |
| #if 0 | |
| int; | |
| #else | |
| int; | |
| #else | |
| int; | |
| #endif | |
| #if 0 | |
| #if 0 | |
| int; | |
| #else | |
| int; | |
| #elif 1 | |
| int; | |
| #endif | |
| #if 0 | |
| int; | |
| #else | |
| int; | |
| #else | |
| int; | |
| #endif | |
| #endif | |
| #define FUNC(a,b) a+b | |
| void foo985(){ FUNC( (((2))), ((3),4)); } | |
| // needs to be last test in file | |
| void foo987(){ FUNC(((); } // ERROR, EOF in argument |