- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Improve warning on no package entities referenced
If a package is renamed in the visible part of a package spec, there is no longer any warning if no entities of either the renaming or renamed package are referenced, since a client can reference these entities via the renaming.
Improved parser error recovery
A number of improvements have been made in parser error recovery. More of the messages are marked non-serious allowing semantic errors to be found in the same run, more messages are auto-fixable by GPS, and the error recovery for some syntax errors for protected types and objects is improve
Image attribute no longer uses secondary stack
The use of the image attribute no longer requires the secondary stack. This improves efficiency, and also makes it easier to incorporate the use of this attribute into environments where the dynamic allocation required for the secondary stack is undesirable.
Improved error recovery for semicolon after pragma
A missing semicolon after a pragma caused the next statement to be ignored resulting in some cases in junk cascaded messages. This is now improved so that this error is handled more gracefully.
New menu to reformat a selection
An new menu /Edit/Format Selection has been added in order to be able to reformat the current selection. This capability used to be accessible only from a key binding (set through the key shortcut editor) which will remain control-tab by default.
Command line pretty printer using GPS reformating
An new python example demonstrates how to reformat all sources of a project with a single command line. The result is the same as opening each source file of the project, selecting the whole buffer and executing the "Format Selection" action (bound to Control-Tab by default). This example is named reformat_project.py and the usage is detailed in the file itself.
New hook called right before the file is saved
A new hook "before_file_saved" has been added to perform some actions on a file right before it is saved such as reformating.
Nov 26th, 2007
Improved error recovery for pragma in formal part
A pragma may not appear in a formal part. The compiler now handles this error more gracefully with a single clear message, instead of several cascaded confusing messages.
Speed improvements when loading a project
Many improvements have been made in the loading of a project in GPS which can result in significant speed improvements when loading big projects.
Major speed up in project view
The computation time for the project view was greatly improved, and the view displays much faster now on big projects.
Nov 21st, 2007
Packages for encoding and decoding strings
The GNAT.Decode_String/GNAT.Encode_String generic packages provide facilities for converting between Wide_[Wide_]String values and encoded strings of 8-bit characters using a specified encoding method. Also provided are routines for validating an encoded string and stepping backwards and forwards in a stream of encoded characters. GNAT.Decode_UTF8_String and GNAT.Encode_UTF8_String provide preinstantiations of these packages for the case of UTF-8 encoding.
Tuesday, December 11, 2007
9:00 am Pacific Standard Time (GMT -08:00, San Francisco)
12:00 pm Eastern Standard Time (GMT -05:00, New York)
6:00 pm Europe Standard Time (GMT +01:00, Paris)
In this latest webinar in the GNAT Pro InSight series, we will be demonstrating several new features present in recent versions of GPS using our latest release, GPS 4.2.0. Among the long list of new features and improvements that we will focus on are Remote Programming, Automatic Source Code Completion, Code Coverage support using gcov, an improved documentation generator, support for refactoring Ada sources, and an improved source code editor with enhanced source navigation and analysis capability.To enroll, please click here.
Nov 19th, 2007
Ada France will be hosting a one day technical seminar on the topic of methods, processes, models, and tools for the development of hard real-time embedded applications. The event will be hosted by the ESNT Bretagne in Brest, France.
For further information and to enroll, please click here. The website is in French only.
New VCS action to prepare group commit in one click
The new VCS action "Commit as new Activity" has been implemented to simplify simple group-commit activity. Calling this action will create an anonymous activity, populate it with all selected files from the VCS Explorer and open the activity log file. Just fill it and commit the activity.
“Move to Next/Previous” Tab are now cyclic
The two actions, which can be bound to key shortcuts through /Edit/Key Shorcuts are now cyclic: upon reaching one end of the tab bar, they will restart at the other end
Nov 14th, 2007
Unreferenced pragma for package suppressing warning
If a pragma Unreferenced for a with'ed unit is given in the context clause, then it suppresses not only the warning about the unit being unreferenced (this was always true), but now it also suppresses the warning about no entities within the package being referenced.
Add link to gnattracker
The online_support.py plug-in provides new entries under the /Help/On-Line Support menu that allow easy access to the AdaCore on-line support facilities: - Viewing your support tickets - Opening new tickets - Browsing on-line documentation - Downloading GNAT Pro and wavefronts - Browsing various developer resources - Viewing the Ada Gem of the Week - Finding an intern
Add support for Task_Info pragma on GNU/Linux
This pragma can now be used on GNU/Linux to give information about how tasks must be mapped to the available CPUs. The GNU/Linux scheduler is given the processors affinity mask for a given task, it is not required to map this task with the specified CPUs if some other scheduling strategy is better.
Text_IO now properly encodes input and output
Previously Text_IO always operated in brackets encoding mode, which meant that there was no encoding and upper half characters were read and written with no encoding. Now Text_IO properly recognizes the default encoding and for example, if a main program is encoded using UTF-8 (compiler switch -gnatW8 set), then Text_IO output will be UTF-8 encoded. Note that the new -Wx binder switch (see NF-61-GB11-002) can be used to override this default encoding, e.g. use -Wb to get the old behavior.
Warn on failing assertions if assertions disabled
If the compiler detects that an assertion is sure to fail at run time, then a warning is now given ("would fail") even if assertions are not enabled. This warning and the warning ("will fail") issued when assertions are enabled are now under control of a new warning flag -gnatw.a/.A, which is on by default, and is included in -gnatwa.
New binder switch -Wx to override encoding method
The binder switch -Wx (x = wide character encoding method, analogous to the compiler switch -gnatWx) can be used to override the default wide character encoding method to be used for standard input and output Text_IO files.
Nov 10th, 2007
Hashed containers document generic formal calls
The specs for the hashed containers (both sets and maps) now describe which generic formal operations are called for each container operation.
Cross-compiler gnatlink accepts -M/-Map switches
VxWorks and bareboard targets now support the -M/-Map switches of gnatlink. When invoked with this switch, gnatlink will generate a linker map.
Arguments printed by the debugger in callstacks
A new command "set print frame-arguments (all|scalars|none)" has been added in the debugger. This command controls which argument values should be printed inside callstacks. This can be useful to reduce the amount of data printed inside callstacks, thus making the call sequence itself easier to read. This command can also be used to reduce the amount of time spent by the debugger to display the callstack.
Switch -fno-inline now suppresses all inlining
The switch -fno-inline (which is recognized on all targets, including AAMP) now suppresses all front end and back end inlining, causing pragmas Inline and Inline_Always to be entirely ignored.
New command for sending debugger commands
There is now a new command to send commands to the debugger in an asynchronous manner. This helps writing of python/shell scripts which automate debugger operations.
GNAT Pro for OpenVMS on HP Integrity servers training webinar - Nov 20, 2007.
AdaCore’s GNAT Pro for HP OpenVMS I64 is a full-featured Ada development environment offering a natural migration path for Ada applications from other platforms. It includes a compiler that can handle all three versions of the Ada standard — Ada 83, Ada 95, and Ada 2005 — and provides a rich set of auxiliary tools and an extensive set of libraries. Ada-aware debugging is provided through HP’s OpenDebug.
In this half-hour webinar AdaCore, with HP’s participation, will describe the features and benefits of the GNAT Pro Ada development environment on HP OpenVMS I64 and answer questions from the audience. A particular focus will be on how to port Ada code from HP Ada on VAX and Alpha servers to GNAT Pro on OpenVMS I64. GNAT Pro supplies an extensive set of pragmas and attributes that are compatible with HP Ada, and for most Ada code the porting process should be reasonably straightforward. For those situations where the program makes architectural assumptions that do not apply to I64 (for example 32- bit addresses) the webinar will identify the issues and offer effective solutions.
To register, please click here.
Nov 7th, 2007
New gnatpp option to control THEN and LOOP location
A new gnatpp option '--no-separate-loop-then' allows to specify that gnatpp should always put THEN keyword in IF statement and LOOP keyword in for- and while-loops at the same line where the condition or the loop iteration scheme ends.
Nov 4th, 2007
Spell checking for wide and wide-wide strings
A new generic unit GNAT.Spelling_Checker_Generic provides the spelling check circuit from GNAT.Spelling_Checker in generic form. GNAT.Spelling_Checker now uses this generic, and in addition, the units GNAT.Wide_Spelling_Checker, GNAT.Wide_Wide_Spelling_Checker, and GNAT.UTF_32_Spelling_Checker are added to the library, which use this generic to provide spell checking for types Wide_String, Wide_Wide_String, and System.Wch_Cnv_UTF_32_String.
Nov 3rd, 2007
Better messages for missing parens for box/separate
The error cases of missing parens around <> in a generic formal, and around the unit name after a separate keyword now result in clearer messages that can be auto-fixed using GPS.
Nov 2nd, 2007
Redeclarations of variables in case constructions
Project files now allow declaration of a variable inside a case construction, provided that the variable has already been declared before the beginning of the case construction.