blob: 2d8c0f48f55e6236a4c25b8510feafb48670ff10 [file] [log] [blame]
Robert P. J. Day94f582f2007-10-16 23:26:11 -07001#ifndef __LINUX_COMPILER_H
2#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
3#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5/* These definitions are for GCC v3.x. */
6#include <linux/compiler-gcc.h>
7
Linus Torvalds1da177e2005-04-16 15:20:36 -07008#if __GNUC_MINOR__ >= 3
David Rientjes0d7ebbb2007-05-09 02:35:27 -07009# define __used __attribute__((__used__))
10# define __attribute_used__ __used /* deprecated */
Linus Torvalds1da177e2005-04-16 15:20:36 -070011#else
David Rientjes0d7ebbb2007-05-09 02:35:27 -070012# define __used __attribute__((__unused__))
13# define __attribute_used__ __used /* deprecated */
Linus Torvalds1da177e2005-04-16 15:20:36 -070014#endif
15
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#if __GNUC_MINOR__ >= 4
17#define __must_check __attribute__((warn_unused_result))
18#endif
19
Borislav Petkov94909912007-05-06 14:49:17 -070020/*
21 * A trick to suppress uninitialized variable warning without generating any
22 * code
23 */
24#define uninitialized_var(x) x = x
25
Ingo Molnar40fc55c2006-01-14 13:21:28 -080026#define __always_inline inline __attribute__((always_inline))