Also: - change source locations from an int to TSourceLoc (shader number, line number) throughout - various improvements to the preprocessor git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22277 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			134 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
#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
 | 
						|
 | 
						|
#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
 | 
						|
 | 
						|
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;
 |