Development Log in March 2010.

  • GNAT Pro | GPS | GNATbench
    Mar 30th, 2010

    Preferences for CodePeer messages colors
    A set of color properties can now be used to customize the background color of CodePeer messages and annotations.

  • GNAT Pro | GPS | GNATbench
    Mar 30th, 2010

    Preferences for CodePeer messages colors
    A set of color properties can now be used to customize the background color of CodePeer messages and annotations.

  • Projects: new API to manipulate project files
    This API gives access to parse and manipulate project files (.gpr) and their attributes, as well as edit project files

  • GNAT Pro | GPS | GNATbench
    Mar 26th, 2010

    Subcategory order in locations view for CodePeer
    Sorting by subcategory in locations view is now applied to CodePeer messages and messages are ordered by their ranking.

  • GNAT Pro | GPS | GNATbench
    Mar 26th, 2010

    Subcategory order in locations view for CodePeer
    Sorting by subcategory in locations view is now applied to CodePeer messages and messages are ordered by their ranking.

  • SPARK Pro
    Mar 25th, 2010

    SPARK 2005
    The SPARK Examiner has a new switch to select the language profile. It takes the form "-language=[83|95|2005]". This replaces the -ada83 switch which is now considered obsolete. At present the effect of this switch is limited to:

     - support for 2005 reserved words interface, overriding and synchronized;
     - support for S'Mod and S'Machine_Rounding;
     - support for the overriding / not overriding indicator for subprograms
       of a tagged type extension.
    
    Future enhancements will add more SPARK 2005 features in due course.

  • Ada | Ada 2005 / 95 / 83
    Mar 25th, 2010

    AI-0137 String encoding package
    The packages Ada.Strings.UTF_Encoding, together with its child packages, Conversions, Strings, Wide_Strings, and Wide_Wide_Strings have been implemented. These packages (whose documentation can be found in the spec files a-stuten.ads, a-suenco.ads, a-suenst.ads, a-suewst.ads, a-suezst.ads) allow encoding and decoding of String, Wide_String, and Wide_Wide_String values using UTF coding schemes (including UTF-8, UTF-16LE, UTF-16BE, and UTF-16), as well as conversions between the different UTF encodings. With the exception of Wide_Wide_Strings, these packages are available in Ada 95 and Ada 2005 mode as well as Ada 2012 mode. The Wide_Wide_Strings package is available in Ada 2005 mode as well as Ada 2012 mode (but not in Ada 95 mode since it uses Wide_Wide_Character).

  • CodePeer
    Mar 24th, 2010

    March Find the Bug Challenge

    In order to demonstrate the scope of CodePeer’s code analysis capabilities we thought we’d have a little fun and each month post a simple piece of code that contains a few tricky bugs, so that you can measure your bug-finding capacities to those of CodePeer.

    This Month’s Challenge
    This package defines the configuration of a player in an adventure computer game. Type Gameplay defines the various modes that the player can adopt. Depending on this mode, various features are defined, which determine the hourly energy consumption of the player.

    To see CodePeer in action please click here.

  • GNAT Pro | XMLAda
    Mar 24th, 2010

    New exception XML_Not_Implemented
    A new exception is raised when using a schema (.xsd) validator, and the schema uses features that are not supported by XML/Ada. Unsupported features are: xsd:key elements, IDREF and IDREFS types, various forms of regexps, and redefine. It is also possible to explicitly disable support for some features to make sure the subset of Schema you use is fully supported by XML/Ada and passes all relevant tests of the W3C testsuite The W3C committee has reviewed the status of some of their schema tests since their last release. Support was added to use this latest version. See the README file for information on the setup.

  • GNAT Pro | XMLAda
    Mar 24th, 2010

    New exception XML_Not_Implemented
    A new exception is raised when using a schema (.xsd) validator, and the schema uses features that are not supported by XML/Ada. Unsupported features are: xsd:key elements, IDREF and IDREFS types, various forms of regexps, and redefine. It is also possible to explicitly disable support for some features to make sure the subset of Schema you use is fully supported by XML/Ada and passes all relevant tests of the W3C testsuite The W3C committee has reviewed the status of some of their schema tests since their last release. Support was added to use this latest version. See the README file for information on the setup.

  • SPARK Pro
    Mar 23rd, 2010

    Safety and security policies using flow analysis
    Examiner now adds support for the checking of specific information-flow policies, using the Integrity property of an own variable to "label" the integrity of an input, output, or state variable.

  • GNAT Pro
    Mar 20th, 2010

    New switch -gnat2012 and pragma Ada_2012
    The switch -gnat2012 (allowed synonym -gnat12) specifies compilation in Ada 2012 mode, allowing all Ada 2012 features so far implemented, including conditional expressions and case expressions. A new configuration pragma Ada_2012 (allowed synonym Ada_12) has the same effect. The -gnatX switch and pragma Extensions_Allowed (On), also enable Ada 2012 mode.

  • GNAT Pro
    Mar 17th, 2010

    Overlaying of block and loop objects on AAMP target
    The GNAAMP compiler now overlays the storage for objects declared within a subprogram's block statements and for loops in cases where the statements do not overlap, reducing the size of stack frames.

  • GNAT Pro | GPS | GNATbench
    Mar 16th, 2010

    Sort by file name in locations view for CodePeer
    Messages from CodePeer in the locations view are now sorted by file name so that it's easier to find a specific file in the report.

  • GNAT Pro | GPS | GNATbench
    Mar 16th, 2010

    Sort by file name in locations view for CodePeer
    Messages from CodePeer in the locations view are now sorted by file name so that it's easier to find a specific file in the report.

  • GNAT Pro
    Mar 15th, 2010

    Improving Diagnosis for ASIS_Inappropriate_Element
    When an ASIS query raises ASIS_Inappropriate_Element, the generated Diagnosis string contains the kind of the Element that causes raising this exception.

  • GNAT Pro
    Mar 11th, 2010

    ASIS: Improved performance of Enclosing_Element
    Enclosing_Element now works faster on components of big and nested array and record aggregates.

  • PolyORB
    Mar 11th, 2010

    Use minimal perfect hash functions
    The Ada code generated by iac now uses minimal perfect hash functions rather than cascading 'if' statements in the Skel. This is a speed improvement, especially when there are a large number of methods.

  • GNAT Pro
    Mar 10th, 2010

    Improved code for loops with FOR iteration scheme
    The compiler now generates code with fewer conditional branches for loops with a FOR iteration scheme and dynamic bounds in the most common cases.

  • GNAT Pro
    Mar 8th, 2010

    gnatxref switch—ext=
    A new switch --ext=xxx is provided in gnatxref in order to specify an alternate file extension for ALI files.

  • GNAT Pro | GPS | GNATbench
    Mar 8th, 2010

    Filters when completing variables & parameters
    When completing a variable or parameter type, the completion will only offer package and type names.

  • GNAT Pro | GPS | GNATbench
    Mar 8th, 2010

    Filters when completing variables & parameters
    When completing a variable or parameter type, the completion will only offer package and type names.

  • GNAT Pro | GPS | GNATbench
    Mar 5th, 2010

    Better external run under Windows
    Under Windows, running commands under an external terminal now keeps the terminal open after execution.

  • GNAT Pro | GPS | GNATbench
    Mar 5th, 2010

    Better external run under Windows
    Under Windows, running commands under an external terminal now keeps the terminal open after execution.

  • GNAT Pro
    Mar 4th, 2010

    Suppressing warning suppresses continuations
    If a Warnings (Off, string) pragma suppresses a warning message, then its associated continuation messages (including the "in instantiation at ..." message preceding the suppressed message) are now also suppressed.

  • GNAT Pro
    Mar 2nd, 2010

    More efficient packed array indexing on AAMP target
    The GNAAMP compiler now generates more efficient code sequences for indexing of packed arrays with component sizes of 1, 2, and 4 bits.