X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Flinux%2Fcompiler-gcc4.h;h=09992718f9e8e58add025dd8aebc4911f6a6c58f;hb=53f658b3c33616a4997ee254311b335e59063289;hp=14f7494280f0bda301cc12ebe31b2992fd25e870;hpb=a586df067afe0580bb02b7a6312ca2afe49bba03;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 14f7494..0999271 100644 --- a/include/linux/compiler-gcc4.h +++ b/include/linux/compiler-gcc4.h @@ -1,19 +1,13 @@ -/* Never include this file directly. Include instead. */ - -/* These definitions are for GCC v4.x. */ -#include +#ifndef __LINUX_COMPILER_H +#error "Please don't include directly, include instead." +#endif -#ifdef CONFIG_FORCED_INLINING -# undef inline -# undef __inline__ -# undef __inline -# define inline inline __attribute__((always_inline)) -# define __inline__ __inline__ __attribute__((always_inline)) -# define __inline __inline __attribute__((always_inline)) +/* GCC 4.1.[01] miscompiles __weak */ +#if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1 +# error Your version of gcc miscompiles the __weak directive #endif #define __used __attribute__((__used__)) -#define __attribute_used__ __used /* deprecated */ #define __must_check __attribute__((warn_unused_result)) #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) #define __always_inline inline __attribute__((always_inline)) @@ -24,7 +18,7 @@ */ #define uninitialized_var(x) x = x -#if !(__GNUC__ == 4 && __GNUC_MINOR__ < 3) +#if __GNUC_MINOR__ >= 3 /* Mark functions as cold. gcc will assume any path leading to a call to them will be unlikely. This means a lot of manual unlikely()s are unnecessary now for any paths leading to the usual suspects