[Bug bootstrap/85921] /gcc/c-family/c-warn.c fails to build
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Fri May 25 10:52:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85921
--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 25 May 2018, gcc at mailinator dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85921
>
> --- Comment #2 from John Simon <gcc at mailinator dot com> ---
> > Can you figure out who #defines noinline?
>
> Sure. Using -E -dD pointed to "/usr/include/linux/compiler.h" which has:
>
> ```c
> /*
> * From the GCC manual:
> *
> * Many functions do not examine any values except their arguments,
> * and have no effects except the return value. Basically this is
> * just slightly more strict class than the `pure' attribute above,
> * since function is not allowed to read global memory.
> *
> * Note that a function that has pointer arguments and examines the
> * data pointed to must _not_ be declared `const'. Likewise, a
> * function that calls a non-`const' function usually must not be
> * `const'. It does not make sense for a `const' function to return
> * `void'.
> */
> #ifndef __attribute_const__
> # define __attribute_const__ /* unimplemented */
> #endif
>
> #ifndef noinline
> #define noinline
> #endif
>
> #ifndef __always_inline
> #define __always_inline inline
> #endif
> ```
:/
How does that get included?
I suppose we could add an appropriate #undef to system.h after the
offending include stmt with a comment.
More information about the Gcc-bugs
mailing list