Development Log in June 2005.

  • GNAT Pro
    Jun 30th, 2005

    Auto-init of SALS with constructors
    Stand-Alone Libraries for most platforms, except VMS, are now auto-initialized using the constructor mechanism. This is achieved by the binder using new internally generated pragmas Linker_Constructor and Linker_Destructor.

  • GNAT Pro
    Jun 19th, 2005

    gnatpp option to control output file format
    A new option ('--eol') is added to gnatpp to set the line ending format of the result file(s) containing the reforatted source(s). It is possible to specify DOS (CR LF) or Unix (LF) line endings.

  • GNAT Pro
    Jun 16th, 2005

    New function GNAT.Expect.Get_Command_Output
    This new function provides a convenient way of executing a command and obtaining its output as a string.

  • GNAT Pro
    Jun 11th, 2005

    XDR stream attributes raise Data_Error
    Per AI95-00132, the default implementation for stream-oriented attributes must raise Ada.IO_Exceptions.End_Error when end-of-stream is encountered during a Read operation. For consistency's sake, the XDR version now defines System.Stream_Attributes.Data_Error to be a renaming of End_Error as well.

  • Ada | Ada 2005 / 95 / 83
    Jun 8th, 2005

    AI-382 Current instance rule for access types
    This AI modifies the Ada 95 "current instance" rule that states that the name of a type within its own declaration, when legal, denotes the current object of the type, and not the type itself The new rule states that in the context of an anonymous access definition, the name denotes the type itself and not the object. This allows Ada 2005 to recover the C / Pascal notation for lists, without the need for incomplete type declarations:

       type Node is record
          Value : Integer;
          Next  : access Node;
          Prev  : access Node;
       end record;

  • Ada | Ada 2005 / 95 / 83
    Jun 7th, 2005

    AI-397 Overriding entries and protected operations
    This AI extends the notion of overriding indicators (AI-218) to entries and protected subprograms. In this case an operation is said to "override" if it implements an operation of a parent interface, given that there is no notion of extending task or protected types.

  • Ada | Ada 2005 / 95 / 83
    Jun 7th, 2005

    AI-396 The “no hidden interfaces” rule
    This AI allows for an untagged partial view to be completed by a tagged type that implements at least one interface. The partial view must be either untagged, or descend from a type that implements the same interfaces as the full view.