Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* Never include this file directly. Include <linux/compiler.h> instead. */ |
2 | ||
3 | /* These definitions are for GCC v2.x. */ | |
4 | ||
5 | /* Somewhere in the middle of the GCC 2.96 development cycle, we implemented | |
6 | a mechanism by which the user can annotate likely branch directions and | |
7 | expect the blocks to be reordered appropriately. Define __builtin_expect | |
8 | to nothing for earlier compilers. */ | |
9 | #include <linux/compiler-gcc.h> | |
10 | ||
11 | #if __GNUC_MINOR__ < 96 | |
12 | # define __builtin_expect(x, expected_value) (x) | |
13 | #endif | |
14 | ||
15 | #define __attribute_used__ __attribute__((__unused__)) | |
16 | ||
17 | /* | |
18 | * The attribute `pure' is not implemented in GCC versions earlier | |
19 | * than 2.96. | |
20 | */ | |
21 | #if __GNUC_MINOR__ >= 96 | |
22 | # define __attribute_pure__ __attribute__((pure)) | |
23 | # define __attribute_const__ __attribute__((__const__)) | |
24 | #endif | |
e9c52716 PBG |
25 | |
26 | /* GCC 2.95.x/2.96 recognize __va_copy, but not va_copy. Actually later GCC's | |
27 | * define both va_copy and __va_copy, but the latter may go away, so limit this | |
28 | * to this header */ | |
29 | #define va_copy __va_copy |