Re: macro in linux/compiler.h pollutes gcc __attribute__ namespace

Timmy Douglas
2005-05-04T18:11:04Z

Brian Gerst <bgerst@didntduck.org> writes:

> Timmy Douglas wrote:
>> (I'm not subscribed so please CC me replies that you want me to reply
>> to.)
>> Recently I've found a problem with emacs where gcc optimizes a
>> function to be inline where it shouldn't be. The emacs developers use
>> a macro like this:
>>[snip]
>> I've realized that this file includes linux/compiler.h which does:
>> 139
>> 140 #ifndef noinline
>> 141 #define noinline
>> 142 #endif
>> 143
>>[snip]
>
> The right question to be asking is why is emacs including kernel headers?

I'm guessing it goes sort of like this:

signal.h -> bits/sigcontext.h -> asm/sigcontext.h -> linux/compiler.h