- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Improved line placement
When GPS asks editors to show a particular line, for instance when clicking on a subprogram in the Project View, or when using "next" in a debugging session, the editor is scrolled so that a few lines of context are displayed above and below the cursor. The same amount of context is displayed when showing search matches.
Better alignment for routine parameters
The GPS alignment support for routine parameters has been enhanced to better align the routine parameter mode.
Better alignment support for arrows
The GPS alignment support on arrows has been enhanced to properly handle multi-level of arrows.
New gnatpp option to control named statements
A new gnatpp '--separate-stmt-name' option is added. This option specifies that for a named block or loop statement, a statement name should be on a separate line, but there should be no additional indentation level for the statement itself.
New attribute to remove a list of sources
A new attribute Excluded_Source_Dirs has been created. It is equivalent to Locally_Removed_Files, which is obsolescent, but it is a better name now that removing source files is not limited to extending projects.
New gnatpp option to control USE clauses
A new gnatpp '--use-on-new-line' option is added. This option specifies that each in a context clause USE clause should start from a separate line.
GNUTMPDIR taken into account on VMS
On VMS, if environment variable GNUTMPDIR is defined, it is taken as the directory to store temporary files. If it is not defined and TMPDIR is defined, then TMPDIR is used.
Aug 23rd, 2007
New switches—version and—help
The standard GNU switches --version and --help are added to the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname, gnatxref, gnatfind, gnatls, and gnatclean. When these switches are used, the other options are not considered and the tool immediately stops its execution.
Aug 16th, 2007
Improved generation of access checks
If an IN access parameter is referenced in the declarative part of a subprogram body, only one access check is generated regardless of the number of future references in the declarative part or the handled statements of the body.
gnatpsta plug-in enabled by default
The gnatpsta.py plug-in (which adds a Help->GNAT Runtime->Standard menu) is now enabled by default.
New plug-in to generate ALI files
A new plug-in (generate_ali.xml) is provided which adds a menu Build->Recompute Ada xrefs to ease generation of ali files for non compilable or incomplete Ada files, for source navigation purposes.
Detect UTF8 conversion errors when saving files
When saving editors which contain UTF8 characters which cannot be converted to the local character set, GPS lists the relevant conversion errors in the Locations View and displays a warning dialog.
Aug 9th, 2007
New project level attribute: Remove_Source_Dirs
A new project level attribute Removed_Source_Dirs has been added, allowing individual directories and directories subtrees to be removed from the list of source directories.
Aug 6th, 2007
Containers are Remote_Types
All of the library units under Ada.Containers now have pragma Remote_Types (except the ones that have pragma Pure). This allows containers to be used conveniently in distributed systems.
Ada Web Server
Aug 6th, 2007
Support for user defined types in ada2wsdl
ada2wsdl now supports user defined types and not only derived types from integer or float for example.
AI-0084 Container units have category Remote_Types
All Ada.Containers children that are not already declared pure have category Remote_Types. This allows containers to be passed as parameters in remote subprogram calls.
Aug 2nd, 2007
Official OMG tags assigned to PolyORB
PolyORB has received official OMG profile tags, service tags, component IDs, vendor minor code IDs and ORB type IDs from the OMG. Note that users who rely on PolyORB-specific features across partitions in an application (including all users of the DSA application personality) will have to upgrade all partitions at the same time so that they use a consistent set of tags.
Aug 1st, 2007
Eliminate duplicate not-null checks
The generated code has been improved to eliminate unnecessary redundant checks for a pointer being non-null, which will speed up execution of code involving pointers when checks are on.