Development Log in July 2006.

  • GNAT Pro
    Jul 30th, 2006

    Windows GNAT.Sockets based on Winsock 2.2
    The Windows GNAT.Sockets implementation now uses the Winsock 2.2 version instead of version 1.1.

  • GNAT Pro
    Jul 30th, 2006

    Windows GNAT.Sockets based on Winsock 2.2
    The Windows GNAT.Sockets implementation now uses the Winsock 2.2 version instead of version 1.1.

  • GNAT Pro
    Jul 20th, 2006

    AI-447 Null_exclusions allowed in Ada 95
    Ada 2005 allows "not null" to be used in various contexts to indicate that access values cannot be null. AI-447 allows "not null" to be used for anonymous access types in Ada 95, in order to ease the writing of code that works the same way in both Ada 95 and Ada 2005. The compiler now allows "not null" in those cases.

  • GNAT Pro
    Jul 20th, 2006

    AI-447 Null_exclusions allowed in Ada 95
    Ada 2005 allows "not null" to be used in various contexts to indicate that access values cannot be null. AI-447 allows "not null" to be used for anonymous access types in Ada 95, in order to ease the writing of code that works the same way in both Ada 95 and Ada 2005. The compiler now allows "not null" in those cases.

  • Ada
    Jul 19th, 2006

    AdaCore-authored paper receives Best Paper award at Ada Europe 2006
    "A Comparison of Ada and Real-Time Java for Safety-Critical Applications", written by Ben Brosgol from AdaCore and Andy Wellings from the University of York (UK), was selected as the Best Paper at the Ada Europe 2006 Conference in Porto, Portugal.

    Download the presentation slides below.

  • GNAT Pro
    Jul 15th, 2006

    New pragma Unreferenced_Objects
    A new pragma Unreferenced_Objects may be applied to types or subtypes. The effect is to inhibit warnings if objects of this type are not referenced. This is particularly useful in the case of so-called RAII variables (Resource Acquisition Is Initialization), where a variable is declared solely for the initialization and finalization effects (for example, these might be used to acquire and release a lock). Note that for this pragma, unlike the use of pragma Unreferenced directly on the object, it is not considered an error to reference the object, and no warning is generated for such references.

  • GNAT Pro
    Jul 15th, 2006

    New pragma Unreferenced_Objects
    A new pragma Unreferenced_Objects may be applied to types or subtypes. The effect is to inhibit warnings if objects of this type are not referenced. This is particularly useful in the case of so-called RAII variables (Resource Acquisition Is Initialization), where a variable is declared solely for the initialization and finalization effects (for example, these might be used to acquire and release a lock). Note that for this pragma, unlike the use of pragma Unreferenced directly on the object, it is not considered an error to reference the object, and no warning is generated for such references.

  • GNAT Pro
    Jul 13th, 2006

    Improved error message for ‘Access in generic
    When 'Access is misused in a generic body according to RM-3.10.2(32), the compiler now generates a more informative error message.

  • GNAT Pro
    Jul 13th, 2006

    Improved error message for ‘Access in generic
    When 'Access is misused in a generic body according to RM-3.10.2(32), the compiler now generates a more informative error message.

  • GNAT Pro
    Jul 11th, 2006

    Optimization of membership tests
    The compiler does not generate code for the run-time check associated with a membership test applied to a tagged type if the resulting value can be evaluated at compile time.

  • GNAT Pro
    Jul 11th, 2006

    Optimization of membership tests
    The compiler does not generate code for the run-time check associated with a membership test applied to a tagged type if the resulting value can be evaluated at compile time.

  • PolyORB
    Jul 10th, 2006

    Run-time performance improvements for CORBA
    The neutral layer, CORBA applicative personality and IDL-to-Ada compiler have been reorganized to manage user data more efficiently, resulting in significant performance improvements for all CORBA applications.

  • GNAT Pro
    Jul 8th, 2006

    New style switch for array attributes
    The style switch -gnatyA (automatically turned on by plain -gnaty, or by -gnatg) forbids the use of array index numbers for the array attributes Length, Range, First, Last in the case of one dimensional arrays, and requires that they be present for multi-dimensional arrays.

  • GNAT Pro
    Jul 8th, 2006

    New style switch for array attributes
    The style switch -gnatyA (automatically turned on by plain -gnaty, or by -gnatg) forbids the use of array index numbers for the array attributes Length, Range, First, Last in the case of one dimensional arrays, and requires that they be present for multi-dimensional arrays.

  • GNAT Pro
    Jul 4th, 2006

    Zero cost exceptions supported for VxWorks
    As of the 5.04a1 release, zero cost exceptions are available on VxWorks 5.x, and an appropriate ZCX run time is included with the release. An earlier version of this support was available with the 5.03 release, and now with 5.04a1, this is fully supported. Note that ZCX is not yet supported on VxWorks 6.

  • GNAT Pro
    Jul 2nd, 2006

    Better warnings for in out parameters
    Warnings are now given in more cases for unreferenced in out parameters (under control of -gnatwu), and also for cases of in out parameters that are referenced but never assigned (and which could therefore be changed to mode in)

  • GNAT Pro
    Jul 1st, 2006

    New warning switch for questionable missing parens
    A new warning switch -gnatwq (off by default) generates warnings for missing parentheses in situations where it seems advisable to use parens. Warnings were already given for some cases (e.g. not a>b where a and b are modular, and -x mod 5), but the warning is now separately controllable, and includes cases like -x*y (which means -(x*y) when perhaps (-x)*y was intended). This switch is included in -gnatwa.

  • GNAT Pro
    Jul 1st, 2006

    New warning switch for questionable missing parens
    A new warning switch -gnatwq (off by default) generates warnings for missing parentheses in situations where it seems advisable to use parens. Warnings were already given for some cases (e.g. not a>b where a and b are modular, and -x mod 5), but the warning is now separately controllable, and includes cases like -x*y (which means -(x*y) when perhaps (-x)*y was intended). This switch is included in -gnatwa.