- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
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.
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.
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.
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.
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.