blob: a9e2863c2dbf058a97b62ccf18af83bf8a1145c2 [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 v3.x. */
4#include <linux/compiler-gcc.h>
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006#if __GNUC_MINOR__ >= 3
David Rientjes0d7ebbb2007-05-09 02:35:27 -07007# define __used __attribute__((__used__))
8# define __attribute_used__ __used /* deprecated */
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#else
David Rientjes0d7ebbb2007-05-09 02:35:27 -070010# define __used __attribute__((__unused__))
11# define __attribute_used__ __used /* deprecated */
Linus Torvalds1da177e2005-04-16 15:20:36 -070012#endif
13
Linus Torvalds1da177e2005-04-16 15:20:36 -070014#if __GNUC_MINOR__ >= 4
15#define __must_check __attribute__((warn_unused_result))
16#endif
17
Borislav Petkov94909912007-05-06 14:49:17 -070018/*
19 * A trick to suppress uninitialized variable warning without generating any
20 * code
21 */
22#define uninitialized_var(x) x = x
23
Ingo Molnar40fc55c2006-01-14 13:21:28 -080024#define __always_inline inline __attribute__((always_inline))