Robert P. J. Day | 94f582f | 2007-10-16 23:26:11 -0700 | [diff] [blame] | 1 | #ifndef __LINUX_COMPILER_H |
| 2 | #error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead." |
| 3 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | |
Ingo Molnar | 6680598 | 2009-01-02 18:53:14 +0100 | [diff] [blame] | 5 | #if __GNUC_MINOR__ < 2 |
| 6 | # error Sorry, your compiler is too old - please upgrade it. |
| 7 | #endif |
| 8 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | #if __GNUC_MINOR__ >= 3 |
David Rientjes | 0d7ebbb | 2007-05-09 02:35:27 -0700 | [diff] [blame] | 10 | # define __used __attribute__((__used__)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | #else |
David Rientjes | 0d7ebbb | 2007-05-09 02:35:27 -0700 | [diff] [blame] | 12 | # define __used __attribute__((__unused__)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 | #endif |
| 14 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | #if __GNUC_MINOR__ >= 4 |
| 16 | #define __must_check __attribute__((warn_unused_result)) |
| 17 | #endif |
| 18 | |
Peter Oberparleiter | 2521f2c | 2009-06-17 16:28:08 -0700 | [diff] [blame] | 19 | #ifdef CONFIG_GCOV_KERNEL |
| 20 | # if __GNUC_MINOR__ < 4 |
| 21 | # error "GCOV profiling support for gcc versions below 3.4 not included" |
| 22 | # endif /* __GNUC_MINOR__ */ |
| 23 | #endif /* CONFIG_GCOV_KERNEL */ |
| 24 | |
Borislav Petkov | 9490991 | 2007-05-06 14:49:17 -0700 | [diff] [blame] | 25 | /* |
| 26 | * A trick to suppress uninitialized variable warning without generating any |
| 27 | * code |
| 28 | */ |
| 29 | #define uninitialized_var(x) x = x |
| 30 | |
Ingo Molnar | 40fc55c | 2006-01-14 13:21:28 -0800 | [diff] [blame] | 31 | #define __always_inline inline __attribute__((always_inline)) |