This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

making non-gcc bootstraps croak earlier. was: C++ compile failure on mips-sgi-irix6.5


Alexandre Oliva wrote:
> On May  2, 2001, Mark Mitchell <mark@codesourcery.com> wrote:
> 
> >>>>>> "Lee" == Lee Iverson <leei@AI.SRI.COM> writes:
> Lee> Of course.  And it does seem to be working properly with a
> Lee> 'make bootstrap' but a simple 'make' doesn't seem to invoke
> Lee> the preexisting compiler.  I am pretty sure that it used to
> Lee> do so.
> 
> > Hmm.  I don't remember that, but it could be true.  There was some
> > Makefile reorganization for the building of cc1plus and such not too
> > long ago.
> 
> It has always been the case that `make bootstrap' uses CC only to
> build stage1 (only the C front-end), while `make all' uses CC to build
> everything.  So, if you're not using GCC as CC, you should not enable
> any front-end other than C.

This is a lovely example of knowledge embedded in the wrong place.

It's documented to work that way in install.texi.   All the GCC
insiders know it.   It's answered on the lists several times a month.
But the person that grabs the tarball and types 'configure ; make' 
will be punished.   You can argue that those people are beneath us 
and should RTFM or that we shouldn't be catering to that crowd, but
those aren't very good arguments and the number of times this has
come up seems to be affirmation.

The first line compiled of any front-end compiler that should be
compiled with only GCC should be a test that it's being compiled
with GCC.   #ifndef __GNU_C_VERSION / #error Use make bootstrap as
described in section a.b.c of TFM (or whatever) would go a long way
to addressing this sort of thing.

RJL


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]