• Chen Li's avatar
    alpha: remove undef inline in compiler.h · 5e3c3a0a
    Chen Li authored
    since 889b3c12, 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: default avatarchenli <chenli@uniontech.com>
    Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
    5e3c3a0a
compiler.h 158 Bytes