]> bbs.cooldavid.org Git - net-next-2.6.git/blame - include/linux/compiler-gcc3.h
gcov: add gcov profiling infrastructure
[net-next-2.6.git] / include / linux / compiler-gcc3.h
CommitLineData
94f582f8
RD
1#ifndef __LINUX_COMPILER_H
2#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
3#endif
1da177e4 4
6680598b
IM
5#if __GNUC_MINOR__ < 2
6# error Sorry, your compiler is too old - please upgrade it.
7#endif
8
1da177e4 9#if __GNUC_MINOR__ >= 3
0d7ebbbc 10# define __used __attribute__((__used__))
1da177e4 11#else
0d7ebbbc 12# define __used __attribute__((__unused__))
1da177e4
LT
13#endif
14
1da177e4
LT
15#if __GNUC_MINOR__ >= 4
16#define __must_check __attribute__((warn_unused_result))
17#endif
18
2521f2c2
PO
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
94909914
BP
25/*
26 * A trick to suppress uninitialized variable warning without generating any
27 * code
28 */
29#define uninitialized_var(x) x = x
30
40fc55cb 31#define __always_inline inline __attribute__((always_inline))