43 #if defined(ON) && defined(OFF)
51 #if defined(ON) && !defined(OFF)
56 #if defined(OFF) || defined(ON)
68 // sum should be 987600301.7
69 gl_Position = vec4(sum);
76 #if (A == B) || (A == C)
80 #if A == B || (A == C)
84 #if (A == B || (A == C))
88 #if (AA == BB) || (AA == CC)
92 #if AA == BB || (AA == CC)
96 #if ((AA == BB || (AA == CC)))
100 #if (A == B || (A == C)
104 #if A == B || A == C)
108 #if (A == B || (A == C)
112 #if AA == BB) || (AA == CC)
116 #if AA == BB || (AA == CC
120 #if ((AA == BB || (AA == CC))))
124 int linenumber = __LINE__;
125 int filenumber = __FILE__;
126 int version = __VERSION__;
129 #define TWOPI (2.0 * PI)
132 //#define PASTE(a,b) a ## b
133 //float PASTE(tod, ay) = 17;
136 int a = length("aoenatuh"); // ERROR
137 #define QUOTE "abcd" // okay
139 #define SINGLE 'a' // okay
140 // ERROR: all the following are reserved
150 // ERROR elif after else
159 // ERROR else after else
164 #define m1(a,a) // ERROR
183 // ERROR (whitespace)
187 #define m80(a,b) is + exactly m3 the same
188 #define m80(a,b) is + exactly m3 the same
191 #define m8(a,b) almost + exactly m3 the same
192 #define m8(a,b) almost + exactly m3 thee same
195 #define m9(a,b,c) aoe
196 #define m9(a,d,c) aoe
205 #undef GL_ARB_texture_rectangle
220 #pragma optimize( on)
221 #pragma optimize(off)
224 #pragma optimize( on) anoteun
227 #pragma debug(off aoeua)
228 #pragma optimize( on)
229 #pragma optimize(off,)
230 #pragma debug( on, aoeu)
232 #pragma aontheu natoeh uantheo uasotea noeahuonea uonethau onethuanoeth aunotehau noeth anthoeua anoethuantoeh uantoehu natoehu naoteh unotaehu noethua onetuh aou
236 error good continuation
240 #define directive error
242 #directive directive was expanded
245 #error line should be 12000
247 #error line should be 13000, string 7
253 #error line should be 14013, string 7
254 #line L1 + L2 F1 + F2 // antoeuh sat comment
255 #error line should be 14013, string 12
256 #line L1 + L2 + F1 + F2
257 #error line should be 14025, string 12
258 #line 1234 F1 + F2 extra
260 #line 1235 F1 + F2 empty_extra
261 #define moreEmpty empty_extra
262 #line 1236 F1 + F2 moreEmpty empty_extra // okay, lots of nothin
263 #line 1237 F1 + F2 moreEmpty empty_extra extra // ERROR, 'extra'
264 #line 1238 F1 + F2 moreEmpty empty_extra
265 #line 1239 empty_extra F1 empty_extra + empty_extra F2 empty_extra moreEmpty empty_extra
267 #error line should be 20000
269 #error line should be 20010
271 #error line should be 20020
276 #define RES2 /* test a multiline
277 comment in a macro definition */ (RES1 * VAL2)
278 #define RES1 (VAL2 / VAL1)
279 #define RES2 /* comment */(RES1 * VAL2)
280 #define /* */SUM_VALUES (RES2 + RES1)
284 gl_Position = vec4(SUM_VALUES);
287 // more whitespace recording tests
288 #define SPACE_AT_END(a,b) spaceAtEndIsOkay
289 #define SPACE_AT_END(a,b) spaceAtEndIsOkay // space at end
291 #define SPACE_AT_BEGIN(a,b)spaceAtBeginIsOkay
292 #define SPACE_AT_BEGIN(a,b) spaceAtBeginIsOkay
294 // space in middle is an error
295 #define SPACE_IN_MIDDLE(a,b) space +in middle
296 #define SPACE_IN_MIDDLE(a,b) space + in middle
299 #define SECONDPART + 5
301 #if FIRSTPART SECONDPART == 22
302 #error good evaluation 1
305 #if moreEmpty FIRSTPART moreEmpty SECONDPART moreEmpty == moreEmpty 22 moreEmpty
306 #error good evaluation 2
317 #define RECURSE RECURSE
324 #define FOOOM(a,b) a + b
340 // ERROR for macro expansion to yield 'defined'
343 #define DEF_DEFINED defined
344 #if DEF_DEFINED DEF_MAC
345 #error DEF_DEFINED then
347 #error DEF_DEFINED else
353 // ERROR, missing #endif