Files correlati : Commento : Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
		
			
				
	
	
		
			34 lines
		
	
	
		
			924 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			924 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* n_13_7.c:    Short-circuit evaluation of #if expression. */
 | 
						|
 | 
						|
/* 13.7:    10/0 or 10/MACRO_0 are never evaluated, "divide by zero" error
 | 
						|
        cannot occur.   */
 | 
						|
#define MACRO_0     0
 | 
						|
 | 
						|
/*  Valid block */
 | 
						|
#if     0 && 10 / 0
 | 
						|
    Block to be skipped
 | 
						|
#endif
 | 
						|
#if     not_defined && 10 / not_defined
 | 
						|
    Block to be skipped
 | 
						|
#endif
 | 
						|
#if     MACRO_0 && 10 / MACRO_0 > 1
 | 
						|
    Block to be skipped
 | 
						|
#endif
 | 
						|
#if     MACRO_0 ? 10 / MACRO_0 : 0
 | 
						|
    Block to be skipped
 | 
						|
#endif
 | 
						|
#if     MACRO_0 == 0 || 10 / MACRO_0 > 1
 | 
						|
    Valid block
 | 
						|
#else
 | 
						|
    Block to be skipped
 | 
						|
#endif
 | 
						|
 | 
						|
/* { dg-do preprocess }
 | 
						|
   { dg-options "-ansi -w" }
 | 
						|
   { dg-final { if ![file exist n_13_7.i] { return }                    } }
 | 
						|
   { dg-final { if \{ [grep n_13_7.i "Valid block"] != ""       \} \{   } }
 | 
						|
   { dg-final { return \}                                               } }
 | 
						|
   { dg-final { fail "n_13_7.c: short-circuit evaluation of #if expression" } }
 | 
						|
 */
 | 
						|
 |