Development Log in May 2011.

  • GNAT Pro | GPS | GNATbench
    May 31st, 2011

    GPS: Separate filters for CodePeer warnings/checks
    GPS now provides separate filters for CodePeer warnings and checks.

  • SPARK Pro
    May 30th, 2011

    SPARK Pro Demo - An Introduction to SPARK Pro - Part 3
    The third in a series of 5 SPARK Pro demos that will present a practical, hands-on introduction on using the most important features of the SPARK programming language. This demo covers advanced data and control coupling. We'll present a new demo in the series every Monday.

  • GNAT Pro | GPS | GNATbench
    May 28th, 2011

    GPS: Reduce needs for status update in VCS
    GPS now takes advantage of Subversion commit output to update the file statuses. This avoids the need of running a query status after a commit action. This is motivated by the fact that Subversion status may be really slow across network.

  • GNAT Pro
    May 27th, 2011

    Debugger no longer stops on SIGPRIO signals
    On the platforms that support the SIGPRIO signal, this signal is used as part of the normal operation of the program, and is not indicative of any issue. The debugger has therefore been configured to ignore SIGPRIO signals by default.

  • SPARK Pro
    May 26th, 2011

    SPARK Pro Demo - An Introduction to SPARK Pro - Part 2
    The second in a series of 5 SPARK Pro demos that will present a practical, hands-on introduction on using the most important features of the SPARK programming language. This demo covers basic data and control coupling. We'll present a new demo in the series every Monday.

  • SPARK Pro
    May 26th, 2011

    Automatic selection of flow analysis level
    The Examiner is now able to determine whether a subprogram should be analysed in data-flow mode or information-flow mode based on the presence or absence of the derives annotation. This behaviour is enabled via the command line switch -flow_analysis, which now takes a new value "auto". If a procedure has a derives annotation then its body will be analysed in information-flow mode. If the derives annotation is omitted then the body will be analysed in data-flow mode. This gives users greater flexibility and allows, for example, detailed derives annotations to be given for subprograms at the lower levels in the calling hierarchy where they give the most value, whilst omitting them at the higher levels. Another possibility is to provide derives annotations only for the most critical parts of the program. Details of how to use this new feature will be made available in the Examiner User Manual.

  • Ada | Ada 2005 / 95 / 83
    May 26th, 2011

    AI-0111 Specifying a pool on allocator
    This AI introduces a new fine-grained memory management scheme through the use of Pool_With_Subpools and Subpools. The latter allow for objects of different designated types to coexist in a single space. Subpools can be explicitly created and destroyed. If destroyed, all controlled objects allocated on a subpool are finalized. When a Pool_With_Subpools goes out of scope, all its subpools are finalized. Allocators have a new syntax which contains a Subpool_Handle_Name:

       Obj_Ptr := new (Subpool_Handle_name) Typ ...;
    
    
    Similar to System.Storage_Pools, package System.Storage_Pools.Subpools offers a framework of implementation. The details of how a subpool stores and manages its data are left to the end user.

  • GNAT Pro | GPS | GNATbench
    May 20th, 2011

    Extend support for redundant conversion
    The automatic code fixing capability has been enhanced to support removing redundant conversion automatically.

  • GNAT Pro | GPS | GNATbench
    May 20th, 2011

    GPS: Improve creation of new files
    GPS now proposes to store new files in a more user friendly way. The default directory to create the file depends on the context. So for example if a specific directory is selected into the project explorer the File->New action will record this location. This specific location will then be proposed by default when doing File->Save.

  • GNAT Pro
    May 19th, 2011

    New switch to work around UT699 hardware problem
    A new compiler switch has been added (-mfix-ut699) to work around floating point problems in Gaisler Research's UT699 LEON 3FT Microprocessor. This switch should be used for LEON3 code that may run on this processor.

  • GNAT Pro
    May 19th, 2011

    New switch to workaround AT697F hardware problem
    A new compiler switch has been added (-mfix-at697f) to workaround a hardware problem of data dependency not properly checked in some double-precision FPU operations. This switch should be used for LEON AF697E and AT697F boards.

  • GNAT Pro | GPS | GNATbench
    May 19th, 2011

    Extend support for redundant with clauses
    The automatic code fixing capability has been enhanced to support removing redundant "with" clauses.

  • GNAT Pro
    May 19th, 2011

    New switch to workaround AT697F hardware problem
    A new compiler switch has been added (-mfix-at697f) to workaround a hardware problem of data dependency not properly checked in some double-precision FPU operations. This switch should be used for LEON AF697E and AT697F boards.

  • SPARK Pro
    May 16th, 2011

    SPARK Pro Demo - An Introduction to SPARK Pro - Part 1
    The first in a series of 5 SPARK Pro demos that will present a practical, hands-on introduction on using the most important features of the SPARK programming language. We'll present a new demo in the series every Monday.

  • SPARK Pro
    May 13th, 2011

    SPARK.Ada.Text_IO
    The package SPARK.Ada.Text_IO has been added to the SPARK library. This package provides a thick binding to Ada.Text_IO and supersedes SPARK_IO (although SPARK_IO is still provided for backward compatibility).

  • GNAT Pro
    May 12th, 2011

    Support of foreign exceptions
    C++ and other foreign exceptions can now be caught and reraised from Ada code. The only way to handle a foreign exception is via the others choice parameter.

  • GNAT Pro | GPS | GNATbench
    May 12th, 2011

    GPS: General GUI cleanup
    Many graphical elements of the GPS interface have been refreshed. In particular:

      - The close buttons in the title bars have been changed, and tabs now
        contain a close button.
      - The Search view has been also modified to present search options in a
        clearer and nicer way.
      - The browsers have been refreshed, with some added capabilities such as
        the capability to export to PDF, and a more complete export to SVG.
      - The different Combo boxes used in GPS have been reviewed, and their
        appearance now correctly reflects whether they can be edited or not.
    

  • GNAT Pro
    May 12th, 2011

    Support of foreign exceptions
    C++ and other foreign exceptions can now be caught and reraised from Ada code. The only way to handle a foreign exception is via the others choice parameter.

  • Ada | Ada 2005 / 95 / 83
    May 11th, 2011

    AI-0170 Time spent in interrupt handlers
    Facilities are added to enable the time spent in interrupt handlers to be accounted for separately from time spent in tasks.

  • Ada | Ada 2005 / 95 / 83
    May 10th, 2011

    AI-0174 Implement task barriers in Ada
    A new Synchronous_Barrier type is added to allow many tasks to be blocked and be released at once.

  • Ada | Ada 2005 / 95 / 83
    May 10th, 2011

    AI-0136 Multiway tree container
    This AI specifies new units in the Ada standard container library: Ada.Containers.Multiway_Trees, Ada.Containers.Indefinite_Multiway_Trees, and Ada.Containers.Bounded_Multiway_Trees. All three forms are now implemented.

  • Ada | Ada 2005 / 95 / 83
    May 10th, 2011

    AI-0013 No_Nested_Finalization and allocators
    This AI says that if the No_Nested_Finalization restriction is in force, then a nested allocator for a type that needs finalization is illegal. It also says that class-wide types need finalization. GNAT now checks this rule.

  • SPARK Pro
    May 9th, 2011

    Upgraded to Alt-Ergo 0.93
    Upgraded SPARKBridge's default SMT solver, Alt-Ergo, to version 0.93. This new version includes a proof-step limit flag which is now also available in Victor_Wrapper. This flag can be used to limit the time spent on each VC. Its advantage over the existing timeout flags are that the -steps flag is supported on all platforms SPARKBridge is available on (Windows and GNU/Linux) and it is deterministic.

  • Ada | Ada 2005 / 95 / 83
    May 9th, 2011

    AI-0052 Coextensions and distributed overhead
    Anonymous access discriminants of limited designated types are only permitted for immutably limited discriminated types.

  • GNAT Pro | GPS | GNATbench
    May 8th, 2011

    GPS: Improve support on refilling comments
    Edit->Selection->Refill has been improved to search for comments in the selected lines and refill them using an algorithm that, after refilling the contents of the comment, compares adjacent lines and decides whether a word should be moved to the next line to make the lines more even.

  • CodePeer
    May 5th, 2011

    CodePeer 2.0 webinar available for viewing

    This webinar is now archived and available for viewing. CodePeer is a source code analyzer that detects run-time and logic errors in Ada programs. This webinar, presented by Tucker Taft, provides an overview of the technology and focuses on the new features introduced in this latest release including support for access-to-subprogram types, much more efficient SCIL generation, support for parallel SCIL generation, fewer “false positives”, and improved integration with the GPS IDE.

    View the recorded session here.

  • SPARK Pro
    May 3rd, 2011

    SPARKBridge available on Windows platform
    The SPARKBridge technology which allows SPARK VCs to be discharged by alternative provers is now available on the Windows platform. The port includes Window versions of 1) the underlying FDL to SMT translator and prover driver from University of Edinburgh (ViCToR), 2) the underlying SMT solver Alt-Ergo from INRIA, 3) the “ViCToR Wrapper” convenience tool to perform a suitably configured ViCToR run on one vcg unit, 4) SPARKSimp options to apply ViCToR for larger jobs, and 5) POGS summariser reporting ViCToR results.