Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f153b821 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Sanitize gcc version header includes



 - include the gcc version-dependent header files from the generic gcc
   header file, rather than the other way around (iow: don't make the
   non-gcc header file have to know about gcc versions)

 - don't include compiler-gcc4.h for gcc 5 (for whenever it gets
   released).  That's just confusing and made us do odd things in the
   gcc4 header file (testing that we really had version 4!)

 - generate the name from the __GNUC__ version directly, rather than
   having a mess of #if conditionals.

Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b58602a4
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -61,3 +61,8 @@
#define  noinline			__attribute__((noinline))
#define __attribute_const__		__attribute__((__const__))
#define __maybe_unused			__attribute__((unused))

#define __gcc_header(x) #x
#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
#define gcc_header(x) _gcc_header(x)
#include gcc_header(__GNUC__)
+0 −3
Original line number Diff line number Diff line
@@ -2,9 +2,6 @@
#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
#endif

/* These definitions are for GCC v3.x.  */
#include <linux/compiler-gcc.h>

#if __GNUC_MINOR__ >= 3
# define __used			__attribute__((__used__))
#else
+1 −4
Original line number Diff line number Diff line
@@ -2,9 +2,6 @@
#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead."
#endif

/* These definitions are for GCC v4.x.  */
#include <linux/compiler-gcc.h>

#define __used			__attribute__((__used__))
#define __must_check 		__attribute__((warn_unused_result))
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
@@ -16,7 +13,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
+2 −6
Original line number Diff line number Diff line
@@ -36,12 +36,8 @@ extern void __chk_io_ptr(const volatile void __iomem *);

#ifdef __KERNEL__

#if __GNUC__ >= 4
# include <linux/compiler-gcc4.h>
#elif __GNUC__ == 3 && __GNUC_MINOR__ >= 2
# include <linux/compiler-gcc3.h>
#else
# error Sorry, your compiler is too old/not recognized.
#ifdef __GNUC__
#include <linux/compiler-gcc.h>
#endif

#define notrace __attribute__((no_instrument_function))