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 32... | Line 32... | ||
32 | #define RELOC_HIDE(ptr, off) \ |
32 | #define RELOC_HIDE(ptr, off) \ |
33 | ({ unsigned long __ptr; \ |
33 | ({ unsigned long __ptr; \ |
34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ |
34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ |
35 | (typeof(ptr)) (__ptr + (off)); }) |
35 | (typeof(ptr)) (__ptr + (off)); }) |
Line -... | Line 36... | ||
- | 36 | ||
- | 37 | #ifdef __CHECKER__ |
|
- | 38 | #define __must_be_array(arr) 0 |
|
36 | 39 | #else |
|
37 | /* &a[0] degrades to a pointer: a different type from an array */ |
40 | /* &a[0] degrades to a pointer: a different type from an array */ |
- | 41 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) |
|
Line 38... | Line 42... | ||
38 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) |
42 | #endif |
39 | 43 | ||
40 | /* |
44 | /* |
41 | * Force always-inline if the user requests it so via the .config, |
45 | * Force always-inline if the user requests it so via the .config, |
Line 90... | Line 94... | ||
90 | #include gcc_header(__GNUC__) |
94 | #include gcc_header(__GNUC__) |
Line 91... | Line 95... | ||
91 | 95 | ||
92 | #if !defined(__noclone) |
96 | #if !defined(__noclone) |
93 | #define __noclone /* not needed */ |
97 | #define __noclone /* not needed */ |
- | 98 | #endif |
|
- | 99 | ||
- | 100 | /* |
|
- | 101 | * A trick to suppress uninitialized variable warning without generating any |
|
- | 102 | * code |
|
- | 103 | */ |
|
- | 104 | #define uninitialized_var(x) x = x |
|
- | 105 |