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" } }
 | |
|  */
 | |
| 
 |