Development Log in February 2012.

  • GNAT Pro
    Feb 29th, 2012

    New GNAT pragma and aspect Contract_Case
    A new aspect Contract_Case is defined, using the Ada 2012 aspect syntax, that allows defining fine-grain specifications that can complement or replace the contract given by a precondition and a postcondition. This is also usable by testing and formal verification tools. It applies only to subprogram declarations in a package declaration inside a package spec unit. Note that the syntax of Contract_Case is similar to that of Test_Case. A corresponding pragma Contract_Case is defined, which can be used in all Ada modes.

  • GNAT Pro
    Feb 27th, 2012

    Ada 2012 attributes First_Valid/Last_Valid
    The new Ada 2012 attributes First_Valid and Last_Valid are implemented. These apply to static discrete types with at least one valid value. The static discrete type may have a static predicate (which is the case where these attributes are useful). They return the lowest and highest values for which valid values (that is values that satisfy any static predicate) exist.

  • SPARK Pro
    Feb 22nd, 2012

    SPARK 10.1 webinar recording now online

    The InSight webinar series continued with a presentation on the new features of SPARK Pro 10.1:

    • Generics Phase 1 – Release 10.1 includes the first phase of the addition of support for Ada generics to the SPARK language and toolset
    • Dynamic Flow Analyser and VCG Heaps
    • Unicode characters now allowed in strings
    • Improved use of types and subtypes in FDL
    • Improvements to Simplifier tactics and performance
    • Auto-generation of refinement rules
    • Improvements to SPARKBridge
    • New SPARKClean utility

    This webinar can be viewed at:
    http://www.adacore.com/home/products/sparkpro/language_toolsuite/webinars/

  • Ada Web Server
    Feb 21st, 2012

    AWS now supports IPv6
    AWS now supports IPv6, to enable IPv6 support:

       $ make IPv6=true setup
    

  • Ada Web Server
    Feb 21st, 2012

    AWS now supports IPv6
    AWS now supports IPv6, to enable IPv6 support:

       $ make IPv6=true setup
    

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2012

    Improved indentation in parenthesized expressions
    Automatic indentation of 'or else' and 'and then' constructs at the end of lines inside parenthesized expressions has been improved. In particular, they no longer generate an extra indentation on the next line.

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2012

    Improved indentation of comments within expressions
    Indentation of comments within expressions or as part of continuation lines will take the extra continuation line preference into account.

  • GNAT Pro
    Feb 20th, 2012

    Increase efficiency of bounded strings
    Bounded strings have been optimized by avoiding the need to NUL-out unused characters.

  • GNAT Pro
    Feb 20th, 2012

    Improved support for task names under GNU/Linux
    Under GNU/Linux systems, task names (either implicit from the source code, or explicit via pragma Task_Name) are now set via the prctl() system call, so that they also appear as part of e.g. the ps command.

  • GNAT Pro
    Feb 17th, 2012

    Improved linker DLL build time
    When building a shared library with many exported symbols on Windows the creation of the DLL was taking a long time. This performance issue has been addressed and now creating a DLL takes about the same time as creating an executable.

  • GNAT Pro | GPS | GNATbench
    Feb 16th, 2012

    GPS: improvements in auto_highlight_occurrences.py
    There are two new features in the auto_highlight_occurrences.py plugin:

      - if there is a selection, other occurrences of the selected text
        will be highlighted in the editor
      - if the cursor is on a word which is not a navigable entity (for instance
        keywords, words in comments, or in languages other than Ada or C), GPS
        will perform text-based highlighting of this word
    
    
    Both of these behaviors can be deactivated through the Preferences dialog, under Plugins->auto_highlight_occurrences.

  • GNAT Pro
    Feb 14th, 2012

    Misleading warning that variable could be constant
    If the actual in a call is an access selected component of a variable, it is treated as a possible modification of the enclosing record, to prevent a spurious warning that a variable might be declared as a constant.

  • GNAT Pro | GPS | GNATbench
    Feb 13th, 2012

    GPS: new command GPS.EditorLocation.inside_word
    A new GPS shell/Python command is available to determine whether a location is inside a word. This is useful when creating editor plugins.

  • GNAT Pro
    Feb 12th, 2012

    Better message for Range in integer type definition
    Surprisingly, a range attribute definition is not permitted to be used as a signed integer type definition. A clearer message is now given for this case, advising that instead x'First .. x'Last must be used.

  • Ada Web Server
    Feb 8th, 2012

    Add support for limiting HTTP POST parameters
    It is now possible to limit the maximum number of POST parameters that AWS will handle. This is a per server configuration option whose default value is set to 100.

  • Ada Web Server
    Feb 8th, 2012

    Add support for limiting HTTP POST parameters
    It is now possible to limit the maximum number of POST parameters that AWS will handle. This is a per server configuration option whose default value is set to 100.

  • GNAT Pro
    Feb 7th, 2012

    Speed up gnatmake in presence of extending projects
    The check in gnatmake to verify if an object file is in the correct object directory in the presence of extending projects has been optimized, as it was taking a considerable amount of time when there were many sources.

  • CodePeer
    Feb 4th, 2012

    Introducing CodePeer 2.1

    April 10, 2012 – 4:00pm GMT, 5:00pm CET, 11:00am EST

    CodePeer is a source code analyzer that detects run-time and logic errors in Ada programs. This webinar, presented by Tucker Taft, will provide an overview of the technology, and focus on the new features introduced in this latest 2.1 release. These include support for Ada 2012 and its new syntax for specifying contracts, analysis of the elaboration of library units to enable detection of uninitialized global variables, better support for analysis of race conditions including new GPS reports, and more precise handling of preconditions and unused assignments. Presented by Tucker Taft, we will also allow for a Q&A session at the end of the presentation.

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

  • GNATcoverage
    Feb 4th, 2012

    Unit testing with GNATtest webinar

    March 20, 2012 – 4:00pm GMT, 5:00pm CET, 12:00am EST

    The InSight webinar series continues with a webinar demonstrating how to write unit tests in a cost-effective way using the AdaCore toolset. More precisely it will show how to generate the unit testing framework using GNATtest, how to run the tests on an emulator such as GNATemulator, and how to extract coverage results using GNATcoverage. This is primary aimed at developers and projects managers that already have unit testing infrastructure in place and are looking to reduce maintenance costs, as well as teams that are looking at implementing such techniques with minimal effort.

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

  • GNAT Pro | GPS | GNATbench
    Feb 2nd, 2012

    GPS: Coverage Report accessible through Back button
    When clicking on a file or subprogram in the Code Coverage report, GPS opens this location in an editor. It is now possible to click the "Back" button in the toolbar to go back to the Code Coverage report.

  • PolyORB
    Feb 1st, 2012

    Process ids in traces
    Process IDs can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "pid=true" in section [log] of the PolyORB configuration.

  • SPARK Pro
    Feb 1st, 2012

    Unmoded globals permitted with flow=auto
    Previously, the Examiner enforced the rule that global annotations on procedures must always specify variable modes when in automatic flow analysis mode. This rule has now been relaxed, so modes may be omitted from globals if there is a derives annotation present. The Examiner will then infer the modes from the derives annotation as it does in information-flow mode. This means that legacy code with derives annotations and unmoded globals can be analysed with flow=auto.

  • GNAT Pro | GPS | GNATbench
    Feb 1st, 2012

    GPS: multi-line option in MDI.input_dialog
    The GPS function MDI.input_dialog used in plug-ins has been enhanced to offer multi-line input on fields as an option.

  • PolyORB
    Feb 1st, 2012

    Process ids in traces
    Process IDs can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "pid=true" in section [log] of the PolyORB configuration.