blob: 6f5cc6f0e7a66ca521fb1978f27a51099666ec3d [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* 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
Ingo Molnara9df3d02006-01-14 13:21:33 -08006#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
Linus Torvalds1da177e2005-04-16 15:20:36 -070015#define __attribute_used__ __attribute__((__used__))
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#define __must_check __attribute__((warn_unused_result))
17#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
Ingo Molnar40fc55c2006-01-14 13:21:28 -080018#define __always_inline inline __attribute__((always_inline))