Development Log in April 2010.

  • SPARK Pro
    Apr 28th, 2010

    SPARK 9.0 webinar available for viewing

    SPARK Pro 9 is a major release including many new features – new information-flow verification for safety and security policies, a new SPARK2005 language profile, the new ZombieScope tool, cross referencing annotations in GPS, function return annotations are now treated more like procedure post-conditions, a new output format for POGS, and a new Examiner switch that checks consistency of casing within code and annotations. This webinar presents and demos these new features.

    To view the recorded webinar, please visit: http://www.adacore.com/home/products/gnatpro/webinars

  • GNAT Pro | GPS | GNATbench
    Apr 28th, 2010

    Shell/Python interfacing to GPS styles
    It is now possible to manipulate through GPS Shell and/or Python the colors and properties used when displaying messages in the editors.

  • GNAT Pro | GPS | GNATbench
    Apr 28th, 2010

    Shell/Python interfacing to GPS styles
    It is now possible to manipulate through GPS Shell and/or Python the colors and properties used when displaying messages in the editors.

  • PolyORB
    Apr 27th, 2010

    Better selection of local IP address
    PolyORB now tries to avoid using a loopback address when creating profiles designating local listening sockets, so that the generated IORs or URLs are valid beyond the local host.

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

    New preference Hyper links
    This new preference allows to activate or deactivate the hyper links created in the editors when the Control key is pressed.

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

    New preference Hyper links
    This new preference allows to activate or deactivate the hyper links created in the editors when the Control key is pressed.

  • GNAT Pro | GPS | GNATbench
    Apr 23rd, 2010

    Shell/Python interfacing to messaging system
    There is a possibility of manipulating GPS messages through GPS Shell or Python. Messages can be created and removed through this API, and it is also possible to add actions to each message.

  • GNAT Pro | GPS | GNATbench
    Apr 23rd, 2010

    Shell/Python interfacing to messaging system
    There is a possibility of manipulating GPS messages through GPS Shell or Python. Messages can be created and removed through this API, and it is also possible to add actions to each message.

  • CodePeer
    Apr 22nd, 2010

    April 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 tasks to track friendly and enemy ships, based on a protected type defining a short list of nearby ships. A flag is set when the combat zone becomes crowded, in order to switch to a different combat mode.

    To see CodePeer in action please click here.

  • GNAT Pro
    Apr 17th, 2010

    More cases of redundant type conversions detected
    The -gnatwr warning switch now detects many more cases of redundant type conversions and posts appropriate warnings. Previously the warning applied only where the expression is an entity name, it now applies to many cases of more general expressions such as indexed components.

  • GNAT Pro
    Apr 17th, 2010

    More cases of redundant Base attribute detected
    The -gnatwr warning switch now detects cases of using 'Base with user types where the usage is redundant (e.g. applying 'Base to an enumeration type). Previously this warning applied only to types declared in standard.

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

    Loop indexes offered in completion
    Loop variables are now offered by the smart completion.

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

    Loop indexes offered in completion
    Loop variables are now offered by the smart completion.

  • GNAT Pro
    Apr 15th, 2010

    Warnings for unordered enumeration types
    A warning switch (-gnatw.u or /WARNINGS=UNORDERED_ENUMERATIONS) considers all enumeration types for which pragma ORDERED is not given to be unordered. For an unordered enumeration type, a warning is given if a comparison or a subrange (other than X'First..X'Last) occurs in a unit that is not part of the extended source in which the type is defined (the extended source of a unit includes its body, if it is a spec, and all its subunits. See also the entry for J413-029.

  • GNAT Pro
    Apr 15th, 2010

    Pragma Ordered
    This pragma is used in conjunction with the switch -gnatw.u (see entry for NF-64-F206-023). The single argument is an enumeration type declared in the same declarative sequence as the pragma. This pragma specifies that the given enumeration type is to be considered Ordered, and should not generate the range/comparison warnings normally generated for unordered enumerations.

  • GNAT Pro
    Apr 14th, 2010

    New gnatmake switch—single-compile-per-obj-dir
    A new switch is added to gnatmake: --single-compile-per-obj-dir. When this switch is used and project files are used, gnatmake will not spawn more that one compilation for the same object directory, even if switch -jnn would allow for a larger number of simultaneous compilations.

  • Ada | Ada 2005 / 95 / 83
    Apr 13th, 2010

    AI-0123 Composability of equality
    Equality of untagged record composes, so that the predefined equality for a composite type that includes a component of some untagged record type R uses the equality operation of R (which may be user-defined or predefined). This makes the behavior of untagged records identical to that of tagged types in this respect. This change is an incompatibility with previous versions of Ada, but it corrects a non-uniformity that was often a source of confusion. Analysis of a large number of industrial programs indicates that in those rare cases where a composite type had an untagged record component with a user-defined equality, either there was no use of the composite equality, or else the code expected the same composability as for tagged types, and thus had a bug that would be fixed by this change.

  • GNAT Pro | GPRbuild
    Apr 12th, 2010

    New attributes for leading options
    New attributes Leading_Library_Options and Linker'Leading_Switches are added.

  • Ada | Ada 2005 / 95 / 83
    Apr 10th, 2010

    AI-0179 Statement not required after label
    It is not necessary to have a statement following a label, label, so a label can appear at the end of a statement sequence without the need for putting a null statement afterwards, but it is not allowable to have only labels and no real statements in a statement sequence.

  • SPARK Pro
    Apr 8th, 2010

    Article: Expressive vs. permissive languages: Is that the question?

    In this article, Yannick Moy looks at how the choice of programming language can facilitate the static analysis of a program.

    To read the full article, please visit http://www.embedded.com/design/224200704

  • SPARK Pro
    Apr 7th, 2010

    Webinar: Introducing SPARK Pro 9.0
    April 27, 2010 – 5:00 pm CET / 4:00 pm UK / 11:00 am EDT

    The InSight webinar series continues with a presentation by Robin Messer on the new features of the AdaCore/Altran Praxis joint offering – SPARK Pro 9. SPARK Pro combines the proven SPARK Ada language and supporting toolset with AdaCore’s GNAT Programming Studio (GPS) integrated development environment, backed by unrivaled support systems.

    SPARK Pro 9 is a major release including many new features – new information-flow verification for safety and security policies, a new SPARK2005 language profile, the new ZombieScope tool, cross referencing annotations in GPS, function return annotations are now treated more like procedure post-conditions, a new output format for POGS, and a new Examiner switch that checks consistency of casing within code and annotations.

    The webinar will present and demo these new features and also give you an opportunity to ask questions directly to the developers of SPARK Pro themselves.

    To register, please visit: http://www.adacore.com/home/products/gnatpro/webinars

  • GNAT Pro
    Apr 6th, 2010

    Improved error recovery for positional box
    Ada 2005 allows use of <> in aggregates, but requires that named notation be used. The compiler diagnosed this misuse, but the error recovery caused extra messages to be generated. The error recovery in this case is now improved to give clear messages in both Ada 95 and Ada 2005 mode.

  • GNAT Pro | GPS | GNATbench
    Apr 6th, 2010

    Completion for generic instances
    The smart complete is now able to follow generic instances, and to propose completions even when formal generic parameters are involved.

  • GNAT Pro | GPS | GNATbench
    Apr 6th, 2010

    Load CodePeer annotations in open editors
    CodePeer annotations are now displayed automatically for all open editors when the CodePeer report is displayed.

  • GNAT Pro | GPS | GNATbench
    Apr 6th, 2010

    Completion for generic instances
    The smart complete is now able to follow generic instances, and to propose completions even when formal generic parameters are involved.

  • GNAT Pro | GPS | GNATbench
    Apr 6th, 2010

    Load CodePeer annotations in open editors
    CodePeer annotations are now displayed automatically for all open editors when the CodePeer report is displayed.

  • GNAT Pro
    Apr 3rd, 2010

    Flag obsolescent features in Ada 2005 mode
    In Ada 2005 mode, the new entries in Annex J (paragraphs 10-14) are now flagged by the No_Obsolescent_Features restriction. These include obsolescent restrictions (e.g. No_Unchecked Conversion), Suppress with a second argument, access to t'Class where t is an incomplete type, use of pragma Interface, and referencing obsolescent subprograms in Ada.Characters.Handling.