From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zack Weinberg To: Geert Bosch Cc: Richard Kenner , gcc@gcc.gnu.org Subject: Re: Ada files now checked in Date: Tue, 02 Oct 2001 20:37:00 -0000 Message-id: <20011002203712.M16447@codesourcery.com> References: <20011002192212.L16447@codesourcery.com> X-SW-Source: 2001-10/msg00143.html 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 GCC CVS? zw