comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <dewar@gnat.com>
Subject: Announcing GNAT version 3.12p for Linux and Sparc Solaris
Date: 1999/10/19
Date: 1999-10-19T00:00:00+00:00	[thread overview]
Message-ID: <7uia7h$kn4$1@nnrp1.deja.com> (raw)

A new public release of GNAT version 3.12p, is now
available at

   ftp://cs.nyu.edu/pub/gnat

for GNU/Linux and Sparc Solaris. Other versions to follow very
shortly, as well as RPM's for Linux (from the GNAT/Linux
group).

This release coincides with the opening day of Sig Ada :-)

Robert B. K. Dewar
Ada Core Technologies

The following is a list of new features in version 3.12,
as compared with version 3.11
-----------------------------

  The standard GNAT library (on Unix systems) now contains a
Makefile
  called Makefile.adalib which allows recompilation of the
runtime
  with different compilation options or different configuration
  pragmas.

  GNAT now handles C, C++ and Fortran convention boolean types
specially.
  In all these cases, zero/non-zero semantics is used, so that
any
  non-zero value is treated as equivalent to True. This means
that
  the implementation of Interfaces.Fortran.LOGICAL is more
accurate,
  and provides a convenient way of importing C int values used
as
  boolean values.

  GNORT now permits the use of allocators and it is also
possible to
  explicitly raise Program_Error. These calls are supported by
user
  defined subprograms. See GNORT documentation for full details.

  A new package, GNAT.Current_Exception is provided for access
to the
  current exception name and information. This is provided for
compatibility
  with other Ada 83 compilers. See g-curexc.ads for a full
description of
  this package.

  A new gnatbind option, -shared, enables the use of a shared
GNAT library
  when available (currently DEC Unix, SGI IRIX and OpenVMS).
  Static GNAT library is the default on all targets but VMS and
SGI IRIX.

  A new tool is provided, gnatdll. This is an NT/Win9x specific
tool
  to help in constructing DLLs.

  Complete rewrite of the section of NT/Win9x specific features
and
  documentation of the GNAT technology in this area. This
section now
  clearly explains and documents how to use the NT/Win9x
specific
  features of the GNAT technology.

  The compiler is now built with options -gnatpn instead of
-gnata.
  This means that the front end of the compiler is considerably
  faster, up to 2-3 times faster in some cases. The cases where
you
  will see the biggest speed up are in -gnatc compilations with
no
  code generation, or if very large specs are with'ed from
smaller
  units.

  If pragma Suppress is used in the gnat.adc file, this now
properly
  suppresses exceptions in all files compiled in the presence of
this
  gnat.adc file (Suppress pragmas in gnat.adc were previously
ignored,
  which is in accordance with the RM, but certainly not what is
wanted!)

  On Digital Unix 4.0D, the run time now takes advantage of the
full
  range of priorities (0 .. 63).

  In -gnatc mode, an existing up to date ali file is no longer
destroyed.
  In particular this means that the -gnatc -gnatt compilations
used by
  ASIS do not destroy existing ali files.

  A new switch -gnaty activates style checking features in the
compiler.
  These roughly correspond to the checking done by the special
internal
  -gnatg flag, except that -gnaty allows extensive choice of
which checks
  are to be performed, and also allows parametrization, e.g. of
the indent
  level that is enforced.

  The handling of aggregates has been optimized in many cases,
generating
  more efficient code and less memory usage.

  The binder now generates an Ada package as the main program by
default
  instead of a C program. The generated files are called
b~xxx.ads/adb,
  where xxx is the name of the main program. The -C switch for
both
  gnatbind and gnatlink can be used to get the old behavior of
generating
  the main program in C.

  The compilation switches are now stored in the ali file (lines
starting
  with A). This is used to implement the corresponding ASIS
option to
  retrieve the command line arguments.

  A new pragma Finalize_Storage_Only has been implemented. It
indicates
  that a Finalize routine is present only for the purposes of
releasing
  storage, and that thus the Finalize call can be omitted in
some cases
  (e.g. for objects declared at the library level).

  A function and a procedure to retreive the current working
directory
  have been added in g-dirope.ad[sb].

  Gcov, a test coverage program is now distributed with GNAT.
See the gcc
  documentation for its use.

  pragma Task_Info is now available for AiX and can be used to
specify the
  scheduling contention scope of each Ada task.

  New switches -nostdinc and -nostdlib for gnatmake and
gnatbind. New
  switch -nostdinc for gcc/gnat1 and gnatls. -nostdinc turns off
looking
  for sources in the system default directory. -nostdlib turns
off looking
  for library files in the system default directory.

  [VMS] Wildcard directory specifications accepted and expanded
in /SEARCH
  qualifiers and ADA_{INCLUDE,OBJECTS}_PATH logicals.

  Add support for Windows NT Resources. Under NT there are two
new tools.
  RCL the resource compiler and res2coff to convert a binary
resources
  file to a coff object file to be linked with a program.

  A new package GNAT.Traceback provides non-symbolic tracebacks
at
  run time on Solaris and Linux.

  A new package GNAT.Traceback.Symbolic provides symbolic
tracebacks at
  run time on Solaris and Linux.

  A new package GNAT.Regpat implements the full V7 regular
expression
  matching, including such features as anchors, and is thus a
more
  complete implementation than that in GNAT.Regexp, which is
retained
  for compatibility (and is in any case more appropriate for
certain
  functions).

  The packages Calendar and Ada.Real_Time for the NT/Win9x
implementation now
  use a high resolution clock providing a resolution of 1
micro-sec.

  A new convention DLL has been added to simplify the
development of DLL's
  using the NT/Win9x port of GNAT..

  The convention Stdcall is now available for variables as well
as
  subprograms for the NT/Win9x port of GNAT.

  A restricted version of the run time is now provided. This
version of
  the run time is automatically used if the appropriate set of
restrictions
  is used. A new pragma Restricted_Run_Time sets this set of
restrictions.
  The restricted run-time is more efficient for the set of
allowed operations.

  A new pragma Ravenscar establishes the set of restrictions
that corresponds
  with the Ravenscar profile for limited tasking. This is a more
restrictive
  set than Restricted_Run_Time, so use of pragma Ravenscar will
also cause the
  restricted run time to be used.

  A new restriction identifier No_Complex_Barriers has been
added which
  causes barriers to be restricted to simple boolean variables
declared
  within the protected type. This is one of the Ravenscar
restrictions.

  A new restriction identifier No_Select_Statements has been
added which
  completely eliminates the use of select statements. This is
one of the
  Ravenscar restrictions

  The list of switches printed out when the -gnath option is
used now includes
  common gcc switches.

  The handling of protected objects with no entries has been
simplified and
  optimized.

  A new switch -gnatR causes the compiler to output
representation information
  for declared arrays and records.

  A new switch -gnatD causes the compiler to generate files with
names
  x.dg (where x is the source file name) that contain the
expanded (-gnatG)
  code and to force debugging information to refer to these
files. This
  allows source level debugging using the expanded code.

  The package GNAT.Command_Line has been updated to handle
sections on
  the command line, as in gnatmake (-largs, -bargs, ...). There
is also
  a new character '!' to specify that a switch must have a
parameter, and
  that there must be no space between the two. Finally, a new
special switch
  '*' has been created, to match any item on the command line.

  Shared passive partitions are fully implemented, including
support for
  protected objects that provide global locking capability. The
implementation
  allows the use of shared passive partitions to communicate
between separate
  programs as well as between partitions of a single distibuted
program, and
  also provides for automatic persistance from one run to
another.

  A new flag -O for gnatbind gives a complete list of objects
that are
  needed by the Ada part of the program.

  The sorting packages GNAT.Heap_Sort_A, GNAT.Heap_Sort_G,
GNAT.Bubble_Sort_A
  and GNAT. Bubble_Sort_G use subtype Natural instead of
Positive for the
  number of items to sort, so it is no longer an error to sort
an empty
  range of items.

  A new package GNAT.Threads (in files g-thread.ads/adb)
provides a general
  facility for foreign code (e.g. written in C) to create
threads in a
  manner known to the Ada run-time system, so that these threads
can
  freely call Ada code that uses explicit or implicit tasking
constructs.

  The Assert pragma now permits expressions of types derived
from Boolean
  instead of requiring Standard.Boolean itself.

  A new flag -z for gnatmake and gnatbind allows the more
convenient
  compilation/binding/linking of an Ada program without a main
subprogram.
  The execution of such a program is identical to the one of the
program
  with an empty main subprogram with a "with" clause on the main
package.

  The output format of gnatxref has been modified to be in
columnar
  format so that it is easier to read.

  The gnatfind utility now accepts wild cards in the file name
to allow
  a set of files to be searched, and this works on all operating
systems.

  The gnatprep utility now supports boolean expressions (and,
or, and
  then, or else, =, 'Defined), and has a new command line switch
to
  define symbols.

  A new optimization circuit removes many subscript checks in
loops in
  the cases where the range of the loop can be determined to be
in range
  of the subscript.

  The location (file and line number) at which an exception was
raised now
  appears by default in the exception message, and the message
for an
  unhandled exception includes this information.

  Zero cost exceptions are now implemented in DEC Unix and on
SGI Irix.
  On these two targets, zero cost exception handling is the
standard
  default. You can select longjmp/setjmp exception handling
(smaller
  executables) by using the -gnatL switch on all compilations
including
  the library units. The switch -gnatZ can be used to enable
zero cost
  exceptions on certain other targets including NT, but these
are partial
  implementations in which exceptions cannot be propagated
through C
  code (but for all Ada programs, this will work correctly).

  In the DEC Unix version, foreign threads (those created
outside Ada) are
  now recognized automatically and converted to Ada tasks for
proper
  treatment by the Ada run time as Ada tasks.

  24-bit packed components are now permitted in GNORT mode
provided that
  the alignment of the component type is explicitly set to 1.

  A new attribute System'To_Address (X) has exactly the same
result value
  as System.Storage_Elements.To_Address (X), except that the
result is a
  static value if the input value is static, allowing its use in
a package
  to which pragma Preelaborate applies.

  It is now permissible to declare library variables whose
nominal type is
  unconstrained String in GNORT mode if the initializing
expression is a
  string literal.



Sent via Deja.com http://www.deja.com/
Before you buy.




             reply	other threads:[~1999-10-19  0:00 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-10-19  0:00 Robert Dewar [this message]
1999-10-19  0:00 ` Announcing GNAT version 3.12p for Linux and Sparc Solaris Vincent Marciante
1999-10-21  0:00   ` Tim Erickson
1999-10-22  0:00     ` mitch
1999-10-23  0:00       ` Tim Erickson
1999-10-23  0:00         ` Kent Paul Dolan
1999-10-23  0:00           ` Aidan Skinner
1999-10-24  0:00           ` David Botton
1999-10-24  0:00             ` Robert Dewar
1999-10-24  0:00               ` Tim Erickson
1999-10-23  0:00     ` Robert Dewar
1999-10-23  0:00       ` Tim Erickson
1999-10-20  0:00 ` mitch
1999-10-20  0:00 ` bourguet
1999-10-21  0:00 ` Andrew Lynch
1999-10-21  0:00 ` Robert Dewar
1999-10-21  0:00   ` Jeff Creem
1999-10-23  0:00     ` Robert Dewar
1999-10-21  0:00 ` Alfred Hilscher
1999-10-21  0:00 ` Jean-Pierre Rosen
1999-10-21  0:00   ` Aidan Skinner
1999-10-23  0:00     ` Robert Dewar
1999-10-24  0:00       ` Aidan Skinner
1999-10-24  0:00         ` Ada and OS/2 Robert Dewar
1999-10-22  0:00 ` Announcing GNAT version 3.12p for Linux and Sparc Solaris Chris Morgan
1999-10-23  0:00 ` James E. Hopper
1999-10-24  0:00   ` James E. Hopper
1999-10-25  0:00     ` Samuel Tardieu
1999-10-26  0:00     ` Robert Dewar
1999-10-26  0:00       ` James E. Hopper
1999-10-27  0:00         ` Robert Dewar
1999-10-27  0:00           ` Jean-Pierre Rosen
1999-10-24  0:00   ` Matthew Heaney
1999-10-24  0:00     ` James E. Hopper
1999-10-26  0:00       ` Ronald Cole
1999-10-27  0:00         ` Robert Dewar
1999-10-28  0:00           ` Vladimir Olensky
1999-10-30  0:00       ` Richard Kenner
1999-10-31  0:00         ` Robert Dewar
1999-10-24  0:00     ` Robert Dewar
1999-10-24  0:00     ` Samuel Tardieu
1999-10-28  0:00 ` Robert Dewar
1999-10-28  0:00   ` David Botton
1999-10-29  0:00   ` Ted Dennison
1999-10-31  0:00     ` Robert Dewar
1999-10-31  0:00   ` GNAT 3.12p NT/Win98 Was: " Vladimir Olensky
1999-11-01  0:00     ` Vladimir Olensky
1999-11-02  0:00     ` Robert Dewar
1999-11-02  0:00       ` Vladimir Olensky
1999-11-01  0:00 ` Announcing GNAT version 3.12p for HPUX Robert Dewar
1999-11-01  0:00   ` Announcing GNAT version 3.12p for Power PC AIX Robert Dewar
1999-11-01  0:00   ` Announcing GNAT version 3.12p for HPUX Robert Dewar
1999-11-01  0:00   ` Announcing GNAT version 3.12p for Powermac Robert Dewar
1999-11-01  0:00     ` David Botton
1999-11-01  0:00   ` Announcing GNAT version 3.12p for Solaris x86 Robert Dewar
1999-11-01  0:00   ` Announcing GNAT version 3.12p for Powermac Robert Dewar
1999-11-03  0:00 ` Announcing GNAT version 3.12p for OS/2 Robert Dewar
1999-11-02  0:00   ` Vincent Marciante
1999-11-03  0:00     ` Tim Erickson
1999-11-03  0:00   ` Bill Eriksson
1999-11-03  0:00   ` Larry Kilgallen
1999-11-03  0:00     ` Robert Dewar
1999-11-03  0:00   ` Alfred Hilscher
1999-11-03  0:00 ` Announcing GNAT version 3.12p for DEC Unix Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox