Message ID | 1376147810-18026-1-git-send-email-jeroen@myspectrum.nl |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Sat, Aug 10, 2013 at 05:16:50PM +0200, Jeroen Hofstee wrote: > gcc allows extensions to be non compiler specific by defining > __* macros for the attributes supported by gcc. Having a > different definition causes many warnings during the build > (cdefs.h on FreeBSD uses __attribute((__pure__)) where u-boot > uses __attribute__((pure)) for example). Do not redefine > these macros to suppress these warnings. > > This patch ignores the checkpatch warning: > WARNING: __packed is preferred over __attribute__((packed)) > > Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Applied to u-boot/master, thanks!
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 73dcf80..9896e54 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h @@ -50,7 +50,9 @@ #endif #define __deprecated __attribute__((deprecated)) -#define __packed __attribute__((packed)) +#ifndef __packed +# define __packed __attribute__((packed)) +#endif #define __weak __attribute__((weak)) /* @@ -73,8 +75,12 @@ * would be. * [...] */ -#define __pure __attribute__((pure)) -#define __aligned(x) __attribute__((aligned(x))) +#ifndef __pure +# define __pure __attribute__((pure)) +#endif +#ifndef __aligned +# define __aligned(x) __attribute__((aligned(x))) +#endif #define __printf(a,b) __attribute__((format(printf,a,b))) #define noinline __attribute__((noinline)) #define __attribute_const__ __attribute__((__const__)) diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 94dea3f..27d11ca 100644 --- a/include/linux/compiler-gcc4.h +++ b/include/linux/compiler-gcc4.h @@ -12,7 +12,9 @@ #define __used __attribute__((__used__)) #define __must_check __attribute__((warn_unused_result)) #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) -#define __always_inline inline __attribute__((always_inline)) +#ifndef __always_inline +# define __always_inline inline __attribute__((always_inline)) +#endif /* * A trick to suppress uninitialized variable warning without generating any
gcc allows extensions to be non compiler specific by defining __* macros for the attributes supported by gcc. Having a different definition causes many warnings during the build (cdefs.h on FreeBSD uses __attribute((__pure__)) where u-boot uses __attribute__((pure)) for example). Do not redefine these macros to suppress these warnings. This patch ignores the checkpatch warning: WARNING: __packed is preferred over __attribute__((packed)) Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> --- include/linux/compiler-gcc.h | 12 +++++++++--- include/linux/compiler-gcc4.h | 4 +++- 2 files changed, 12 insertions(+), 4 deletions(-)