Rev 1964 | Rev 3031 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1964 | Rev 1970 | ||
---|---|---|---|
Line 10... | Line 10... | ||
10 | #endif |
10 | #endif |
Line 11... | Line 11... | ||
11 | 11 | ||
12 | #define __used __attribute__((__used__)) |
12 | #define __used __attribute__((__used__)) |
13 | #define __must_check __attribute__((warn_unused_result)) |
13 | #define __must_check __attribute__((warn_unused_result)) |
14 | #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) |
- | |
15 | #define __always_inline inline __attribute__((always_inline)) |
- | |
16 | - | ||
17 | /* |
- | |
18 | * A trick to suppress uninitialized variable warning without generating any |
- | |
19 | * code |
- | |
20 | */ |
- | |
Line 21... | Line 14... | ||
21 | #define uninitialized_var(x) x = x |
14 | #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) |
22 | 15 | ||
23 | #if __GNUC_MINOR__ >= 3 |
16 | #if __GNUC_MINOR__ >= 3 |
24 | /* Mark functions as cold. gcc will assume any path leading to a call |
17 | /* Mark functions as cold. gcc will assume any path leading to a call |
Line 51... | Line 44... | ||
51 | 44 | ||
52 | /* Mark a function definition as prohibited from being cloned. */ |
45 | /* Mark a function definition as prohibited from being cloned. */ |
Line 53... | Line 46... | ||
53 | #define __noclone __attribute__((__noclone__)) |
46 | #define __noclone __attribute__((__noclone__)) |
54 | - | ||
55 | #endif |
47 | |
Line 56... | Line 48... | ||
56 | 48 | #endif |
|
57 | #endif |
49 | #endif |
58 | 50 | ||
59 | #if __GNUC_MINOR__ > 0 |
51 | #if __GNUC_MINOR__ > 0 |
60 | #define __compiletime_object_size(obj) __builtin_object_size(obj, 0) |
52 | #define __compiletime_object_size(obj) __builtin_object_size(obj, 0) |
61 | #endif |
53 | #endif |
62 | #if __GNUC_MINOR__ >= 4 |
54 | #if __GNUC_MINOR__ >= 4 && !defined(__CHECKER__) |