[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e5d579d8ef832fbc133e96746ceb6edbd0870cc2.camel@perches.com>
Date: Thu, 23 Aug 2018 14:19:06 -0700
From: Joe Perches <joe@...ches.com>
To: Nick Desaulniers <ndesaulniers@...gle.com>,
Kees Cook <keescook@...omium.org>, asmadeus@...ewreck.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Masahiro Yamada <yamada.masahiro@...ionext.com>
Cc: Jonathan Corbet <corbet@....net>, Arnd Bergmann <arnd@...db.de>,
dwmw@...zon.co.uk, LKML <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Will Deacon <will.deacon@....com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
daniel@...earbox.net, hpa@...or.com
Subject: Re: [PATCH] include/linux/compiler*.h: make compiler-*.h mutually
exclusive
On Thu, 2018-08-23 at 14:03 -0700, Nick Desaulniers wrote:
> One reply for a bunch of the various threads, to keep the number of emails down:
>
> On Wed, Aug 22, 2018 at 5:20 PM Joe Perches <joe@...ches.com> wrote:
> > On Wed, 2018-08-22 at 16:37 -0700, Nick Desaulniers wrote:
> > > +/* Compiler specific macros. */
> > > #ifdef __clang__
> > > #include <linux/compiler-clang.h>
> >
> > probably better as
> >
> > #if defined(__clang)
> >
> > to match the style of the #elif defined()s below it
>
> Hi Joe,
> Thanks for the feedback. I always appreciate it. If you have some
> cleanups, want to send them to me, and I'll bundle them up for a PR?
> I'm ok with that change.
>
> > > +#ifdef __GNUC_STDC_INLINE__
> > > +# define __gnu_inline __attribute__((gnu_inline))
> > > +#else
> > > +# define __gnu_inline
> > > +#endif
> >
> > Perhaps __gnu_inline should be in compiler-gcc and this
> > should use
> >
> > #ifndef __gnu_inline
> > #define __gnu_inline
> > #endif
>
> Not this case; it's how we get gnu89 semantics for `extern inline` is
> not compiler specific (therefor should not go in a compiler specific
> header).
It's not possible to know that compilers support what
__attribute__((<foo>)) and at what version that support
exists unless it is specified somewhere.
As far as I can tell, gnu_inline is not recognized by clang.
https://clang.llvm.org/docs/AttributeReference.html
Powered by blists - more mailing lists