Development Log in July 2007.

  • GNAT Pro
    Jul 31st, 2007

    Better warning for unassigned entry formal
    New cases of entry formals of mode OUT that are never assigned are now detected and generate unreferenced entity warnings.

  • GNAT Pro | Ada Compiler
    Jul 27th, 2007

    Support for .NET and Vista

    As part of the 6.0.2 release, AdaCore is pleased to announce that support for the Windows OS has been extended to the new Windows Vista platform. GNAT Pro now supports all Windows platforms from Windows 2000 through to Vista.

    In the near future AdaCore will announce support for Microsoft .NET bringing a commercial Ada development environment to this platform for the first time. The port will include support for Microsoft Visual Studio .NET 2005.

    A press release providing more details on these ports will be issued in the coming months.

  • GNAT Pro
    Jul 27th, 2007

    Load file with spaces in debugger simulator
    The debugger has been enhanced to be able to load files whose name contain spaces.

  • GNAT Pro
    Jul 26th, 2007

    New check for Text_IO.Is_Open on standard files
    On Windows the standard files (Current_Input, Current_Output and Current_Error) are not usable when the application is compiled with the -mwindows option (GUI mode). In the case, Text_IO.Is_Open now returns False to warn of this unusual (and non-standard) situation.

  • GNAT Pro | GPS | GNATbench
    Jul 25th, 2007

    Disabling editing of projects with variables
    GPS will now prevent you from graphically editing a project that uses variables (of the form "a:=value"), since the graphical editor does not support those and would mess the project up.

  • GNAT Pro | GPS | GNATbench
    Jul 25th, 2007

    New plug-in to interface with addr2line
    A new plug-in is provided to interface with addr2line to convert backtraces into clickable symbolic backtraces

  • GNAT Pro | GPS | GNATbench
    Jul 25th, 2007

    Dynamic Key Bindings preference removed
    This preference was removed because it could result in unexpected shortcut change when a menu is open and the user press an incorrect key accelerator (users often ended up assigning "q" to /File/New, expecting to hit Exit instead. See the documentation on how to keep access to the old behavior through gtkrc files (see index in the documentation).

  • GNAT Pro | GPS | GNATbench
    Jul 25th, 2007

    Locations window highlights current line error
    After a compilation resulted in errors, the locations view displays these errors. In addition, it will now highlight the error corresponding to the current line in the editor, making it easier to find what is the error that occurred on that line.

  • GNAT Pro
    Jul 24th, 2007

    Ada.Execution_Time implemented on Windows
    This Ada 2005 package is now implemented on Windows.

  • GNAT Pro
    Jul 24th, 2007

    Additional warnings for missing Valid tests
    The warning for a range test that really should be a valid test is now extended to the case where explicit bounds are given that are known to match the subtype bounds.

  • GNAT Pro | GPS | GNATbench
    Jul 23rd, 2007

    New plug-in to show dependency path between files
    A new plug-in can be activated to show why one file depends on another one, and why the compiler decides to recompile the first one when the second one has changed.

  • GNAT Pro | GPS | GNATbench
    Jul 22nd, 2007

    Config files saved after each change
    GPS will now save its various configuration files (preferences, bookmarks, plug-ins,...) every time they are modified, even implicitely, instead of on exit. This makes sure that when you have several GPS sessions running the behavior is more user-friendly, and that these files can be edited manually even when GPS is running

  • GNAT Pro | GPS | GNATbench
    Jul 20th, 2007

    New plug-in to list unused entities
    A new plug-in ( can be activated through the /Tools/Plug-ins menu and provides additional menus to list unused entities in a file or a project.

  • GNAT Pro
    Jul 19th, 2007

    Symbolic traceback is now supported on AIX
    This includes GNAT.Traceback.Symbolic as well as gnatmem.

  • GNAT Pro
    Jul 18th, 2007

    Suppress IN-OUT warnings for access/generics
    The -gnatwk warning for an unmodified IN-OUT parameter is now suppressed if the subprogram in question has Access applied, or is used as a generic actual since in these contexts the use of IN-OUT may be required even if the formal is not modified.

  • GNAT Pro
    Jul 17th, 2007

    Traceback supported on OpenVMS Itanium
    Run-time non-symbolic traceback is now supported on OpenVMS Itanium. This includes support of GNAT.Traceback.

  • GNAT Pro
    Jul 16th, 2007

    Exception propagation warnings off by default
    The warnings for exception propagation (which warn if the no chance handler may be entered) are now off by default (these are under control of -gnatw.x so can be turned on using this switch, they are also included in -gnatwa. These warnings are generated only if Restrictions (No_Exception_Propagation) is active. This restriction is on by default for the ZFP profile, but the ZFP profile will no longer generate the warnings by default.

  • Ada Web Server
    Jul 16th, 2007

    New high level service Web_Block
    This new service is providing support for easily building web applications based on blocks. Blocks are fully independent and can be placed in any Web pages without modifying the Ada code.

  • GNAT Pro
    Jul 15th, 2007

    Better error message for bad address arithmetic
    If an attempt is made at adding/subtracting an integer to/from an address value, the message now specifically suggests using System.Storage_Elements.

  • GNAT Pro
    Jul 14th, 2007

    More warnings for unused packages
    In -gnatwu mode, the compiler now catches more cases of unused packages and issues appropriate warning messages.

  • Ada
    Jul 11th, 2007

    Need Secure Software?

    Following on from Ben Brosgol's SSTC paper, this week sees the publication of an interesting article on language choice for security-critical software:

    Security in modern embedded systems is critical-- software developers must keep ahead of the “bad guys”. A key decision is the choice of programming language: while some languages make it easier to produce secure code, others seem to exacerbate rather than solve the problem. This article identifies the key requirements that a programming language must satisfy, and shows how Ada effectively meets these demands.

    To read the article in full, please click here.

  • GNAT Pro
    Jul 10th, 2007

    Debugger support for spaces in directory names
    The debugger has been enhanced to support the case where the path name of source files contains spaces.

  • PolyORB
    Jul 9th, 2007

    Improved representation of union typecodes
    The internal representation of union typecodes has been improved. Its memory footprint has been reduced, and the marshalling and unmarshalling of unions are now more efficient.

  • GNAT Pro
    Jul 5th, 2007

    Support interfaces for bare board Ravenscar
    The extended Ravenscar run time for ERC32 and LEON supports now all types of interfaces except task interfaces that are not allowed by the Ravenscar restrictions.

  • Ada
    Jul 2nd, 2007

    Designing High-Security Systems

    Ben Brosgol's presentation from the recent SSTC event entitled "Designing High-Security Systems: A Comparison of Programming Languages"

    The high degree of interconnectivity in today's computing systems and the increasing threat from technically sophisticated adversaries make security an essential requirement in modern military software. Many technical factors affect the ease or difficulty of meeting this requirement, including the programming language, the software development tools, the operating system, and the application program interface. This presentation focuses on the programming language, which is arguably the factor that a development project manager can control most directly, and assesses three major language families with respect to the criteria that a secure system must meet:

    * Ada 2005 and the Ada-based SPARK language
    * C and C++
    * Java and its relevant extensions (Real-Time Specification for Java, Safety-Critical Real-Time Java)

    The presentation focuses in particular on how modern language features (such as the data type model, Object-Oriented Programming ("OOP"), exception handling, and concurrency) affect application security, and compares the requirememts for security and for safety.