- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Developer’s Center in GNAT Tracker
The Developer's Center has now been integrated into GNAT Tracker 2 allowing customers to easily keep up to date with enhancements to the GNAT Pro technology, new technical papers, code samples, and documentation.
Apr 27th, 2007
Warning for useless abstract subprograms
When an abstract subprogram is neither a dispatching operation nor an overriding of an inherited subprogram or predefined operator then most likely there is a mistake, since the declaration appears useless. A warning (under control of -gnatwr, warn on redundant features) is now issued on such declarations.
Apr 26th, 2007
No C++ compiler is required with recent GNAT
New versions of the GNAT compiler now provide an IDL preprocessor. When this feature is present, no external C++ compiler is required to process OMG IDL files.
Gnat Check integration with GPS
A new gnatcheck.py module allows gnatcheck integration with GPS. This module offers the possibility to define the different rules to be checked by this tool via a graphical page in the 'Switches' section of the Project Properties dialog. Once those rules are defined, this module provides a new item in the files and projects contextual menus, allowing to run gnatcheck automatically with the defined rules.
Apr 24th, 2007
Improved dead code elimination
Dead code elimination has been improved to make the most of the permission given in RM 11.6 not to raise an exception for a check from code without external effects.
Apr 22nd, 2007
New gnatpp option to preserve special form comments
A new option (-c5) is added to gnatpp. With this option set, gnatpp does not change at all any comment that has a special character (such as &, # etc.) just after '--'. This allows to keep comments of special form (such as SPARK annotations) unchanged when pretty-printing. This option does not affect formatting of the comments that do not have the described structure.
Apr 21st, 2007
New gnatpp option to control THEN and LOOP layout
New gnatpp option '--separate-loop-then' is added to specify that the THEN keyword in IF statements and the LOOP keyword in FOR and WHILE loops should be placed on a separate line.
Fix of “use clause would make operation legal”
Compiler messages "use clause would make operation legal" are now automatically fixed by GPS, by adding the missing use clause to the file.
Better feedback when build fails w/o src location
When a build fails with no file:line location (e.g. error at link time), GPS now raises the Messages window to make the error more visible.
Apr 18th, 2007
Modification status of attributes in ALI files
The prefixes of attributes Access, Address, Input, Read and Unchecked_Access are considered as lvalues and subsequently marked "m" (modification) in ALI files. All other attribure references generate an "r" (reference) for their prefixes.
Short titles for floating windows
A new preference has been added to control titles used for floating windows. It is now possible to specify whether short or normal titles should be used. In particular, base file names can be used for editors instead of full names. The preference can be changed in the Windows section of the Preferences dialog.
Apr 12th, 2007
Improved warning for mismatched convention
In the case where the convention of a subprogram does not properly match the convention of a subprogram access type to which it is assigned, the error message now identifies the exact entities involved, and where appropriate recommends the addition of a pragma Convention.
Ability to use shell syntax on custom build/run
When using the Build>Run>Custom and Build>Make>Custom menus, it is now possible to use shell syntax, as recognized by the SHELL environment variable, if set.
Apr 10th, 2007
Improved display of file names on windows
On Windows, GNAT now retains the original file name casing and uses backward slashes instead of forward slashes for directory separators when displaying file names in gnatclean, gnatmake and other project file related tools.
Apr 9th, 2007
Stubs generated by gnatstub raise Program_Error
Stub subprogram, task and entry bodies that are generated by gnatstub now raise Program_Error. This ensures that an exception is raised if one of these stubs is called by the application and enforces the need to replace the stub with a real body.
Apr 5th, 2007
Maximum non-binary modulus increased to 2**32-1
The maximum non-binary modulus supported has been increased from 2**31-1 to 2**32-1 (actually to 2**Integer'Size - 1). In particular the use of 2**32-1 allows 1's complement wrap around addition, which is useful for computation of checksums.
Apr 2nd, 2007
Delays now take clock adjustments into account
When the clock is set back to a time in the past (either manually or via DST), executing a relative delay statement will now ignore these clock changes and will last for no more than the initial requested delay.