Development Log in June 2006.

  • GNAT Pro
    Jun 29th, 2006

    Improvements to -gnatwh hiding warning
    The warnings from -gnatwh have been refined to eliminate warnings for cases where an entity name matches an entity in a package which is not used. Since such package entities will always be qualified, the issue of hiding does not arise. Warnings for packages which are used are given as before. Warnings are also suppressed for record component entities, which never cause hiding.

  • GNAT Pro
    Jun 29th, 2006

    Improvements to -gnatwh hiding warning
    The warnings from -gnatwh have been refined to eliminate warnings for cases where an entity name matches an entity in a package which is not used. Since such package entities will always be qualified, the issue of hiding does not arise. Warnings for packages which are used are given as before. Warnings are also suppressed for record component entities, which never cause hiding.

  • GNAT Pro
    Jun 27th, 2006

    New check name Validity_Check
    A new check name Validity_Check is recognized as an argument for pragma Suppress or Unsuppress. This allows validity checks to be turned on and off selectively, without affecting the status of range checks.

  • GNAT Pro
    Jun 27th, 2006

    New check name Validity_Check
    A new check name Validity_Check is recognized as an argument for pragma Suppress or Unsuppress. This allows validity checks to be turned on and off selectively, without affecting the status of range checks.

  • GNAT Pro
    Jun 25th, 2006

    Validity checking of operands includes ranges
    The -gnatVo switch that turns on validity checking for operands now also activates validity checking for ranges using .. including for loops, array declarations, subtype declarations, membership tests etc.

  • GNAT Pro
    Jun 25th, 2006

    Validity checking of operands includes ranges
    The -gnatVo switch that turns on validity checking for operands now also activates validity checking for ranges using .. including for loops, array declarations, subtype declarations, membership tests etc.

  • GNAT Pro
    Jun 23rd, 2006

    New switch for gnatmake to send commands to stdout
    Normally gnatmake sends all its output to stderr, including echoing the commands issued if -q is not used. A new switch -eS causes these echoed commands to be sent to stdout (all other messages still go to stderr). This is particularly useful in an eclipse context, where different colors are assigned to stderr and stdout.

  • GNAT Pro
    Jun 23rd, 2006

    New multiple-choice-auto-select debugger option
    When sending to the debugger a command with an ambiguous expression, the debugger by default asks the user to choose between all possible alternatives. This behavior is now configurable with the following command:

          (gdb) set multiple-choice-auto-select (off|all|cancel)
    
    
    When selecting either "all" or "cancel", the multiple-choice menu is no longer displayed.

  • GNAT Pro
    Jun 23rd, 2006

    New switch for gnatmake to send commands to stdout
    Normally gnatmake sends all its output to stderr, including echoing the commands issued if -q is not used. A new switch -eS causes these echoed commands to be sent to stdout (all other messages still go to stderr). This is particularly useful in an eclipse context, where different colors are assigned to stderr and stdout.

  • GNAT Pro
    Jun 23rd, 2006

    New multiple-choice-auto-select debugger option
    When sending to the debugger a command with an ambiguous expression, the debugger by default asks the user to choose between all possible alternatives. This behavior is now configurable with the following command:

          (gdb) set multiple-choice-auto-select (off|all|cancel)
    
    
    When selecting either "all" or "cancel", the multiple-choice menu is no longer displayed.

  • GNAT Pro
    Jun 21st, 2006

    Warnings on infinite while loops
    The compiler now detects some obvious cases of possible infinite while loops where the test is a simple test of a local variable, which does not appear to be modified in the loop.

  • GNAT Pro
    Jun 21st, 2006

    Warnings on infinite while loops
    The compiler now detects some obvious cases of possible infinite while loops where the test is a simple test of a local variable, which does not appear to be modified in the loop.

  • GNAT Pro
    Jun 19th, 2006

    System.Priority range expanded on AIX
    Previously, the type System.Priority on AIX was limited to the range 0 .. 31. This range has now been expanded to 0 .. 126, allowing tasking programs to make use of the full range of priorities made available by the operating system.

  • GNAT Pro
    Jun 19th, 2006

    System.Priority range expanded on AIX
    Previously, the type System.Priority on AIX was limited to the range 0 .. 31. This range has now been expanded to 0 .. 126, allowing tasking programs to make use of the full range of priorities made available by the operating system.

  • GNAT Pro
    Jun 16th, 2006

    Fewer warnings for unknown attributes and packages
    When parsing project files, warnings are no longer issued for unknown attributes (but errors are still issued for unknown attributes related to the tool used) or for unknown packages when in quiet mode.

  • Ada | Ada 2005 / 95 / 83
    Jun 16th, 2006

    AI-280 Use of objects after finalization
    If a controlled object is allocated whose collection finalization has already started, Program_Error is raised. Similarly, if a task is created whose master has finished waiting for dependents, Program_Error is raised.

  • GNAT Pro
    Jun 9th, 2006

    More complete listings from -gnatl
    The listing from -gnatl now includes a full listing of all units for which code is compiled (in particular, when a body is compiled, full listings of the corresponding spec and all subunits are output with error messages. A debug switch -gnatd.m is implemented to provide the old behavior in case of legacy scripts depending on listing only the main unit.

  • GNAT Pro
    Jun 9th, 2006

    More complete listings from -gnatl
    The listing from -gnatl now includes a full listing of all units for which code is compiled (in particular, when a body is compiled, full listings of the corresponding spec and all subunits are output with error messages. A debug switch -gnatd.m is implemented to provide the old behavior in case of legacy scripts depending on listing only the main unit.

  • GNAT Pro
    Jun 8th, 2006

    Warning for out parameter not assigned on return
    GNAT now warns for some cases not previously caught where a return is made from a procedure and one or more OUT mode parameters have not been assigned a value (resulting in possibly invalid values for the caller).

  • Ada | Ada 2005 / 95 / 83
    Jun 5th, 2006

    AI-443 Synchronized private extensions
    This AI specifies new kind of synchronized private extensions and formal derived types which must be completed by a task or protected object. The ancestor of a regular synchronized extension must be a limited or synchronized interface; in the case of a formal derived type, the ancestor must be a tagged limited type and any progenitors must be limited or synchronized interfaces.

  • GNAT Pro
    Jun 3rd, 2006

    New model for interfacing with C++
    We have improved the frontend support for interfacing with C++. The GNAT pragmas CPP_Vtable and CPP_Virtual are no longer required because the frontend generates the same object layout as the g++ compiler. The only new requirement for interfacing with C++ classes with virtual functions is to place all the components of the object and the primitives exactly in the same order in the two languages.

  • GNAT Pro
    Jun 3rd, 2006

    New model for interfacing with C++
    We have improved the frontend support for interfacing with C++. The GNAT pragmas CPP_Vtable and CPP_Virtual are no longer required because the frontend generates the same object layout as the g++ compiler. The only new requirement for interfacing with C++ classes with virtual functions is to place all the components of the object and the primitives exactly in the same order in the two languages.

  • GNAT Pro
    Jun 2nd, 2006

    Full listing can be sent to file
    A new form of the switch -gnatl (full listing) is now available. If the switch is given as -gnatl=xxx then the full listing is written to file xxx, or if xxx starts with a period then it is taken as an extension, and the full listing is written to file.xxx, where file is the name of the source file being compiled (or file_xxx in VMS).

  • GNAT Pro
    Jun 2nd, 2006

    Full listing can be sent to file
    A new form of the switch -gnatl (full listing) is now available. If the switch is given as -gnatl=xxx then the full listing is written to file xxx, or if xxx starts with a period then it is taken as an extension, and the full listing is written to file.xxx, where file is the name of the source file being compiled (or file_xxx in VMS).