forked from mirrors/linux
		
	 e9c527163d
			
		
	
	
		e9c527163d
		
	
	
	
	
		
			
			GCC 2.95 uses __va_copy instead of va_copy. Handle it inside compiler.h instead of in a casual file, and avoid the risk that this breaks with a newer compiler (which it could do). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			997 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			997 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Never include this file directly.  Include <linux/compiler.h> instead.  */
 | |
| 
 | |
| /* These definitions are for GCC v2.x.  */
 | |
| 
 | |
| /* Somewhere in the middle of the GCC 2.96 development cycle, we implemented
 | |
|    a mechanism by which the user can annotate likely branch directions and
 | |
|    expect the blocks to be reordered appropriately.  Define __builtin_expect
 | |
|    to nothing for earlier compilers.  */
 | |
| #include <linux/compiler-gcc.h>
 | |
| 
 | |
| #if __GNUC_MINOR__ < 96
 | |
| # define __builtin_expect(x, expected_value) (x)
 | |
| #endif
 | |
| 
 | |
| #define __attribute_used__	__attribute__((__unused__))
 | |
| 
 | |
| /*
 | |
|  * The attribute `pure' is not implemented in GCC versions earlier
 | |
|  * than 2.96.
 | |
|  */
 | |
| #if __GNUC_MINOR__ >= 96
 | |
| # define __attribute_pure__	__attribute__((pure))
 | |
| # define __attribute_const__	__attribute__((__const__))
 | |
| #endif
 | |
| 
 | |
| /* GCC 2.95.x/2.96 recognize __va_copy, but not va_copy. Actually later GCC's
 | |
|  * define both va_copy and __va_copy, but the latter may go away, so limit this
 | |
|  * to this header */
 | |
| #define va_copy			__va_copy
 |