
Here comes the new Gnu Ada compiler for Linux in its newly updated form
as of December 23rd (1.67). I have uploaded gnat-1.67-l2.tar.gz into the
incoming directories of SunSite, tsx-11, and Nic. From SunSite you can
get it right now. Expect some days until the maintainers move it to the
following directories:

sunsite.unc.edu:/pub/Linux/development/ada/gnat-1.67.l2.tar.gz
nic.funet.fi:/pub/OS/Linux/util/languages/gnat-1.67.l2.tar.gz
tsx-11.mit.edu:/pub/linux/packages/Ada/gnat-1.67.l2.tar.gz

They replace the previous version gnat-1.67.l2.tar.gz

Some of the features supported since the last announced version are:

Ada 83 features:
================
Io_Exceptions/Ada.IO_Exceptions
Text_IO/Ada.Text_IO (with some restrictions. See features file for details) 
Derived integer/modular types with constraints
Some constraint checking (can be turned off with switch -gnatp)
Floating point declarations (without constraints).

Ada 9X features
===============
Primitive equality on all composite types
Abstract tagged types and abstract subprograms
Checks on use of 'Access attribute
Subtype of Modular types
View conversions for tagged types
Numerous additional semantic checks

... and lots of bug fixes !

Note that a preliminary version of Text_IO is now available 


The GNAT project will implement the full Ada9X language which has full
support of Object Oriented Programming (using a slightly different
approach than C++, see the paper intro-9x.txt), has already working
Generics (aka templates), exception handling, and a full tasking support
within the language itself (the runtime support is not yet ready)


I have tested the compiler on the examples and of course on
itself. The executable that you find in this distribution has compiled
itself. There is a bug in the Linux assembler 'as'. You need a patched
version, if you want to bootstrap gnat1 yourself. Drop me a note
(ebert@enpc.fr), and I will mail it to you.



This distribution mainly contains two files:

./usr/lib/gcc-lib/i486-linux/2.5.7/gnat1
./usr/bin/gnatbind

They have been compiled with gcc-2.5.7 (C) and gnat-1.67 (Ada). They are
dynamically linked with libc-4.4.4.

You find some documentation about using GNAT and Ada9x in
./usr/src/gnat

Since version 2.5.0, Ada support already is included in the main
distribution of GCC. So we don't need a special driver program anymore
(/usr/bin/gcc). This means that you must have installed a version of GCC
2.5.X. 

If you use gcc 2.4.5, you need a patched driver program /usr/bin/gcc. It
can be found in the same directory where get the Linux GNAT distribution.
Simply copy the gnat1 executable into the needed gcc directory:

% mv /usr/lib/gcc-lib/i486-linux/2.5.7/gnat1 /usr/lib/gcc-lib/i486-linux/2.4.5/gnat1
% cd /
% zcat gcc-drv-2.4.5.tar.gz | tar xf - 


Perhaps it is a good idea to get the latest Ada9X reference manual from:

ajpo.sei.cmu.edu:/public/ada9x/rm9x/v4.0

It might look a bit thick, but there are a lot of instructive examples
and you better understand the list of supported and unsupported features
of the current release.


Two working examples are in 

./usr/src/gnat/examples/hello 
./usr/src/gnat/examples/instruments


The first packages of the runtime library (including Text_IO) are in 

./usr/src/gnat/rtl

I'll build a libada.a as soon as the include files don't have to be in
the current directory (a momentary limitation of GNAT). (BTW, I put in a
dirty patch this time, allowing include-files to stay in
/usr/local/ada/lib. This is a certain subject to change. But if you
don't want to clutter your working directory with the runtime files, it
is quite practical to put them there.)


Please read and gnat-intro (a kind of user guide for GNU-Ada)


BUGS

If you have problems using gnat please tell me (ebert@enpc.fr)
first. I will check on a Sparc Station if it is a Linux port problem
or a bug in GNAT.

If you have general questions concerning Ada, please read comp.lang.ada
and the useful FAQ. A lot of Ada information can be found at
wuarchive.wustl.edu:/languages/ada


