| Namhyung Kim | 8a625c1 | 2014-01-09 23:00:52 +0900 | [diff] [blame] | 1 | #ifndef _TOOLS_LINUX_COMPILER_H_ |
| 2 | #define _TOOLS_LINUX_COMPILER_H_ | ||||
| Frederic Weisbecker | 5a116dd | 2009-10-17 17:12:33 +0200 | [diff] [blame] | 3 | |
| 4 | #ifndef __always_inline | ||||
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 5 | # define __always_inline inline __attribute__((always_inline)) |
| Frederic Weisbecker | 5a116dd | 2009-10-17 17:12:33 +0200 | [diff] [blame] | 6 | #endif |
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 7 | |
| Frederic Weisbecker | 5a116dd | 2009-10-17 17:12:33 +0200 | [diff] [blame] | 8 | #define __user |
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 9 | |
| Josh Boyer | 195bcbf | 2011-08-18 07:37:21 -0400 | [diff] [blame] | 10 | #ifndef __attribute_const__ |
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 11 | # define __attribute_const__ |
| Josh Boyer | 195bcbf | 2011-08-18 07:37:21 -0400 | [diff] [blame] | 12 | #endif |
| Frederic Weisbecker | 5a116dd | 2009-10-17 17:12:33 +0200 | [diff] [blame] | 13 | |
| Irina Tirdea | 1d037ca | 2012-09-11 01:15:03 +0300 | [diff] [blame] | 14 | #ifndef __maybe_unused |
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 15 | # define __maybe_unused __attribute__((unused)) |
| Irina Tirdea | 1d037ca | 2012-09-11 01:15:03 +0300 | [diff] [blame] | 16 | #endif |
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 17 | |
| 18 | #ifndef __packed | ||||
| 19 | # define __packed __attribute__((__packed__)) | ||||
| 20 | #endif | ||||
| Arnaldo Carvalho de Melo | 618038d | 2010-03-25 19:58:59 -0300 | [diff] [blame] | 21 | |
| Irina Tirdea | 86d5a70 | 2012-09-11 01:14:59 +0300 | [diff] [blame] | 22 | #ifndef __force |
| Ingo Molnar | 7a10822 | 2013-10-07 11:26:18 +0200 | [diff] [blame] | 23 | # define __force |
| Irina Tirdea | 86d5a70 | 2012-09-11 01:14:59 +0300 | [diff] [blame] | 24 | #endif |
| 25 | |||||
| Ingo Molnar | fb1c918 | 2013-10-01 13:26:13 +0200 | [diff] [blame] | 26 | #ifndef __weak |
| 27 | # define __weak __attribute__((weak)) | ||||
| 28 | #endif | ||||
| 29 | |||||
| Namhyung Kim | 835d44b | 2014-01-09 23:00:53 +0900 | [diff] [blame] | 30 | #ifndef likely |
| 31 | # define likely(x) __builtin_expect(!!(x), 1) | ||||
| 32 | #endif | ||||
| 33 | |||||
| 34 | #ifndef unlikely | ||||
| 35 | # define unlikely(x) __builtin_expect(!!(x), 0) | ||||
| 36 | #endif | ||||
| 37 | |||||
| Namhyung Kim | 8a625c1 | 2014-01-09 23:00:52 +0900 | [diff] [blame] | 38 | #endif /* _TOOLS_LINUX_COMPILER_H */ |