From mboxrd@z Thu Jan 1 00:00:00 1970 From: dewar@gnat.com (Robert Dewar) To: gcc@gcc.gnu.org Subject: Why not gnat Ada in gcc? Date: Mon, 25 Sep 2000 17:28:00 -0000 Message-id: <20000926002650.9B97934D82@nile.gnat.com> X-SW-Source: 2000-09/msg00636.html Gene Montgomery 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]