Development Log in March 2015.

  • GPS | GNATbench
    Mar 31st, 2015

    GPS: library directories displayed in Project view
    For library project, the library directory is displayed as an explicit node in the Project view, in addition to the object directory.

  • GNAT Pro
    Mar 31st, 2015

    New pragma/aspect Volatile_Full_Access
    A new pragma (and equivalent aspect) Volatile_Full_Access is implemented. This is similar to Volatile except that there is a guarantee that every read and write to an object with this aspect will use only instructions which read or write all the bits of the object. This includes the case of accessing a component of the object. Note that this differs from Atomic in that there is no such guarantee for Atomic (the compiler can read part of the object). It is not allowed to use Atomic and Volatile_Full_Access for the same entity.

  • GPS | GNATbench
    Mar 30th, 2015

    GPS: GPS.Action.disable is a new python function
    Using this function, it is now possible to disable all usage of an action within GPS, and gray out/hide all corresponding menus.

  • GPRbuild
    Mar 29th, 2015

    Out of tree build
    gprbuild can now build a project file out of a the source tree. That is, all artifacts (object, executable, ALI files) are relocated to the directory where gprbuild is launched when using the new --relocate-build-tree option. The --relocate-build-tree option is also available with gprinstall and gprclean to install artifacts or delete them from the out-of-tree build directory.

  • GNAT Pro
    Mar 27th, 2015

    Improved optimization of 2**K
    The compiler now optimizes 2**K into a quick shift instruction in more cases including handling binary modular types and signed integer types for the case where overflow checking is enabled. The latter is significant given the new default in the compiler which has overflow checking on by default. The new circuit avoids taking a significant penalty for 2**K with overflow enabled.

  • GNAT Pro
    Mar 26th, 2015

    Optimized visium-elf zfp RTS
    The zfp RTS for visium-elf is now compiled with options more suitable for the library's intended use, tailored for improved generated code efficiency and ability to perform automatic removal of unused functions at link time.

  • SPARK Pro
    Mar 26th, 2015

    Bodies of non-Ghost packages with Ghost constructs
    Ghost constructs that require a completion in a package body now always require the completion regardless of whether the enclosing package is a Ghost construct or not.

  • SPARK Pro
    Mar 24th, 2015

    Use of constants in contracts
    Constants with variable input can now appear in the following annotations: Global, Depends, Initializes, Part_Of, Refined_Global, Refined_Depends and Refined_State.

  • GPS | GNATbench
    Mar 24th, 2015

    GPS: makefile.py reads include statements
    Makefile targets found in included makefiles are now listed in the /Build/Makefile menu.

  • SPARK Pro
    Mar 20th, 2015

    Improve support of modular as index of array
    GNATprove now handles modular types as index of array with bitvectors. With this change, all modular types are handled in a similar way. This results in limiting to a minimum conversions to, and from, bitvectors on why3 side (badly supported by SMT solvers).

  • Ada Web Server
    Mar 20th, 2015

    Add support for encrypted server key file
    It is now possible to use a encrypted key file with AWS. In this case, a pass-phrase is required in order to start HTTPS sessions. This pass-phrase can be handed over to the server using Set_Password_Callback in AWS.Net.SSL.Certificate.

  • GPS | GNATbench
    Mar 17th, 2015

    GPS: new Color Theme window
    The plugin colorschemes.py has been modified: the way to switch between color themes is no longer through an entry in the Preferences dialog, but through a dedicated window, accessed using the menu Edit -> Color Themes. GPS now supports importing TextMate theme definitions, and a number of themes now ship by default with GPS.

  • GPS | GNATbench
    Mar 17th, 2015

    GPS: initial dir for the “Change Directory” dialog
    Under Linux/UNIX/Mac OS, the "Change directory" dialog now opens on the current directory, matching the behavior already present on Windows.

  • SPARK Pro
    Mar 17th, 2015

    Contracts on generic subprograms and packages
    The SPARK toolset now supports contracts on generic subprograms, packages and their respective bodies.

  • GNAT Pro
    Mar 17th, 2015

    Alignment_Check suppressed for non-strict alignment
    Alignment_Check is now suppressed by default for machines with non-strict alignment (such as the x86) since these machines handle unaligned references without any problem. Associated compile-time warnings are also suppressed if the run-time check is suppressed. The previous mode of operation (with this check enabled by default) can be obtained by placing in a configuration pragma file "pragma Unsuppress (Alignment_Check)".

  • GNAT Pro
    Mar 16th, 2015

    Add low bit rates to GNAT.Serial_Communications
    New literals B75, B110, B150, B300, and B600 have been added to type GNAT.Serial_Communications.Data_Rate to denote these low bit rates, in order to allow communication with legacy devices that require them.

  • GNAT Pro
    Mar 15th, 2015

    Exclude extended precision for ignored assertion
    If an assertion is compiled using the Ignore policy, and the overflow mode is Eliminate, then the extended precision arithmetic run-time unit (s-bignum) was being included in the build even though no code was being generated. This is now avoided, which is particularly important when using a configurable run-time that does not include this unit.

  • Ada Web Server
    Mar 14th, 2015

    Add support for document style SOAP/WSDL
    AWS now supports document style SOAP messages and WSDL documents.

  • PolyORB
    Mar 13th, 2015

    gnatdist now uses gprbuild by default
    The gnatdist partitioning tool will now use gprbuild by default to build partitions, if that tool is available. You can force the use of gnatmake using debugging switch -dM.

  • SPARK Pro
    Mar 13th, 2015

    Improve handling of dynamic types with dispatch
    The SPARK toolset now tracks bounds of dynamic scalar and array types better in particular in presence of dispatching calls and for verification of LSP conformance.

  • GPRbuild
    Mar 13th, 2015

    Dependency with different timestamp
    gprbuild now recompiles a file based source if one of its dependency source has a different time stamp, even when the time stamp is before the one of the object file.

  • Ada Web Server
    Mar 8th, 2015

    Add support for minOccurs/maxOccurs
    Add support for multi-occurrence SOAP elements. SOAP element declared with a minOccurs or maxOccurs different than 1 are now properly handled as multi-occurrence elements. If minOccurs is set to 0 the element can be omitted.

  • GNAT Pro
    Mar 5th, 2015

    Null procedures allowed in protected bodies
    AI12-0147 specifies that null procedures and expression functions are now allowed in protected bodies.

  • SPARK Pro
    Mar 5th, 2015

    Improve support of rotation of modular types
    The SPARK toolset now deals better with rotation of modular types of non constant amount.

  • GNAT Pro
    Mar 2nd, 2015

    Multiset libraries have indexing aspects
    The GNAT-specific ordered and indefinite multiset libraries have indexing aspects, and thus can be used in element iterators.

  • GPS | GNATbench
    Mar 2nd, 2015

    GPS: source navigation in CodePeer-only mode
    When GPS is used with CodePeer only (no GNAT installed), the build mode is automatically changed to properly load the cross-references information.

  • GPS | GNATbench
    Mar 2nd, 2015

    GPS: control jump to first message in plugins
    Python plugins can use new parameter of GPS.Message's class constructor to control automatic jump to first message in category.