Development Log

  • GNAT Pro
    Jun 30th, 2016

    New attribute Finalization_Size
    When applied to an object or definite type, attribute Finalization_Size returns the size of any hidden data reserved by the compiler to handle finalization related actions. Note that only heap-allocated objects contain such hidden data.

  • CodePeer
    Jun 28th, 2016

    Simplify display of modular expressions
    CodePeer now replaces "A mod K" with simply "A" when it is part of a larger expression that has an enclosing "mod K" operation, since a final "mod" operation is all that is required to faithfully represent the result of a tree of arithmetic operations on a modular type.

  • GNAT Pro
    Jun 28th, 2016

    Relative delays added in GNAT_Extended_Ravenscar
    Relative delays are now supported by ravenscar-full runtime on bareboard platforms.

  • GNAT Pro | GPS | GNATbench
    Jun 27th, 2016

    GPS: OpenOCD support to flash/debug boards
    GPS now supports OpenOCD in order to flash and/or debug an external board. In order to use OpenOCD, set the IDE'Connection_Tool project attribute to 'openocd' and specify a board-specific OpenOCD configuration file via the IDE'Connection_Config_File project attribute (boat attributes are editable in the 'Embedded' Project Properties editor page).

  • SPARK Pro
    Jun 23rd, 2016

    New check_all mode for GNATprove
    GNATprove now has a new mode for running the SPARK tools. This is the check_all mode, in which a full check of SPARK legality rules is done.

  • GNAT Pro | GPS | GNATbench
    Jun 23rd, 2016

    GPS: remove settings to auto-resize omnisearch
    The omnisearch (i.e. the search box at the top-right corner of the GPS window) had a setting to automatically resize the popup window vertically. Unfortunately, due to limitations in the gtk+ toolkit in computing the ideal size of a window, this never worked correctly. This setting has thus been removed, and the window will now always occupy the full height of the GPS window.

  • GNAT Pro
    Jun 23rd, 2016

    Improved exception propagation on cert
    For cert, ravenscar-cert and ravenscar-cert-rtp runtimes, a new mechanism to propagate exception is now used: backend SJLJ. This is more efficient than the previous mechanism.

  • CodePeer
    Jun 22nd, 2016

    Better support for test always true/false in elsif
    CodePeer detects conditions always true or false in more cases when the condition is part of an 'elsif' branch involving a complex expression, for instance an expression involving pointers.

  • GNAT Pro | GPRbuild
    Jun 22nd, 2016

    New builtin function Split
    A new builtin function Split is introduced. It takes two string parameters and returned a string list. Examples:

       Split ("-gnatf,-gnatv", ",") => ("-gnatf", "-gnatv")
       Split (external ("COMP_FLAGS", "-gnatf,-gnatv"), ",")
    

  • GNAT Pro | GPS | GNATbench
    Jun 21st, 2016

    GPS: new menu /File/Save More/Projects
    The menu /Project/Save All was moved to a new location to make its semantics easier to understand.

  • GNAT Pro | GPRbuild
    Jun 20th, 2016

    gprbuild verbosity
    gprbuild switch -v is now equivalent to switch -vl (low verbosity) instead of -vh. And invoking gprbuild with -v or -vl no longer outputs information about the inner behavior of gprbuild.

  • GNAT Pro
    Jun 20th, 2016

    New pragma/aspect Max_Queue_Length
    When applied to a protected entry or entry family, pragma Max_Queue_Length restricts the maximum callers per entry.

  • GNAT Pro
    Jun 20th, 2016

    Gold linker is available on native Linux
    The gold linker is now available on native Linux platforms. It can be selected (instead of the default bfd linker) using linker switch -fuse-ld=gold. This linker is faster than the bfd linker.

  • GNAT Pro | GPS | GNATbench
    Jun 17th, 2016

    GPS: new function GPS.Entity.instance_of
    A new python function is now available to find the generic entity that the current one instantiates.

  • GNAT Pro
    Jun 17th, 2016

    No elaboration code for Ada.Unchecked_Conversion
    Units Ada and Ada.Unchecked_Conversion have pragma No_Elaboration_Code_All, so these units can be with-ed from user units with that pragma.

  • GNAT Pro
    Jun 17th, 2016

    Improved support for new socket options
    GNAT.Sockets now has built-in support for Linux specific option Busy_Polling (SO_BUSY_POLL) when the compiler and runtime library are built on a recent enough host. Options not available at compiler build time can also now be set through a generic mechanism (Generic_Option).

  • SPARK Pro
    Jun 16th, 2016

    Improved info messages on objects initialization
    Now we emit info messages for every constituent of an abstract state, including protected objects. Also, we only emit info messages on initialized objects if they are mentioned in an Initializes aspect.

  • GNAT Pro | GPRbuild
    Jun 15th, 2016

    Environment variable GPR_RUNTIME_PATH
    When the Ada runtime directory is specified with switch --RTS or attribute Runtime ("Ada") as a relative path, the path may be relative to the project directory of the main project, or if the environment variable GPR_RUNTIME_PATH is defined to the path specified by the value of this environment variable.

  • SPARK Pro
    Jun 15th, 2016

    Entry guards are now taken into account
    GNATprove now also takes into account the boolean expression provided as a guard of an entry of a protected type. This was previously not the case.

  • GNAT Pro | GPS | GNATbench
    Jun 14th, 2016

    GPS: remove lines-with-code preference
    GPS no longer supports the debugger preference to show lines with code. This preference has been disabled by default for a while now, and can be slow to run since it requires a lot of interaction with the debugger (and while the debugger is working on getting us the info, we can't send other commands like setting breakpoints). It also required extra space on the left of editors to display the info. As part of the simplification of the code, we removed the source_lines_revealed hook.

  • GNAT Pro | GPS | GNATbench
    Jun 13th, 2016

    GPS: setting breakpoints before debugger starts
    It is now possible to set breakpoints even before a debugger is started. This can be done as usual via the Debug/Set Breakpoint contextual menu, or by clicking on the side of editor lines. These breakpoints will be set automatically when a debugger is started. The permanent breakpoints are now saved and restored for every executable in the project, not for each executable individually. Lines with breakpoints now highlight the line number, and no longer display a red dot on the side of the line. Clicking on the line numbers toggles breakpoints on and off.

  • Ada Web Server
    Jun 10th, 2016

    Add support for generating document style WSDL
    The tool ada2wsdl will now generate document style WSDL when passed the -doc option.

  • GNAT Pro | GPRbuild
    Jun 9th, 2016

    gprbuild default output
    The default output of gprbuild is now synthetic, without any abridged commands to invoke the compilers, binder or linker. Example: $ gprbuild prj.gpr Compile

       [Ada]          main.adb
    
    Bind
       [gprbind]      main.bexch
       [Ada]          main.ali
    
    Link
       [link]         main.adb
    

  • GNAT Pro | GPS | GNATbench
    Jun 9th, 2016

    GPS: display basenames in Project view
    The Project view has gained a new configuration, to display only the basenames of the directories. So now if you have a project file at /some/path/file.gpr and one source directory at /some/path/sources/src1/, you can choose to display any of the following in the Project view:

        /some/path/sources/src1/  (not showing basenames, and absolute paths)
        sources/src1/             (not showing basenames, and relatied paths)
        src1                      (showing basenames)
    

  • GNAT Pro | GPS | GNATbench
    Jun 9th, 2016

    GPS: improve debugger call stack view
    This view now has a local configuration menu to chose which information should be displayed. When you chose not to show subprogram parameters, gdb is configured so that it also does not try to compute them, which on some systems might significantly speed up operations with the debugger.

  • GNAT Pro | GPS | GNATbench
    Jun 9th, 2016

    GPS: new python function GPS.Debugger.breakpoints
    GPS now exports the list of breakpoints that are currently set in the debugger. This is both more efficient and more reliable than having scripts parse it again, and avoids hard-coding gdb commands in scripts.

  • GNAT Pro | GPS | GNATbench
    Jun 8th, 2016

    GPS: new functions exported to GPS.Debugger
    GPS exports more debugger functions to python, allowing scripts to be more independent of which exact debugger is actually used. These are GPS.Debugger.value_of, GPS.Debugger.set_variable, GPS.Debugger.break_at_location and GPS.Debugger.unbreak_at_location.

  • GNAT Pro
    Jun 8th, 2016

    User replacement of intConnect on VxWorks
    User can now use a custom interrupt connection routine on VxWorks. Package Interfaces.VxWorks.Int_Connection has been added.

  • GNAT Pro
    Jun 7th, 2016

    Pragmas Compile_Time_Error and Compile_Time_Warning
    Pragmas Compile_Time_Warning and Compile_Time_Error now support the use of attributes 'Size and 'Alignment when they are known at compile time.

  • SPARK Pro
    Jun 6th, 2016

    Support optional refinement in private part/child
    SPARK Reference Manual now allows refinement through the use of pragma or aspect Refined_Global and/or Refined_Depends in scopes where the full refinement of an abstract state is not visible, like the private part of the package defining the abstract state, or one of its child packages. The special rules in SPARK RM 7.2.4 for this so-called optional refinement are now supported in GNAT and GNATprove.

  • SPARK Pro
    Jun 6th, 2016

    Global variables known to be initialized in loops
    GNATprove now knows that in out global variables and parameters that are modified in loops are always initialized and thus are in their types. In particular, variables are in their range for scalars and their dynamic predicate is true if they have one.

  • SPARK Pro
    Jun 3rd, 2016

    Suppressed wrong warning message for X’Address
    SPARK does not look at X in X'Address as a used variable anymore and therefore it does not emit a warning message in case X is not initialised.

  • GNATCOLL.Atomic: Sync_*_Compare_And_Swap_Counter
    New atomic operations are provided, that change the value of an Atomic_Counter if, and only if, it currently has a given known value. This is useful to write lock-free algorithms.

  • GNAT Pro
    Jun 3rd, 2016

    gnattest: stub parent packages
    Gnattest now generates stubs for parent packages of packages undet test in --stub mode.

  • GNAT Pro | XMLAda
    Jun 2nd, 2016

    unicode names from the Unicode 8 standard
    The unicode-names-* packages were updated to match the Unicode 8 standard. The new bindings are generated via a new importer, which fixes a number of issues with the previous bindings:

       - some characters were put in the wrong block (and thus wrong package)
       - some typos due to incorrect parsing of the Unicode files
       - some name aliases would hide canonical names occurring later (for
         instance 1F5E2 was hidden by 1F48B)
       - some unofficial aliases were used (Bell is not long valid, for
         instance)
    
    This change is not fully backward compatible, due to changes in the Unicode standard itself, since some blocks were renamed, as well as some characters. Contributed by Nicolas Boulenguez

  • GNAT Pro
    Jun 1st, 2016

    Improved version of attribute Type_Key
    The attribute Type_Key, which is provided for compatibility with the APEX attribute of that name, now uses a CRC computed from the type declaration of the type, and the declaration of all its components, to provide a reliable signature that allows the detection of changes in the semantics of the type.

  • 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
    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 | 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.

  • 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
    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.

  • 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.

  • GNAT Pro | GPS | GNATbench
    Apr 29th, 2016

    GPS: new Debugger Variables view
    This view displays the same type of information as the Data Window (i.e. the value of variables) but in a tree, which might help keep things organized.

  • CodePeer
    Apr 28th, 2016

    Further improved unchecked conversion analysis
    CodePeer now knows more about unchecked conversions involving fixed point types and enumeration types.

  • GNAT Pro
    Apr 26th, 2016

    pragma Implicit_Packing for composite components
    Pragma Implicit_Packing now works for record types that contain components of small composite types, in particular small record types.

  • GNAT Pro
    Apr 26th, 2016

    pragma Implicit_Packing for byte-packed array types
    Pragma Implicit_Packing now works for array types whose component type is a scalar with a size multiple of the storage unit but not a power of 2.

  • GNAT Pro
    Apr 25th, 2016

    Task switching while debugging a core file
    It is now possible to switch between Ada tasks when debugging a core file.

  • GNAT Pro
    Apr 25th, 2016

    Faster access to small byte-packed array types
    The code generated for accessing packed array types whose component type is a small record with a size multiple of the storage unit has been improved.

  • GNAT Pro | GPS | GNATbench
    Apr 21st, 2016

    GPS: proposed value of message review status
    In CodePeer message review dialog proposed value of message review status has been changed to current status of the message.

  • CodePeer
    Apr 21st, 2016

    Better default for GPS message review dialog box
    When the "CodePeer message review" dialog box comes up in GPS, the default value for the "New status" field is no longer unconditionally "Unclassified", but is instead equal to the "Current status" field. In the case of a subsequent review of an already-classified message, this means that the default action is to preserve the current status of the message as opposed to setting the status back to "Unclassified".

  • GNAT Pro
    Apr 20th, 2016

    New pragma Unused
    When applied to an entity, pragma Unused causes each read or write attempt of the entity to be flagged as a warning.

  • GNAT Pro
    Apr 20th, 2016

    Added GNATcheck usage example
    An example demonstrating the use of GNATcheck coding standard verifier has been added to the distribution.

  • SPARK Pro
    Apr 17th, 2016

    More flexible elaboration rules with static model
    GNATprove now implements a more flexible enforcement of SPARK elaboration rules, that does not always requires Elaborate_All for calls and reads of subprograms and variables defined in other units during elaboration. Specifically, when the static elaboration model of GNAT is used (i.e. when neither switch -gnatE nor pragma Elaboration_Checks (Dynamic) are used), the more powerful mechanism of the compiler is used to compute a safe elaboration order for calls across units during elaboration, and GNATprove only requires the use of Elaborate_Body on units that modify the value of library-level variables defined in the spec during the elaboration of the unit body (SPARK RM rule 7.7.1(5)).

  • GNAT Pro | Libraries and Bindings
    Apr 15th, 2016

    Improving handling of User_Data
    The following generic packages were modified:

      Gdk.Event.Handler_Set_User_Data
      Gtk.Action_Group.Set_Translate_Func_User_Data
      Gtk.File_Filter.Add_Custom_User_Data
      Gtk.Widget.Add_Tick_Callback_User_Data
    
    
    The Notify parameter was removed from the public API. Instead, GtkAda will call the Destroy procedure to release User_Data.

  • GNAT Pro | GPS | GNATbench
    Apr 15th, 2016

    GPS: use Gtk dialog for open/save files
    GtkFileChooserDialog used instead dialog of GPS if system doesn't have own dialog or this forbidden in a preferences and it is local file system. It is possible to use a dialog of GPS by turn off gtk_file_selector trace setting.

  • GNAT Pro | GPS | GNATbench
    Apr 15th, 2016

    GPS: automatic fix for adding Elaborate_All pragma
    The GPS code fixing capability was enhanced to handle compiler messages such as "Elaborate_All pragma required for NAME". To fix this GPS will add pragma Elaborate_All (NAME) after corresponding with-clause in the spec or body of given compilation unit.

  • GNAT Pro | GPRbuild
    Apr 13th, 2016

    Errors with switches—restricted-to-languages=
    When gprbuild is invoked with switch --restricted-to-languages= and the configuration project file does not include attributes for languages that are not in the list of restricted languages, errors on the sources of these languages are inhibited.

  • GNAT Pro | GPRbuild
    Apr 13th, 2016

    Temporary config project with autoconfiguration
    The Project Manager now creates a temporary configuration project file when in auto-configuration. This file is deleted when the tool terminates. This allows several project-aware tools invocations to work in parallel with the same object directory.

  • GNAT Pro
    Apr 13th, 2016

    Tighter array packing for small record component
    The packing of array types subject to aspect/pragma Pack and whose component type is a small record, either that contains another small record component, or that has a size in the range 33 .. 63 bits, has been improved.

  • CodePeer
    Apr 12th, 2016

    Exclude source directories from analysis
    A new project attribute Excluded_Source_Dirs in package CodePeer is available to easily exclude entire source directories from analysis.

  • GNAT Pro | GPS | GNATbench
    Apr 7th, 2016

    GPS: Add the possibility to filter switches
    Switches defined for a specific tool using XML can now be filtered by specifying a named filter for the 'filter' attribute of a switch tag. These filters can be either predefined in GPS or created by the user (see the <filter> tag in the XML files). Use the GPS.Filter.list static method to list all the registered named filters.

  • CodePeer
    Apr 7th, 2016

    Creating baseline from previous runs
    It is now possible to set a previous run as the default baseline review by allowing the -baseline or -set-baseline-id switches in -output-only mode.

  • CodePeer
    Apr 7th, 2016

    Improved handling of baseline reviews
    A project now has a single baseline review, which will be used by default for all review comparisons. It can be set to the current review using the -baseline switch or set to a previous review using -set-baseline-id. Note that the default review can still be temporarily overwritten by using the -cutoff switch.

  • SPARK Pro
    Apr 7th, 2016

    More options for reporting of results
    The --report switch of the gnatprove tool now provides one more option to select from. If the option --report=provers is selected, gnatprove will show information about which provers have contributed to the proof of each check.

  • GNAT Pro | GPRbuild
    Apr 5th, 2016

    New attribute Origin_Project
    A new project level attribute Origin_Project is defined. Its value is a single string and designates a project name. It may be used for various purposes by project aware tools.

  • GNAT Pro | GPS | GNATbench
    Apr 5th, 2016

    GPS: different icon for disabled breakpoints
    The icons that are displayed on the side of editors to show where breakpoints are now have a different color when the breakpoint is disabled or is conditional.

  • GNAT Pro | GPS | GNATbench
    Apr 5th, 2016

    GPS: speed up search and replace
    The "search and replace all occurrences" has been sped up by a factor of seven in some cases.

  • GNAT Pro | GPS | GNATbench
    Apr 5th, 2016

    GPS: do not highlight occurrences of keywords
    The plug-in auto_highlight_occurrences.py highlights all occurrences of the word under the cursor in the whole file (possibly using smart cross reference information to only highlight the specific entity and not its homonyms). This plug-in has now learned not to highlight the language's keywords ("constant", "begin",...) which is useless and might be slow since these keywords generally occur often.

  • GNAT Pro | GPS | GNATbench
    Apr 4th, 2016

    GPS: Home goes to beginning or first-non-blank
    When using the Home key while in an editor (or any key bound to the action "beginning of line"), GPS will first go to the first column (as it has always done), but if you do it a second time it will then go to the first non-blank character of the line). This is a feature available in other code editors.

  • GNAT Pro | GPS | GNATbench
    Apr 4th, 2016

    GPS: Support for arm-sysgo-pikeos
    GPS now supports the arm-sysgo-pikeos toolchain.

  • GNAT Pro
    Apr 4th, 2016

    Optimization of Unbounded_Priority_Queues
    The efficiency of Ada.Containers.Unbounded_Priority_Queues has been improved, especially in the case where many same-priority items are enqueued.

  • GNAT Pro
    Apr 4th, 2016

    Improved warning on absolute address clauses
    The alignment warning issued on strict-alignment architectures for address clauses whose value is an absolute address is now more accurate, catches more cases and prints the alignment value.

  • GNAT Pro | GPRbuild
    Apr 1st, 2016

    New procedure Get_Closures
    A new procedure GPR.Util.Get_Closures is added. It allows to get the full paths of the sources in the Ada closures of one or several mains.

  • GNAT Pro
    Apr 1st, 2016

    Expanded support for incomplete types in profiles
    The support for incomplete types as parameter and result types introduced in Ada 2012 has been implemented for a broader range of types.

  • SPARK Pro
    Mar 31st, 2016

    Deterministic proof by default with no timeout
    GNATprove is now deterministic by default, so it does not use timeouts unless explicitly instructed by the user to do so. Instead, a steps limit is used to bound the effort made by automatic provers to find a proof. This new design is based on a few changes: the proof level (switch --level) is 0 by default, proof level sets a value of steps but no value of timeout, switch --timeout takes a new value "auto", in addition to a possible time in seconds. The semantics of --timeout=auto is that it adjusts to the value of the proof level.

  • SPARK Pro
    Mar 31st, 2016

    Always generate axiom for expression function
    Previously, no axiom was generated for an expression function in a part of code with no explicit SPARK_Mode, which prevented proofs of client code that relied on the implicit postcondition of the expression function. Now, an axiom is generated in such a case.

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

    GPS: width of omnisearch popup
    The width of the popup window for the omnisearch (at the top-right corner of the main window) is now proportional to that of the search field itself. And the width of the latter can be set by changing the settings, which is useful if you have long file names in your application.

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

    GPS: listvars.py plugins shows reference type
    The optional listvars.py plugin (which adds a contextual menu "Variables used in ...") now also shows the type of reference for those variable (read, write, dispatching call,...)

  • GNAT Pro | GPS | GNATbench
    Mar 29th, 2016

    GPS: revamp the debugger Breakpoints view
    This view shows the current list of breakpoints set in the debugger. Its layout has been modified so that it is now smaller and can more easily be a permanent fixture of the desktop. Clicking on a breakpoint will display all its properties (both basic like file and line, exception name,... and advanced like the condition to be met for the debugger to stop).

  • GNAT Pro
    Mar 29th, 2016

    Ada.Execution_Time implemented on Darwin
    The standard package Ada.Execution_Time is now supported on Mac OS X.

  • CodePeer
    Mar 25th, 2016

    Improved unchecked conversion analysis
    CodePeer now knows about unchecked type conversions between signed and unsigned integer types if the target subtype has basetype bounds and the source type's size is no larger than that of the target type.

  • GNAT Pro
    Mar 24th, 2016

    Multiprocessor support (SMP) on leon3-elf
    The ravenscar runtimes supports multiple processors on leon3-elf platform.

  • CodePeer
    Mar 23rd, 2016

    Improved support for System.Address as pointer
    CodePeer now supports 'null' as a valid value when dealing with System.Address, to support legacy Ada compilers where System.Address is declared as a pointer.

   1  2  3     Next »