Development Log in November 2006.

  • GNAT Pro | Ada Compiler
    Nov 30th, 2006

    GNAT Pro Insider Nov 2006 issue available
    The November 2006 issue of the GNAT Pro Insider newsletter is available for download. Contents:

    • GNAT Pro and Ada 2005 Coming to .NET
    • GNATstack Tool Available
    • New GCC Technology
    • What’s Coming in GNAT Pro 6.0.1
    • New Version of gprmake
    • New Version of GNAT Tracker
    • Spotlighting a GAP Member
    • AdaCore at Conferences
    • Interview with Bob Duff
    • Public Courses at AdaCore New York
    • New Target Platforms for GNAT Pro
    • More Ada 2005 Features Available in GNAT Pro
    To download the newsletter please click here

  • GNAT Pro
    Nov 30th, 2006

    By-descriptor mechanism for exported subprograms
    Support for parameter passing using the VMS by-descriptor mechanism has been implemented for exported subprograms, with the same restrictions as those of the implementation for imported subprograms.

  • GNAT Pro
    Nov 30th, 2006

    GNAT LIST now recognizes switch -U
    Switch -U (VMS qualifier /ALL_PROJECTS) is now recognized by GNAT LIST (gnat ls). When used with a project file, gnatls is called for all the sources of all the projects in the project tree.

  • GNAT Pro
    Nov 29th, 2006

    Locally_Removed_Files allowed in all projects
    The attribute Locally_Removed_Files may now be used in non-extending projects provided the listed removed files would be sources if the attribute was not specified. This allows to declare, for example, that sources are all *.ads/*.adb, except a short list.

  • GNAT Pro
    Nov 28th, 2006

    WITH TYPE clauses not supported
    Support for this GNAT-specific language extension has been removed from the compiler. This feature introduced several years ago, was an early ARG proposal to solve the problem of mutually recursive type definitions in different compilation units. The WITH TYPE clause has been made obsolete by the LIMITED WITH clause of Ada 2005.

  • PolyORB
    Nov 28th, 2006

    Reduced code footprint of sequences
    The code footprint and compile time for instances of Sequences.Bounded and Sequences.Unbounded has been significantly thanks to a complete redesign that allowed significant code sharing across instances. Note that subprogram Element_Of has been removed. It was a non-standard renaming of the Get_Element function specified by the Ada language mapping. Get_Element should be used instead.

  • Ada
    Nov 22nd, 2006

    AdaCore’s Ben Brosgol receives SIGAda’s Outstanding Ada Community Contribution Award

    Ben Brosgol, a senior member of AdaCore's technical staff, received an Outstanding Ada Community Contribution Award at the ACM SIGAda 2006 Conference in Albuquerque, New Mexico (US), on 15 November. This annual award is bestowed on individuals "for broad, lasting contributions to Ada technology and usage", and past recipients from AdaCore are Robert Dewar (1995), Ed Schonberg (1997), Bob Duff (2002), and Matthew Heaney (2005).

    In honoring Ben, SIGAda noted his numerous and significant contributions to the Ada effort, starting from the earliest days and continuing to the present. He worked on the "Red" language (the runner-up in the original Ada language design competition) and served as a Distinguished Reviewer for Ada 83 and as a member of the language revision team for Ada 95. He has been conducting Ada courses for over 20 years, has presented papers and tutorials at many Ada-Europe and SIGAda conferences, and is currently the President of the Ada Resource Association.

    In 1998 Ben received SIGAda's other annual award, for distinguished service to SIGAda itself; he is one of only three individuals to have received both awards.

  • GNAT Pro | GPS
    Nov 22nd, 2006

    PyGTK: A testing solution for GPS

    The GNAT Programming Studio, AdaCore's IDE, has been enhanced to allow python scripts that use PyGTK's interface to the GTK+ toolkit to interact with it.

    GPS architecture allows the user to interact with the GUI by means of scripts written in either the simple GPS script language or in python. Current versions of GPS offer the possibility, for example, to open a new source editor and move the cursor to the end of the buffer by writing:

    • ed = GPS.EditorBuffer.get (GPS.File ("src.adb"))
    • ed.current_view().goto (ed.end_of_buffer())

    What PyGTK brings is the ability to simulate user-level actions such as mouse clicks or key strokes, to manipulate complex widgets such as GTK's TextView and TreeView, to activate contexual menus, etc.

    This is a revolution as far as GPS testing is concerned because it allows most actions that previously required human interaction to be completely automated. For example, let's assume an action opens a dialog containing an OK button. Simulating a mouse click on it is as simple writing:

    • ok_button.clicked()

    PyGTK allows automatic testing of everything including the most complex GUI aspects such as focus issues, signal handling, etc.

  • GNAT Pro | Ada Compiler
    Nov 17th, 2006

    New stage in the transition to GNAT Pro based on gcc 4.1 backend

    We are in the process of transitioning the GNAT Pro technology to a new compiler back-end based on GCC 4.1 which we expect to bring significant performance improvements to user applications. Our goal is to have several of our supported configurations on this back-end for the next major GNAT Pro release scheduled early 2007. We have been able to make significant progress in the areas of general stability and in the support for numerous platforms thanks to invaluable input provided by our customers. This latest beta version includes support for most of the new Ada 2005 features and is our most advanced Ada 2005 technology.

    Please do not hesitate to contact us if you have any questions concerning this program.

  • GNAT Pro
    Nov 12th, 2006

    System.Restrictions only included if needed
    Previously, the unit System.Restrictions was unconditionally included in every program, and the binder file always initialized the restriction data. Now this only happens if this unit is explicitly used, saving time and space. This is particularly important in the context of the configurable run time, where this unit may not be present.

  • GNAT Pro
    Nov 12th, 2006

    System.Restrictions only included if needed
    Previously, the unit System.Restrictions was unconditionally included in every program, and the binder file always initialized the restriction data. Now this only happens if this unit is explicitly used, saving time and space. This is particularly important in the context of the configurable run time, where this unit may not be present.

  • GNAT Pro | Ada Compiler
    Nov 10th, 2006

    New Version Numbering for GNAT Pro

    In 2007 AdaCore will be moving to a new numbering scheme for product releases. Instead of two-part version numbers such as 3.15a or 5.04a1, we will be using the more common convention of three numbers separated by dots. The first number, as at present, will identify a major release and will thus indicate the introduction of significant new functionality. The second number will correspond to the digits after the dot in the current scheme. And the third number will replace the suffix (such as "a" or "a1") used at present. "0" as the third number will be used for a beta version, "1" for an initial release, and higher numbers for subsequent releases.

    In order to acknowledge the full support for the new Ada 2005 features, the GNAT Pro major version number is moving to the 6 series. More specifically, the version scheduled for Q1 2007 will be 6.0.1, and the follow-up release scheduled for later in the year will be 6.0.2. The planned releases in 2008, incorporating enhancements to be made during 2007, will then be 6.1.1 and 6.1.2.

    Customers can find more information in the "Our support policy" on GNAT Tracker.

  • GNAT Pro
    Nov 7th, 2006

    Partial support for Ada 2005 features in gnatpp
    A new -gnat05 option is added to gnatpp. When called with this option, gnatpp can process Ada sources containing some Ada 2005 features:

      - overriding indicators
      - null subprograms
      - interface types
      - generalized anonymous access types
      - null exclusion
      - tagged incomplete types
      - limited aggregates ('<>' in component associations)
      - subprogram calls given in Object.Operation notation
      - limited and private with clauses
      - raise with string message
      - formal abstract subprograms
      - partial parameter lists for formal packages
    
    A future gnatpp version will fully support Ada 2005.

  • GNAT Pro
    Nov 1st, 2006

    Warning for component with no component clause
    A new warning switch (-gnatw.c to turn on, -gnatw.C to turn off, off by default) causes warnings to be generated for a record representation clause in which the majority, but not all, of the components have component clauses. A warning is generated for each component for which no clause is present.

  • GNAT Pro
    Nov 1st, 2006

    Warning for component with no component clause
    A new warning switch (-gnatw.c to turn on, -gnatw.C to turn off, off by default) causes warnings to be generated for a record representation clause in which the majority, but not all, of the components have component clauses. A warning is generated for each component for which no clause is present.