- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Mar 29th, 2007
Setting default log level
A default log level setting can now be specified in the PolyORB runtime configuration (polyorb.conf, command line, or environment), which is applied to all facilities for which an explicit log level has not been provided.
The GNAT Pro 6.0.1 release also includes an enhanced version of the GNAT Programming Studio (GPS) IDE. GPS 4.1.0 offers programmers improved usability and efficiency through an advanced Outline View complete with new design and new features. Python and pygtk enable powerful scripting and customized dialog capabilities and are now supported on all platforms. Developers can make use of a wider range of plug-ins more effectively from within GPS thanks to enhanced support. A more intelligent smart completion engine coupled with automatic fixing for more compiler messages enables an all round smoother development process.
For more info on GPS please click here.
Mar 26th, 2007
Annex-D using Realtime_Priority_Class on Windows
On Windows, the Annex-D support is now using the Realtime_Priority_Class instead of the High_Priority_Class. Annex-D semantics is better achieved with the Windows Realtime_Priority_Class.
Mar 23rd, 2007
Improved error messages from Time_IO.Image
When the exception GNAT.Calendar.Time_IO.Picture_Error is raised, an exception message gives the reason and a check has been added for a null picture string.
Mar 21st, 2007
Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications. In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use of the GNAT compiler for interfacing with C++ classes with compatible inheritance trees.
Authors - Javier Miranda and Edmond Schonberg
To download this paper, please click here
Mar 19th, 2007
Failed assertion breakpoint frame selection
Upon hitting a breakpoint on failed assertions, the debugger now automatically displays the source location causing the assertion to fail.
Improve block navigation support
Now the "Start Of Statement" or "End Of Statement" actions move to the enclosing block when the cursor is already at the start/end of the current statement instead of doing nothing.
Mar 15th, 2007
Ambiguous #if in preprocessing not allowed
Preprocessing lines such as "#if not X or Y then" or "if not A and B then" are no longer allowed: parentheses are required. Use either "#if (not X) or Y then" or "#if not (X or Y) then".
File & Dirs operations from file and project views
File & directories can now be manipulated (created, renamed, deleted) from the contextual menu of the project and file views.
Mar 14th, 2007
Remove unused libraries from polyorb-config output
The implementation libraries for CORBA Common Object Services, libpolyorb-corba-cos-*-impl, are usually not needed in user applications (only the client stubs are). They have therefore been removed from the command line produced by the polyorb-config utility. Applications that use these libraries now need to have explicit linker arguments for them.
Mar 13th, 2007
Expanded static elaboration of constant aggregates
Constant aggregates are now elaborated statically in more cases, especially on architectures that require strict alignment of data in memory.
Display full names in entity browser
Entities in the entity browsers are now identified with their full names XXX.YYY.ZZZ instead of their simple names ZZZ.
AdaCore announces the first to market Ada 2005 language development environment, with the release of GNAT Pro version 6.0.1. GNAT Pro is the only Ada development environment to support all three ISO versions of the Ada language (83/95/2005).
The 6.0.1 release also includes an enhanced version of the GNAT Programming Studio (GPS) IDE. GPS 4.1.0 offers programmers improved usability and efficiency through an advanced Outline View complete with new design and new features. Python and pygtk enable powerful scripting and customized dialog capabilities and are now supported on all platforms. Developers can make use of a wider range of plug-ins more effectively from within GPS thanks to enhanced support. A more intelligent smart completion engine coupled with automatic fixing for more compiler messages enables an all round smoother development process.
For more info on GNAT Pro 6.0.1 please click here.
Regpat.Match allows non-zero lower bound
The procedures Match that take a Matches array previously required that Matches'First = 0. This is no longer required.
GNAT.Sockets.Initialize formal parameter removed
GNAT.Sockets.Initialize used to require the user to provide a Process_Blocking_IO parameter for runtime environments where the default value of False was not appropriate. The required internal flag is now set automatically, and so the optional formal parameter to GNAT.Sockets. Initialize has been removed.
GNAAMP generates static packed aggregates as data
For the AAMP target, the compiler generates aggregates that have bit-packed components and that are initialized entirely by static values by storing them as counter 2 data rather than using expensive and space-consumptive code to initialize them in RAM. In some cases, particularly for large aggregates, the pragma Restrictions (No_Elaboration_Code) needs to be applied to the containing unit to achieve counter 2 allocation.
Mar 2nd, 2007
No warnings for obsolescent Handling functions
The functions To_Character, To_Wide_Character, To_String and To_Wide_String in Ada.Characters.Handling are considered obsolescent in Ada 2005. However it was too annoying to give warnings for their usage in Ada 2005, since in practice you need to use these functions in code intended to be compiled in either Ada 95 or Ada 2005 mode. So the warnings have been removed.
Mar 1st, 2007
Gnaampmake checks for up-to-date .axe file
On the AAMP target, the program build tool (gnaampmake) now checks for the presence of an up-to-date .axe file when deciding whether to invoke the binder and linker.