Development Log in November 2010.

  • GNAT Pro
    Nov 24th, 2010

    New formal container packages
    Formal containers (Ada.Containers.Formal_*) implement modified versions of the Ada 2005 containers, meant to facilitate formal verification of code using such containers. The implementation of formal containers is based on the implementation of Ada 2012 bounded containers in GNAT.

  • GNAT Pro
    Nov 24th, 2010

    New formal container packages
    Formal containers (Ada.Containers.Formal_*) implement modified versions of the Ada 2005 containers, meant to facilitate formal verification of code using such containers. The implementation of formal containers is based on the implementation of Ada 2012 bounded containers in GNAT.

  • use gnat_util.gpr to access the gnat sources
    Some optional features of GNATCOLL require access to the GNAT sources. You previously had to get those sources separately and create link. Recent versions of GNAT come with a gnat_util.gpr that makes this part of the setup easier, and supports applications that use both GNATCOLL and ASIS.

  • GNAT Pro
    Nov 22nd, 2010

    Compiler now generates DWARF by default on LynxOS
    On LynxOS targets, the compiler now generates debugging information using the DWARF debugging format as the default. This is a much richer format allowing tools such as the debugger to be faster and more accurate.

  • New package: GNATCOLL.Refcount
    This package provides support for smart pointers and reference counted types. It also includes support for weak references.

  • CodePeer
    Nov 22nd, 2010

    Better messages for postcondition failures
    CodePeer now recognizes specially the failures of user specified postconditions, whether pragma Postcondition in GNAT or Post aspects in Ada 2012 syntax, which were reported previously as precondition failures on special generated procedures. These are now categorized as postcondition failures, with an appropriate message.

  • GNAT Pro
    Nov 19th, 2010

    Link with full path names of archives
    To avoid linking with a possibly existing shared library in the same library directory, executables are now linked with the complete path names of archives, instead of switches -L and -l.

  • GNAT Pro
    Nov 19th, 2010

    Link with full path names of archives
    To avoid linking with a possibly existing shared library in the same library directory, executables are now linked with the complete path names of archives, instead of switches -L and -l.

  • Ada | Ada 2005 / 95 / 83
    Nov 18th, 2010

    AI-0150 Use_All_Type
    The Use_All_Type clause extends the behavior of Use_Type, by making additional entities potentially use-visible: all primitive operations of the given type T including literals of enumeration types, as well as operations declared in the immediate scope of parents of T, that act on a class-wide type that covers T.

  • Naming parameters in Scripts.Register_Command
    When a command is exported to a scripting language, it is now possible to name its arguments in the Register_Command call, as opposed to doing it in the handler itself.

  • Support for python new-style classes
    GNATCOLL.Scripts will now create so called new-style classes in python. These are the new form of classes since Python 2.2, and provide a number of advantages compared to older classes: extending builtin types, better support for multiple-inheritance through super(), support for properties, support for __new__, compatibility with Python >= 3.0,...

  • Passing lists as parameters to scripts
    GNATCOLL.Scripts.Nth_Arg can now accept list parameters, in addition to the existing simple types.

  • Ada | Ada 2005 / 95 / 83
    Nov 14th, 2010

    AI-0144 Detecting dangerous order dependences
    To prevent possibly dangerous aliasing between the actuals in an expression with multiple in-out parameters, the compiler flags those actuals whose values may differ, depending on the order of evaluation of subexpressions. Even though the Ada2012 RM dictates that such order dependence is an error, GNAT currently treats these as warnings, awaiting additional feedback on the impact of this rule.

  • Ada | Ada 2005 / 95 / 83
    Nov 14th, 2010

    AI-0143 In Out parameters for functions
    All functions can have in-out, i.e. modifiable parameters. This includes functions declared with subprogram declarations, expression functions, and protected functions

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

    AI-0164 Access_Subprogram parameters in derivation
    If a primitive operation of a type T has a parameter P that is an access to subprogram, occurrences of T in the designated profile of P are not replaced in the signature of the inherited operation for an extension of T. GNAT never modified the designated profile.

  • GNAT Pro | GPS
    Nov 10th, 2010

    GPS video tutorials

    To highlight many of the powerful features available in GPS we are creating a number of video tutorials. The first of these demo the C/C++ cross references and auto-highlighting occurrences capabilities:

    http://www2.adacore.com/home/products/gnatpro/toolsuite/gps/in-action/

    We will be adding to these on a regular basis and if you have any requests for specific topics, please let us know.

  • SPARK Pro
    Nov 9th, 2010

    Extension of ‘Always_Valid to composite types
    An in mode own variable (an external input), V, may now be asserted as V'Always_Valid if the type of V is one of: 1 scalar 2 an array of scalar components 3 a non-tagged record whose components comprise scalar or array of

       scalar types
    
    4 an array of records where its elements satisfy the constraints in (3) Additionally, 'Always_Valid may be applied to individual components of a, possibly tagged, record mode in variable satisfying the constraints (1-4).

  • GNAT Pro | XMLAda
    Nov 9th, 2010

    Support for XML 1.0 (Fifth Edition)
    XML/Ada now support the fifth edition of XML 1.0 (but you can still chose to use earlier versions). The differences mostly have to do with the range of characters allowed for names. This change was needed to run the most recent version of the W3C XML testsuite.

  • CodePeer
    Nov 7th, 2010

    Target compiler switches ignored
    When using a project file which contains target compiler switches (e.g. -mcpu or -march), these switches are now ignored when generating SCIL files on the host, since they are not relevant.

  • SQL: connect to postgreSQL without SSL
    It is now possible to specify the SSL mode when connecting to a postgreSQL server

  • GNAT Pro | XMLAda
    Nov 5th, 2010

    Rewrite schema validation module
    The schema validation module was almost fully rewritten. It is now based on a finite-state machine (which changes dynamically if you use features such as xsi:type to override types in your XML documents). This results in slightly better performances, better results in the W3C testsuite (where, given a valid XSD file, we have 100% correct results when checking the validity of XML files), and much more readable code.

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

    GPS: ispell module stops at underscores
    When looking for the word to spell check, the ispell.py module will now stop at '_' characters, thus allowing you to fix misspelling in words like 'lookng_for'

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

    GB: Add some jdt-equivalent key shortcuts
    Some shortcuts defined in JDT or CDT for toggling comments have been added to gnatbench (Ctrl+Shift+C and Ctrl+7).

  • SPARK Pro
    Nov 3rd, 2010

    Added ViCToR support for SPARKSimp
    SPARKSimp has been elevated from a tool to run just the simplifier (and ZombieScope) to a utility to run a variety of analysis tools. In particular, SPARKSimp now supports running ViCToR (the -victor option has been added to request this).

  • SPARK Pro
    Nov 3rd, 2010

    Added ViCTOR support for POGS
    POGS has been extended to understand the artifacts generated by ViCToR. VCs discharged by ViCToR/Alt-Ergo are counted and will appear in the final summary table.

  • SPARK Pro
    Nov 3rd, 2010

    Added ViCToR support in GPS
    The SPARK plug-in for GPS now knows of all new options and flags relating to ViCToR. A new menu entry has been added to apply victor to a file.

  • SPARK Pro
    Nov 3rd, 2010

    Added new tool: Victor Wrapper
    A new tool has been added, Victor Wrapper. This utility has the same command-line sematics as the Simplifier and ZombieScope and invokes ViCToR. ViCToR is a translator which can convert SPARK verification conditions into SMTLib format and use an SMT Solver to attempt to prove them. SPARK Pro 9.1 will ship with both ViCToR and Alt-Ergo (an SMT Solver), both of which are considered experimental features. ViCToR is currently only available on GNU/Linux.