Development Log in December 2005.

  • GNAT Pro
    Dec 30th, 2005

    Function call implemented in ia64-hpux debugger
    The ia64-hpux debugger is now capable of calling a function in the program being debugged.

  • GNAT Pro
    Dec 30th, 2005

    Function call implemented in ia64-hpux debugger
    The ia64-hpux debugger is now capable of calling a function in the program being debugged.

  • GNAT Pro
    Dec 27th, 2005

    Pragma Unreferenced for accept formals
    Pragma Unreferenced can be used within a DO-END group following an accept in which case it applies to the formals of that particular accept. In fact this always worked, but is now official and documented.

  • GNAT Pro
    Dec 25th, 2005

    Pure_Function does not imply Pure
    If the pragma Pure_Function is applied to a library function unit, then it no longer implies that the function is Pure in the categorization sense. This is more consistent with the use of this pragma within a package.

  • GNAT Pro
    Dec 25th, 2005

    Pure_Function does not imply Pure
    If the pragma Pure_Function is applied to a library function unit, then it no longer implies that the function is Pure in the categorization sense. This is more consistent with the use of this pragma within a package.

  • GNAT Pro
    Dec 22nd, 2005

    Unused subprogram/data elimination
    With the GNU/Linux x86 native compiler, it is now possible to automatically eliminate at link time the unused subprograms and datas from linked objects. This needs objects compiled with -ffunction-sections and -fdata-sections option, and the linker being called with --gc-sections option. The gnat library is now compiled with these options to allow such unused code elimination.

  • GNAT Pro
    Dec 22nd, 2005

    Complete task debugging support implemented on AIX
    The debugger now provides full support for debugging tasks and threads on AIX. It is now possible to switch to a different task in the program being debugged.

  • GNAT Pro
    Dec 20th, 2005

    New stack checking implementation
    Stack checking has been reimplemented for most native platforms and selected embedded platforms. The new implementation is more efficient and does not impose a cap on the size of the static frame of functions.

  • GNAT Pro
    Dec 20th, 2005

    No_Wide_Characters no longer partition-wide
    The restriction No_Wide_Characters is no longer partition-wide. It applies only to those units compiled explicitly with this restriction. This seems more useful in any case, and it is particularly important now that Ada 2005 adds Wide_String references in Ada.Exceptions.

  • Ada | Ada 2005 / 95 / 83
    Dec 20th, 2005

    AI-417 Lower bounds of functions in AI-400
    Corrects an omission in AI-400 and specifies that the lower bound of results returned by Wide_[Wide_]Exception_Name and Wide_[Wide_]Expanded_Name is 1.

  • Ada | Ada 2005 / 95 / 83
    Dec 20th, 2005

    AI-400 Wide functions in Ada.Tags/Exceptions
    Introduces functions Wide_[Wide_]Expanded_Name in package Ada.Tags and functions Wide_[Wide_]Exception_Name in package Ada.Exceptions.

  • GNAT Pro
    Dec 19th, 2005

    New default stack size
    On all native platforms, the default stack size for Ada tasks is changed to two megabytes. Note that it is now also possible to modify this default stack size using gnatbind -d switch.

  • Ada | Ada 2005 / 95 / 83
    Dec 19th, 2005

    AI-391 Controlling-result functions in extensions
    This AI permits a type extension to inherit functions with controlling results without requiring such functions to be overridden as long as the extension part is null and the type declares no discriminants.

  • Ada | Ada 2005 / 95 / 83
    Dec 18th, 2005

    AI-370 Environment variables
    This AI adds a package Ada.Environment_Variables which provides functions to manipulate environment variables.

  • GNAT Pro
    Dec 17th, 2005

    ASIS and ASIS-based tools clearly reject Ada 2005
    Since ASIS does not support Ada 2005 features at the moment, a check is added to ASIS and ASIS-based tools (gnatstub, gnatelim, gnatmetric, gnatpp and gnatcheck) to detect and to reject Ada units compiled with '-gnat05' or containing Ada 2005 features

  • GNAT Pro
    Dec 16th, 2005

    Controlling the default task stack size
    The binder switch -dnnn sets the value of the default primary task stack size, in a manner similar to the -Dnnn switch for the secondary stack.

  • GNAT Pro
    Dec 14th, 2005

    Better Storage_Size support on Windows XP
    On Windows XP it is possible to implement the pragma/attribute Storage_Size to be conformant with the RM by taking advantage of a new option in the CreateThread Win32 API. So on Windows XP Storage_Size properly reserve the specified amount of stack space for the thread.

  • Ada | Ada 2005 / 95 / 83
    Dec 12th, 2005

    AI-297 package Ada.Real_Time.Timing_Events
    This AI introduces a mechanism to allow user-defined procedures to be executed at a specified time without the need to declare a task or use a delay statement. The facility is defined by the type Timing_Event defined in package Ada.Real_Time.Timing_Events

  • Ada | Ada 2005 / 95 / 83
    Dec 10th, 2005

    AI-329 Procedures that never return
    This AI is basically an adoption of the existing GNAT pragma No_Return. There were three additions. First, pragma No_Return can take multiple arguments. Second, a missing implicit return in a No_Return procedure now generates a warning and raises Program_Error at run-time rather than being considered an error, and finally calling Raise_Exception with a null Exception_Id raises Constraint_Error instead of returning silently. All three features are fully implemented. The first two are also implemented in Ada 95 mode. The third affects operation in Ada 2005 mode only.

  • GNAT Pro
    Dec 9th, 2005

    Allow multiple arguments for No_Return pragma
    The No_Return pragma now allows a sequence of one or more procedure names. This extension makes the implementation compatible with the Ada 2005 definition of this pragma found in AI-329.

  • GNAT Pro
    Dec 8th, 2005

    Check on No_Return consistency for overriding
    If a dispatching procedure has a No_Return pragma and is overridden, then the overriding procedure is now required to be No_Return, so that dispatching calls to the procedure get a consistent view. This is an Ada 2005 feature (AI 414) that has been back ported to Ada 95 mode.

  • Ada | Ada 2005 / 95 / 83
    Dec 8th, 2005

    AI-414 No_Return consistency for overriding
    If a dispatching procedure has a No_Return pragma and is overridden, then the overriding procedure is now required to be No_Return, so that dispatching calls to the procedure get a consistent view.

  • GNAT Pro
    Dec 7th, 2005

    Assignment of aggregates in GDB
    GDB now allows aggregates on the right-hand sides of assignments to arrays and records. Both named and positional aggregates are supported.

  • Ada | Ada 2005 / 95 / 83
    Dec 7th, 2005

    AI-419 Limitedness of derived types
    This AI establishes that limitedness is not inherited from interfaces, so that a non-limited type can have limited progenitors. As a consequence, new syntax is needed to indicate that a derived type is intended to be limited. the keyword "limited" can now appear in derived type declarations and in formal derived type declarations.

  • Ada | Ada 2005 / 95 / 83
    Dec 7th, 2005

    AI-328 Preinstantiations of Complex_IO
    This AI introduces preinstantiations of Complex_IO:

      Ada.Complex_Text_IO
      Ada.Long_Complex_Text_IO
      Ada.Long_Long_Complex_Text_IO
      Ada.Short_Complex_Text_IO
    

  • Ada | Ada 2005 / 95 / 83
    Dec 6th, 2005

    AI-394 Restriction identifiers and Ravenscar
    This AI moves some restriction identifiers to Annex J (obsolescent features) and completes the definition of the Ravenscar profile.

  • Ada | Ada 2005 / 95 / 83
    Dec 6th, 2005

    AI-335 Stream attributes may be dispatching
    This AI defines the stream attributes for tagged types to be dispatching operations. In Ada 95, the Class versions of the stream attributes were defined to dispatch to non-Class attributes, but the non-Class versions could not be dispatched to directly.

  • GNAT Pro
    Dec 5th, 2005

    AAMP enhancement for static discriminated records
    On the AAMP target, the compiler now generally uses static rather than dynamic allocation and addressing for records with discriminant-dependent components when discriminant constraints are static.

  • GNAT Pro
    Dec 5th, 2005

    Better warning message when source not found
    When a file specified as a spec or body of a unit in a package Naming cannot be found in the project source directories, the file name is specified in the warning message.

  • GNAT Pro
    Dec 5th, 2005

    Improved Expanded_Name output for wide characters
    When wide (or wide wide) characters are used in identifiers, the output of Expanded_Name now outputs properly encoded strings that represent these wide characters, using the same encoding as was used in the source program.