blob: 7d89febe4d7938aa88d6e0283e795425d0468f69 [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
Daniel Santos733ed6e2013-02-21 16:41:41 -08005#if GCC_VERSION < 30200
Ingo Molnar66805982009-01-02 18:53:14 +01006# error Sorry, your compiler is too old - please upgrade it.
7#endif
8
Daniel Santos733ed6e2013-02-21 16:41:41 -08009#if GCC_VERSION >= 30300
David Rientjes0d7ebbb2007-05-09 02:35:27 -070010# define __used __attribute__((__used__))
Linus Torvalds1da177e2005-04-16 15:20:36 -070011#else
David Rientjes0d7ebbb2007-05-09 02:35:27 -070012# define __used __attribute__((__unused__))
Linus Torvalds1da177e2005-04-16 15:20:36 -070013#endif
14
Daniel Santos733ed6e2013-02-21 16:41:41 -080015#if GCC_VERSION >= 30400
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#define __must_check __attribute__((warn_unused_result))
17#endif
18
Peter Oberparleiter2521f2c2009-06-17 16:28:08 -070019#ifdef CONFIG_GCOV_KERNEL
Daniel Santos733ed6e2013-02-21 16:41:41 -080020# if GCC_VERSION < 30400
Peter Oberparleiter2521f2c2009-06-17 16:28:08 -070021# error "GCOV profiling support for gcc versions below 3.4 not included"
22# endif /* __GNUC_MINOR__ */
23#endif /* CONFIG_GCOV_KERNEL */