Development Log in March 2011.

  • GNAT Pro
    Mar 31st, 2011

    Simplify setup with the .NET compiler
    The .NET compiler used to require to add the .NET utilities in the PATH environment variable. This is not the case anymore.

  • GNAT Pro
    Mar 31st, 2011

    More efficient version of Unbounded_String for x86
    More efficient versions of the Unbounded_String packages are now available on x86 platform also. They use a copy-on-modify approach which typically results in noticeable time savings.

  • CodePeer
    Mar 31st, 2011

    Detection of references to uninitialized globals
    CodePeer analysis of library-level elaboration code has been improved. This includes providing CodePeer with knowledge about the elaboration order chosen for a given main program. As one result of this, CodePeer's detection of uses of uninitialized global variables is substantially improved.

  • GNAT Pro
    Mar 31st, 2011

    More efficient version of Unbounded_String for x86
    More efficient versions of the Unbounded_String packages are now available on x86 platform also. They use a copy-on-modify approach which typically results in noticeable time savings.

  • CodePeer
    Mar 30th, 2011

    Detection of environment task race conditions
    Race condition analysis has been improved so that race conditions involving a main subprogram and its invocation by the anonymous "environment task" are now detected.

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

    GPS: user defined database directory for CodePeer
    CodePeer plug-in allows to define output and database directories as project's attributes. This is useful for example for sharing the database between users.

  • PolyORB
    Mar 28th, 2011

    IDLAC is obsoleted
    The legacy IDL to Ada compiler, idlac, is obsoleted. Users should switch to iac, which has been the default since 2008.

  • GNAT Pro
    Mar 25th, 2011

    Better handling of enumerals in debugger
    The debugger has been enhanced to recognize the situation where an enumeration type is defined as a copy of another enumeration type. This can typically occur in situations like the following:

        type A is ([...]);
        type B is new A range [...];
    
    In that situation, an expression involving any of the enumerals is technically ambiguous, as they could either be of type A, or of B's base type. In practice, however, these enumerals can be considered as identical for debugging purposes, since the outcome would not change regardless of the enumeral being chosen. So the debugger automatically selects one instead of declaring that the expression is ambiguous.

  • GNAT Pro
    Mar 25th, 2011

    More compact DWARF debugging information
    The size of the debugging information generated by the compiler has been further reduced on platforms using the DWARF debugging format. The typical size reduction at -O0 is 12.5% for large applications.

  • GNAT Pro
    Mar 25th, 2011

    Better handling of enumerals in debugger
    The debugger has been enhanced to recognize the situation where an enumeration type is defined as a copy of another enumeration type. This can typically occur in situations like the following:

        type A is ([...]);
        type B is new A range [...];
    
    In that situation, an expression involving any of the enumerals is technically ambiguous, as they could either be of type A, or of B's base type. In practice, however, these enumerals can be considered as identical for debugging purposes, since the outcome would not change regardless of the enumeral being chosen. So the debugger automatically selects one instead of declaring that the expression is ambiguous.

  • GNAT Pro
    Mar 25th, 2011

    More compact DWARF debugging information
    The size of the debugging information generated by the compiler has been further reduced on platforms using the DWARF debugging format. The typical size reduction at -O0 is 12.5% for large applications.

  • GNAT Pro
    Mar 24th, 2011

    New GNAT pragma and aspect Test_Case
    A new aspect Test_Case is defined, using the Ada 2012 aspect syntax, that allows specifying test cases in the code, next to entities to which the tests apply, so that testing tools can use this to generate harness code. It applies to the same declarations as the Pre and Post aspects: entries and [generic] subprogram declarations. A corresponding pragma Test_Case is defined, which can be used in all Ada modes.

  • CodePeer
    Mar 24th, 2011

    More accurate handling of floating point types
    CodePeer now takes better into account the constrained ranges of floating point type when available and generates more precise messages.

  • GNATCOLL.Traces can now specify colors
    It is now possible to specify the color to use when logging test via the Trace procedures.

  • CodePeer
    Mar 23rd, 2011

    Webinar: Introducing CodePeer 2.0

    CodePeer is a source code analyzer that detects run-time and logic errors in Ada programs. This webinar, presented by Tucker Taft, will provide an overview of the technology and focus on the new features introduced in this latest release including support for access-to-subprogram types, much more efficient SCIL generation, support for parallel SCIL generation, fewer “false positives”, and improved integration with the GPS IDE.

    Register for this webinar »

    View more webinars »

  • Ada
    Mar 23rd, 2011

    Open source products for the development of certifiable applications

    AdaCore Sales & Business Development Manager, Michaël Friess talks about how GNAT Pro's latest tools, GNATcoverage and GNATemulator among others, are designed to help programmers in their effort to develop certifiable applications.


  • GNAT Pro
    Mar 23rd, 2011

    gnatcheck: option to generate template rule file
    A new '--write_rules' is added to gnatcheck. It allows generation of a template rule file with all the implemented rules turned off. This file may be used as a template for creating coding standard files.

  • GNAT Pro
    Mar 23rd, 2011

    Compiling multi-unit files compiles all units
    If you compile a multi-unit source file with "gnatmake -u -Pprj file.adb", gnatmake will now compile each of the unit in that file.

  • Ada | Ada 2005 / 95 / 83
    Mar 23rd, 2011

    AI-0020 Universal operators of access types
    A user-defined equality on an anonymous access type whose designated type is private does not lead to an ambiguity with the universal access operator when used in the body of the defining package, or some child unit. The same applies to multiplication operators declared on a private type completed with a fixed-point type.

  • GNAT Pro
    Mar 23rd, 2011

    gnatcheck: option to generate template rule file
    A new '--write_rules' is added to gnatcheck. It allows generation of a template rule file with all the implemented rules turned off. This file may be used as a template for creating coding standard files.

  • GNAT Pro
    Mar 23rd, 2011

    Compiling multi-unit files compiles all units
    If you compile a multi-unit source file with "gnatmake -u -Pprj file.adb", gnatmake will now compile each of the unit in that file.

  • GNAT Pro | GPS | GNATbench
    Mar 22nd, 2011

    Improved indentation of continuation lines
    Continuation lines starting or ending with the '&' operator are better handled by the indentation engine and as a result, automatic indentation of such lines is improved.

  • GNATCOLL.Scripts.Python: better support for boolean
    The function Nth_Arg uses the standard python way to check whether a parameter is True or False (for instance, an empty list will now be considered as False when returned as a boolean). For backward compatibility, the strings "false" and "0" are still mapped to False, although this is different from what python itself would do.

  • GNAT Pro
    Mar 21st, 2011

    Add support for unloading plug-in
    GNAT has been enhanced to be able to load and unload multiple times shared libraries. This scheme make it possible to build dynamic plug-ins implemented in shared libraries. Those plug-ins can be changed while the main application is running. The plug-in example part of GNAT has been extended to demonstrate this (see <gnat>/share/examples/gnat/plugins).

  • GNATCOLL.Scripts.Execute_Command returns any object
    A new function Execute_Command that directly modifies the Callback_Data is now provided. Through it, you can call a python function that returns an integer, string, boolean or a list of them, and retrieve that value from Ada.

  • Ada | Ada 2005 / 95 / 83
    Mar 21st, 2011

    AI-0025 Legality rules for formal packages
    In an instantiation, a named association cannot be given for an overloaded formal subprogram. This AI extends this rule to formal packages with box initializations : a named association with a box cannot be given for a formal subprogram if it is overloaded.

  • GNAT Pro
    Mar 21st, 2011

    Add support for unloading plug-in
    GNAT has been enhanced to be able to load and unload multiple times shared libraries. This scheme make it possible to build dynamic plug-ins implemented in shared libraries. Those plug-ins can be changed while the main application is running. The plug-in example part of GNAT has been extended to demonstrate this (see <gnat>/share/examples/gnat/plugins).

  • Ada | Ada 2005 / 95 / 83
    Mar 20th, 2011

    AI-0115 Aggregates with invisible components
    This AI specifies that aggregates for type extensions are illegal if some ancestor has a private parent and there is no place at which the components of its parent can become visible. This is a binding interpretation that applies to Ada2005 and Ada95 as well.

  • GNATcoverage
    Mar 17th, 2011

    Theoretical foundation of source coverage analysis from execution traces

    From a presentation by AdaCore senior engineer, Thomas Quinot at the IRILL

  • Ada
    Mar 17th, 2011

    New collaborative group for Ada developers

    A new group for Ada developers has been created on bettercodes.org. You can access it at: http://bettercodes.org/groups/ada/home/

    bettercodes.org aims to engage software developers to share their ideas and empower them to turn those ideas into code that works. It does so by connecting like-minded developers and enables them to collaborate on anything related to coding.

  • GNAT Pro | GPRbuild
    Mar 17th, 2011

    Warning when not using Builder’Switches
    When compiling several mains at once, gprbuild ignores the Builder'Switches specific to those mains, and use the switches for their common language instead (if any). Gprbuild will now issue a warning in such cases, that it hasn't used the main-specific switches.

  • Ada Web Server
    Mar 16th, 2011

    Make log file-name compatible with logrotate
    The log file-name's timestamp has been removed when Split_Mode is None. This makes the naming compatible with logrotate.

  • SPARK Pro
    Mar 15th, 2011

    PSP and TSP: Culture and Discipline for High-Assurance Software

    From a talk given at the SPARK User Group 2010 High Assurance Software Symposium, Rod Chapman from Altan Praxis talks about the guiding principles behind PSP (Personal Software Process) and TSP (Team Software Process).



    View more videos from the SPARK User Group
    2010 High Assurance Software Symposium »

  • GNAT Pro | GPRbuild
    Mar 15th, 2011

    Support for aggregate projects
    A new concept was added to the project facility: aggregate projects. These can be used to group together two or more independent projects, and compile all their main units through a single command. See the documentation for more use cases. The support is not complete yet, and in particular gprbuild is missing a number of consistency checks, but the feature is already useful as is.

  • GNAT Pro
    Mar 13th, 2011

    Map files on Darwin
    Map files can now be created on Darwin using gnatlink switch -M or gnatmake switch --create-map-file.

  • GNAT Pro
    Mar 13th, 2011

    Map files on Darwin
    Map files can now be created on Darwin using gnatlink switch -M or gnatmake switch --create-map-file.

  • GNAT Pro | GPRbuild
    Mar 10th, 2011

    Allow unit names on the gprbuild command line
    For compatibility with gnatmake, gprbuild now accepts unit names on the command line.

  • GNAT Pro | GPRbuild
    Mar 10th, 2011

    Relative file names on the gprbuild command line
    For compatibility with gnatmake, gprbuild now accepts file names relative to the current directory on its command line.

  • GNAT Pro
    Mar 8th, 2011

    Binding to the SYS$ACM[W] system call added on VMS
    A preliminary Ada binding has been added to Starlet for the Authentication and Credential Management authority (ACM[W]). The binding is complex and will be improved gradually according to customer demand.

  • GNAT Pro
    Mar 8th, 2011

    Binding to the SYS$ACM[W] system call added on VMS
    A preliminary Ada binding has been added to Starlet for the Authentication and Credential Management authority (ACM[W]). The binding is complex and will be improved gradually according to customer demand.

  • GNAT Pro | GPS | GNATbench
    Mar 3rd, 2011

    GB: New navigation buttons to Ada elements
    Add "Open Specification" and if any, "Open Body" buttons to the Ada element's documentation tooltip view toolbar. This view is displayed by the Ada editor as Ada element's tooltip or as Ada content assist proposal element's documentation. The view's toolbar is displayed after the view is mouse clicked.

  • GNATCOLL.SQL creates database with indexes
    When creating a database through GNATCOLL (and when the schema is specified in a text file), it is now possible to specify indexes to create, to speed up queries.

  • GNATCOLL.SQL supports auto-increment fields
    When creating a database through GNATCOLL, it is now possible to specify that a field should be automatically incremented.

  • GNAT Pro | GPS | GNATbench
    Mar 2nd, 2011

    Use project’s gnatls for default project path
    The IDEs will now check the project's IDE.Gnatlist attribute to query the default project path (instead of always running the native "gnatls"). This allows a project to depend on a project only available for cross platforms (for instance "zfp_support.gpr").

  • CodePeer
    Mar 2nd, 2011

    New -show_manual_reviews switch
    The codepeer_msg_reader tool comes with a new switch -show_manual_reviews to list all manual reviews performed (changed message ranking, date, comment).

  • CodePeer
    Mar 2nd, 2011

    Improved detection of dead code
    CodePeer now detects more cases of dead code, for instance on 'while loops' with complex conditions preceding the loop.

  • GNAT Pro | Ada Compiler
    Mar 1st, 2011

    Webinar: Migrating to DO-178C/Avionics Certification Trends

    (March 22, 2011 2pm EDT) Wind River, Ada Core and Verocel will show the webcast audience how use of COTS technology and best practices in software certification can improve time to market and reduce risk for safety-critical software developers.

    AdaCore will introduce tools and techniques for easing the development and certification costs for applications to be deployed within an IMA architecture. Options for certification approaches will be discussed along with methods for automating these approaches. Full software development environments will be discussed with tight integration of tools and toolsets when they are applicable to the development or safety certification effort for a particular safety standard.

    Register for this Webinar »