Commit 6640dfdf authored by Daniel Santos's avatar Daniel Santos Committed by Linus Torvalds

compiler-gcc4.h: Reorder macros based upon gcc ver

This helps to keep the file from getting confusing, removes one
duplicate version check and should encourage future editors to put new
macros where they belong.
Signed-off-by: default avatarDaniel Santos <daniel.santos@pobox.com>
Acked-by: default avatarDavid Rientjes <rientjes@google.com>
Acked-by: default avatarBorislav Petkov <bp@alien8.de>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 53eb8c82
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
#define __must_check __attribute__((warn_unused_result)) #define __must_check __attribute__((warn_unused_result))
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
#if __GNUC_MINOR__ > 0
# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
#endif
#if __GNUC_MINOR__ >= 3 #if __GNUC_MINOR__ >= 3
/* Mark functions as cold. gcc will assume any path leading to a call /* 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 to them will be unlikely. This means a lot of manual unlikely()s
...@@ -33,6 +37,12 @@ ...@@ -33,6 +37,12 @@
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
#ifndef __CHECKER__
# define __compiletime_warning(message) __attribute__((warning(message)))
# define __compiletime_error(message) __attribute__((error(message)))
#endif /* __CHECKER__ */
#endif /* __GNUC_MINOR__ >= 3 */
#if __GNUC_MINOR__ >= 5 #if __GNUC_MINOR__ >= 5
/* /*
* Mark a position in code as unreachable. This can be used to * Mark a position in code as unreachable. This can be used to
...@@ -48,8 +58,7 @@ ...@@ -48,8 +58,7 @@
/* Mark a function definition as prohibited from being cloned. */ /* Mark a function definition as prohibited from being cloned. */
#define __noclone __attribute__((__noclone__)) #define __noclone __attribute__((__noclone__))
#endif #endif /* __GNUC_MINOR__ >= 5 */
#endif
#if __GNUC_MINOR__ >= 6 #if __GNUC_MINOR__ >= 6
/* /*
...@@ -58,13 +67,6 @@ ...@@ -58,13 +67,6 @@
#define __visible __attribute__((externally_visible)) #define __visible __attribute__((externally_visible))
#endif #endif
#if __GNUC_MINOR__ > 0
#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
#endif
#if __GNUC_MINOR__ >= 3 && !defined(__CHECKER__)
#define __compiletime_warning(message) __attribute__((warning(message)))
#define __compiletime_error(message) __attribute__((error(message)))
#endif
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP #ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
#if __GNUC_MINOR__ >= 4 #if __GNUC_MINOR__ >= 4
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment