Development Log in March 2014.

  • GNAT Pro
    Mar 30th, 2014

    Non-zero exit status for missing ali file in gnatls
    If gnatls detects a missing ali file, then in addition to the error message on standard output, it also sets the gnatls exit status to a non-zero value.

  • GNAT Pro
    Mar 30th, 2014

    Dependency on target dependency info file
    When a source is compiled with switch -gnateT= so that a target dependency info file is read, this file is added to the dependencies of the source in the ALI file. Subsequent modification of the target dependency info file will trigger recompilation by the builder (gnatmake or gprbuild).

  • GPS | GNATbench
    Mar 28th, 2014

    GB: configurable make utility
    make utility used when building GNAT projects driven by a makefile can be configured through "Make command" field of "/Ada/External Commands" preferences page.

  • SPARK Pro
    Mar 27th, 2014

    Volatile types and composite objects
    Volatile types and composite objects are now supported. In particular, record and array types may be declared with the Volatile aspect, and access to individual fields, elements, and slices is permitted.

  • SPARK Pro
    Mar 27th, 2014

    Detect changes in pragma configuration file
    Previously, GNATprove did not detect a change in pragma configuration files, hence a user had to force re-analysis by using switch -f. Such a change is now automatically detected, and triggers re-analysis the next time GNATprove is run.

  • CodePeer
    Mar 27th, 2014

    Support for IEEE 754 floating point
    In previous releases, CodePeer was using infinite precision mathematical real numbers in order to analyze floating point expressions. CodePeer is now taking IEEE 754 floating point rounding into account to generate more accurate and complete messages.

  • CodePeer
    Mar 27th, 2014

    Floating point underflow detection
    CodePeer now performs analysis related to IEEE 754 floating point underflow when analyzing at maximum level (-level max or -level 4) and will generate messages about potential underflow on floating point operations.

  • GNAT Pro
    Mar 27th, 2014

    Dependencies on non-temporary config pragma files
    Dependencies are added for non-temporary configuration pragmas files, such as gnat.adc or those specified with switches -gnatec. When such a configuration pragmas file is modified, gnatmake will recompile the sources that were previously compiled with the configuration pragma file.

  • SPARK Pro
    Mar 26th, 2014

    Support for slices of volatile arrays
    The SPARK toolset now supports slices of volatile arrays.

  • GPS | GNATbench
    Mar 26th, 2014

    Improved indentation of subtype predicates
    The indentation of subtype predicates when continuation lines is now better handled.

  • GNAT Pro
    Mar 26th, 2014

    Make Ada 2012 attributes more generally available
    The Ada 2012 standard attributes First_Valid, Has_Same_Storage, Last_Valid, Max_Alignment_For_Allocation are now allowed in Ada 95 and Ada 2005 modes, where they are treated as implementation-defined attributes. In addition, the implementation attribute Update is now available in Ada 95 and Ada 2005 modes as well as Ada 2012 mode.

  • GNAT Pro
    Mar 25th, 2014

    Error_Id for Raise_Exception with null exception id
    On the AAMP target, if Ada.Exceptions.Raise_Exception is called with a null Exception_Id, a call to Mini_RTE.Get_Error_Id will now return an error id of 19 (Constraint_Error) instead of 22 (Other_Error).

  • GPS | GNATbench
    Mar 25th, 2014

    GPS: support for Android/Linux
    GPS now supports the arm-linux-androideabi toolchain.

  • XMLAda
    Mar 24th, 2014

    New configure option—enable-build
    This switch improves compatibility with other AdaCore addons like GtkAda. It enables one to choose the default build mode (Debug or Production) at configure line, rather than through environment variables.

  • SPARK Pro
    Mar 24th, 2014

    Support for shared variable control
    The SPARK toolset now properly enforces the restrictions specified in section 14.21.2 Shared Variable Control.

  • GPS | GNATbench
    Mar 22nd, 2014

    GPS: improve gnatname integration
    To improve gnatname integration in GPS new project type wizard was implemented. The wizard asks only base questions and accepts file patterns to create a project from existing Ada files with arbitrary names.

  • GPRbuild
    Mar 21st, 2014

    Add support for LLVM C compiler
    This adds support for compiling and linking with the LLVM C compiler (clang).

  • GNAT Pro
    Mar 21st, 2014

    Increased number of direct task attributes
    The number of preallocated task attributes (used by Ada.Task_Attributes) is now 16 instead of 4 on native systems, to provide more efficient support for Ada.Task_Attributes when using more than 4 attributes.

  • GPS | GNATbench
    Mar 20th, 2014

    GPS: atomicity of Delete Line actions
    Multiple calls to the action "Delete Line" can now be undo-ed one by one.

  • Ada Web Server
    Mar 18th, 2014

    Support for SSL/TLS session reuse
    AWS is now able to resume security sessions over the secure sockets. Session data are processed in two ways, either in server side session cache or in session tickets held on the client side (RFC 5077).

  • GNAT Pro
    Mar 18th, 2014

    Warn on possible expensive implicit conversion
    Although the language attempts to prevent the occurrence of expensive implicit change of representation conversions, there is one case in which it is legal to have such implicit conversions (namely the case where typ1 is derived from typ2, and then additional representation clauses are given for typ2). This now causes a warning at the point of declaration of the representation item, and also on calls that actually perform such implicit conversions of argument values.

  • GNAT Pro
    Mar 15th, 2014

    Column numbers take wide characters into account
    Column numbers displayed in brief error messages, and references in ALI files, now take wide character encodings (other than brackets encoding) into account, so for example, a single four byte UTF-8 sequence used to represent a wide wide character value now counts as a single column. The positioning of error flags in full error output (-gnatl or -gnatv) also takes wide character encodings into account.

  • GPRbuild
    Mar 15th, 2014

    Display slaves name for remote compilation errors
    When a remote compilation fails we now display on which remote computer this compilation was conducted. This can helps finding remote computers with incorrect setup for example.

  • GNAT Pro
    Mar 15th, 2014

    Document wide wide character encodings in source
    A section "Wide_Wide_Character Encodings" has been added to the users guide which describes the use of UTF-8 and brackets encodings for representing the occurrence of wide wide character codes in a source program (e.g. in string literals or in identifiers).

  • GNAT Pro
    Mar 14th, 2014

    Better error message for missing RANGE keyword
    If a subtype declaration is missing the range keyword (e.g. subtype MyInt is Integer 1 .. 10), the compiler now gives a clear message to this effect.

  • GPS | GNATbench
    Mar 13th, 2014

    WB: Support of Wind River Workbench 4.0.0
    GNATbench 2.9.0.w can be used on top of Wind River Workbench 4.0.0.

  • GPRbuild
    Mar 13th, 2014

    GPRinstall supports listing of installed packages
    A new mode, enabled with the option --list, can be used in GPRinstall to display the installed packages. Used with --stat a set of statistics are also displayed like the number of installed files and the total size on disk.

  • GNAT Pro
    Mar 10th, 2014

    New pragma Default_Scalar_Storage_Order
    A new pragma Default_Scalar_Storage_Order (Low/High_Order_First) can be used as a configuration pragma, or within a package spec or declarative part to specify the default Scalar_Storage_Order for any array or record type.

  • GPS | GNATbench
    Mar 10th, 2014

    GPS: support for aggregate projects
    GPS now supports aggregate projects (read-only). Since those allow for duplicate file names within the loaded project, GPS will now show the context project in appropriate places (notebook tabs, omni-search box), and use this project to resolve cross-references.

  • GNAT Pro
    Mar 10th, 2014

    Zero-Cost Exceptions for Ravenscar-Full on p55-elf
    The ravenscar-full runtimes are now using zero-cost exceptions model (ZCX) on p55-elf target.

  • GNAT Pro
    Mar 9th, 2014

    Static predicates for real and string types
    Static predicates for real and string types are now fully implemented. The implementation is as defined in the RM with one exception, which is that in the RM string comparisons are allowed to be predicate-static, even though they are not static. That's clearly a mistake, so we simply reject such comparisons as not being predicate-static.

  • GNAT Pro
    Mar 8th, 2014

    Implement new pragma Unevaluated_Use_Of_Old
    Normally use of attribute Old or Loop_Entry is illegal within an expression that is potentially unevaluated. This pragma allows the arguments ERROR, WARN, or ALLOW. ERROR gives the RM-defined behavior (treat as illegal). WARN allows the usage with a warning, and ALLOW allows it with no warning.

  • Ada Web Server
    Mar 6th, 2014

    Diffie-Hellman and RSA parameters generation
    Support for Diffie-Hellman and RSA parameters generation on server side. These parameters are automatically generated by AWS the first time. They can be regenerated at any time for security reasons if needed. The generated Diffie-Hellman parameters are saved in a file to be reused on next run as it is quite expensive to generate it every time at the start of an application.

  • GNAT Pro
    Mar 6th, 2014

    Improve project support for ASIS tools
    When called with a project file, ASIS tools now take compilation options needed for tree creation from the Builder package, in addition to the Compiler package.

  • GNAT Pro
    Mar 3rd, 2014

    Improve project support for ASIS tools
    The set of options ASIS tools can directly read from project files when creating tree files has been extended to include '-gnatI' and '--RTS=...'. These options can now be read from the Compiler package, so there is no need to specify them in the '-cargs' section of the command line.

  • GNAT Pro
    Mar 3rd, 2014

    Cleanup documentation for Max[_Interrupt]_Priority
    The GNAT RM mentioned two pragmas Max_Priority and Max_Interrupt_Priority that have never been implemented. The documentation is now removed (these pragmas serve no useful purpose in any case). On the other hand the constants Max_Priority and Max_Interrupt_Priority are (and always have been) declared as implementation-defined additions to package Standard, and they are now properly documented in the GNAT RM.

  • Ada Web Server
    Mar 2nd, 2014

    Add support for controlling WebSocket handshake
    In the user's WebSocket factory it is now possible to return an AWS.Net.WebSocket.Handshake_Error.Object to reject the handshake. With such response it is possible to specify a specific status code and an associated reaso-phrase. The default status code is 403.

  • Ada Web Server
    Mar 2nd, 2014

    Add support for cipher priority
    It is now possible to specify the SSL/TLS session’s handshake algorithms and options using the new configuration variable CIPHER_PRIORITIES.