Development Log in February 2006.

  • GNAT Pro
    Feb 24th, 2006

    Better diagnostics on illegal operators
    When there is no valid interpretation for an operator in an expression, the compiler used to report only that the operands were incompatible with the operator. The compiler now examines whether the addition of a use_clause to the context might make some user-defined operators use-visible, and therefore make the expression legal.

  • GNAT Pro
    Feb 24th, 2006

    Tracking of while condition information
    The condition in a while loop is now used to optimize the body of the loop. For instance, if the while condition is X /= null, then we know that we do not need to do access checks for X within the loop body in some cases.

  • GNAT Pro
    Feb 24th, 2006

    Better diagnostics on illegal operators
    When there is no valid interpretation for an operator in an expression, the compiler used to report only that the operands were incompatible with the operator. The compiler now examines whether the addition of a use_clause to the context might make some user-defined operators use-visible, and therefore make the expression legal.

  • GNAT Pro
    Feb 24th, 2006

    Tracking of while condition information
    The condition in a while loop is now used to optimize the body of the loop. For instance, if the while condition is X /= null, then we know that we do not need to do access checks for X within the loop body in some cases.

  • GNAT Pro
    Feb 20th, 2006

    Better tracking of values within loops
    Current values of variables are now tracked within a loop body, improving the quality of code for some loops.

  • GNAT Pro
    Feb 20th, 2006

    Better tracking of values within loops
    Current values of variables are now tracked within a loop body, improving the quality of code for some loops.

  • GNAT Pro
    Feb 18th, 2006

    Improved message for illegal static expressions
    When a static expression fails a constraint check (and is thus illegal), the error message now talks about failing a constraint check, rather than the previous behavior of talking about raising constraint error (which caused some confusion, since the program was illegal and could not be executed).

  • GNAT Pro
    Feb 18th, 2006

    Improved message for illegal static expressions
    When a static expression fails a constraint check (and is thus illegal), the error message now talks about failing a constraint check, rather than the previous behavior of talking about raising constraint error (which caused some confusion, since the program was illegal and could not be executed).

  • GNAT Pro
    Feb 14th, 2006

    Validity checking for conversions/qualifications
    The operand validity checking option (-gnatVo, also included in -gnatVa) now causes validity checks to be generated for type conversions and qualified expressions. Previously there was no way to ensure generation of such checks.

  • GNAT Pro
    Feb 14th, 2006

    Validity checking for conversions/qualifications
    The operand validity checking option (-gnatVo, also included in -gnatVa) now causes validity checks to be generated for type conversions and qualified expressions. Previously there was no way to ensure generation of such checks.

  • GNAT Pro
    Feb 12th, 2006

    gnatstub can process Ada 2005 units
    A new -gnat05 option is added to gnatstub. When called with this option, gnatstub can process Ada 2005 library unit declarations and generate body stubs for them.

  • GNAT Pro
    Feb 12th, 2006

    gnatstub can process Ada 2005 units
    A new -gnat05 option is added to gnatstub. When called with this option, gnatstub can process Ada 2005 library unit declarations and generate body stubs for them.

  • GNAT Pro
    Feb 4th, 2006

    Stack checking on 64-bit SPARC/Solaris
    Stack checking (enabled by -fstack-check) has been implemented on the 64-bit SPARC/Solaris platform.

  • GNAT Pro
    Feb 4th, 2006

    Stack checking on 64-bit SPARC/Solaris
    Stack checking (enabled by -fstack-check) has been implemented on the 64-bit SPARC/Solaris platform.

  • GNAT Pro
    Feb 3rd, 2006

    Warning messages always unconditional
    Warning messages issued by the compiler are always unconditional, that is to say they are never suppressed even if another message has already been issued at the same spot.

  • GNAT Pro
    Feb 3rd, 2006

    Warnings on almost-matching signatures
    If two subprograms have the same name and differ only in that one of them has an access parameter, and the other has a parameter of a general access type with the same designated type as the same position in the signature, a positional call to either will be ambiguous. GNAT emits a warning on the second subprogram declaration in this situation.

  • GNAT Pro
    Feb 3rd, 2006

    Warning messages always unconditional
    Warning messages issued by the compiler are always unconditional, that is to say they are never suppressed even if another message has already been issued at the same spot.

  • GNAT Pro
    Feb 3rd, 2006

    Warnings on almost-matching signatures
    If two subprograms have the same name and differ only in that one of them has an access parameter, and the other has a parameter of a general access type with the same designated type as the same position in the signature, a positional call to either will be ambiguous. GNAT emits a warning on the second subprogram declaration in this situation.

  • GNAT Pro
    Feb 1st, 2006

    New restriction: No_Dispatching_Calls
    This restriction ensures at compile time that the code generated by the compiler has no dispatching calls. The use of this restriction allows the safe use of tagged record extensions and membership tests to write code that does not have dispatching calls.

  • GNAT Pro
    Feb 1st, 2006

    New restriction: No_Dispatching_Calls
    This restriction ensures at compile time that the code generated by the compiler has no dispatching calls. The use of this restriction allows the safe use of tagged record extensions and membership tests to write code that does not have dispatching calls.