Files correlati : Commento : Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
		
			
				
	
	
		
			40 lines
		
	
	
		
			832 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			832 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* n_13.c:  Valid operators in #if expression.  */
 | 
						|
 | 
						|
/* Valid operators are (precedence in this order) :
 | 
						|
    defined, (unary)+, (unary)-, ~, !,
 | 
						|
    *, /, %,
 | 
						|
    +, -,
 | 
						|
    <<, >>,
 | 
						|
    <, >, <=, >=,
 | 
						|
    ==, !=,
 | 
						|
    &,
 | 
						|
    ^,
 | 
						|
    |,
 | 
						|
    &&,
 | 
						|
    ||,
 | 
						|
    ? :
 | 
						|
 */
 | 
						|
 | 
						|
/* 13.1:    Bit shift.  */
 | 
						|
#if     1 << 2 != 4 || 8 >> 1 != 4
 | 
						|
#error  Bad arithmetic of <<, >> operators.
 | 
						|
#endif
 | 
						|
 | 
						|
/* 13.2:    Bitwise operators.  */
 | 
						|
#if     (3 ^ 5) != 6 || (3 | 5) != 7 || (3 & 5) != 1
 | 
						|
#error  Bad arithmetic of ^, |, & operators.
 | 
						|
#endif
 | 
						|
 | 
						|
/* 13.3:    Result of ||, && operators is either of 1 or 0. */
 | 
						|
#if     (2 || 3) != 1 || (2 && 3) != 1 || (0 || 4) != 1 || (0 && 5) != 0
 | 
						|
#error  Bad arithmetic of ||, && operators.
 | 
						|
#endif
 | 
						|
 | 
						|
/* 13.4:    ?, : operator.  */
 | 
						|
#if     (0 ? 1 : 2) != 2
 | 
						|
#error  Bad arithmetic of ?: operator.
 | 
						|
#endif
 | 
						|
 | 
						|
/* { dg-do preprocess } */
 | 
						|
 |