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]

Re: [Ada] Bootstrapping mainline GNAT fails


<<Hmm...  Here's my total ignorance of Ada gets in the way: I wonder if
Ada has some feature that resembles a C preprocessor, that would allow
the auto-selection of chunks of code based on features available in
the bootstrap compiler.
>>

No, but that's not the point. The push to use additional features of Ada
is a push to make the code easier to read, easier to maintain, more reliable,
and more robust. These are useful goals, they must be balanced out against
the requirement of being able to bootstrap with ancient versions (> 2 years
old) of GNAT. Also note that no one will be actively testing out the bootstrap
with such old versions, so they may indeed break. You can obviously decree
that any such breakage is not allowed, but that simply has the effect of
increasing the threshhold for useful changes, and you run the risk of getting
what you want at the expense of keeping useful changes out.

Certainly the value to ACT of keeping the sources compiling with ancient
versions is precisely zero. The value on the other hand of cleaning out
ancient junk (e.g. kludges put in to get around limitations in early
compilers) is definitely positive. 

If someone wants to decree that for the FSF, it is a mandatory requirement
that GNAT be able to be built with all previous versions of itself, then
that's certainly doable. You just leave the sources as they are and the
criterion is met. That's not terrible, it just means that the FSF tree
will not be the place to find the latest GNAT sources, and you will have
to go elsewhere.

Are you really sure that the requirement of being able to bootstrap with
all previous versions is important enough to decree it as a requirement?


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