- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Debug info for subprogram renamings
The compiler now generates debugging information for subprogram renamings, and GDB has been enhanced to make use of it, thus permitting calls to subprograms using the names declared by any of their renamings.
New procedure GNAT.OS_Lib.Copy_File_Attributes
This procedure can be used to copy timestamp and/or file permissions from one file to another.
GB: Option to disable task tags checking
Added an option to disable task tags checking. It is on by default. To disable, uncheck the Task Tags field in the Ada -> Task Tags preference page.
Aug 18th, 2015
Simplified analysis of predefined units & children
The -gnatg switch is no longer needed to analyze predefined units or new child units of System (and other root units predefined in Ada).
GPS: xref for custom languages
GPS lets you describe programming languages via plug-ins. In particular, you can declare the rules used for syntax highlighting, and for the naming schemes of their source files. If you also declare the LI_Suffix to be .ali, GPS will now parse any .ali file it finds that relates to those source files, and automatically parse the cross-reference information. Those .ali files must have a structure similar to the ones generated by GNAT or gcc.
GPS: search in current editor
A new search context was added to the omni-search, to search only in the current editor. It is mostly intended to be used via a key shortcut. Whenever you press the keyshort, and then start typing some text, a popup window will show all matches in the current editor.
GPS: new switches—config and—autoconf
GPS can now optionally parse a config file (.cgpr) before loading the project, like gprbuild does. Such a file is in particular useful to specify naming schemes for programming languages, without having to duplicate this information in a GPS plug-in. The file is automatically passed to gnatinspect.
Aug 12th, 2015
Support for AI12-0054-2 Predicate_Failure
The Predicate_Failure aspect is now supported. You may use it to specify which exception to raise on predicate failure, as in:
subtype T is ... with Predicate => ..., Predicate_Failure => raise Some_Error;
GPS: Add back aliases completion
Aliases completion has been added back to the 6.2.0 release. The priority in the completion window is now lower, so that keyword completion takes precedence.
GNATdoc: Preserve formatting of comments
GNATdoc can preserve line breaks and spaces present in the source comments when generating HTML documentation.
Aug 10th, 2015
Support for AI12-0071
AI12-0071, which specifies the semantics of multiple/inherited predicates on a single subtype, is now implemented.
A new restriction No_Dynamic_Sized_Objects is implemented, which is intended to prevent the creation of composite objects of nonstatic size.
Add support for terminating a process
System.OS_Lib has support for nonblocking spawning of processes, and it's now possible to terminate such processes with a new Kill procedure. This routine is supported only on Windows and POSIX systems.
Aug 6th, 2015
Proper process clean-up in distributed build
When a builder is interrupted (ctrl-c), GPRslave will kill all corresponding processes. By doing this we ensure faster and cleaner restart of the same compilation.
Aug 5th, 2015
Detection of some corrupted ALI files
The SPARK toolset now detects some cases of corrupted ALI files and informs users about how to fix them.