Development Log in March 2017.

  • SPARK Pro
    Mar 21st, 2017

    Simplified translation of simple private types
    Untagged private types with no discriminant whose full view is not in SPARK are now translated in Why3 as clones of the predefined __private abstract type. This should allow users of interactive proof assistants to more easily map these private types to a logic type of their choice.

  • GNATCOLL.Traces performance improvements
    Performance has been significantly enhanced: streams no longer flush after each message by default (though this is now configurable in the configuration file), locking is done at the stream level, and can often be avoided altogether since the system provides its own locking, messages are created as a whole line and then sent once to the stream, which provides more flexibility when writing streams, and other various enhancements. In a single threaded application, we now output 6 million messages per second to a file.

  • GNAT Pro
    Mar 16th, 2017

    GNAT includes a ZFP runtime for Linux and Windows
    The native ZFP (Zero Footprint) runtime for Linux and Windows is now part of the base GNAT package. It is now also available with 64-bit compilers.

  • CodePeer
    Mar 15th, 2017

    Better messages for .scil file creation failure
    If CodePeer unsuccessfully attempts to create a .scil file, then generate an additional error message which includes the full name of the file which could not be created. If it appears likely that the source of the problem is a Windows-specfic restriction on filename lengths, then that is also noted in a message.

  • GNATCOLL.Mmap: support files larger than 2Gb
    This package now supports mapping files up to 1 petabyte, on 64 bits systems. This is backward compatible, although to access such large files you will need to use some different functions. This package also includes support for the madvise() system call on Unix systems, which might provide a 5% performance improvements when accessing files sequentially.

  • GNATCOLL.Strings: new package
    This package, and the generic implementation in GNATCOLL.Strings_Impl, provide a new string type. A XString is similar to an unbounded string, but more efficient (up to 10x for strings 23 characters or less, or when manipulating substrings, and up to 1.4 for larger strings), and with a more extensive API.

  • GNATCOLL.Promises: new package
    This package provides a promise type, also known as a future in some language. This is a way to perform background computation, then chain a series of callbacks which can themselves perform asynchronous computation.

  • GNAT Pro
    Mar 13th, 2017

    Option to treat run-time exception warnings as errors
    The compiler supports a new switch -gnatwE that treats warnings that run-time exceptions will occur as compile-time errors.

  • Ada Web Server
    Mar 11th, 2017

    Add support for type/subtype in ada2wsdl
    The tool ada2wsdl will now generate proper WSDL out of Ada specs using types or subtypes to derived from other Ada specs.

  • SPARK Pro
    Mar 9th, 2017

    New switch produces header in gnatprove.out
    The new switch --output-header produces a header in the generated file gnatprove.out, with useful information about the run of GNATprove, such as the version number, date, host platform and switches used.

  • Ada Web Server
    Mar 7th, 2017

    Add support for xsd:dateTime in ada2wsdl
    The ada2wsdl tool will now generate a SOAP xsd:dateTime for references to the standard Ada.Calendar.Time.

  • Ada Web Server
    Mar 4th, 2017

    Add support for selecting encoding in ada2wsdl
    The ada2wsdl tool has a new option to select the encoding to be used by the SOAP services.