This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Mainline bootstrap failure in toplev.c
> Can you please find out? ?Whatever it is, *that's* the place we
> probably need to fixinclude.
This happens only when compiled with stage1/xgcc. And the reason is a little
more complicated than I had thought: in /usr/include/linux/compiler.h, we
have
#if __GNUC__ > 3
# include <linux/compiler-gcc+.h> /* catch-all for GCC 4, 5, etc. */
#elif __GNUC__ == 3
# include <linux/compiler-gcc3.h>
For mainline, we have __GNUC__==4, so we include the second include file in
the first stage, and the first include file when compiling with stage1/xgcc.
Now, in /usr/include/compiler-gcc+.h we find the evil:
#ifndef __KERNEL__
#define inline __inline__ __attribute__((always_inline))
#define __inline__ __inline__ __attribute__((always_inline))
#define __inline __inline__ __attribute__((always_inline))
#endif
Note *ifndef*, whereas in /usr/include/compiler-gcc3.h we had the exact
opposite condition of whether __KERNEL__ is defined. I would claim that this
is a genuine typo/bug in the kernel headers.
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ices.utexas.edu
www: http://www.ices.utexas.edu/~bangerth/