Development Log

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

    GPS: more info when reviewing a codepeer message
    The CodePeer dialog for reviewing a single message now contains information about a message, similariliy to the dialog for reviewing multiple messages.

  • GNAT Pro
    Aug 19th, 2016

    gnatcheck: In incremental mode, reflag errors
    In --incremental mode, if gnatcheck gives an error message on a certain file, and you run it again, it will now give the error message on that file again.

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

    GPS: preserve more build errors after recompiling
    When the Locations view contains build errors, and one of the files is being recompiled, the Locations view will now only update the entries for that file, rather than removing all build errors.

  • SPARK Pro
    Aug 16th, 2016

    Improved documentation
    The UG section 8.6.4. Proof Limitations does now better document the support for storage place attributes. In particular, it states that First_Bit, Last_Bit and Position attributes are supported but in case there is no record representation clause then their value is assumed to be nonnegative.

  • GNAT Pro | XMLAda
    Aug 16th, 2016

    schema: large values of maxOccurs
    Values of maxOccurs larger than 300 previously resulted in an XML validation error. This is instead a limitation of XML/Ada, so this has now been changed to a warning (we still recommend using "unbounded" to limit the size of the state machine, but XML/Ada will now try to build that machine and use the XSD nonetheless).

  • CodePeer
    Aug 16th, 2016

    Speedup CodePeer WebServer startup
    Startup time of CodePeer web server with large dababase was significantly reduced.

  • GNAT Pro
    Aug 16th, 2016

    Better error message on selected component
    Compiler provides a better error report on a selected component Nam.Comp which appears in an object declaration, when Nam has several visible interpretations as a function, and there is a non-visible package in the context with the same name.

  • GNAT Pro
    Aug 10th, 2016

    Removing redundant checks on type conversions
    Conversions to Standard_Integer of an attribute reference 'Pos applied to a nonstatic expression of an enumeration type do not generate a constraint check, given that the number of literals of any such type will not exceed Integer'Last.

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

    GPS: wrong file view for multi-drive projects
    When the 'Show files from project only' option is enabled, the Files view now correctly displays the project files that reside on multiple logical drives.

  • GNAT Pro
    Aug 5th, 2016

    gnattest: stub private subprograms
    Gnattest now generates stubs for subprograms declared in private part of package specifications in --stub mode.

  • SPARK Pro
    Aug 5th, 2016

    More fine-grain placement rules for pragma Annotate
    Previously, if pragma Annotate was placed e.g. at the start of a statement list, it would apply to the whole enclosing construct (e.g. an if statement including all branches and statements). Now it only applies to the range between the beginning of the enclosing statement and the pragma itself. This allows to e.g. apply a pragma Annotate to the condition of an if-statement, but not the other parts of the if-statement. Note that this may require changes to the placement of pragma Annotate in existing code, or more pragma Annotate than before.

  • GNAT Pro | GPS | GNATbench
    Aug 3rd, 2016

    GPS: new trace for old Xming compatibility
    A new trace "Views.No_Transient_Views" has been added. When activated (in .gps/traces.cfg or via the --traceon switch), this prevents the use of "transient" windows for floating views. This is needed mostly for compatibility with the Xming X11 server which does not allow resizing transient windows, and calculates their size wrongly.

  • GNAT Pro
    Aug 3rd, 2016

    C binding for preprocessor constant with 0. prefix
    The C and C++ bindings generated by means of the -fdump-ada-spec option now correctly handle preprocessor floating constants with 0. prefix.

  • SPARK Pro
    Aug 1st, 2016

    Support for GNAT attribute System’To_Address
    GNAT attribute System'To_Address, which is a static attribute equivalent to a call to System.Storage_Elements.To_Adress, is now supported.

  • GNAT Pro | GPS | GNATbench
    Jul 28th, 2016

    GPS: improved behavior of the ESC key
    The Escape key can now be used to close floating dialogs (such as the Search dialog, or the Preferences dialog) even when the input focus is not currently on these dialogs.

  • SPARK Pro
    Jul 28th, 2016

    Improved precision on tagged conversion
    When a tagged type was converted, information about the value of its components was lost, and so, even when converting between types which are conceptually the same (tagged subtypes and derived types with null extension). Tagged conversion are now better handled in proof.

  • GNAT Pro
    Jul 28th, 2016

    String comparisons in static predicates
    The compiler now accepts comparison operators on strings in a static predicate aspect for string subtypes. As a result, predicate-static expressions are not any longer a proper subset of static expressions, a discrepancy that will have to be resolved by the ARG.

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

    GPS: Messages are displayed with different font
    CodePeer's messages with lifeage "removed" are displayed with different font to help distinguish them from regular messages.

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

    GPS: new “All files from prj dirs” in Files view
    A new local configuration has been added to the Files view, to show all files in any of the directories of the project. In particular, this shows the object and executable files in the object directories.

  • GNAT Pro | GPRbuild
    Jul 26th, 2016

    Performance improvement when building libraries
    When binding Stand-Alone Libraries, gprbuild no longer gets the time stamps of the sources and object files if they are already known, if the main project is not an aggregate project. NF-17-P607-006 gprbuild verbosity (2016-06-20) 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.

  • CodePeer
    Jul 23rd, 2016

    Indirect call results now show original name
    When CodePeer produces a message about an indirect or dispatching call, it used to identify the result by "Indirect_Call'Result." Now it uses the actual name used in the call, such as "P.all'Result" if it is a call through an access-to-subprogram value P, or "Prim_Op'Result" if it is a dispatching call of a primitive operation Prim_Op.

  • GNAT Pro | Libraries and Bindings
    Jul 22nd, 2016

    New MDI child signals
    New signals have been introduced in the MDI

       Signal_Before_Unfloat_Child
       Signal_Before_Destroy_Child
    
    allowing respectively to react before a child is unfloated or destroyed.

  • SPARK Pro
    Jul 21st, 2016

    Improve posting of SPARK violations
    SPARK violations are now posted on the entity that is not in SPARK rather than on the entity that will result not to be in SPARK for this violation. This is done for formal parameters of a function, return types of a function and indexes of an array.

  • CodePeer
    Jul 20th, 2016

    More precise handling of aliasing
    CodePeer handles aliasing in a more precise way. This includes detecting conditions always true or false in more cases when using complex expressions in conditions, for instance expressions involving aliased variables, and more precise handling of aliasing in a per-file mode when aliased variables are declared in a module imported by the file being analyzed.

  • GNAT Pro | GPRbuild
    Jul 19th, 2016

    New switch—no-sal-binding
    A new switch --no-sal-binding is added to gprbuild. When this switch is used gprbuild will not rebind Stand-Alone Libraries, it will reuse the files created during a previous build of the SAL, and will fail if there are missing files.

  • CodePeer
    Jul 19th, 2016

    Better display of long ranges
    When displaying very long ranges (e.g. for large floating point values), CodePeer would truncate the range completely and instead display a "[...]" only. CodePeer now displays a truncated value for the two values of the range.

  • GNAT Pro
    Jul 19th, 2016

    Efficient 64-bit integer multiplication on x86-64
    The compiler now generates the same efficient 64-bit integer multiplication on x86-64 when overflow checking is enabled as when it is disabled.

  • CodePeer
    Jul 19th, 2016

    New switch -unconstrained-fpt-overflow
    Overflow detection on unconstrained floating point types previously required the use of the compiler switch -gnateF to be enabled. This can now be enabled more easily via the codepeer switch -unconstrained-fpt-overflow which is also enabled by default at -level 4.

  • GNAT Pro | GPRbuild
    Jul 18th, 2016

    Interfaces in aggregate library projects
    Attribute Interfaces is now allowed in aggregate library projects.

  • GNAT Pro
    Jul 18th, 2016

    Improved debugger module loading speed on VxWorks
    Loading modules from the debugger on VxWorks targets is now significantly faster. This enhancement assumes that the file location where the module is stored is the same for the target server as for the debugger. For users who run the debugger and the target server on different hosts, the debugger can be made to transmit the contents of the module to the target server using the following command: "set wtx load-from-gdb".

  • SPARK Pro
    Jul 16th, 2016

    Take into account contracts on abstract subprograms
    When an abstract subprogram with a classwide contract is called from an annotation, its postcondition is now available for proof.

  • SPARK Pro
    Jul 15th, 2016

    More convenient support for Coq interactive prover
    Previously, to be able to use the Coq interactive prover with SPARK, it was required to create a why3.conf file with the appropriate configuration. Now, SPARK comes with the suitable configuration already included, and this extra step is not needed any more. The Coq prover still needs to be installed separately.

  • SPARK Pro
    Jul 15th, 2016

    New GPS panel for examine menu in spark2014 tab
    Menus 'Examine ...' in GPS now open a panel similar to the basic panel displayed for proof. In particular, it allows to choose between three modes of analysis: check, check all, and flow analysis.

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

    GPS: Show color of messages in the Locations view
    For messages which have an associated background color (for instance compiler errors), the Locations view shows this background color on the side of the row for this message.

  • GNAT Pro
    Jul 13th, 2016

    New pragma/aspect Secondary_Stack_Size
    The new GNAT pragma and aspect Secondary_Stack_Size allows users to specify the size of the secondary stack individually for each task type in bytes where fixed secondary stack allocation is used. This allocation scheme is used on bare board and Ravenscar run-times which by default allocate a fixed percentage of the primary stack for the secondary stack.

  • GNAT Pro
    Jul 12th, 2016

    New assertion policy Suppressible
    Pragma Assertion_Policy can now specify policy Suppressible. This policy is equivalent to Ignore when compilation switch -gnatp is in effect, otherwise it behaves the same as policy Check.

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

    GPS: Breakpoints view can be displayed anywhere
    Since we can now set breakpoints even when no debugger is running, it is also useful to edit them outside of the Debug perspective.

  • GNAT Pro
    Jul 9th, 2016

    Forced elaboration order
    A new switch -f has been added to gnatbind. It allows the user to specify the order of elaboration, or specify additional constraints on that order.

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

    GPS: preserve the size of simple text input dialogs
    The size of simple text input dialogs (e.g: the 'Debug/Run' dialog) is now preserved: GPS will now restore it when the dialog is displayed again in the future (either in the current session or in a later session).

  • SPARK Pro
    Jul 7th, 2016

    More fine-grained proof of checks using “and”
    Assertions, loop invariants and pre- and postconditions which consist of several parts combined with "and" or "and then", are now proved seperately by SPARK. This allows better reporting of which part of the check is unproved, and it also allows better interaction between provers, where one prover may be able to prove one part of the heck, and another one the remaining part.

  • SPARK Pro
    Jul 7th, 2016

    New mode which outputs current state of analysis
    Previously, finding out which checks are proved or unproved required rerunning the tools, which could take quite some time. We now have added a new check-box to the proof dialog which is opened after selecting the "Prove All", "Prove File" and similar menu entries. Selecting this check-box will run gnatprove as usual, but no provers will be run, only existing results will be used. In this way, this option provides a relatively quick way to assess what's currently proved and not proved. The same behavior can be achieved on the command line, by adding the switch --output-msg-only,

  • GNAT Pro | GPS | GNATbench
    Jul 6th, 2016

    GPS: changes in Bookmarks view
    You now need to double-click on a bookmark to jump to the corresponding editor, or long-click to start editing (although there is still a button in the local toolbar for that purpose). This makes it more consistent with other views in GPS like the Breakpoints view. Bookmarks are no longer sorted by default. Instead, you can use drag-and-drop to organize them in the order you want. Bookmarks can be grouped: when you drag and drop a bookmark on top of another bookmark, a new group is created that contains both. These groups can be used to organize large numbers of bookmarks. Add a filter to the Bookmarks view, to match what is done for other views. Comments can be added to bookmarks, either that an explicit toolbar button or dragging and dropping text from a source editor. A new configuration "link with editor" is also available, which automatically selects the first bookmark associated with the current editor line, whenever the latter changes.

  • GNAT Pro
    Jul 6th, 2016

    New—readnever GDB command-line option
    GDB has been enhanced to accept --readnever as a command-line option. This option starts the debugger in a mode where the debugging information, is not loaded, speeding up the startup phase, at the cost of not being able to perform symbolic debugging.

  • SPARK Pro
    Jul 6th, 2016

    Support for enumeration types in counterexamples
    The counterexamples output by GNATprove when a check is not proved now display correct enumeration literals for variables of enumeration types.

  • GNAT Pro | GPS | GNATbench
    Jul 6th, 2016

    GPS: double-click in breakpoints to see editor
    If you double-click on a breakpoint in the Breakpoints view, GPS will show you the corresponding editor (same as using the toolbar button, but more convenient). Likewise, a long click on the breakpoint will show its details, same as clicking on the toolbar button would do.

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

    GPS: adjust score for runtime files in omnisearch
    When you search via the omnisearch, GPS will now ensure that matches in runtime files appear only after matches in user code.

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

    GPS: display bookmarks on the side of editors
    Lines for which a bookmark has been set will now show special highlighting in the scrollbar of editors, as well as an icon on the left side of the line, as a quick way to identify them.

  • GNAT Pro | GPRbuild
    Jul 5th, 2016

    gprls—closure
    A new switch --closure is added to gprls, to display the full paths of the sources in the closures of one or several mains.

  • GNAT Pro
    Jul 5th, 2016

    Multiple entries added in GNAT_Extended_Ravenscar
    For ravenscar-full runtime on bareboard, the protected objects can have several entries and the length of the entry queue is not limited anymore.

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

    GPS: new toolbar parameter for GPS.Browser.create
    A new browser can now be created with a custom toolbar. It is thus possible to add buttons via GPS.Action.button() that will only apply to this browser.

  • GNAT Pro
    Jul 3rd, 2016

    Add support for Flush in Direct and Sequential IO
    The Flush routine has been added for the Sequential_IO and Direct_IO standard packages in the Ada 2012 COR.1:2016. The Flush routine here is equivalent to the one found in Text_IO. The Flush procedure synchronizes the external file with the internal file (by flushing any internal buffers) without closing the file.

  • CodePeer
    Jul 2nd, 2016

    Protection against unreliable filesystem
    Under certain circumstances when using the Windows operating system, CodePeer reported "cannot generate SCIL" without giving any reason for failure. Rerunning with the "-gnatdk" compiler switch showed a problem related to renaming a temporary SCIL directory, which could be due to filesystem load or anti-virus software activity. CodePeer is now more resistant against such temporary filesystem failure.

  • CodePeer
    Jul 2nd, 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.

  • GNAT Pro
    Jul 1st, 2016

    Pragma Rename_Pragma
    A new pragma Rename_Pragma is implemented. It is helpful when porting code from other compilers that have similar pragmas but with different names. For example, GNAT has a pragma Inline_Always. Suppose you are porting code from another Ada compiler that supports a similar pragma, but it is called pragma Inline_Only. You can add a configuration pragma:

      pragma Rename_Pragma
        (New_Name => Inline_Only,
         Renamed  => Inline_Always);
    
    
    Then GNAT will treat "pragma Inline_Only ..." as if you had written "pragma Inline_Always ...".

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

  • 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
    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 | GPRbuild
    Jun 19th, 2016

    Build script
    A new gprbuild switch --build-script= is added, to create a shell script that would allow to repeat the same build with the same sources, provided that the temporary files created in the invocation of gprbuild are not deleted.

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

   1  2  3     Next »