Announcing GNAT 3.03 (GNU Ada) for RISC OS
==========================================

GNAT is a compiler for Ada 95 and is available *free* for machines
running RISC OS and is covered by the GNU General Public License. GNAT
was originally developed by the GNAT team at New York University. It is
now maintained by Ada Core Technologies Inc (http://www.gnat.com/).
However, the RISC OS version is not supported by ACT, but by Peter
Burwood (gnat@arcangel.dircon.co.uk).

Ada code is compiled to native ARM code by the GNU compiler backend as
used with other GNU languages such as C, C++, Fortran and Pascal. The
Ada source is not converted to C, but directly to a high level
representation used by the GNU compiler backend which then generates
high quality ARM code. GNAT supports exceptions, but, unfortunately, not
tasking. I am currently working on tasking and hope to release this
sometime soon. Programs with tasking can be compiled, but not linked.
GNAT also allows interworking with C by specify the signature of the
C function and calling it directly from Ada code.

GNAT is available from HENSA (ftp micros.hensa.ac.uk) in the direrctory
/micros/arch/riscos/e/e095. The archive is 3375K (about 7M unpacked) and
includes the executables for GNAT, the standard Ada 95 libraries and
some example Ada code. The archive is in Zip format, so you will need to
use InfoZip, Spark or SparkFS and not ArcFS.

GNAT requires a lot of memory (at least 6MB). If you haven't got enough
memory then you will need Virtual (pre Risc PC users) or something like
Virtualise (for Risc PC users). GNAT also requires the GCC 2.7.2
archive (see HENSA directory /micros/arch/riscos/b/b013), since it
installs over the top of that. GNAT works with UnixLib 3.7b (not 3.6e)
and the SharedCLibrary. UnixLib 3.7b is available from ftp.demon.co.uk
in /pub/archimedes/gnu/gcc, http://www.callan.demon.co.uk/unixlib/ and
HENSA.

Before you ask, yes, I know that GNAT 3.07 is available. However, this
version does not work under RISC OS yet due to a change in the code
generated for exceptions. This code is experimental in GNAT and I will
re-assess the likelihood of it working once gcc 2.8.0 becomes available.

Please note, all email regarding GNAT for RISC OS should be sent to me
at gnat@arcangel.dircon.co.uk, rather than my standard email address and
not to ACT or NYU.

Finally, a brief, but big thankyou to the following. The GNAT team for
providing GNAT in the first place, Simon Callan for his original work on
GCC for RISC OS, Nick Burrett for getting GCC 2.7.2 working and lots of
other help, Richard Earnshaw for his work on the ARM backend and helping
with bugs and Niklas Rjemo for the backend assembler 'as'.

regards,
Pete
-- EMail : gnat@arcangel.dircon.co.uk
