Development Log in July 2005.

  • GNAT Pro
    Jul 29th, 2005

    Line length style check for wide chars
    The style check for maximum line length has been changed to count characters instead of bytes, making it useful for the wide character encodings.

  • GNAT Pro
    Jul 27th, 2005

    Enclosing_Entity now fully qualified
    The name returned by GNAT.Source_Info.Enclosing_Entity is now fully qualified using periods where possible (this is not always possible, notably in the case of entities appearing in unnamed block statements.)

  • GNAT Pro
    Jul 23rd, 2005

    New warning for ignored pragma Pack for arrays
    The Ada standard is not clear on the issue of whether pragma Pack can override an explicitly given component size. The RM is unclear as to whether such overriding is permitted, required, or disallowed. The best choice seems to be to respect an explicitly given component size. A warning is generated for the ignored Pack pragma except in cases where it is clear that the ignored Pack pragma is simply confirming the given component size.

  • GNAT Pro
    Jul 11th, 2005

    New pragma Debug_Policy
    A new configuration pragma Debug_Policy, which takes one of two arguments Check or Ignore, controls whether Debug pragmas are active, in a manner exactly analogous to the use of the Ada 2005 pragma Assertion_Policy to control whether Assert pragmas are active.

  • GNAT Pro
    Jul 5th, 2005

    gnatpp option for ‘IS’ in subprogram body
    A new option (--no-separate-is) is added to gnatpp. If this option is set, gnatpp tries not to place the 'IS' keyword on a subprogram body on separate line in case if the subprogram specification occupies more then one line

  • Ada | Ada 2005 / 95 / 83
    Jul 4th, 2005

    AI-326 Tagged incomplete types
    This AI introduces the concept of a "tagged incomplete" type, which is a type that has the same restrictions as an incomplete type except that it may also be used for a formal or actual parameter. For most types, the compiler needs to see the full definition to know how parameters of the type are passed. However, because tagged types are always passed by reference, there is no implementation difficulty in allowing them to be used as parameters even when the full definition of the type is not available.