Development Log in May 2016.

  • GNAT Pro | GPS | GNATbench
    May 31st, 2016

    GPS: tooltips show dirs relative to root project
    The tooltips in notebook tabs, in the Project view and in the Windows view now show both the absolute name for files as well as their location relative to the root project. The latter path can often be much shorter, depending on your setup.

  • GNAT Pro | GPS | GNATbench
    May 31st, 2016

    GPS: tooltips show dirs relative to root project
    The tooltips in notebook tabs, in the Project view and in the Windows view now show both the absolute name for files as well as their location relative to the root project. The latter path can often be much shorter, depending on your setup.

  • GNAT Pro | GPS | GNATbench
    May 30th, 2016

    GPS: Improve outline view’s “with Clauses”
    Do not show "with Clauses" node in outline view if no withes.

  • GNAT Pro | GPS | GNATbench
    May 30th, 2016

    GPS: Improve outline view’s “with Clauses”
    Do not show "with Clauses" node in outline view if no withes.

  • GNAT Pro
    May 30th, 2016

    Better scheduling of 64-bit arithmetic on Visium
    The compiler now generates object code for 64-bit arithmetical operations that is slightly more compact and/or better scheduled on the Visium.

  • GNAT Pro | GPRbuild
    May 29th, 2016

    Setting the default verbosity
    It is now possible to control the default verbosity without to use switches -v or -q, with environment variable GPR_VERBOSITY. The possible values, case-insensitive, are "quiet", "default", "verbose", "verbose_high", "verbose_medium" and "verbose_low". Any other value is ignored.

  • Ada Web Server
    May 28th, 2016

    Add support for DELETE client request
    AWS now supports the DELETE client request.

  • GNAT Pro
    May 27th, 2016

    New Interfaces packages on bareboard platforms
    Packages Interfaces.C.Strings and Interfaces.C.Pointers have been added to the ravenscar-full runtimes. The implementation of Interfaces.C fully conforms to the standard.

  • GNAT Pro | GPS | GNATbench
    May 26th, 2016

    GPS: New manual completion mode
    A new smart completion mode is available, where smart completion is enabled, but will only be triggered by the smart completion shortcut. This mode is called "Manual", and is available in the Editor preferences.

  • GNAT Pro | GPS | GNATbench
    May 26th, 2016

    GPS: New manual completion mode
    A new smart completion mode is available, where smart completion is enabled, but will only be triggered by the smart completion shortcut. This mode is called "Manual", and is available in the Editor preferences.

  • GNAT Pro | GPRbuild
    May 26th, 2016

    Runtimes with multiple directories
    Runtimes with multiple directories for sources or object/libraries are now properly supported.

  • GNAT Pro | GPRbuild
    May 25th, 2016

    Runtime () as a relative path
    It is now possible to specify a runtime directory with the attribute Runtime as a relative path, in the main project. Example: for Runtime ("Ada") use "./rts"; The path is relative to the project directory of the main project.

  • GNAT Pro | GPS | GNATbench
    May 24th, 2016

    GPS: hyper links in call graph browser
    In the Call Graph Browser, file locations are now clickable and open the corresponding file/line.

  • GNAT Pro | GPS | GNATbench
    May 24th, 2016

    GPS: filter in the Windows view
    The Windows view now also has a local filter, to help search for specific windows.

  • GNAT Pro | GPS | GNATbench
    May 24th, 2016

    GPS: hyper links in call graph browser
    In the Call Graph Browser, file locations are now clickable and open the corresponding file/line.

  • GNAT Pro | GPS | GNATbench
    May 24th, 2016

    GPS: filter in the Windows view
    The Windows view now also has a local filter, to help search for specific windows.

  • SPARK Pro
    May 23rd, 2016

    SPARK lemma library for nonlinear int arithmetic
    SPARK now comes with a library of lemmas separately proved in Coq, that can be called in user code to automatically prove nonlinear integer arithmetic properties, i.e. properties involving multiplication, division, modulo. The lemmas are ghost procedures, hence they are removed from the final executable when compiling without assertions. This library of lemmas is meant to be extended based on user needs. It is documented in the SPARK User's Guide, in section 4.10 about SPARK Libraries.

  • CodePeer
    May 23rd, 2016

    Improved support for arrays with static bounds
    CodePeer now performs more accurate analysis of arrays with static bounds and has improved display of dynamically indexed array elements of such arrays.

  • GNAT Pro
    May 20th, 2016

    Elimination of more useless overflow checks at -O2
    The compiler now eliminates more overflow checks that can never fail when the optimization level -O2 or above is specified.

  • GNAT Pro
    May 20th, 2016

    ASIS: new query Is_Generalized_Indexing
    A new query Is_Generalized_Indexing is added to Asis.Expressions. It checks if the argument expression Element should be considered as generalized indexing according to ARM 4.1.5.

  • GNAT Pro
    May 19th, 2016

    gnatpp: alignment of exception declarations
    By default, gnatpp will treat exception declarations and exception renaming declarations similarly to object declarations and others, by aligning the ":" characters when multiple declarations appear one after the other with no intervening blank lines.

  • GNAT Pro | GPS | GNATbench
    May 18th, 2016

    GPS: Integration with QGen
    GPS now provides a convenient interface to QGen, the code generator for Simulink models. This includes: displaying graphically the diagrams from MDL files (read-only), toolbar buttons to easily generate code then build (and optionally then debug), tight integration with the debugger so that whenever the debugger stops, GPS highlights the current block in the diagram, adds contextual menus to easily break on specific blocks, and shows the current value of signals.

  • GNAT Pro | GPS | GNATbench
    May 18th, 2016

    GPS: Integration with QGen
    GPS now provides a convenient interface to QGen, the code generator for Simulink models. This includes: displaying graphically the diagrams from MDL files (read-only), toolbar buttons to easily generate code then build (and optionally then debug), tight integration with the debugger so that whenever the debugger stops, GPS highlights the current block in the diagram, adds contextual menus to easily break on specific blocks, and shows the current value of signals.

  • GNAT Pro
    May 16th, 2016

    Support for hashing arbitrary complex structures
    The family of secure hash packages based on GNAT.Secure_Hashes (including MD5, SHA1, and the various SHA2 functions) now provide a wrapper for hashing contexts that implements the Ada stream interface. As a result, stream attributes can be used to feed arbitrary complex data structures into hashing functions.

  • SPARK Pro
    May 16th, 2016

    Do not re-use files from previous versions of SPARK
    Intermediate files in the gnatprove directory from previous versions of the tools could mislead later versions of the tools, sometimes resulting in confusing crashes or confusing error messages. We now detect any such version mismatch and issue a prompt to clean up.

  • GNAT Pro | GPS | GNATbench
    May 12th, 2016

    GPS: view the tasks directly from the toolbar
    In the main toolbar, the button next to the summary of running tasks now brings up an ephemeral window which contains a task manager view, which allows viewing and interrupting tasks directly from the toolbar, without the need to have the Task Manager view present in the MDI. For Python plugins: the hooks 'task_changed' and 'task_removed' have been removed as part of this: use GPS.Task.list() periodically to get the list of tasks.

  • GNAT Pro | GPS | GNATbench
    May 12th, 2016

    GPS: view the tasks directly from the toolbar
    In the main toolbar, the button next to the summary of running tasks now brings up an ephemeral window which contains a task manager view, which allows viewing and interrupting tasks directly from the toolbar, without the need to have the Task Manager view present in the MDI. For Python plugins: the hooks 'task_changed' and 'task_removed' have been removed as part of this: use GPS.Task.list() periodically to get the list of tasks.

  • SPARK Pro
    May 12th, 2016

    Support for pragma Unused/Unreferenced/Unmodified
    SPARK now has support for pragma Unused, Unreferenced and Unmodified. We silence warnings (but not checks) about variables that have been mentioned in one of these pragmas; they can be used as an alternative to pragma Warnings Off.

  • GNAT Pro
    May 6th, 2016

    Add support for ‘Image and ‘Value to Cert runtimes
    Cert runtimes now support the same attributes and packages as Ravenscar Cert, except that Ada.Calendar and Calendar are not in the latter. New packages include various string-handling packages, less-restrictive Interfaces.C, etc. The main difference now between the two profiles is use of Ravenscar tasking vs. APEX processes.

  • CodePeer
    May 4th, 2016

    Extended support for shift intrinsics
    Support for shift intrinsics on types other than 8, 16, 32, or 64 bits is now available in CodePeer. This can be useful for e.g. legacy Ada code running on 24-bit hardware with native 24-bit integer types.

  • GNAT Pro
    May 4th, 2016

    Warning on fixed-point actual with user-defined op
    Compiler emits a warning on the actual for a formal fixed-point type when the actual has a user-defined arithmetic operator but the generic unit does not include a formal subprogram for the operator. The warning indicates that the predefined operation will be used in the instance.