- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Speed up update VCS action
It is now possible to disable status operation after an update. This speed-up the update action as status is an expensive operation. On slow network it can make a big difference. At the same time GPS has been enhanced to parse the update output to update file status accordingly.
Oct 28th, 2008
Improve .NET delegates handling
The .NET compiler now matches Ada access-to-subprogram types with .NET delegates. This allows easier integration of mixed-language projects, as well as more conformant IL code. As a result, delegates are now imported directly as access-to-subprogram types.
Oct 27th, 2008
New procedure GNAT.Calendar.Year_Week_In_Year
The procedure Year_Week_In_Year has been introduced to GNAT.Calendar. It returns the week on which a given date falls as defined in ISO 8601 along with the year in which the week occurs.
Multi language preference computed automatically
The "multi language build" preference is now computed automatically based on the project's contents: if languages other than Ada are set, then this capability is enabled, otherwise it is disabled, and gnatmake will be used to perform the build. Note that with the new builder settings, it is easy to force the use of e.g. gnatmake or gprbuild for all your builds, bypassing this automatic configuration.
New auto VCS mode
The new "auto" VCS_Kind mode can be used to let GPS automatically select the proper external VCS. This is useful in the context where different people are not using the same VCS locally. For example developers tracking a Subversion repository using Git (git-svn module). This is the default behavior when no VCS is specified in the Project.
Message on the VCS Explorer when no VCS defined
When no VCS is defined on the root project and all projects it depends on a message is displayed into the VCS Explorer.
New gnatmake compatibility switches
New builder switches to increase compatibility with gnatmake have been added: -nostdlib, -nostdinc, -fstack-check, -fno-inline, -g*, -O* and -eS. These switches are accepted on the command line and in the Builder switches when the language is Ada.
Allow multiple toolchains in GPS
GPS can now handle two compiler toolchains to allow compilation with a specific compiler version, while using an up-to-date compiler for all other tools and thus taking full advantage of their new features.
New menus in Edit->Selection
The following new menus are available under Edit->Selection: - Move Left/Right: shift the selection one character left or right - Serialize: automatically increment a number in a set of adjacent lines - Untabify: replace tabs with spaces in the selection
Oct 21st, 2008
Initial VMS Debug tasking support
The runtime has been enhanced to provide preliminary support for the VMS Debug SHOW TASK and SET BREAK/EVENT=<tasking event> commands.
Oct 21st, 2008
Static libs installed in PolyORB-specific subdir
The PolyORB libraries are now installed in $prefix/lib/polyorb/static instead of directly under $prefix/lib to avoid unwanted interactions caused by command line options generated by polyorb-config or the installed PolyORB project files.
Support for -margs switch
The -margs switch, equivalent to -gargs is now supported, for better compatibility with gnatmake.
GNATcoll documentation added to Live Docs
The GNAT Components Collection (GNATcoll) documentation has been added to Live Docs. The GNAT Components Collection is a suite of reusable software components and utilities originating from the AdaCore infrastructure. Live Docs provides an up to the minute snapshot of GNAT Pro technology. As new features and improvements are made to GNAT Pro these changes are immediately added to our product documentation and presented here in Live Docs.
Redesigned Build facility
GPS 4.3.0 comes with a brand new builder facility. The improvements include:
- The possibility to configure the command line of every action - The possibility to display icons in the toolbar for every action - Improved support for the recent versions of GPRbuild - A graphical interface to manage build commands - Possibility to launch builds (or any other build-like command, like syntax check or semantic checks) every time a file is savedGPS 4.3.0 also introduces the notion of Build Modes. An entry is displayed in the toolbar, allowing to select a Build Mode. The selection of a Build Mode activates special compilation options, and builds objects and executables in separate subdirectories in the object directories defined by the project. The following Modes are available by default:
- default: the switches defined in the project are used - debug: objects are created with debug information and no optimization - gprof: builds with support for the gprof profiler - gcov: builds with support for the gcov coverage toolNote: these modes are effective only when building with gnatmake or gprbuild.
Oct 17th, 2008
More efficient slice assignment with overlap
Assignment between array slices that potentially overlap is more efficient on most native and cross platforms.
Reduce false alarms on infinite loop warnings
The compiler was warning "possible infinite loop" on some cases where a local renaming was used as the loop variable. These false alarms are no longer given.
Improve infinite loop warnings for pointer chasing
The compiler catches more cases of infinite loops. In particular a case like "while Cur /= null loop ...", where the "Cur := Cur.all.Next;" update is missing now generates a warning.
Oct 12th, 2008
BOM at start of file now propagated by gnatchop
If a file starts with a byte order mark (BOM) specifying that the file is encoded in UTF-8, and the file contains multiple units, gnatchop will now propagate this BOM to all files written, so that they can be compiled without needing to specify an encoding explicitly.
Oct 11th, 2008
Improve warning on always-false conditions
Some cases of comparisons of slices with wrong length literals were only generating a warning if -gnatc was used. The warning is now generated in all cases.
Oct 7th, 2008
The GPRbuild documentation has been added to Live Docs. GPRbuild is an advanced software tool designed to designed to automate the construction of multi-language systems using GNAT Project files. Live Docs provides an up to the minute snapshot of GNAT Pro technology. As new features and improvements are made to GNAT Pro these changes are immediately added to our product documentation and presented here in Live Docs.
Oct 7th, 2008
Default warnings for non-local exceptions
The warning -gnatw.x (warn on non-local propagated exception) is now set on by default if restriction No_Exception_Propagation is set, and the program has at least one exception handler.
Oct 6th, 2008
The development of highly secure, low defect software has been dramatically helped by the release of the Tokeneer research project to the open source community by the US National Security Agency (NSA). The project materials, including requirements, security target, specifications, designs, source code, and proofs are now available at www.adacore.com/tokeneer."
The Tokeneer project was commissioned by the NSA from UK-based Praxis High Integrity Systems as a demonstrator of high-assurance software engineering. Developed using Praxis’ Correctness by Construction (CbyC) methodology it uses the SPARK Ada language and AdaCore’s GNAT Pro environment. The project has demonstrated how to meet or exceed Evaluation Assurance Level (EAL) 5 in the Common Criteria thus demonstrating a path towards the highest levels of security assurance.Download Tokeneer »
Oct 6th, 2008
All out parameters visible in GDB’s parameter list
The compiler has a choice of either passing out parameters by reference or returning them as a function result. In the latter case, the debugger now displays out parameters in the parameter list of the frame view instead of showing them as local variables. This enhances the readability of the frame view.
Dereferencing all items in debugger data window
A new contextual menu is now available in boxes in the data window of the debugger. When you select this menu all the pointers visible in the box are automatically dereferenced and new boxes created appropriately. This is faster than clicking on each pointer in turn.
Double-clicking in breakpoint window
It is now possible to double-click in the list of breakpoints in the breakpoints editor window to jump to any of these locations.
File changed dialog checks for diffs
When GPS detects that a file has changed on the disk, it displays a dialog giving the choice between reloading the file or overriding it. This check now uses both the timestamp (as before) and checking the actual contents of the file, so that it pops up less often, in particular when external tools are changing the timestamps
Oct 2nd, 2008
DEC Mixed I/O packages allow unconstrained arrays
The Index_Mixed_IO and Relative_Mixed_IO Dec I/O packages can now be instantiated with unconstrained arrays. Note that this capability already existed for Direct_Mixed_IO and Sequential_Mixed_IO.
New colors for message highlighting
The default colors for highlighting compiler output (errors, warnings, style errors) and for highlighing the current line and current block have been updated, for better readability.
New menu Edit->Insert Shell Output…
A new menu is provided to insert the output of a process in the current editor.
Call stack window cleared while running
The debugger callstack is now cleared while the debugged program is running or has terminated to avoid confusion arising from an outdated callstack.
Error message when—debug executable not found
When the executable specified with --debug is not found, an error dialog is now displayed by GPS.
Export debugger data window to png
The debugger Data window can now be exported to png like all other browsers. Export to SVG is not fully supported yet.