 fcb4ed054c
			
		
	
	
		fcb4ed054c
		
	
	
	
	
		
			
			- consistently dealing with EOF and its effect on error recovery (bug 11444, #1) - turning a simulated OO hierarchy of function pointers and typecasting into a real C++ class hierarchy - correctly handling '\' everywhere, in all classes of tokens, as a layer before preprocessing itself - conditionally handling '\n' in macro expansion input, depending on whether it is in a macro expression or not - delete some unused "memory cleanup" code git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24626 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			62 lines
		
	
	
		
			828 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			828 B
		
	
	
	
		
			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
 | |
| 
 | |
|   	#if !defined(OFF)
 | |
| 		//yes
 | |
| 		sum += 600000.0;
 | |
| 		#endif
 | |
| 
 | |
|     #if defined (ON) && defined               (OFF)         
 | |
| //no
 | |
| sum += 7000000.0;
 | |
|     #endif
 | |
| 
 | |
| #if        defined   (  ON         ) && !        defined(OFF)
 | |
| //yes
 | |
| sum += 80000000.0;
 | |
| #endif
 | |
| 
 | |
| #if defined(OFF) || defined(ON)
 | |
| //yes
 | |
| sum += 900000000.0;
 | |
| #endif
 | |
| 
 | |
| // sum should be 980600301.0
 | |
|     gl_Position = vec4(sum);
 | |
| }
 | |
| 
 | |
| #define FUNC(a,b)		a+b
 | |
| // needs to be last test in file due to syntax error
 | |
| void foo986(){	FUNC( (((2)))), 4); }  // ERROR, too many )
 |