compiler: introduce __used and __maybe_unused
[linux-2.6.git] / include / linux / compiler-gcc4.h
1 /* Never include this file directly.  Include <linux/compiler.h> instead.  */
2
3 /* These definitions are for GCC v4.x.  */
4 #include <linux/compiler-gcc.h>
5
6 #ifdef CONFIG_FORCED_INLINING
7 # undef inline
8 # undef __inline__
9 # undef __inline
10 # define inline                 inline          __attribute__((always_inline))
11 # define __inline__             __inline__      __attribute__((always_inline))
12 # define __inline               __inline        __attribute__((always_inline))
13 #endif
14
15 #define __used                  __attribute__((__used__))
16 #define __attribute_used__      __used                  /* deprecated */
17 #define __must_check            __attribute__((warn_unused_result))
18 #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
19 #define __always_inline         inline __attribute__((always_inline))
20
21 /*
22  * A trick to suppress uninitialized variable warning without generating any
23  * code
24  */
25 #define uninitialized_var(x) x = x