patch for -Wno-long-long and early GNAT compilers

Fergus Henderson fjh@cs.mu.OZ.AU
Mon Mar 18 22:15:00 GMT 2002


On 18-Mar-2002, Zack Weinberg <zack@codesourcery.com> wrote:
> There is still something I don't understand, though.  You've said over
> and over that you can't devote resources to making the Ada front end
> portable.  The implication is that it's too hard.  My experience over
> in the C front end indicates just the opposite; we don't have trouble
> maintaining buildability with ancient broken pre-standard compilers,
> and simultaneously making use of modern constructs.  Why is the Ada
> situation so different?

With the Mercury compiler, our experience is similar to that with Ada:
we break buildability with previous versions of the Mercury compiler
every couple of months, on average.  It's often convenient to make use
of compiler features that have only been added recently.
This occurs for a variety of reasons, e.g.

	- adding new compiler options and then making use of them in the
	  Makefiles or other build scripts

	- changes to the runtime system (e.g. the layout of RTTI data)
	  that require corresponding changes to the compiler

	- changes to the standard library (e.g. builtin functions)
	  that require corresponding changes to the compiler

Probably most of these things *could* be autoconf'd, but we don't
bother; autoconfing them would require considerable additional effort
(e.g. keeping two or more different versions of the RTTI data layouts
in our runtime header files).

The additional effort is not justified, because we compile Mercury to C
and we ship the generated C code in our "source" distributions.
Thus all you need to install Mercury from the source distribution
is the appropriate C compiler.

The only time these bootstrapping issues cause trouble for us is when
someone is trying to build from CVS; since the generated C code is not
stored in CVS, they need to first download the latest source snapshot
and use that to bootstrap.

Having gotten used to the convenience of being able to add a new compiler
option and make use of it just a couple of weeks later, rather than a
couple of years later, I can certainly understand why ACT don't want to
expend the additional effort to maintain compatibility with very old
versions of GNAT.

-- 
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.



More information about the Gcc mailing list