aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compiler-gcc2.h
blob: ebed17660c5fa6f09cdbe4f331736abdd58a1a60 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* 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