Development Log in 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.

  • GNAT Pro
    Nov 30th, 2005

    New functions for accessing target file suffixes
    New functions GNAT.OS_Lib.Get_Target_{Debuggable,Executable,Object}_Suffix to return respective suffixes on target system, implemented to resolve cross compiler issues when target suffixes not equal to host suffixes.

  • GNAT Pro | Ada Compiler
    Nov 29th, 2005

    Additional warning on unreferenced entities
    When warnings are enabled, the compiler now reports properly on unreferenced entities declared in subprogram bodies that have a previous subprogram declaration. Previously, messages were only produced for entities in bodies without a prior declaration.

  • GNAT Pro | Ada Compiler
    Nov 29th, 2005

    New project path section for gnatls -v
    When gnatls -v is invoked, in addition to the source and object path section, a new section indicating the project search path is displayed. The project path is found in the environment variable ADA_PROJECT_PATH, or if this environment variable is not defined or empty, it defaults to /lib/gnat, where is the intallation directory of GNAT.

  • GNAT Pro | Ada Compiler
    Nov 29th, 2005

    Independent control of extra paren check
    The warning check for extra parens around conditional expressions has been removed from the redundant construct warning, and been replaced by a new style option -gnatyx (STYLE_CHECKS=XTRA_PARENS in VMS) which controls this specific check. This change reflects the observation that this is really more of a style check, and also allows it to be controlled independently of the other useful redundant construct warnings.

  • GNAT Pro | Ada Compiler
    Nov 29th, 2005

    Improved definition of No_Streams
    The restriction No_Streams is now more useful. It only disallows actual creation of objects of a stream type (by either an object declaration or an allocator). But it does not disallow withing Ada.Streams, which means that library packages with such with statements can still be used, provided no stream object is created.

  • Ada | Ada 2005 / 95 / 83
    Nov 29th, 2005

    AI-266-02 Task termination procedure
    This AI provides the mechanisms for associating protected procedures with tasks, in such as way that these procedures are invoked when tasks are about to terminate (either normally, as a result of an unhandled exception or due to abort). It helps mitigating the hazard of tasks terminating silently.

  • GNAT Pro
    Nov 28th, 2005

    Increased default maximum line length
    The maximum line length accepted by GNAT by default has been increased for 255 to 32766 characters. A more restrictive length can still be enforced using the existing style check switch -gnatyM.

  • GNAT Pro
    Nov 26th, 2005

    New warning for ignored pragma Pack for records
    If a complete record representation clause is given for a record, which has component clauses for every component, then pragma Pack has no effect and is ignored. A warning is now generated for a useless pragma Pack in this case.

  • GNAT Pro
    Nov 26th, 2005

    New pragma Complete_Representation
    A new GNAT pragma, Complete_Representation has been implemented. This pragma must appear with no arguments immediately within a record representation clause. The effect is to generate an error is any of the components or discriminants of the record type is missing from the list of component clauses.

  • GNAT Pro
    Nov 26th, 2005

    Output internal types in -gnatG output
    The pseudo-Ada output generated by -gnatD or -gnatG now includes listing of internal types for which no full declaration was generated. Previously, references to these types appeared, without any declarations.

  • GNAT Pro
    Nov 25th, 2005

    Task stack usage analysis
    It is now possible to display the maximum stack usage for each task in a program, simply by using the -u switch when binding the application.

  • GNAT Pro
    Nov 24th, 2005

    New rule checking tool gnatcheck
    A new tool gnatcheck is added to the set of GNAT tools. This is an ASIS-based tool that checks its argument sources against a given set of rules. It generates compiler-style diagnoses about the detected rule violations and also creates a report file. The gnatcheck options allow the user to configure the set of rules being checked. The initial release of gnatcheck is a beta release. The interface may be changed on the base of the user feedback, and the set of checked rules is planned to be extended.

  • GNAT Pro
    Nov 24th, 2005

    Better msg for bad style check option
    Clear specific error messages are now given for bad style options instead of a general often unhelpful "bad style check" message.

  • GNAT Pro
    Nov 24th, 2005

    Enhancements to pragma Debug
    Pragma Debug now allows a two argument form in which the first argument is a conditional expression. The procedure call which is the second argument is made only if debug pragmas are enabled, and the condition evaluates to True. In addition, the procedure call is wrapped in a block, so that overhead from the call only occurs if the condition is true.

  • GNAT Pro
    Nov 21st, 2005

    AltiVec binding integration
    A soft emulation of the PowerPC AltiVec extension has been added to the GNAT library under the GNAT.Altivec hierarchy. This provides a convenient interface to manipulate vectors. The hard version of the binding is provided as a separate package.

  • GNAT Pro
    Nov 11th, 2005

    GDB warns on non-matching executable
    The debugger has been enhanced to detect the situations where the name of the executable used to generate a core file does not match the name of the executable being debugged, and will warn the user of a potential problem.

  • GNAT Pro
    Nov 10th, 2005

    AI-441 Null-exclusion under Ada95 mode
    This AI allows the use of the "not-null" qualifier under Ada95 mode because all access parameters are "not null" in Ada 95. In addition, the first parameter of the stream attributes is now explicitly declared to be a not null access type. Further information can be accessed at www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00441.TXT.

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

    AI-441 Null-exclusion under Ada95 mode
    This AI allows the use of the "not-null" qualifier under Ada95 mode because all access parameters are "not null" in Ada 95. In addition, the first parameter of the stream attributes is now explicitly declared to be a not null access type.

  • Ada | Ada 2005 / 95 / 83
    Nov 5th, 2005

    AI-267 Fast Float-to-Integer conversion
    This AI provides a new attribute Machine_Rounding for float types, that provides similar functionality to Rounding, except that the treatment of numbers exactly mid-way between two integers can go to either near-by integer (the result is implementation defined). For now GNAT provides the same semantics for Machine_Rounding as for Rounding.

  • GNAT Pro
    Nov 4th, 2005

    Pragma Inline_Always effective after body
    If a subprogram body has no previous spec, and it is immediately followed by a pragma Inline_Always, then all calls to the subprogram will be unconditionally inlined by the front-end. This approach is consistent with the implementation suggestion of AI-309, and is a generally useful optimization.

   1  2  3     Next »