Development Log

  • GNAT Pro
    Feb 10th, 2016

    GNAAMP elides exception info strings in small lib
    On the AAMP target when using the small library, the compiler no longer generates unused strings with file and line information for raises of Constraint_Error and Program_Error, conserving space in object files.

  • GPS: update integration of gnattest for stubbing
    GPS support of gnattest is improved. GPS is able to navigate into stubs, stub setters and original subprogram bodies. Run button launches gnattest in execution mode when multiple test drivers are generated by gnattest.

  • CodePeer
    Dec 2nd, 2015

    New switch: -compiler-mode
    A new CodePeer switch -compiler-mode is provided to replace the use of codepeer-gprbuild -gnateC, allowing more flexiblity and in particular support for other CodePeer switches (on the command line or in the project file).

  • GNAT Pro|GNATbench | GNAT Pro|GPS
    Nov 26th, 2015

    GPS: C/C++ support for limited macro xrefs
    GPS now has limited support for macro cross references, in that it can now navigate to macro definitions in C and C++

  • GNAT Pro
    Nov 23rd, 2015

    Reduce use of 64-bit arithmetic packages on AAMP
    On the AAMP target, operations like Pos and Length attributes can create dependences on the AAMP 64-bit arithmetic library packages. The compiler has been improved to avoid such dependence in cases of membership tests and comparisons of these attributes involving literal values, as well as in the case of comparing two Length attributes.

  • GNATCOLL.Memory: allow dump outputs redirection
    procedure Redirectable_Dump added to allow dump outputs redirection.

  • GNAT Pro|GNATbench | GNAT Pro|GPS
    Nov 19th, 2015

    Better API for GPS.Message
    The constants for the flags parameter for the GPS.Message constructor were wrong. The flags parameter has been replaced with optional boolean parameters, which are more pythonic and more explicit.

  • GNAT Pro|GPRbuild
    Nov 18th, 2015

    Allow more packages in aggregate projects
    Packages Naming, Compiler, Binder and Linker are not allowed in aggregate projects and aggregate library projects. In addition, package Install is not allowed in aggregate projects. All other packages are allowed.

  • Ada Web Server
    Nov 17th, 2015

    Server Name Identification (SNI) support
    Server can provide different certificates for the clients asking for different host names on the same physical IP address.

  • Ada Web Server
    Nov 17th, 2015

    Add support for non-blocking WebSockets
    When sending a message to a set of recipient (URI broadcast) the sending is not blocking. The fastest sockets will get served first and won't be blocked by slower ones.

  • GNAT Pro
    Nov 14th, 2015

    New routine Current_Process_Id in GNAT.OS_Lib
    A new routine Current_Process_Id has been added into GNAT.OS_Lib which returns the current process identifier. This is supported on all native platforms.

  • GNAT Pro
    Nov 11th, 2015

    GNAAMP: Assembly-code statements
    On the AAMP target, the package System.Machine_Code is now supported, which permits writing calls to the procedure Asm with a string literal argument that gives a line of assembly code to be emitted at the point of a call to the procedure. This allows instructions, macros, and directives to be emitted in the assembly output of a program unit.

  • WB: add support of VxWorks-653-3.x
    Add VxWorks 653 3.0.1 and later support.

  • GNAT Pro|GNATbench | GNAT Pro|GPS
    Oct 29th, 2015

    WB: select automatically smp runtime on vxworks-6.x
    "-smp" suffix automatically added to RUNTIME when smp kernel are used.

  • GNAT Pro
    Oct 29th, 2015

    “break exception/assert” commands now deprecated
    The "break exception" and "break assert" commands in the debugger are now deprecated, and a warning is issued the first time they are used. To insert catchpoints on Ada exceptions or assertion failures, use "catch exception" or "catch assert".

  • GNAT Pro|GNATbench | GNAT Pro|GPS
    Oct 27th, 2015

    GPS: remove use of stock icons
    GPS uses icon themes instead of stock icons, since Gtk+ 3.14 has marked stock icons as deprecated. As a result, most icons were converted to SVG and <stock> configuration nodes are no longer supported.

  • GNAT Pro|GNATbench | GNAT Pro|GPS
    Oct 27th, 2015

    GPS: Filter to include all files
    GPS has been extended to define project attributes that allow to use files from any loaded project. This impacts the project editor, which will display all those files and let users chose among them.

  • GNAT Pro
    Oct 26th, 2015

    gnatcheck reports in XML format
    gnatcheck can now generate its report file in XML format.

  • SPARK Pro
    Oct 23rd, 2015

    Generation of counterexamples for unproved checks
    GNATprove can now generate counterexamples when a check is not proved, to give the execution path for which the check cannot be proved, as well as values of variables that occur on this path. The counterexample is best displayed in GPS by clicking on the icon "Show counterexample" on the left of the check message or line in the editor. The message itself may detail the values from the counterexample for variables that appear in the checked expression. For details, see section 6.3.5 "Understanding Counterexamples" in the SPARK User's Guide.

  • GNAT Pro
    Oct 23rd, 2015

    Parametric exemption sections for gnatcheck
    Rule exemption mechanism in gnatcheck is extended to allow parametric exemption sections. Now it is possible to specify a rule parameter in the definition of exemption section, so in this section not all the checks for this rule are exempted but only those that correspond to the specified parameter.

  • SPARK Pro
    Oct 21st, 2015

    Support for tasking - RavenSPARK
    The SPARK language and toolset have been extended to support tasking under the Ravenscar profile. On the language side we have added support for protected objects, suspension objects, tasks and synchronous state. The toolset also statically checks all restrictions of the Ravenscar profile that are not already enforced at compile time (for example maximum queue length and the ceiling priority protocol), in addition the toolset will prevent data races. For more information consult chapter 9 of the SPARK Reference Manual which fully defines the formal verification activities performed in SPARK by GNATprove.

  • GNAT Pro|GPRbuild
    Oct 21st, 2015

    Builder switches in aggregate projects
    Switches specified in Builder'Switches (others) in a main aggregate or aggregate library project are now taken into account by gprbuild.

  • GNAT Pro|GNATbench | GNAT Pro|GPS
    Oct 20th, 2015

    GPS: control background for read-only files
    A new preference(in Editor/Fonts & Colors) allow controlling whether to alter the background for read-only files.

  • GNAT Pro|GPRbuild
    Oct 20th, 2015

    Improve usability of code compiled on other machine
    When Ada code that has been compiled on machine A for a specific runtime is used to build an executable on machine B for the same runtime, the build will now succeed in all cases, even though the path of the runtime on machine A is not the same as the path of the runtime on machine B.

  • CodePeer
    Oct 20th, 2015

    Improved precondition propagation
    CodePeer now allows more complex expressions to become preconditions, so performs a more precise global analysis.

  • GNAT Pro
    Oct 20th, 2015

    Optimization of unreachable case alternative at -O2
    With -O2, the compiler now optimizes away the 'others' alternative of a case statement whose selecting expression is of an enumeration type if it is unreachable.

  • Ada Web Server
    Oct 19th, 2015

    Add support for multiple WSDL
    It is now possible to use bind together multiple WSDL callback as generated by wsdl2aws. A new option has been added to wsdl2aws to be able to specify a prefix to avoid overloading of SOAPActions.

  • GNAT Pro
    Oct 17th, 2015

    Generic hash function
    GNAT.String_Hash (new renaming for the System.String_Hash unit) makes it possible for users to create hash functions that work on custom string types and that return a custom hash type.

  • GNAT Pro
    Oct 15th, 2015

    Improved elimination of useless index checks at -O1
    The compiler now eliminates more index checks that can never fail in loops when the optimization level -O1 or above is specified.

  • GNAT Pro
    Oct 15th, 2015

    Apply signed arithmetic simplification rules at -O1
    The compiler will now apply simplification rules of signed arithmetic at the first level of optimization instead of only at the second level and above.

  • GNAT Pro|GPRbuild
    Oct 14th, 2015

    Improve reproducibility of builds
    When gprbuild is used to build the same executable with the same project files and sources, with the same paths on two different but similar platforms, the executables will be the same and will have the same behavior. In particular, the elaboration orders of the Ada code will be the same.

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

    GB: external source folder support
    GNAT project dirs (source, object, etc...) that are located outside the GNAT project file tree are added automatically to the project explorer view through linked folders. The linked folders are created when new dirs are detected on GNAT project file change for example.

  • GNAT Pro
    Oct 13th, 2015

    Controlled types and No_Exception_Propagation
    The compiler no longer generates exception-management code for the handling of controlled types when restriction No_Exception_Propagation is in effect.

  • GNAT Pro
    Oct 13th, 2015

    Remove useless check on not null access parameter
    The compiler does not place a constraint check on the prefix of an explicit dereference, when the type of the prefix is known to exclude null.

  • GNAT Pro|XML | Ada
    Oct 13th, 2015

    schema: preloading multiple no-namespace XSD files
    The subprogram Parse_Grammar can now be overloaded so that multiple XSD files can be preloaded, and reused automatically when parsing XML files later on. The documentation gives a full example.

  • GNAT Pro|GPRbuild
    Oct 10th, 2015

    GPRinstall now uninstall aggregate projects
    GPRinstall now has support for uninstalling aggregate projects. In this case all libraries/projects part of the aggregate project are uninstalled.

  • SPARK Pro
    Oct 9th, 2015

    Z3 prover comes with SPARK tools
    The SPARK toolset now supports the SMT prover Z3. The prover comes installed with the SPARK tools and can be selected using the --prover option just like the already present provers CVC4 and Alt-Ergo. Having this extra prover results in more proved checks and assertions when using the SPARK tools.

  • GNAT Pro
    Oct 9th, 2015

    Ada.Interrupts.Get_CPU implemented
    Function Ada.Interrupts.Get_CPU defined in AI05-0167 is now implemented. It returns the processor on which the handler for the specified interrupt is executed.

  • GNAT Pro
    Oct 9th, 2015

    New restriction - Pure_Barriers
    The restriction Pure_Barriers has been added. This is a relaxation of the Simple_Barriers restriction, but still ensures absence of side effects, exceptions, and recursion during the evaluation of the barriers.

  • GNAT Pro
    Oct 9th, 2015

    Last chance handler now displays exception message
    For ravenscar-full runtimes, the default last chance handler will also print the value of Exception_Message.

  • GNAT Pro
    Oct 8th, 2015

    Generation of C headers from Ada specs
    The compiler can generate C headers from simple Ada specs (when types are compatible with C types) via the -gnatceg switch.

  • GNAT Pro
    Oct 8th, 2015

    MiniDebugInfo (.gnu_debugdata) support in debugger
    The intent of the .gnu_debugdata (MiniDebugInfo) section, when present, is to provide extra minimal debugging info for use in simple backtraces. The debugger now supports this MiniDebugInfo section.

  • SPARK Pro
    Oct 7th, 2015

    Simple proof panel based on user profile
    Menus 'Prove ...' in GPS now open a simple panel or a more complex one depending on the user profile. The user profile for SPARK is a preference that the user can set to 'Basic' (the default) or 'Advanced'. The panel displayed for the basic user profile includes only a few switches, among which the recent --level switch. The panel displayed for the advanced user profile corresponds to the former panel with more detailed switches.

  • GNAT Pro
    Oct 6th, 2015

    Containers hierarchy in ravenscar-full runtimes
    The Ada.Containers hierarchy is now included in the ravenscar-full runtime libraries. The entire hierarchy is included except for those that currently violate the Ravenscar restrictions, namely Bounded_Priority_Queues, Bounded_Synchronized_Queues, Unbounded_Priority_Queues, and Unbounded_Synchronized_Queues.

  • GNAT Pro
    Oct 6th, 2015

    SALs and static/dynamic elaboration policies
    An executable built with the dynamic elaboration policy (with -gnatE) may now import a Stand-Alone Library built with the static elaboration policy, without any warnings being emitted by the binder.

  • GNATdoc: support for custom tags
    GNATdoc now supports defining your own tags using Python.

  • GNAT Pro
    Oct 5th, 2015

    GNAAMP: new switch -fdebug-prefix-map
    The compiler switch -fdebug-prefix-map=<old_dir>=<new_dir> is now accepted by the GNAAMP compiler, which substitutes a directory path <new_dir> for the directory path <old_dir> in SOURCE. assembly directives. This aids in building programs in one directory that need to be debugged in a different directory.

  • GPS: Add css highlighter for GPS
    Added a CSS highlighter to GPS using the Python API.

  • SPARK Pro
    Oct 5th, 2015

    Documentation of SPARK pragmas
    The GNAT Reference Manual now contains syntax information for all pragmas that emulate SPARK aspects.

  • GNAT Pro
    Oct 2nd, 2015

    Add support for terminating a process tree
    System.OS_Lib has support for nonblocking spawning of processes, and it's now possible to terminate a processes tree (the parent process and all its children) with a new Kill_Process_Tree procedure. This routine is supported only on Windows and Linux systems.

   1  2  3     Next »