- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Improved error detection in Builder plugins
When writing Python plugins to add support for Build targets (such as the Makefile.py plugin), GPS now detects malformed targets sets and displays a message instead of failing silently.
Jun 28th, 2009
Widen operands in conversions to avoid overflow
More cases of conversion (notably those to float or fixed types) widen the type used for arithmetic to avoid intermediate conversion. For example in the expresion f(a*b) where f is a floating-point type, a and b will be converted to Long_Long_Integer before doing the multiplication.
Jun 25th, 2009
Linker map now contains size of discarded sections
The size of each discarded section is now printed in the linker map. This is supported on all platforms where AdaCore provides a linker (GNU/Linux x86 and x86-64, Windows and ppc-elf platforms).
New action to toggle auto-casing on/off
GPS provides a new action called "Toggle Auto Casing/indentation" which toggles the auto-casing. When using On-The-Fly casing it is more convenient to use this sticky action (via its associated key shortcut, alt-q by default) instead of the action which disables casing for a single character only.
Jun 23rd, 2009
More straight-line code generated for arrays
The compiler now generates more straight-line code for the manipulation of arrays with dynamic bounds when it can infer properties for these bounds.
Jun 21st, 2009
Implement -gnateS switch for output of SCOs
A new switch for the compiler -gnateS causes the compiler to output SCO (source coverage obligation) information to the ALI file. This information is used by advanced coverage tools now being implemented. For details of the format of SCO information, see the compiler unit SCOs (scos.adb/ads).
Default initialization of Socket_Set_Type
Type GNAT.Sockets.Socket_Set_Type is now specified to have default initialization, with a default value of an empty set.
Revised warnings for certain unreferenced entities
The warning messages issued for unreferenced packages, exceptions, labels, and formal objects now explicitly mention the form of entity (for example, "warning: package "My_Pkg" is not referenced"). This allows selective warning suppression for these specific entity kinds using pragma Warnings with a message pattern (pragma Warnings (Off, "package*is not referenced")).
Jun 15th, 2009
New pretty printer switch to control label layout
A new switch --separate-label for gnatpp specifies that statement label(s) and the statement itself should be placed on separate lines.
Debug->Add Symbols asks for module’s address
The Debug->Debug->Add Symbols... menu now also asks for the module's address to be given to gdb.
Jun 12th, 2009
LEON2: cache freeze on interrupt and watchdog
The LEON2 Ravenscar run-times support the cache freeze on interrupt capability, reenabling caches at the end of interrupts when the cache status is frozen. Additionally, the watchdog timer is left under control of the application.
We still have places available for the upcoming GNATbench webinar.
AdaCore has recently introduced GNATbench 2.3.0. This release introduces many new features including preference control for “Quick Fix” for Ada, Eclipse “feature” deployment, and builder enhancements. This webinar will describe and demo some of the new features introduced in 2.3.0. As always, we will allow a question and answer session at the end enabling you to talk directly with the designers of GNATbench. This webinar will appeal to Ada developers that are using, or are interested in using, GNAT Pro and the Eclipse development environment in their projects.
To register, please visit:
Display completion proposal in Completion Window
The auxiliary window in the Smart Completion now shows the full name of the completion proposal. This helps when the completion proposal is too long to be displayed entirely in the list window.
Jun 3rd, 2009
New style switch -gnatyB for Boolean operator usage
A new style switch -gnatyB activates the standard gnat style rule that applies to use of AND/OR. These operators are only allowed for modular operands, array operands, and simple stand-alone boolean variables or boolean constants. In all other cases AND THEN/OR ELSE are required.
New plugin: open_file.py
This plugin creates a contextual menu. If you click on the name of a file in an editor, the new menu gives you the choice of automatically searching and opening this file in a new editor.
Editing unsupported projects
When a project contains statements that make it uneditable graphically ("Var := ..."), you are now given a choice to edit the project source file in a text editor when you select "Edit Project Properties"