- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Sep 27th, 2007
Support for ‘Image in AAMP small library
The AAMP small library now includes run-time units that support the Image attribute.
The next in the GNAT Pro InSight series of webinars will feature GNATbench for Workbench. This will take place on Tuesday, October 30, 2007:
9:00 am Pacific Daylight Time (GMT -07:00) 12:00 pm Eastern Daylight Time (GMT -04:00) 5:00 pm Europe Standard Time (GMT +01:00)
For more information and to enroll, please visit http://www.adacore.com/home/gnatpro/webinars
Improvement of string equality with -gnatVo set
The efficiency of many array comparisons, and in particular string compares is greatly improved for the case where -gnatVo (validity check operands) is set. This also corrects some cases of compiler blowups for such compares.
Relaxed check in POSIX.File_Status.Size_Of
The check for a regular file in POSIX.File_Status.Size_Of has been removed, since the POSIX standard has evolved, and other kinds of files are now supported by this function. This check was mandated by the Ada version of the POSIX standard, but this is clearly an error at this stage.
Completion on protected types
Completions are now proposing contents (entries, fields, subprograms...) of protected types.
Completion engine enhancements
A lot of internal enhancements have been done in the completion engine, which should make the "smart complete" command faster. Some new features have been implemented as well: - Ada 2005 prefix notation for tagged types can now be completed. - Visibility is better handled - hiding variables & privacy rules are now
more respected by the engine.- The completion engine can now work if there are on multiple units per file.
Sep 25th, 2007
Ctrl-C for gnatmake kills all compilations
When gnatmake is interrupted by Ctrl-C, it sends a signal (SIGINT) to interrupt all outstanding compilation processes, ensuring that all compilations terminate immediately (even if there is a bug causing the compiler to be very slow, or to never terminate).
Sep 24th, 2007
Improved warnings on redundant use type clauses
The compiler flags a use type clause as redundant when a type is already use-visible by a previous use type clause, the package where the type is declared is use-visible or the type resides in the currently analyzed package. The new warnings are enabled with the '-gnatwr' compiler switch.
Better handling of dispatching calls
The dispatching.py plug-in highlights, in open editors, all calls to dispatching subprograms. Also, the standard cross-reference contextual menus ("Go to declaration" and "Go to body") have been enhanced so that when you click on a dispatching call, you are given a choice among all known overriding subprograms instead of jumping to the root subprogram. You must activate the preference Editor/Submenu For Dispatching Calls These changes require a version of GNAT more recent than 2007-09-21.
Plug-in to close all editors
The editors.py plug-in provides a new menu /File/Close All Editors that closes all open editors (and only editors) upon activation.
New gnatmetric switch to count average complexity
A new switch '--complexity-average' has been added to gnatmetric. This option counts average McCabe cyclomatic complexity for subprogram bodies. For the purpose of this metric, task and entry bodies, and statement sequences in package bodies are included as though they were subprograms
Revision of gnatmetric switches
The gnatmetric switches used to define the set of metrics to compute and report is revised. The new switches provide more convenient way to turn specific metrics on and off. The old switches are retained for compatibility purposes (but are no longer documented).
Scrolling while selecting in browsers
While selecting multiple items in a browser, the browser will scroll to allow you to select items outside of the currently visible area.
AdaCore recently announced the availability of GPS 4.1.3 for the x86-windows host. The 4.1.3 version is a follow up release providing mainly fixes to the 4.1 technology. GPS 4.1.3 is compatible with GNAT Pro versions 3.16a1 up to 6.1.0w, and is now fully compatible with Windows Vista. For a full list of new features in GPS 4.1, please click here.
Remove All Other Items keeps all selected
In a browser (entity browser or call graph for instance), if you select the contextual menu "Remove All Other Items", then all selected items are kept. Previous behavior was to remove all but the current one.
Improved layout in the Entity Browser
If you select the contextual menu "Refresh Layout" in the Entity Browser, it will preferably put derived types below their parent, and other entities to the side.
Remove selected items in browsers
A new contextual menu is now available in browsers to remove selected items.
The new look Ada Intern Program is now up and running, providing a unique framework for AdaCore customers to source Ada-knowledgeable students from around the world for internship positions.
Customers can post internship offers and view applicants' profiles via their GNAT Tracker account.
Click here (http://www.adacore.com/home/academia/intern) for more information.
Sep 17th, 2007
More warnings for address overlays
If one variable is overlaid by another (for x'address use y'address), then execution is potentially erroneous if the alignment or size of y is less than that of x. Previously some cases of this did result in warnings at compile time, but with this enhancement, many more cases are caught.
Suppress useless missing component clause warnings
In -gnatwa mode the compiler warns about suspicious missing component clauses in record representation clauses. But these warnings are useless in the case of variable length components (where a component clause is not allowed in any case) and now such warnings are suppressed.
GNAT.Command_Line support for grouped switches
This package now provides support for creating and parsing command lines when switches can be grouped together (as is the case for GNAT's -gnatw... switches), or aliased (where -gnatwa means in fact -gnatwbcef...)
GNAT.Command_Line can now parse arrays of strings
The package GNAT.Command_Line can now parse String_List arrays, in addition to the usual command line arguments.
Sep 13th, 2007
Warnings on controlled overlays extended
GNAT does not permit overlay of controlled components with address clauses. The compiler already checked for the case of directly overlaying a variable of a controlled type. This warning and resulting exception have been extended to the case of composite types containing a controlled component.
Contextual menu for copy/cut/paste
A new plugin has been added that adds contextual menus corresponding to the /Edit/Copy, /Edit/Cut and /Edit/Paste menus. See /Tools/Plug-ins and copy_paste.py.
Copy text together with line numbers
A new plug-in has been added that provides the capability to copy some text and have each line preceded with its number. This can be useful when pasting some source code to another application such as a mailer. See /Tools/Plug-ins and copy_paste.py.
Sep 12th, 2007
New gnatmetric switch to count average code lines
A new switch '-lav' has been added to gnatmetric. This option counts the average number of the code lines in subprograms. For the purpose of this metric, task and entry bodies, and statement sequences in package bodies are included as though they were subprograms.
Enhanced Subversion support under Windows
Add easier configuration for choosing between native or Cygwin version of Subversion on Windows.
Documentation of “with GNAT.Threads”
If an Ada program has no tasks, and no tasking constructs other than delay statements, then by default the non-tasking version of the run-time is used. This will not work if there are foreign threads. In this case it is necessary for at least one unit to "with GNAT.Threads" to cause the tasking version of the Ada run time to be loaded. This has been true for some time, but is now properly documented in the GNAT RM and the spec of GNAT.Threads.
New debugger setting for spawn options on VxWorks 6
New debugger variables have been created to specify the spawn parameters of his environment task on VxWorks 6: dfw-task-priority for the task priority, dfw-task-options and dfw-rtp-options for task options, dfw-task-stack-size for the size of the stack of the environment task.
Sep 10th, 2007
Enabling leap seconds
A new switch '-y' has been added to gnatbind. This option is used to enable leap seconds in Ada.Calendar and its children regardless of whether the target supports leap seconds or not. Leap seconds are turned off by default.
Sep 6th, 2007
New gnatmetric switch to count comment percentage
A new switch '-lratio' has been added to gnatmetric. This option allows to count the ratio (in percentage) between the lines containing comments and all the non-blank lines in the analyzed code.
Sep 3rd, 2007
Ada: New features, same performance for the embedded market
Jose Ruiz describes some of the the advantages of using Ada for developing embedded systems in this month's Micro Technology Europe magazine.
"The complexity of embedded software increases at least at the same pace as the processing power of the processors used. Additionally, many embedded applications require high reliability or are safety-critical. To meet these demands a programming language needs high-level features that support sound software engineering..."
Add customization for activity logs
The activity group commit log format is now fully configurable using a template file (activity_log.tmplt). This format is also used to create the header of generated activities patch files.