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]

Why not gnat Ada in gcc?




Gene Montgomery <g.montgomery@gte.net> wrote:

 >It is a wonderment to me that the Ada 95 compilation system,
 >originally built with public funds, called GNAT (for
 >GNU Ada Translator, IIRC), and organized according to some
 >consultation by RMS, has not been taken under the wing
 >of the gnu crew.  I have not found Ada Core Technologies (ACT)
 >particularly user-friendly, and have wondered why the gnu crew
 >would not have decided to add Ada to the already substantial
 >capabilities of GCC.  ACT just doesn't keep it up - my
 >gcc libraries are never in sync with the gnat libraries. If
 >gnat were to be just another mode of operation of the gcc
 >package, these kinds of issues would be solved by the gnu crew.

It has always been our intention that GNAT would be integrated into the
GNU standard distribution in one manner or another. What delayed this
for quite a while was the split of the FSF and EGCS trees. Since the
major reason for the integration for many people was to get better
GNAT/g++ coordination, it became clear that the best path to achieving
this goal was to work on getting GNAT to be compatible with the latest
merged FSF sources.

This involves two significant tasks.

1. Installing bugfixes to GCC that were developed after the 2.8.1 release
but had not been installed in the EGCS tree and fixing a number bugs in
the GCC development tree that were more visible with Ada than with C,
though test cases in C could be contructed for some of them.  In addition,
some of the infrastructure changes that were made to GCC during the EGCS
work were refined, both as a cleanup for GCC and to make them more usable
for Ada. 

2. Updating GNAT to be compatible with the new frontend/backend interface
specifications, which have changed significantly from GCC 2.8.1.

The current status of this work is that 1. is largely complete, as any of
you know who have followed the gcc status, Richard Kenner has completed
the checkin of thousands of lines of patches to gcc to meet this requirement.
Many of these checkins are generally beneficial in that they improve
performance or correct bugs in multiple languages, others correct bugs
that are relevant (at the current time) only to GNAT.

The work on 2 is also largely complete, we now have a bootstrapped version
that passes the entire ACVC suite, but we have not yet run our internal
regression suite, and that is the next step before we release the new
version of GNAT (and the new version in general has to go through our
quality assurance procedures). We hope to complete these steps in the
near future, and at that stage, the integration of Ada into the GCC
release is both practical and desirable. 

So far, this work has only been checked out on a handful of targets (the
ACVC testing only on one target, the bootstrap on three). For the most
part we expect the support of other targets to be straigntforward, in
that most issues are target independent, but there are always some
target dependent issues.

Concerning GDB, each successive version has required major additions
in order to support Ada properly.  In the past we have developed
these Ada specific additions for GDB versions 4.16 and 4.17.
We are in the process of developing the patches for 5.0.
This is not just a matter of applying an existing patch file
since there is quite a bit of specialized work. Again, this is a
high priority project for us, and we are making good progress, and
the Ada aware GDB 5.0 is now starting to work on some targets.
The changes will be integrated into the public GDB tree as soon
as they are in reasonable shape.

Ada Core Technologies will continue to make new versions available 
publicly as it has always done in the past (funded now incidentally
wholly by paying customers, there has been no government support for
many years, so at this stage only a small fraction of the development
has been government funded, perhaps about 25% of the total). In addition,
in the Linux environment, there is an active group that is interested
in helping to maintain GNAT-for-Linux (these are the people who 
realistically form the volunteer group that will do interesting things
with GNAT). Ada Core Technologies and ACT Europe work closely with the
GNAT-Linux group.

Finally, just a note, GNAT never stood for GNU Ada Translator. It
originally stood for GNU NYU Ada Translator, but since it no longer
has anything to do with NYU, and since it is not a translator in the
usual sense, but rather a real compiler, the acronym was long ago
abandoned, and we refer simply to GNAT (not an acronym) or GNU Ada,
the latter designation being useful in the GNU context to identify
what this beast is :-)

Robert Dewar
Ada Core Technologies

[Robert is also the FSF appointed maintainer for GNU Ada]



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