Development Log in February 2007.

  • GNAT Pro
    Feb 26th, 2007

    Better error recovery for literal used as name
    The use of a literal in a context requiring a name is an error. Previously this caused bad error recovery, with several cascaded messages in some cases. This is now corrected, and the cascaded messages are removed.

  • GNAT Pro
    Feb 26th, 2007

    New warning for renaming function return object
    A new warning switch -gnatw.r (off by default, but included in -gnatwa) generates a warning for renaming a function return object (e.g. x : integer renames f), noting that it is clearer to use a constant object declaration (x : constant integer := f), which means the same thing but makes it clear that the function is only called once.

  • GNAT Pro
    Feb 23rd, 2007

    Obsolete pragma Thread_Body removed
    The pragma Thread_Body had been provided for specialized use on AE653 systems but in practice was never used and did not solve the problem it was intended to solve. It has been removed, simplifying the compiler and documentation.

  • GNAT Pro
    Feb 22nd, 2007

    GNAAMP uses secondary stack for dynamic objects
    On the AAMP target only, the compiler now allocates local objects with nonstatic sizes on the secondary stack rather than on the heap. Library-level objects with nonstatic sizes are also handled this way when the restriction No_Implicit_Heap_Allocations is in force.

  • GNAT Pro
    Feb 20th, 2007

    Analyzing dispatching calls with ASIS
    Asis.Expressions.Corresponding_Name_Definition now returns a reference to the corresponding dispatching operation when applied to a subprogram reference from a dispatching call (before Nil_Element was returned in this case). This allows to get to the profile of the called subprogram.

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2007

    Add support for Project Explorer filters
    It is now possible to filter out directories on the Project Explorer based on a given regular expression. This has been designed to filter out version control specific directories like CVS or .svn for example.

  • GNAT Pro
    Feb 14th, 2007

    Project path command line switch to add directory
    A new switch -aP<dir> has been added to gnatmake, gprmake, the gnat driver and gnatclean, to add a directory to the project search path.

  • GNAT Pro
    Feb 14th, 2007

    Descriptor class S argument with class SB on VMS
    On VMS, a function specifying a descriptor class SB parameter accepts a class SB argument and now also a class S argument, to be compatible with DEC Ada.

  • PolyORB
    Feb 14th, 2007

    Implementation of OMG Issue 5232
    The OMG deprecated the use of anonymous type in IDL, but did not update CORBA IDL files. The issue 5232 has been filed by the OMG to fix this issue, and is now implemented in PolyORB. As a consequence, the following IDL files have been updated: idls/Interop/CONV_FRAME.idl and idls/Interop/IOP.idl. Any user code that depends on these IDL specifications might require an update.

  • GNAT Pro
    Feb 11th, 2007

    Support for SCHED_RR and time slicing on AIX
    Support for pragma Time_Slice, gnatbind -Txxx and the round-robin scheduling policy has been added to the AIX version.

  • GNAT Pro
    Feb 10th, 2007

    Local exception handling
    A new restriction (No_Exception_Propagation), allows limited local raising and handling of exceptions. An exception can be raised and handled if the handler is in the same subprogram (more generally in the same scope not counting blocks and packages) as the raise. For example, you can have a local handler for Constraint_Error. Propagation of exceptions to enclosing scopes is not allowed, and exception handlers may not specify an exception choice parameter. This restriction allows limited use of exception handling without needing run-time support for exception propagation. In particular, the ZFP and Ravenscar profiles for the HIE product have been modified to implement this exception (rather than No_Exception_Handlers) by default, allowing limited handling of exceptions with these two profiles.

  • Ada | Ada 2005 / 95 / 83
    Feb 10th, 2007

    AI-188 Setting a task base priority is immediate
    This AI ensures that changing a task base priority (e.g. via Ada.Dynamic_Priorities.Set_Priority) is not deferred and performed immediately.

  • GNAT Pro
    Feb 6th, 2007

    Small alignments for records now allowed
    The compiler now allows the specification of small aligments for records, even if it results in some fields becoming misaligned. Previously an alignment was rejected if it was smaller than the natural alignment of one of the record fields.

  • GNAT Pro
    Feb 5th, 2007

    Warning on imported C++ class types if not limited
    The compiler now issues a warning for a tagged type declared with a pragma Import with convention C_Plus_Plus or CPP (or a pragma CPP_Class), when the type is not declared as a limited type. The type will be treated implicitly as limited.

  • Ada Web Server
    Feb 2nd, 2007

    Support pipe streams
    Pipe stream is a new kind of stream which make it possible to stream the output of an external command directly. This avoids writing the data into a temporary file before sending it.