Development Log in April 2011.

  • GNAT Pro
    Apr 29th, 2011

    Add attribute Standard’System_Allocator_Alignment
    This new attribute can be used to determine the alignment guaranteed by the system allocator (malloc). This can be useful when implementing storage pools based on system allocators.

  • GNAT Pro
    Apr 29th, 2011

    Add attribute Standard’System_Allocator_Alignment
    This new attribute can be used to determine the alignment guaranteed by the system allocator (malloc). This can be useful when implementing storage pools based on system allocators.

  • GNAT Pro
    Apr 28th, 2011

    Improved exception catchpoint support in Eclipse
    When using GNATBench with a native version of Eclipse, the notification when an Ada exception is caught by GDB is improved to have more information and be more consistent with breakpoint notifications.

  • GNAT Pro | GPS | GNATbench
    Apr 28th, 2011

    GPS: Add total/passed checks counters for CodePeer
    CodePeer Summary Report has been extended to display total/passed checks counters for each file and project.

  • Ada | Ada 2005 / 95 / 83
    Apr 28th, 2011

    AI-0023 ‘Read on records with variant parts
    GNAT has always implemented the now mandatory behavior consisting of reading discriminants into temporary values, and leaving the actual untouched if a discriminant check fails. We now also take advantage of a new implementation permission to not create a temporary variable in that case.

  • GNAT Pro
    Apr 28th, 2011

    Improved exception catchpoint support in Eclipse
    When using GNATBench with a native version of Eclipse, the notification when an Ada exception is caught by GDB is improved to have more information and be more consistent with breakpoint notifications.

  • GNAT Pro
    Apr 27th, 2011

    Better handling of 64-bit divisions
    64-bit divisions are no longer forbidden in configurable run-time libraries. These operations can be restricted (if needed) in a more flexible way in the link phase by not including the library implementing 64-bit divisions. Alternatively, if 64-bit division capability is required, appropriate specialized routines can be provided.

  • GNAT Pro
    Apr 27th, 2011

    Better handling of 64-bit divisions
    64-bit divisions are no longer forbidden in configurable run-time libraries. These operations can be restricted (if needed) in a more flexible way in the link phase by not including the library implementing 64-bit divisions. Alternatively, if 64-bit division capability is required, appropriate specialized routines can be provided.

  • GNAT Pro | GPRbuild
    Apr 21st, 2011

    New attributes Dependency_Kind and Language_Kind
    Two new configuration attributes are added in package Compiler: Dependency_Kind and Language_Kind. By default, for Ada, language kind is unit based and dependency kind is ALI file. For other languages, language kind is file based and dependency kind is Makefile. These attributes may be overriden in user projects. No change of functionality if they are not overriden.

  • Ada
    Apr 20th, 2011

    Call for review: High-Integrity OO Programming in Ada

    We have posted a new paper to the Open-DO website "High-Integrity Object-Oriented Programming in Ada". This paper’s goal is to provide guidance on how to use Ada’s Object Oriented (OO) features for High-Integrity applications; i.e. high-reliability systems with requirements for safety and/or security which may need to demonstrate compliance with domain-specific certification standards. The paper's authors have extensive experience in this area through their participation in industrial working groups such as the joint EUROCAE WG71 / RTCA SC 205 working group defining the upcoming RTCA DO178-C/EUROCAE ED12-C avionics safety standard, and ISO’s Ada Rapporteur Group that manages the Ada language standardization process. More information can be found at http://www.open-do.org/high-integrity-oo-programming-in-ada/

    We expect this document to evolve over time, so we kindly ask readers to provide as much feedback as possible to AdaCore at info@open-do.org with the name of the document mentioned on the subject line.

  • GNAT Pro
    Apr 19th, 2011

    More selective -Winline warnings
    The -Winline command line switch has been modified so as to issue warnings only for subprograms explicitly present in the source code.

  • GNAT Pro
    Apr 19th, 2011

    New policy DISABLE for Assertion/Check/Debug_Policy
    A new implementation-defined policy DISABLE is recognized by pragmas Assertion_Policy, Check_Policy, and Debug_Policy. This is similar in effect to IGNORE, except that semantic checking of the argument of the corresponding pragma is suppressed. This may be useful when these debugging pragmas reference subprograms in a special debug package that is with'ed, and gets replaced by a dummy package in the final build.

  • GNAT Pro
    Apr 19th, 2011

    More selective -Winline warnings
    The -Winline command line switch has been modified so as to issue warnings only for subprograms explicitly present in the source code.

  • GNAT Pro
    Apr 19th, 2011

    New policy DISABLE for Assertion/Check/Debug_Policy
    A new implementation-defined policy DISABLE is recognized by pragmas Assertion_Policy, Check_Policy, and Debug_Policy. This is similar in effect to IGNORE, except that semantic checking of the argument of the corresponding pragma is suppressed. This may be useful when these debugging pragmas reference subprograms in a special debug package that is with'ed, and gets replaced by a dummy package in the final build.

  • GNAT Pro
    Apr 17th, 2011

    Implement -gnatyC (check comments, one space)
    A new style check switch -gnatyC (COMMENTS1 in VMS) is implemented which is the same as -gnatyc (COMMENTS or COMMENTS2 in VMS) except that comments only require one or more spaces after -- instead of two. Note that all GNAT sources continue to require the double space.

  • GNAT Pro | GPS | GNATbench
    Apr 17th, 2011

    GPS: Add support to align on renames keyword
    The align plug-in has been enhanced to align on renames keyword.

  • GNAT Pro
    Apr 17th, 2011

    Implement -gnatyC (check comments, one space)
    A new style check switch -gnatyC (COMMENTS1 in VMS) is implemented which is the same as -gnatyc (COMMENTS or COMMENTS2 in VMS) except that comments only require one or more spaces after -- instead of two. Note that all GNAT sources continue to require the double space.

  • GNAT Pro
    Apr 16th, 2011

    Improve placement of flag for missing string quote
    The placement of the error flag for a missing string quote is improved in the case where a comma marks the likely intended placement. This also improves the behavior of GPS codefix in this case.

  • GNAT Pro
    Apr 16th, 2011

    Avoid bad warnings on assignment to formal
    The warning for assignment to formals followed by a raise has been enhanced to eliminate false positives when there is a local handler, and eliminate false negatives when pragmas or null statements intervene between the raise and the preceding assignment.

  • GNAT Pro
    Apr 16th, 2011

    Improve placement of flag for missing string quote
    The placement of the error flag for a missing string quote is improved in the case where a comma marks the likely intended placement. This also improves the behavior of GPS codefix in this case.

  • GNAT Pro
    Apr 16th, 2011

    Avoid bad warnings on assignment to formal
    The warning for assignment to formals followed by a raise has been enhanced to eliminate false positives when there is a local handler, and eliminate false negatives when pragmas or null statements intervene between the raise and the preceding assignment.

  • SPARK Pro
    Apr 12th, 2011

    Support for derived numeric types
    SPARK now supports explicitly derived numeric types, for example "type T is new Integer range 0 .. 10;". These are supported in SPARK83, SPARK95 and SPARK2005. The given type_mark must denote one of the predefined Integer or Floating Point types that appear in the visible part of package Standard and must be defined in the Examiner's configuration file. The range_constraint (if present) must define a non-null and static range that falls within the range of, and is type-compatible with, the designated base type. The treatment of derived numeric types in the VC Generator is identical to that of existing numeric types except that a derived type declaration for type T does define T'Base and therefore rules for T'Base'First and T'Base'Last are automatically generated without the need for a base type assertion. This makes the base type assertion effectively redundant.

  • CodePeer
    Apr 12th, 2011

    Detection of initialization assignments
    CodePeer analysis of initialization assignments has been improved. CodePeer now does not warn about unused assignments that initialize a variable to a default value.

  • GNAT Pro
    Apr 8th, 2011

    gnatmetric: new coupling metrics
    New coupling metrics - unit coupling that counts dependencies between all kinds of program unit, and control coupling that counts the number of units defining subprograms a given unit depends upon - are added to gnatmetric.

  • GNAT Pro
    Apr 8th, 2011

    gnatmetric: new coupling metrics
    New coupling metrics - unit coupling that counts dependencies between all kinds of program unit, and control coupling that counts the number of units defining subprograms a given unit depends upon - are added to gnatmetric.

  • GNAT Pro
    Apr 6th, 2011

    More precise version string in the .NET run-time
    The version information used for creating the .NET run-time assembly now contains the three numbers composing the GNAT release number, instead of only the first two as was the case before.

  • GNAT Pro | GPS | GNATbench
    Apr 6th, 2011

    GPS: Support for more assembly languages
    GPS now supports languages "Asm_Cpp" (file extension .S by default) and "Asm2" (.asm) to be in line with the languages recognized by gprbuild. The language "Asm" (.s files) was already supported in GPS 5.0.

  • CodePeer
    Apr 6th, 2011

    Unused assignments and uninitialized vars improved
    CodePeer now does a better job of recognizing unused assignments and uninitialized variables in the presence of calls on unanalyzed code stemming from local generic instantiations, as well as in the presence of calls through access-to-subprogram parameters.

  • GNAT Pro
    Apr 6th, 2011

    More precise version string in the .NET run-time
    The version information used for creating the .NET run-time assembly now contains the three numbers composing the GNAT release number, instead of only the first two as was the case before.

  • GNAT Pro
    Apr 5th, 2011

    Cert run-time library available for VxWorks MILS
    The VxWorks 653 cert run-time has been ported to the VxWorks MILS VxWorks 1.0.2 Guest OS. Full (except sampling ports) APEX and APEX 95 bindings are also provided.

  • GNAT Pro | GPRbuild
    Apr 5th, 2011

    Duplicate source file names when no compiler
    When the compiler driver for a language is empty (""), it is now allowed to have duplicat source file names in any source directory of a project, even if they are in the same subdirectory tree specified with the ".../**" notation.

  • GNAT Pro
    Apr 5th, 2011

    Cert run-time library available for VxWorks MILS
    The VxWorks 653 cert run-time has been ported to the VxWorks MILS VxWorks 1.0.2 Guest OS. Full (except sampling ports) APEX and APEX 95 bindings are also provided.

  • GNAT Pro | GPRbuild
    Apr 4th, 2011

    Clear message for command line switch in Builder
    When a gprbuild switch that is only valid on the command line is found in package Builder of the main project, gprbuild fails with a clear message indicating that the switch "can only be used on the command line".

  • Ada | Ada 2005 / 95 / 83
    Apr 4th, 2011

    AI-0068 Abstract/overridable inherited subprograms
    This AI clarifies the legality rules for inherited operations that may have been overriden in the private part of a parent. GNAT always implemented this correctly. The AI has suggested a clearer error message for this case.

  • GNAT Pro
    Apr 1st, 2011

    Add support for file attributes on VxWorks 6
    Routines in GNAT.OS_Lib to read, modify and copy file attributes are supported on VxWorks 6 targets.

  • GNAT Pro | GPRbuild
    Apr 1st, 2011

    —RTS switches in package Builder
    When configuration project file is auto-generated and there are no switches --RTS on the command line, the switches --RTS found in package Builder of the main project are taken into account to invoke gprconfig and produce the configuration project file.

  • GNAT Pro
    Apr 1st, 2011

    Add support for file attributes on VxWorks 6
    Routines in GNAT.OS_Lib to read, modify and copy file attributes are supported on VxWorks 6 targets.