mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 21:21:37 +00:00
compiler_gcc: prevent redefining attributes
The libc headers on FreeBSD and likely related projects as well contain an header file, cdefs.h which provides similiar functionality as linux/compiler.h. It provides compiler independent defines like __weak __packed, to allow compiling with multiple compilers which might have a different syntax for such extension. Since that header file is included in multiple standard headers, like stddef.h and stdarg.h, multiple definitions of those defines will be present if both are included. When compiling u-boot the compiler will warn about it hundreds of times since e.g. common.h will include both files indirectly. commit7ea50d5284
"compiler_gcc: do not redefine __gnu_attributes" prevented such redefinitions, but this was undone by commitfb8ffd7cfc
"compiler*.h: sync include/linux/compiler*.h with Linux 3.16". Add the checks back where necessary to prevent such warnings. As the original patch this checkpatch warning is ignored: "WARNING: Adding new packed members is to be done with care" Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
parent
f494e0a184
commit
0a5051ce6e
1 changed files with 10 additions and 0 deletions
|
@ -64,8 +64,12 @@
|
|||
#endif
|
||||
|
||||
#define __deprecated __attribute__((deprecated))
|
||||
#ifndef __packed
|
||||
#define __packed __attribute__((packed))
|
||||
#endif
|
||||
#ifndef __weak
|
||||
#define __weak __attribute__((weak))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* it doesn't make sense on ARM (currently the only user of __naked) to trace
|
||||
|
@ -91,8 +95,12 @@
|
|||
* would be.
|
||||
* [...]
|
||||
*/
|
||||
#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 __scanf(a, b) __attribute__((format(scanf, a, b)))
|
||||
#define noinline __attribute__((noinline))
|
||||
|
@ -115,4 +123,6 @@
|
|||
*/
|
||||
#define uninitialized_var(x) x = x
|
||||
|
||||
#ifndef __always_inline
|
||||
#define __always_inline inline __attribute__((always_inline))
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue