This is the mail archive of the gcc@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]
Other format: [Raw text]

make, make bootstrap, bool & gcc 2.95


I just hit a problem similar to the one that Tim Josling just mentioned.
My problem was caused by doing `make bootstrap', doing a cvs update,
and then doing `make'.  This lead to some files being compiled with
GCC 3.x (those built in the original `make bootstrap') and some files
being compiled with GCC 2.95.3.  The result was a compiler which
failed in very obscure way.

The cause of the failures was that the size of `bool' was different
depending on which bootstrap compiler was used.  This lead to the
structure layouts for the diagnostic_context struct being different,
which lead to the eventual obscure error message.

It would be nice if this could be avoided, or at least detected.

One way to avoid it this particular problem, at least on x86, would be
to define `_Bool' as `int' rather than `char' if the bootstrap compiler
doesn't define it.

Are there any known other "gotchas" to mixing files compiled with different
bootstrap C compilers?

Is correct usage of the various Makefile targets (all, bootstrap, restrap,
quickstrap, bubblestrap, etc.) documented anywhere?

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.


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