comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-deja.com>
Subject: Re: Announcing GNAT version 3.13
Date: 2000/03/15
Date: 2000-03-15T00:00:00+00:00	[thread overview]
Message-ID: <8ao4n6$jt5$1@nnrp1.deja.com> (raw)
In-Reply-To: 8ao4bn$jib$1@nnrp1.deja.com

NEW FEATURES IN GNAT 3.13

GNAT version 3.13 includes the first release of GLIDE, the
new integrated development environment that builds on and
extends our previous tools work.  GLIDE provides a fully
integrated editor and debugger environment, and supports
multiple graphical debuggers, including a new improved gdbtk
and a version of ddd adapted for use with GNAT.

  The GLIDE editor (based on ada-mode for Emacs)
  includes many new features.  Among them are:

    Gnatdist configuration files are automatically edited
    in Ada-mode.

    Support for big projects with hundreds of directories
    by getting rid of the command line length limit on some
    systems, as well as easier ways to enter a long list of
    directories in the project file.

    The cross-references to and within the standard runtime
    are automatically handled.

    Full contextual menus are provided with the right mouse
    button.

    Multiple exception files for automatic casing can now
    be specified, for instance one system-wide, one
    project-wide and a user-specific one.

    The project file editor is displayed through tabbed
    dialogs, with full contextual help on the fields.

    Indentation is now easier to configure since the
    ada-mode can explain which variable was used to
    indent a specific line.

Under unix systems, it is now possible to install GNAT at
any location without setting any environment variable.

A warning is issued for the use of
Import/Export_Valued_Procedure if the default Ada convention
is used, since it makes no sense to use convention Ada for
such a procedure, the only point of the feature is to
interface with foreign convention procedures.  This prevents
hard to find errors resulting in incorrect behavior at run
time.

A new style switch -gnatyn (STANDARD_CASING in the VMS
version) checks that all entities from package Standard are
cased in a manner consistent with the way this package is
presented in the Ada Reference Manual.

A simple way of interfacing with c++ is now documented in
the user's guide and has been added to the examples
directory.

A new gnatmake switch (-s) causes recompilation of a file if
its compilation options (e.g.  optimization level) have
changed.

A new gnatdll switch (-k) removed Stdcall @nn suffix from
the import library's exported names.

A new GNAT library package (GNAT.Float_Control in file
g-flocon.ads) provides an interface for resetting the
floating-point processor into the required mode.

A new GNAT library package (GNAT.Exceptions in file
g-except.ads) provides a mechanism for raising predefined
exceptions with messages from Pure units.

A new pragma, Suppress_Debug_Info, provides for suppressing
debugging information for selected entities.

Additional optimization circuits in aggregate handling
result in many more aggregate assignments being handled in
place, instead of generating an extra temporary.

The GNAT Reference manual now contains summary documentation
of the GNAT library routines.  The primary documentation is
still in the specs of the relevant packages, but the
document summarizes what facilities are available.

The package Ada.Strings.Unbounded.Text_IO is now documented
in the GNAT reference manual.

A new package Ada.Strings.Wide_Unbounded.Wide_Text_IO has
been added to provide Wide_Text_IO facilities for
Unbounded_Wide_String.

The -mlongcall switch as well as the __shortcall__ attribute
is now provided on all powerpc ports.  See the GCC
documentation for more details.

The Linker_Options pragma can now take multiple options,
which are guaranteed to apear in the sequence given in the
pragma.

The gnatbind -E option (stack tracebacks) is now supported
under Windows ix86.

New switches -gnatwa and -gnatwA are available to turn all
optional warnings on/off respectively.

The syntax for the -gnatw warning switch now allows a string
of options after the w. For example -gnatwaLe turns on all
optional warnings except elaboration warnings and considers
warnings to be errors.

The generated code for many slice assignments has been
improved, resulting in considerably improved execution time
on most targets.

The generated code for multi-dimensional arrays has been
improved, significantly improving performance in many
situations.

The compiler now does a much more effective job of
suppressing checks in array references in loops where the
arrays involved are parameters that are unconstrained array
types, or pointers to unconstrained arrays.

On VxWorks cross-compilers, a new package called
Interfaces.VxWorks provides provides a limited binding to
the VxWorks API.  In particular, it interfaces with the
VxWorks hardware interrupt facilities.

The package GNAT.Regexp no longer has any size limitation,
and can handle complex regular expressions.

A new warning switch -gnatwc turns on warnings for
relational and membership operators appearing in statements
(e.g.  if statements) whose results are known at compile
time to be always true or always false.

A new pragma Style_Checks allows selection of style checks
in a manner similar to the existing compiler switch, and
also allows the style checks to be temporarily turned off
and then turned back on again.

The binary releases now contain the necessary headers to
compile the C files in the runtime without having to do a
full build of GNAT from sources.

Makefile.adalib now also recompiles the C part of the GNAT
run time, providing the ability to rebuild completely the
GNAT libraries with the binary distribution.

Makefile.adalib is now available for cross compilers, as
well as the native versions of GNAT

The -gnatwu switch now also provides warnings about possible
access to uninitialized out parameters.

The -gnatyk switch (check identifier casing) error messages
now contain a source location reference to the definition of
the relevant identifier.

It is now permissible to specify the non-default Bit_Order
for record subtypes.  Component clauses for such types must
either specify an integral number of bytes, or the component
must lie entirely within one byte.  Note that, in accordance
with the RM, no reordering of bytes is done, the only effect
is to renumber bits.  This feature is therefore only of
limited use in dealing with big/little-endian interfacing.

Default_Bit_Order is now static.  This is strictly a
violation of the RM requirement that it be non-static, but
everyone agrees this was a mistake, and an AI is expected to
"fix" this mistake.  Other Ada 95 compilers are already
consistent with this modified interpreation of the RM.

Florist has been ported to Solaris 7 and HP-UX 11.00

GNAT now fully supports HP-UX 11.00, including a dual
tasking run time that provides access to the DCE run time
for compatibility with HP-UX 10.20, and to the POSIX pthread
run time.

Interrupt handling on HP-UX has been rewritten to provide a
more powerful and less restrictive signal handling.  In
particular, the signals SIGIO and SIGPIPE can now be handled
via Ada.Interrupts.

The listing generated by the -gnatR switch now includes
alignment values for array and record types.

The NT version of GNAT now generates object files that are
fully compatible with the standard Microsoft linker, so this
linker can be used instead of the GNU ld program to build NT
executables.

The default stack size on NT for tasking program has been
reduced to 8Mb (instead of 32Mb).  This increase the default
maximum number of tasks from approximately 60 to a value
around 250.

The gnathtml tool can now read the list of files to convert
from a file, eliminating the command line length problem on
some systems.

The parent type of derived types is now recorded in the
cross-reference section of the ali files.  The new ali
format is backward compatible with the previous one.

The gnatfind and gnatxref tools have been extended to
display the parent type of derived types.  Furthermore
gnatfind is now able to display the full type derivation
informations for a specific type.

Shared libraries are now provided as an option (via the
-shared gnatbind switch) on four additional targets:
Solaris x86, Solaris sparc, Linux and SCO UnixWare.

New restrictions No_Implicit_Conditionals and
No_Implicit_Loops have been added for greater control over
generated code.  This is particularly useful in a
safety-critical/certification environment using GNORT (GNAT
with no run time)

The performance of the elementary trigononmetric functions
has been substantially improved.

A new section has been added to the GNAT Reference Manual
providing a complete description of the set of
representation pragmas and pragmas that are accepted by
GNAT, and their effect.

The implementation of the ASIS Data Decomposition Annex is
now complete, with all queries fully supported.

More static checking is now done for pragma Restrictions
(No_Recursion), and most common cases are now detected and
flagged as illegalities.

A new package GNAT.Calendar is provided.  It deals with
Hour, Minute, Seconds, Day_Of_Week, Day_In_Year,
Week_In_Year.  There is also two functions to do conversions
between Duration and C timeval struct.

A new package GNAT.Calendar.Time_IO is provided.  This
package implements formatted output of Ada.Calendar.Time.
The format string uses a format similar to the one used by
the date UNIX command.

The gnatchop utility now recognizes and respect existing
source reference pragmas that it finds in the input file, so
that the output files always properly reflect the original
source file.

The gnatdll tool now accepts the -I switch to search source
and object files in specified directories.

The optimization of checks has been significantly improved,
and many unnecessary checks, particularly in connection with
type conversions and the use of the pos operator, have been
removed.

The traceback stored in the exception occurrence (using the
gnatbind -E switch) now gives accurate values in the case of
a reraise.

The structure used to hold task data has been split to allow
restricted tasking implementations to use less storage for
each task created.

Enumeration representation clauses for types derived from
Boolean are now fully supported.

Variable shift instructions are now generated for
multiplications or divisions by powers of 2 (e.g.  x * 2 **
y, where y is Natural).

External symbol names and debugging symbols are now more
fully qualified.  This avoids some peculiar naming conflicts
for example in the case where there is a child package and
nested package with the same name, and also improves the
behavior of gdb when fully qualified names are given.

An extended form of the Source_File_Name pragma permits
handling the unusual case where a subunit and child unit
have identical qualified names.  This is unusual, but is
allowed by the rules of the language, although both versions
cannot appear in a single partition.

The OpenVMS version of GNAT now fully supports the use of
mixed-case external names.  This solves a number of
compatibility problems in this area, which could show up as
unexpected duplicate names.

A new pragma External_Name_Casing is provided for
controlling the casing of external names.  This is primarily
for use in OpenVMS systems, but is available in all
implementations.

A new pragma Extensions_Allowed (ON | OFF) is provided for
local control of whether language extensions are allowed.
This pragma may also be used as a configuration pragma (e.g.
in the gnat.adc file) to control the use of extensions for a
series of compilations.

The -gnatwu flag now separately checks specs to make sure
that a with in a spec is now actually used in the spec.  If
the with is used only in the body, the warning suggests
moving it to the body.




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




  parent reply	other threads:[~2000-03-15  0:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-15  0:00 Announcing GNAT version 3.13 Robert Dewar
2000-03-15  0:00 ` Robert Dewar
2000-03-17  0:00   ` Tarjei T. Jensen
2000-03-17  0:00     ` Robert Dewar
2000-03-17  0:00       ` Tarjei T. Jensen
2000-03-18  0:00         ` Robert Dewar
2000-03-19  0:00   ` Riyaz Mansoor
2000-03-19  0:00     ` Robert Dewar
2000-03-15  0:00 ` Robert Dewar [this message]
2000-03-16  0:00   ` Kent Paul Dolan
2000-03-15  0:00 ` Jeff Creem
2000-03-16  0:00   ` Ted Dennison
2000-03-23  0:00 ` Announcing GNAT version 3.13 (NT + VMS) 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