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;
 | 
						|
}
 | 
						|
 |