diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/cppSimple.vert')
-rw-r--r-- | chromium/third_party/glslang/src/Test/cppSimple.vert | 343 |
1 files changed, 343 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/cppSimple.vert b/chromium/third_party/glslang/src/Test/cppSimple.vert new file mode 100644 index 00000000000..198203a69d7 --- /dev/null +++ b/chromium/third_party/glslang/src/Test/cppSimple.vert @@ -0,0 +1,343 @@ +#version 400 + +#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 + +#ifndef OFF +//yes +sum += 600000.0; +#else +//no +sum += 0.6; +#endif + +#if defined(ON) && defined(OFF) +//no +sum += 0.7; +#elif !defined(OFF) +//yes +sum += 7000000.0; +#endif + +#if defined(ON) && !defined(OFF) +//yes +sum += 80000000.0; +#endif + +#if defined(OFF) || defined(ON) +//yes +sum += 900000000.0; +#endif + +#if NEVER_DEFINED +//no +sum += 0.04; +#else +sum += 0.05; +#endif + +// sum should be 987600301.7 + gl_Position = vec4(sum); +} + +#define A 0 +# define B 0 + # define C 0 + +#if (A == B) || (A == C) +#error good1 +#endif + +#if A == B || (A == C) +#error good2 +#endif + +#if (A == B || (A == C)) +#error good3 +#endif + +#if (AA == BB) || (AA == CC) +#error good4 +#endif + +#if AA == BB || (AA == CC) +#error good5 +#endif + +#if ((AA == BB || (AA == CC))) +#error good6 +#endif + +#if (A == B || (A == C) +#error bad1 +#endif + +#if A == B || A == C) +#error bad2 +#endif + +#if (A == B || (A == C) +#error bad3 +#endif + +#if AA == BB) || (AA == CC) +#error bad4 +#endif + +#if AA == BB || (AA == CC +#error bad5 +#endif + +#if ((AA == BB || (AA == CC)))) +#error bad6 +#endif extra tokens + +int linenumber = __LINE__; +int filenumber = __FILE__; +int version = __VERSION__; + +#define PI (3.14) +#define TWOPI (2.0 * PI) +float twoPi = TWOPI; + +//#define PASTE(a,b) a ## b +//float PASTE(tod, ay) = 17; + +"boo" // ERROR +int a = length("aoenatuh"); // ERROR +#define QUOTE "abcd" // okay +'int'; // ERROR +#define SINGLE 'a' // okay +// ERROR: all the following are reserved +#define GL_ +#define GL_Macro 1 +#define __M +#define M__ +#define ABC__DE abc + +#if 4 +#else extra +#elif +// ERROR elif after else +#endif + +#if blah + #if 0 + #else extra + #ifdef M + #else + #else + // ERROR else after else + #endif extra + #endif +#endif + +#define m1(a,a) // ERROR +#define m2(a,b) + +// okay +#define m3 (a) +#define m3 (a) + +// ERROR +#define m4(b) +#define m4 (b) + +// ERROR +#define m5 (b) +#define m5(b) + +// ERROR +#define m6(a) +#define m6 + +// ERROR (whitespace) +#define m7 (a) +#define m7 ( a) + +#define m80(a,b) is + exactly m3 the same +#define m80(a,b) is + exactly m3 the same + +// ERROR +#define m8(a,b) almost + exactly m3 the same +#define m8(a,b) almost + exactly m3 thee same + +// ERROR +#define m9(a,b,c) aoe +#define m9(a,d,c) aoe + +#define n1 0xf +int n = n1; + +#define f1 .08e-2Lf +double f = f1; + +#undef __VERSION__ +#undef GL_ARB_texture_rectangle + +# + # + # +## +# # +# 0x25 +#### +####ff +#########ff fg 0x25 +#pragma +#pragma(aoent) + # pragma +#pragma STDGL +#pragma optimize( on) +#pragma optimize(off) +#pragma debug( on) +#pragma debug(off ) +#pragma optimize( on) anoteun +#pragma optimize(off +#pragma debug( on) ( +#pragma debug(off aoeua) +#pragma optimize( on) +#pragma optimize(off,) +#pragma debug( on, aoeu) +#pragma debugoff ) +#pragma aontheu natoeh uantheo uasotea noeahuonea uonethau onethuanoeth aunotehau noeth anthoeua anoethuantoeh uantoehu natoehu naoteh unotaehu noethua onetuh aou +# \ + +# \ + error good continuation + +#flizbit + +#define directive error + +#directive directive was expanded + +#line 12000 +#error line should be 12000 +#line 13000 7 +#error line should be 13000, string 7 +#define L1 14000 +#define L2 13 +#define F1 5 +#define F2 7 +#line L1 + L2 +#error line should be 14013, string 7 +#line L1 + L2 F1 + F2 // antoeuh sat comment +#error line should be 14013, string 12 +#line L1 + L2 + F1 + F2 +#error line should be 14025, string 12 +#line 1234 F1 + F2 extra +#define empty_extra +#line 1235 F1 + F2 empty_extra +#define moreEmpty empty_extra +#line 1236 F1 + F2 moreEmpty empty_extra // okay, lots of nothin +#line 1237 F1 + F2 moreEmpty empty_extra extra // ERROR, 'extra' +#line 1238 F1 + F2 moreEmpty empty_extra +#line 1239 empty_extra F1 empty_extra + empty_extra F2 empty_extra moreEmpty empty_extra +#line (20000) +#error line should be 20000 +#line (20000+10) +#error line should be 20010 +#line +20020 +#error line should be 20020 + +#define VAL1 1.0 +#define VAL2 2.0 + +#define RES2 /* test a multiline + comment in a macro definition */ (RES1 * VAL2) +#define RES1 (VAL2 / VAL1) +#define RES2 /* comment */(RES1 * VAL2) +#define /* */SUM_VALUES (RES2 + RES1) + +void foo234() +{ + gl_Position = vec4(SUM_VALUES); +} + +// more whitespace recording tests +#define SPACE_AT_END(a,b) spaceAtEndIsOkay +#define SPACE_AT_END(a,b) spaceAtEndIsOkay // space at end + +#define SPACE_AT_BEGIN(a,b)spaceAtBeginIsOkay +#define SPACE_AT_BEGIN(a,b) spaceAtBeginIsOkay + +// space in middle is an error +#define SPACE_IN_MIDDLE(a,b) space +in middle +#define SPACE_IN_MIDDLE(a,b) space + in middle + +#define FIRSTPART 17 +#define SECONDPART + 5 + +#if FIRSTPART SECONDPART == 22 +#error good evaluation 1 +#endif + +#if moreEmpty FIRSTPART moreEmpty SECONDPART moreEmpty == moreEmpty 22 moreEmpty +#error good evaluation 2 +#endif + +// ERRORS... +#line 9000 +#if defined(OUNH +#endif +#if defined OUNH) +#endif + +// recursion (okay) +#define RECURSE RECURSE +int RECURSE; +#define R2 R1 +#define R1 R2 +#undef RECURSE +int R1 = RECURSE; + +#define FOOOM(a,b) a + b +int aoeua = FOOOM; +#if FOOOM +#endif + +#line 9500 +#if\376 +#endif +#if \376 +#endif +#if \377 +#endif +#error\377 +#error \ 376 +#error \377 + +#line 10000 +#if 1 +#else +// ERROR, missing #endif
\ No newline at end of file |