Development Log

  • GNAT Pro | GPS | GNATbench
    Dec 10th, 2016

    GNATdoc: support for Ada 83 and Ada 95
    GNATdoc now supports processing Ada 83 and Ada 95 codebases, in addition to Ada 2005 and 2012.

  • SPARK Pro
    Dec 9th, 2016

    Better termination error messages
    Every error message related to termination referred to a subprogram without specifying the name. This further information is now emitted.

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

    WB: Revision controlled scenario variable settings
    Scenario variables values related to a project are stored in its .gb_project file to enable having them version controlled.

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

    WB: revision controlled scenario variable settings
    Scenario variables values related to a project are stored in its .gb_project file to enable having them version controlled.

  • GNAT Pro | GPRbuild
    Dec 8th, 2016

    Recognize native compiler of different architecture
    On multiarch systems, gprbuild can now recognize a native compiler of a different architecture than itself.

  • SPARK Pro
    Dec 7th, 2016

    Only check component subtype at first declaration
    GNATprove now only checks subtype indications on record components when verifying the declaration of the first record type defining this component. This avoids having multiple checks on record component subtype indications, some of which could be undischarged due to missing information.

  • CodePeer
    Dec 7th, 2016

    Support for annotations in the CSV output
    CodePeer annotations (preconditions, postconditions, global inputs and outputs, ...) can now be included in the CSV output using the -show-annotations switch (in addition to -output-msg -csv).

  • GNAT Pro
    Dec 7th, 2016

    Support in Linux for locking policies
    The Linux version now supports two additional locking policies pragma Locking_Policy (Ceiling_Locking); pragma Locking_Policy (Inheritance_Locking);.

  • GNAT Pro
    Dec 7th, 2016

    Pragma Discard_Names and exception declarations
    Pragma Discard_Names now suppresses the generation of String names for exception declarations. As a result, these names will not appear in the final binary. Note that routine Ada.Exceptions.Exception_Name will return an empty String when invoked with an exception subject to pragma Discard_Names.

  • GNAT Pro
    Dec 7th, 2016

    Ada issue AI12-0131, inheritance of Pre’Class
    AI12-0131, which is part of the Ada 2012 corrigendum 1, specifies that Pre'Class shall not be specified for an overriding primitive subprogram of a tagged type T unless the Pre'Class aspect is specified for the corresponding primitive subprogram of some ancestor of T.

  • GNAT Pro
    Dec 7th, 2016

    Reduce memory use for temporary files
    The run-time system now does a slightly better job of cleaning up some data structures used for temporary files created by Text_IO.

  • GNAT Pro
    Dec 7th, 2016

    Allow larger ppc-elf programs with mpc8641 RTS
    The ROM space available to program code and read-only data for powerpc-elf bareboard configurations with mpc8641 runtimes was unnecessarily limited to 1 MB. We relaxed this restriction, now allowing up to 32 MB instead.

  • GNAT Pro
    Dec 1st, 2016

    Constraint checks removed from tagged membership
    The compiler was generating unnecessary run-time checks (i.e. checks that cannot fail) for expressions like "X in T'Class". The same was true of type conversions like "T'Class (X)". These checks are now removed.

  • SPARK Pro
    Dec 1st, 2016

    Assume value of string literals
    GNATprove now knows precisely the value stored in a string literal which will result in more proofs when string literals are involved.

  • GNAT Pro
    Dec 1st, 2016

    Foreign thread names retained on Linux
    When foreign threads are registered with the Ada runtime on Linux, GNAT no longer changes the name of the thread to "foreign thread".

  • CodePeer
    Nov 30th, 2016

    Better messages for access-to-subprogram uses
    In some cases a dereference of an access-to-subprogram value could result in a CodePeer message like "... requires Ptr >= 1" which is inappropriate for a non-numeric value. Instead, we now generate "... requires Ptr /= null" .

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

    WB: Run quickfix from Ada editor left ruler
    Quickfix process can be initiated clicking Ada markers in Ada editor left ruler. Initiating quickfix from problems view is still supported.

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

    WB: run quickfix from Ada editor left ruler
    Quickfix process can be initiated clicking Ada markers in Ada editor left ruler. Initiating quickfix from problems view is still supported.

  • GNAT Pro
    Nov 28th, 2016

    Non-blocking wait for child process termination
    A new procedure Non_Blocking_Wait_Process is added to GNAT.OS_Lib. It is the same as Wait_Process, except that if there are no completed child processes, it returns immediately without blocking.

  • CodePeer
    Nov 26th, 2016

    Better handling of data modified by unknown calls
    Data that can possibly be modified by a call to a subprogram not analyzed by CodePeer are computed more precisely. In particular, bounds of arrays that are passed as out or in out parameters in a call to an unanalyzed subprogram are no longer considered as possibly modified by the call.

  • GNAT Pro | GPS | GNATbench
    Nov 25th, 2016

    WB: Add support of ppc64-vx7 target
    Wind River Workbench projects for powerpc64-wrs-vxworks7 platform can be converted to Ada project and then built through Workbench builder.

  • GNAT Pro | GPS | GNATbench
    Nov 25th, 2016

    WB: add support of ppc64-vx7 target
    Wind River Workbench projects for powerpc64-wrs-vxworks7 platform can be converted to Ada project and then built through Workbench builder.

  • GNAT Pro
    Nov 25th, 2016

    New warning on late dispatching primitives
    Compiler provides a new warning (enabled by means of switches -gnatw.j or -gnatwa) that warns on public primitives of a tagged type defined after some private extension of it.

  • GNAT Pro
    Nov 24th, 2016

    Support for vxWorks 653 2.5.0.2
    GNAT Pro for vxWorks 653 now supports 2.5.0.2 on both PowerPC and e500v2.

  • SPARK Pro
    Nov 23rd, 2016

    Improved error message
    In case of a subprogram having an output global which is used as an input of the subprogram in its body we now provide more information on the error message.

  • GNATCOLL.SQL easier to add new field types
    It is now easier to add new field types. GNATCOLL used to have enumeration types internally, which meant that adding new types had mostly to be done by modifying GNATCOLL itself. See the package GNATCOLL.SQL_Fields for an example. The JSON and XML field types now use this new framework, as an example. This means that if you are using these in applications currently, you will likely need to add a 'with GNATCOLL.SQL_Fields;' to keep your code compiling.

  • SPARK Pro
    Nov 22nd, 2016

    Better interval analysis of int to float conversions
    Interval analysis is a simple analysis that allows proving range checks and overflow checks simply by computing the worst-case bounds of expressions based on the types of subexpressions. This analysis now also deals precisely with conversions from integers to floating-point types, which improves provability of programs with such conversions.

  • SPARK Pro
    Nov 22nd, 2016

    Remove trivial checks on float-to-int conversions
    Range checks on float-to-int conversions that can be proved to be always passing by trivial interval analysis of the types of subexpressions are not emitted anymore. This improves provability of programs where such conversions are used, as automatic provers sometimes had difficulty proving range checks on such conversions.

  • SPARK Pro
    Nov 21st, 2016

    New lemma on array ordering
    We have added a new lemma for sorted arrays in the SPARK lemma library. This lemma allows proving ordering between arbitrary elements of the array using transitivity of the order.

  • CodePeer
    Nov 21st, 2016

    Improved CodePeer handling of tagged types
    CodePeer encounters fewer capacity limitations (timeouts, too many value numbers) for examples which declare tagged types, including examples which instantiate Ada's predefined container generics.

  • GNAT Pro | GPRbuild
    Nov 19th, 2016

    SAL projects and -bargs
    When gprbuild is invoked with a main project that is a Stand-Alone Library project and with binding options specified on the command line after switch -bargs, a warning is displayed indicating that command line binding options are not taken into account when the main project is a SAL project.

  • GNAT Pro
    Nov 17th, 2016

    Static intialization with pragma Linker_Section
    If an array object has a pragma Linker_Section with a compile- time-known initial value, the object is statically initialized in place in the appropriate section, as opposed to being initialized by elaboration code at run time.

  • GNAT Pro
    Nov 17th, 2016

    More compact code for concatenation at library level
    The compiler generates more compact code for concatenation operations performed on strings within the initialization expression of an object declared at library level.

  • CodePeer
    Nov 17th, 2016

    Support for -gnatxxx switches
    CodePeer now supports the -gnatxxx compiler switches directly, either from the command line, or from the Switches attribute in the CodePeer package in project files, giving more flexibility in particular coupled with the -compiler-mode switch. This also allows specifying CodePeer-specific compiler switches (such as -gnatI) without impacting compilation.

  • GNAT Pro
    Nov 16th, 2016

    Specifying an address clause on controlled objects
    It is now possible to specify an address clause on objects which are either derived from Ada.Finalization.Controlled or Limited_Controlled, or contain controlled components.

  • GNAT Pro
    Nov 11th, 2016

    More efficient trigonometric functions on x86
    The implementation of the sin, cos, and tan functions in children of Ada.Numerics is now more efficient on the x86 architecture.

  • GNAT Pro | GPS | GNATbench
    Nov 10th, 2016

    GPS: Speed up Project and Files views
    Creating either views is now much faster, in particular on large projects where a directory contains several thousands of files.

  • GNAT Pro | GPS | GNATbench
    Nov 10th, 2016

    GPS: speed up Project and Files views
    Creating either views is now much faster, in particular on large projects where a directory contains several thousands of files.

  • SPARK Pro
    Nov 10th, 2016

    Loop invariant generation for preserved components
    GNATprove can automatically generate loop invariants specifying the preservation of array and record components that are not modified during a loop. This generation is a heuristic which only works in the most common cases.

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

    GPS: Number of replacements reported
    GPS now reports in the Messages window the number of occurrences that have been replaced when 'Replace All' button of the Search view is clicked.

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

    GPS: Number of replacements reported
    GPS now reports in the Messages window the number of occurrences that have been replaced when 'Replace All' button of the Search view is clicked.

  • SPARK Pro
    Nov 9th, 2016

    Types with partial default initialization allowed
    Types with partial default initialization were previously not allowed in SPARK, which made it difficult to analyze some existing codebases. They are now allowed.

  • SPARK Pro
    Nov 8th, 2016

    Improve provability of checks in loops
    Checks whose proof depends on assuming the loop invariant at the current iteration of the loop could be unprovable due to part of the loop invariant being simplified to True or False. This simplification is now disabled in assertions to improve provability of checks in loops.

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

    GPS: New setting to preserve build messages
    The local configuration menu of the Locations view now contains an item "Preserve message" to control whether to keep build messages for files that are not being recompiled.

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

    GPS: new setting to preserve build messages
    The local configuration menu of the Locations view now contains an item "Preserve message" to control whether to keep build messages for files that are not being recompiled.

  • GNAT Pro
    Nov 7th, 2016

    New pragma No_Heap_Finalization
    This pragma may be used as a configuration pragma or as a type- specific pragma. In its type-specific form, the argument of the pragma must denote a library-level named access-to-object type. The pragma suppresses calls to Finalize for heap-allocated objects created through the argument type in cases where the designated type requires finalization actions.

  • Ada Web Server
    Nov 7th, 2016

    Add support for GZip content-encoded messages
    AWS now supports messages sent from a client with the GZip content encoding. In this case the actual message is automatically inflated by AWS.

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

    GPS: Limit number of entries in Search view combobox
    The number of entries in the Search view combobox is now limited to 5 when the view is spawned. A separator has also been added between the predefined regexps and the previously searched patterns.

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

    GPS: Limit number of entries in Search view combobox
    The number of entries in the Search view combobox is now limited to 5 when the view is spawned. A separator has also been added between the predefined regexps and the previously searched patterns.

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

    GPS: Hidden files in the Files view
    The Files view now reuses the same preference as the Project view to hide some files (those starting with "." by default, although this can be configured in the preferences dialog).

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

    GPS: hidden files in the Files view
    The Files view now reuses the same preference as the Project view to hide some files (those starting with "." by default, although this can be configured in the preferences dialog).

  • Ada Web Server
    Nov 3rd, 2016

    Add support chunked client messages
    AWS now supports messages sent from a client with the chunked transfer encoding.

  • SPARK Pro
    Nov 3rd, 2016

    more precise volatility for protected objects
    A new rule 7.1.2(16) was added to SPARK RM, along with SPARK tool updates, to better control the volatility of protected objects. Previously they were fully volatile, now they have only Async_Readers and Async_Writers. If a separate volatile variable is a Part_Of such a protected object, the protected object inherits any volatility aspects (i.e. Effective_Reads or Effective_Writes) of its Part_Of constituent.

  • SPARK Pro
    Nov 2nd, 2016

    Division checks now proved by CodePeer integration
    Division by zero checks can now be proved by the CodePeer integration in SPARK, which was not the case previously.

  • SPARK Pro
    Nov 2nd, 2016

    Assertion checks now proved by CodePeer integration
    Assertion checks (pragma Assert, Loop_Invariant, Assert_And_Cut) can now be proved by the CodePeer integration in SPARK, which was not the case previously.

  • GNATCOLL.SQL.Upper new aggregate function
    A mapping to SQL's UPPER function was added

  • SPARK Pro
    Oct 31st, 2016

    Nested loops allowed before a loop (in)variant
    A limitation in GNATprove forbade nested loops before loop (in)variants. This limitation has been removed.

  • SPARK Pro
    Oct 27th, 2016

    Better handling of always-fail subprograms
    Subprograms where all possible execution paths end in an exception are now dealt with in a more obvious fashion. Instead of raising many checks and warnings, we now emit only a single high check indicating that no path will return normally.

  • SPARK Pro
    Oct 26th, 2016

    Improve tracking of bounds of array aggregates
    GNATprove now does a better job of tracking the bounds of aggregates of dynamic array types, resulting in more discharged checks on array aggregates.

  • GNAT Pro
    Oct 25th, 2016

    Minimize useless body compilations when inlining
    A filter has been added to the inlining / instantiation circuitry to recognize package bodies that do not contain bodies of inlined functions or generic bodies being instantiated, and that therefore do not need to be compiled, even though their declarations may appear in the context of other units that are needed for inlining.

  • GNAT Pro
    Oct 24th, 2016

    Better RM 6.3.1 (8-13) rules violation error message
    RM 6.3.1 (8) specifies that an inherited primitive of a type derived from a generic formal with unknown discriminants has convention intrinsic. As a result, access subprogram parameters of such an operation are also intrinsic, and the corresponding actual cannot be an access attribute reference. The new error message warns on the inherited subprogram before rejecting the attribute reference.

  • SPARK Pro
    Oct 20th, 2016

    level switch uses time limit instead of step limit
    The level switch used to provide a high level way of tuning the verification condition now sets time limits instead of step limits for provers. As a result, this switch is more predictable, as it always allows each prover to run for the same amount of time, but less deterministic, as the time needed for a prover to complete a proof may vary depending on the computer.

  • GNAT Pro | GPS | GNATbench
    Oct 19th, 2016

    GPS: Resize Debugger Data items when pref changes
    When the preferences that control the maximum size of items are changed in the Preferences/Debugger dialog, this immediately impacts already displayed items in the Debugger Data view.

  • GNAT Pro | GPS | GNATbench
    Oct 19th, 2016

    GPS: resize Debugger Data items when pref changes
    When the preferences that control the maximum size of items are changed in the Preferences/Debugger dialog, this immediately impacts already displayed items in the Debugger Data view.

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

    GB: Add library pages to GPR file creator
    During the execution of commands "new Ada project" or "convert to Ada project", the GPR file creation wizard is displaying two new pages when the user asks for a library GPR file. These pages allow configuring library attributes.

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

    GB: add library pages to GPR file creator
    During the execution of commands "new Ada project" or "convert to Ada project", the GPR file creation wizard is displaying two new pages when the user asks for a library GPR file. These pages allow configuring library attributes.

  • CodePeer
    Oct 16th, 2016

    Better analysis for Float_Random clients
    In some cases, CodePeer's analysis of programs which declare objects of the type Ada.Numerics.Float_Random is more precise than before.

  • GNAT Pro
    Oct 14th, 2016

    gnatpp: Improved formatting with—par_threshold=0
    If --par_threshold=0 is specified, and --no-separate-is is not specified, then the "is" of a parameterless procedure is placed on a separate line.

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

    GPS: Remove entity information in Project view
    We no longer display the list of entities defined in a file, in the Project view. This information is already available in the Outline, whenever a file is selected in the Project view. Removing it allowed us to speed up the display of the tree view.

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

    GPS: remove entity information in Project view
    We no longer display the list of entities defined in a file, in the Project view. This information is already available in the Outline, whenever a file is selected in the Project view. Removing it allowed us to speed up the display of the tree view.

  • GNAT Pro
    Oct 12th, 2016

    AI12-0127 implementation, partial aggregate notation
    Ada Issue AI12-0127, part of the Ada2012 amendment, describes a new constructor for aggregates, in terms of an existing record or array object, and a series of component-wise modifications of its value, given by named associations for the modified components. To use this feature the compilation flag -gnat2020 must be specified.

  • CodePeer
    Oct 10th, 2016

    Better analysis for Float_Random clients
    In some cases, CodePeer's analysis of programs which declare objects of the type Ada.Numerics.Float_Random is more precise than before.

  • CodePeer
    Oct 8th, 2016

    No False Positive mode
    Significant work has been done to reduce the number of false alarm messages (also known as false positives) when using the -messages min switch. This is also the default when using -level 0, -level 1 and -compiler-mode switches. In this mode, only messages which are the most likely to be real errors are generated.

  • GNAT Pro
    Oct 1st, 2016

    AI12-0125, left-hand side of assignment abbreviation
    Ada Issue AI12-0125, part of the Ada2012 amendment, introduces the use of the character '@' as an abbreviation for the left-hand side of an assignment statement, usable anywhere within the expression on the right-hand side. To use this feature the compilation flag -gnat2020 must be specified. See motivation and examples of use at http://www.ada-auth.org/cgi- bin/cvsweb.cgi/ai12s/ai12-0125-3.txt?rev=1.12 .

  • GNAT Pro | Libraries and Bindings
    Sep 30th, 2016

    Gtkada.Canvas_View: inline editing improvements
    New signals have been aded:

       Signal_Inline_Editing_Started
       Signal_Inline_Editing_Finished
    
    New subprograms have been added:
       Set_Editable, Is_Editable
       Inline_Editing_In_Progress
    
    When an item that is edited interactively by the user is moved, we now also move the editing widget (generally a GtkTextView). This text view now also inherits the font size and attributes from the edited item. End of editing is done via a simple <return>, since the previous <ctrl-return> was impossible to guess by the user. Preselect the whole text when editing, so that the user can more easily change it all.

  • SPARK Pro
    Sep 29th, 2016

    Integration of Codepeer Technology into SPARK
    The CodePeer Static Analysis engine is now part of the SPARK tools. It can be enabled using the command line switch --codepeer=on, or selected via a new checkbox in the SPARK integration inside GPS. If this is done, SPARK will run the CodePeer engine prior to its own analysis to discharge checks. Depending on the project and kinds of checks, this can result in more proved checks, or quicker completion of analysis, because SPARK doesn't need to analyze some checks already proved by the CodePeer analysis. The strong point of the CodePeer static analysis are ranges of variables, including floating-point variables. As a result, proof of runtime checks will be improved if the CodePeer engine is used.

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

    GPS: relative paths in the Omnisearch
    The Omnisearch can now also display project relative paths instead of absolute ones. This behavior can be controlled via a checkbox present in the Omnisearch settings.

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

    GPS: non-exclusive key bindings in plugins
    It is now possible to bind keys to actions without unbinding the key. This means that the same key binding might apply to several actions, and the action that gets executed is the first one for which the filter matches. In particular, this allows reusing keys like <enter> or <tab> in contexts other than the editor.

  • SPARK Pro
    Sep 29th, 2016

    Ability to replay proofs using SPARK
    The SPARK tools now support a new switch --replay. If this switch is passed to GNATprove, it will attempt to replay the proofs of all checks that are marked as proved in the proof session, using for each VC the same prover that succeeded in proving it, and a time and steps limits that were sufficient to make the proof succeed. This feature provides an efficient way of checking that all proofs still go through, e.g. after an upgrade of the SPARK tools.

  • GNAT Pro
    Sep 29th, 2016

    Implement AI95-0133 in Ada 95 mode
    Record representation clauses for record types with non-native Bit_Order are now interpreted according to the Binding Interpretation in AI95-0133 even when the compiler is running in Ada 95 mode. A new debug command line switch -gnatd.p is introduced, which restores the previous behavior (from the original Ada 95 specification). (Note that -gnatd.p has no effect when running in Ada 2005 mode or above).

  • SPARK Pro
    Sep 28th, 2016

    Use SMT-LIB float theory with prover Z3
    GNATprove can now benefit from SMT solvers with native floating- point support. In particular GNATprove uses this support in prover Z3, which gives more precise results on floating-point programs.

  • GNAT Pro
    Sep 28th, 2016

    Use natural interrupt numbers on Cortex-M
    The runtime has been adjusted so that Interrupt_ID now corresponds to the interrupt number of the manual. The previous offset of 2 has been removed. Warning: you possibly need to modify your application to use the new numbering if you were using pragma Attach_Handler.

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

    GPS: new action to maximize a window
    A new action ("maximize window") is provided to make the central area of the desktop (that contains the editor) occupy the full GPS window, hiding all other views. Executing the action again goes back to the previous layout. You can bind a key shortcut to this action via the Preferences/Key Bindings menu.

  • SPARK Pro
    Sep 27th, 2016

    Support for type invariants
    The tools now have initial support for type invariants (SRM 7.3.2). A type invariant can be specified on the completion of a private type. This invariant can be assumed anywhere outside the package where the type is declared; and is checked inside the package. Type invariants are useful to simplify a common pattern where an invariant is added to the pre- and post-conditions of all subprograms in a package.

  • GNAT Pro
    Sep 27th, 2016

    More efficient integer overflow checking
    The compiler now generates more efficient code for the overflow checking required by the arithmetical operations on signed integer types.

  • CodePeer
    Sep 27th, 2016

    New switch -f
    A new switch -f is provided to force reanalysis when using the -compiler-mode switch, instead of doing an incremental analysis only, and to force generation and analysis of scil files for all source files in the default mode.

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

    GPS: cross-references from runtime files
    It is now possible to force GPS to index runtime files so that you can perform cross-references from them (it was always possible to cross-ref from your own sources to the runtime). This takes longer to index, so is disabled by default. See the preference Project/Cross References in Runtime Files.

  • GNATCOLL.Scripts.Execute_Expression: new function
    This new function can be used to execute any python expression (not just function calls) and retrieve their result without knowing in advance whether it will return a string, list of string, boolean,...

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

    GPS: toolchain information in About dialog
    The About dialog now contains the name of the current project's toolchain if this toolchain is not the native one.

  • GNAT Pro | GPS | GNATbench
    Sep 22nd, 2016

    GNATdoc: Documentation_Dir attribute
    Attribute Documentation_Dir is defined in Documentation package now. Attribute with same name in package IDE is obsolete. Its support will be removed in future version of GNATdoc.

  • SPARK Pro
    Sep 22nd, 2016

    Better handling of ‘Length on modular index types
    The translation of the 'Length array attribute has been improved to avoid unecessary conversions when the index type is a modular integer type. This should improve provability whenever 'Length is used on a modular index type in contracts.

  • GNAT Pro | GPS | GNATbench
    Sep 22nd, 2016

    GPS: Windows view sort order
    Two new settings have been added to the Windows view: you can now choose whether to show nodes for notebooks that have a single window (the default is still to display the window itself, but not its notebook in this case); and you can choose whether to sort windows alphabetically, or to preserve the order of tabs within the notebooks. When the notebooks are not displayed, and sorting is disabled, the order depends on which window had the keyboard focus last, which provides a convenient way of switching quickly between a few editors among a lot of them.

  • GNAT Pro
    Sep 21st, 2016

    Improved warning for value not referenced
    The wording of two warnings related to values assigned to an object but possibly never referenced has been adjusted to reflect that these values might actually be referenced in some corner cases (namely, components of a controlled object might be referenced during the finalization of that object).

  • GNAT Pro
    Sep 21st, 2016

    No_Elaboration_Code_All for System.Machine_Code
    Package System.Machine_Code can now be with-ed by packages that have the pragma No_Elaboration_Code_All, supporting execution of code before elaboration.

  • GNAT Pro | GPS | GNATbench
    Sep 20th, 2016

    GPS: using keyboard in Outline view
    It is now possible to use <enter> in the Outline to jump to the corresponding entity (same as clicking on the line).

  • GNAT Pro | GPS | GNATbench
    Sep 20th, 2016

    GPS: mouse buttons 4 and 5 for locations
    The mouse buttons 4 and 5 (available on some high-end mice) are mapped to the locations command, and used to move in the locations history (back to the previous position, and back). This is hard-coded, and cannot be changed.

  • GNAT Pro | GPS | GNATbench
    Sep 20th, 2016

    GPS: new action “locate in Files view”
    GPS now exports a new action to find the current file in the Files view. This action is not visible by default in the contextual menu (as opposed to Locate in Project view) in an effort to keep the menu simple. However, it can be added with a small python script as in:

         GPS.Action("Locate in Files view").contextual("Locate in Files")
    
    The menu /Navigate/Locate in Files view has been added.

  • GNAT Pro | GPS | GNATbench
    Sep 20th, 2016

    GPS: ask before overwriting read-only file
    GPS now checks the permission on the disk before saving a file (rather than just the read-only status of the editor). If the file is read-only on the disk, it displays a confirmation dialog to let you chose whether to overwrite (and, in the context of Clearcase, hijack the file).

  • GNAT Pro | GPRbuild
    Sep 20th, 2016

    GPRinstall support for separate ALI directory
    The new GPRinstall's --ali-subdir option can be used to install the ALI files into a specific directory.

  • GNAT Pro | GPS | GNATbench
    Sep 19th, 2016

    GPS: compute the GNAT Runtime menu dynamically
    The Help -> GNAT Runtime menu is now computed from the runtime that is actually being used for the current project, rather than a static image of a native runtime. This is particularly helpful when working with embedded or restricted runtimes.

« Previous    1  2  3  4  5     Next »