- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Dec 26th, 2008
Eliminate unnecessary length checks
Improved compile-time evaluation of Length and Range_Length attributes allows detection of more cases at run time where assignments of arrays are known to either pass or fail a length check, allowing elimination of the check in the first case, and a compile time warning in the second case.
Support for VCS without log
It is now possible to create a VCS that do not require a log (logs are handled by external commands like ClearCase GUI for example). In this case GPS won't ask for a log file while doing the commit/add/remove VCS actions.
Ada Web Server
Dec 15th, 2008
Administrative page is now protected by a password
Enhance the security of the administrative page by requiring a password.
Dec 11th, 2008
Reimplementation of GNAT.Sockets.Inet_Addr
The implementation of function Inet_Addr now uses the standard inet_pton(3) function instead of the legacy inet_addr(3) interface, which is deprecated and defective on some platforms. Note that on Linux, inet_pton enforces stricter syntax checks that inet_addr, which can cause an exception to be raised for syntactically incorrect arguments (e.g. including trailing white space) that used to be accepted.
Report all style errors at once
When running the style checkers (on files and logs) GPS will now report errors from all files and will not stop checking on the first file violating some styles.
Ada Web Server
Dec 11th, 2008
Add support for controlling connection timeout
The AWS client API had support for controlling send/receive timeout, it is now also possible to control the timeout of the initial socket connection.
Support for SPARK Toolset 7.6.2
GPS is now compatible with version 7.6.2 of the SPARK Toolset.
Dec 9th, 2008
New constants in GNAT.Sockets
New constants of type Inet_Addr_Type are provided by GNAT.Sockets: Loopback_Inet_Addr (local host on loopback interface), Unspecified_Group_Inet_Addr (unspecified multicast group), All_Hosts_Group_Inet_Addr (all hosts on local network multicast group) and All_Routers_Group_Inet_Addr (all routers on local network multicast group).
Minor optimization for handling VCS status
The local file statuses where not used to override current statuses on the VCS explorer. It is now updating the VCS explorer as long as the local status won't override a remote status (Needs update or Needs merge).
Dec 4th, 2008
Clarified spec of GNAT.Sockets.Abort_Selector
The documentation of GNAT.Sockets.Abort_Selector has been improved to define more precisely the behaviour of this function. It is now clearly specified that each call to Abort_Selector causes exactly one call to Check_Selector to return with Aborted status. (Note that this is a change in documentation only, giving a more precise description of the already implemented behaviour.)
Integer Array types added to package Aux_DEC
Integer array types for 8, 16, 32, and 64 bit integers have been added to System.Aux_DEC. These types are used in DEC Ada text library Sys$library:Starlet_Recent_Ada_Subset.tlb and other DEC Ada library code.
Improved error reporting in GNAT.Sockets
Two improvements have been made to the error reporting circuitry in GNAT.Sockets. A new literal Broken_Type has been added to enumeration type Socket_Error_Type, corresponding to errno value EPIPE. Specific handling has also been implemented for EAGAIN. On most platforms, this is the same value as EWOULDBLOCK, which is mapped to Resource_Temporarily_Unavailable. Uniform treatment is now provided also on platforms where EAGAIN and EWOULDBLOCK are distinct values, and both are now resolved to Resource_Temporarily_Unavailable.