This is the mail archive of the
mailing list for the GCC project.
Re: Ada files now checked in
On Tue, Oct 02, 2001 at 10:46:48PM -0400, Geert Bosch wrote:
> On Tue, 2 Oct 2001, Zack Weinberg wrote:
> Why do you have this policy? It seems liable to cause nothing but
> trouble. I'm even a bit surprised it should be necessary given that
> there don't seem to be much in the way of language extensions in GNAT;
> I would think you could write conforming Ada95 and have no trouble.
> Or is the issue bugs in earlier revisions?
> There are various reasons for this. Most of the issues are in the run time,
> where in the end one must be sure that the implementation of high-level
> features does not itself rely on those features. In some places, we have
> decided to add GNAT-specific attributes (which is allowed by the Ada standard)
> that we mostly use for implementing the Ada run time using Ada. For examples
> of this, see the system.ads file.
Hmm, there's a distinction to be drawn between the compiler and the
runtime. It is reasonable for the runtime to have this sort of deep
dependency. The compiler itself really shouldn't need to, IMO.
You're presumably lumping them together because the compiler needs its
own runtime. We could - we might even want to - minimize the number
of things that the compiler uses from the runtime, replacing them for
instance with direct use of the C runtime libraries. That'd be a
tradeoff between work done to create the stubs, work done in the
future to maintain them, and saved effort on the part of people who
"just want to build the compiler." I'm just speculating, here; I'm
not necessarily advocating any such thing be done.
[I'm not that familiar with Ada, and as a low-level sort of person I
tend to think it ought to be possible to write even complex programs
in a language that completely bypass the vendor-provided runtime. This
may be Not The Way These Things Are Done in Ada.]
Relatedly, I've been wondering if it makes sense to move out the
things built by "make gnatlib_and_tools" to a libada directory at top
level, as is done for the other languages.
> For these and other reasons it is impractical to implement the compiler
> and run time in 100% standard Ada. We always have guaranteed that every
> version of the compiler can be built with the previous released public
> version, and in practice this policy never has been a problem.
Well, define "previous released public version". The one I can get at
easily is 3.13p-8 which seems to have been based on gcc 2.8.1. Is
that the appropriate version to use to build what's been checked into