diff options
author | Chen Li <chenli@uniontech.com> | 2020-10-13 08:31:52 +0200 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2021-07-26 07:18:20 +0200 |
commit | 5e3c3a0ae5d194f0a464aaaa71d764d96f2e7245 (patch) | |
tree | 66e5a9ffb4ffe5c9f90a508fe86f5cc85472628c /arch | |
parent | alpha: Kconfig: Replace HTTP links with HTTPS ones (diff) | |
download | linux-5e3c3a0ae5d194f0a464aaaa71d764d96f2e7245.tar.xz linux-5e3c3a0ae5d194f0a464aaaa71d764d96f2e7245.zip |
alpha: remove undef inline in compiler.h
since 889b3c1245de48ed0cacf7aebb25c489d3e4a3e9, CONFIG_OPTIMIZE_INLINING
is removed entirely and inline is always defined to `inline __gnu_inline
__inline_maybe_unused notrace` in compiler_types.h
Besides, undef inline here also means it never use
__attribute__((__gnu_inline__)), so `extern inline` function can never
be defined header files, otherwise multiple definition errors will
happen, e.g. if multiple translation units use alpha/include/asm/pal.h
will report multiple definitions, because there are many extern inline
function definitions in this header.
``` c
extern inline TYPE NAME(void) \
{ \
register TYPE __r0 __asm__("$0"); \
__asm__ __volatile__( \
...
```
Ofc, it is also ok to remove `extern` in `extern inline` here, then all
of iso c99 and gnuc99/89 are ok, but there are also other alpha headers
have such function definitions.
Signed-off-by: chenli <chenli@uniontech.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/alpha/include/asm/compiler.h | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/arch/alpha/include/asm/compiler.h b/arch/alpha/include/asm/compiler.h index 5159ba259d65..ae645959018a 100644 --- a/arch/alpha/include/asm/compiler.h +++ b/arch/alpha/include/asm/compiler.h @@ -4,15 +4,4 @@ #include <uapi/asm/compiler.h> -/* Some idiots over in <linux/compiler.h> thought inline should imply - always_inline. This breaks stuff. We'll include this file whenever - we run into such problems. */ - -#include <linux/compiler.h> -#undef inline -#undef __inline__ -#undef __inline -#undef __always_inline -#define __always_inline inline __attribute__((always_inline)) - #endif /* __ALPHA_COMPILER_H */ |