Development Log in July 2008.

  • Ada | Ada 2005 / 95 / 83
    Jul 31st, 2008

    AI-0105 Resolution of renaming uses anonymousness
    If an object renaming declaration has an access definition the renamed object must be of an anonymous type. This is now explicitly a name resolution rule, and must be used, eg. when the renamed object is the result of an overloaded function call.

  • GNAT Pro
    Jul 29th, 2008

    Image function for GNAT.Sockets.Socket_Set_Type
    A new function Image providing a printable representation of a Socket_Set_Type value is now available, and can be useful when debugging network applications.

  • GNAT Pro
    Jul 28th, 2008

    Cross-ref for defaulted subprogram in instantiation
    If a formal subprogram in a generic has a default, the actual in an instance now gets a cross-reference entry in the ALI file for the unit that encloses the instance so that tools like GPS can recognize the implicit reference.

  • GNAT Pro
    Jul 24th, 2008

    Better performance for sockets non-blocking I/O
    The management of GNAT.Sockets.Socket_Set_Type objects no longer requires dynamic allocation, providing significantly improved performance for applications making heavy use of non-blocking input/output operations using selector objects.

  • GNAT Pro
    Jul 24th, 2008

    Improved concatenation efficiency
    String concatenation is now done inline instead of using library routines. This is far more efficient, avoiding use of the secondary stack, and extra unnecessary copies, as well as extra code for computing bounds in many cases where it is now unnecessary. A side effect of this change is that there are more cases where length checks can be anticipated at compile time, resulting in useful warnings. The non-string case shares this new approach, so that there is also a big reduction in generated code and improved efficiency for the non-string case.

  • GNAT Pro | GPS | GNATbench
    Jul 22nd, 2008

    Cross-references available on labels
    Cross references ("go to declaration") are now available when clicking on labels inside Ada code.

  • GNAT Pro
    Jul 21st, 2008

    Specify line length for -gnatD/-gnatG output
    The generated output from use of -gnatG or -gnatD by default has a maximum line length of 72. It is now possible to specify an alternative maximum line length using an integer value right after the D or G switch. The minimum value that can be specified is 40, the maximum is 999999. Any value less than 40 is reset to 40.

  • GNAT Pro
    Jul 21st, 2008

    Better handling of non-standard line endings
    LF/CR is no longer recognized as a legitimate line terminator (it will now be treated as two separate line terminators). This resuls in better handling of files containing mixed unix/dos line endings, and in particular if the -gnatyd switch is used, the messages more accurately point to the DOS lines. Note that no known system uses LF/CR as a line terminator.

  • GNAT Pro
    Jul 20th, 2008

    Avoid cascaded messages for bad parameters
    Bogus conformance messages for bad parameters in the body are now suppressed in the case where the real problem is that the type was declared incorrectly in the spec, resulting in an error message posted in the spec.

  • GNAT Pro | GPRbuild
    Jul 18th, 2008

    Partial linking in chunks
    When the partial linker is declared, a static stand-alone library is linked in chunks if the command line would be too long to link it in one chunk.

  • GNAT Pro | GPRbuild
    Jul 18th, 2008

    Partial linker to link shared libraries
    The partial linker, when declared, is now used to build shared libraries, in chunks if the command line length would be too long to build the shared library in one chunk.

  • GNAT Pro
    Jul 15th, 2008

    GNAAMP allocates exported constants as static data
    On the AAMP target, the compiler now allocates static scalar constants that have a pragma Export as static data (counter 2), rather than volatile data initialized by elaboration code.

  • GNAT Pro
    Jul 11th, 2008

    Allow class-wide functions with zfp runtime
    Functions returning limited class-wide or tagged types (which use build-in-place in Ada 2005) are now allowed when using the zfp runtime.

  • PolyORB
    Jul 9th, 2008

    New IAC command line switch -nocpp
    A new command line switch "-nocpp" is supported by IAC, indicating that the input file has already been preprocessed, and should not be preprocessed again.

  • PolyORB
    Jul 9th, 2008

    Better detection of conflicting middleware setups
    Middleware setups that include more than one ORB tasking policy or more than one ORB controller are now detected at initialization time and cause an exception to be raised instead of silently proceeding with execution of the inconsistent partition.

  • GNAT Pro
    Jul 8th, 2008

    Rules for gnatcheck are now OFF by default
    The default setting for gnatcheck rules is changed from "all rules ON" to "all rules OFF". For old rule files, adding +ALL rule switch at the beginning of the file will result in retaining the same semantics.

  • GNAT Pro
    Jul 8th, 2008

    Switch to limit number of diagnostics in gnatcheck
    A new switch -mnnn is added to limit the number of the diagnostic messages to be sent to the standard output file to nnn.

  • GNAT Pro
    Jul 5th, 2008

    New interface for metric-based rules in gnatcheck
    The interface for metric-based gnatcheck rules has been simplified. Now the naming scheme for these rules and the way of parameter passing are the same as for all the other gnatrcheck rules. The old format of the metric-based rules is kept as a non-documented feature for compatibility reasons.

  • Ada Web Server
    Jul 3rd, 2008

    Improve error message for SOAP messages
    On the server side generated code (skeleton) we now check that the SOAP objects have the proper type to issue better error messages.

  • Ada Web Server
    Jul 3rd, 2008

    Improve message for non conformant SOAP messages
    On the server side generated code (skeleton) we now check that the SOAP objects have the proper type to issue better error messages.

  • GNAT Pro | GNATbench
    Jul 2nd, 2008

    GNATbench 2.1 InSight webinar available
    The recently recorded GNATbench 2.1 InSight webinar is now available for viewing. Please visit www.adacore.com/home/gnatpro/webinars to watch it.

  • GNAT Pro
    Jul 1st, 2008

    Improved constant folding of short-circuits
    The compiler now does constant folding for "X and then ..." where X is a known-false constant. Similar for "or else". This improves the generated code. It can also suppress warnings in dead code in some cases.