Files correlati : Commento : Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
		
			
				
	
	
		
			27 lines
		
	
	
		
			574 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			574 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* u_1_25.c:    Undefined behaviors on undefined macro argument.    */
 | |
| 
 | |
| #include    <stdio.h>
 | |
| #define str( a)     # a
 | |
| #define sub( x, y)  (x - y)
 | |
| #define SUB         sub
 | |
| 
 | |
| main( void)
 | |
| {
 | |
|     int     a = 1, b = 2;
 | |
| 
 | |
| /* u.1.25:  Macro argument otherwise parsed as a directive. */
 | |
| /*  "#define NAME"; or other undefined behaviour.   */
 | |
|     puts( str(
 | |
| #define NAME
 | |
|     ));
 | |
| 
 | |
| #if 0   /* Added by C90: Corrigendum 1 (1994) and deleted by C99    */
 | |
| /* u.1.26:  Expanded macro replacement list end with name of function-like
 | |
|         macro.  */
 | |
|     SUB( a, b);
 | |
| #endif
 | |
| 
 | |
|     return  0;
 | |
| }
 | |
| 
 |