diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/cppNest.vert')
-rw-r--r-- | chromium/third_party/glslang/src/Test/cppNest.vert | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/cppNest.vert b/chromium/third_party/glslang/src/Test/cppNest.vert new file mode 100644 index 00000000000..26038ea965d --- /dev/null +++ b/chromium/third_party/glslang/src/Test/cppNest.vert @@ -0,0 +1,177 @@ +#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 |