Development Log in March 2008.

  • GNAT Pro
    Mar 31st, 2008

    Allocation of constants with discriminated types
    A constant whose type is a discriminated type with default discriminant is now allocated statically whenever it is initialized with another constant that is allocated statically.

  • GNAT Pro
    Mar 30th, 2008

    Check case of entities in Standard.ASCII
    The -gnatyn switch (check casing of standard entities) now includes checking of entities in Standard.ASCII, so for example NUL must be all upper case.

  • GNAT Pro
    Mar 30th, 2008

    Warning on double negation
    The -gnatwr switch (warn on redundant constructs) now generates a warning for the construct (not (not ...)) indicating that the double negation is redudant and could be removed.

  • GNAT Pro | Ada Compiler
    Mar 28th, 2008

    GNATbench 2.1 InSight webinar

    The GNATbench 2.1 webinar will take place June June 17, 2008.

    8:00 am Pacific Daylight Time
    11:00 am Eastern Daylight Time
    5:00 pm Europe Daylight Time

    AdaCore has recently introduced GNATbench 2.1.0. This release introduces many new features including project management and presentation enhancements, language-sensitive editor enhancements, additional wizards, builder enhancements, and source code navigation enhancements. This webinar will describe and demo some of the new features introduced in 2.1.0. As always, we will allow a question and answer session at the end enabling you to talk directly with the designers of GNATbench.

    This webinar will appeal to Ada developers that are using, or are interested in using, GNAT Pro and the Eclipse development environment in their projects. For more information on GNATbench please visit the GNATbench product page or contact sales@adacore.com.

    To register for the event, please visit: www.adacore.com/home/gnatpro/webinars

  • GNAT Pro | GPS | GNATbench
    Mar 28th, 2008

    Switch editor pages can hide command line
    When you define a new tool in XML, along with its switches, you can now indicate that the command line of the tool should not be displayed in the project editor (only the buttons to edit the switches)

  • GNAT Pro | GPS | GNATbench
    Mar 27th, 2008

    New plugin: create_missing_dirs.py
    This plugin, contributed by a GPS user, creates missing directories when a project is loaded.

  • GNAT Pro | GPS | GNATbench
    Mar 27th, 2008

    Project files searched for on ADA_PROJECT_PATH
    If you specify a -P command line parameter to gps, the specified project is searched, as usual, in the current directory, and if not found in the directories specified by the ADA_PROJECT_PATH and GPR_PROJECT_PATH variables.

  • GNAT Pro
    Mar 26th, 2008

    New restriction No_Default_Initialization
    A new restriction No_Default_Initialization is available which prohibits any instance of default initialization of variables. The binder implements a consistency rule which prevents any unit compiled without the restriction from with'ing a unit with the restriction (this allows the generation of initialization procedures to be skipped, since you can be sure that no call is ever generated to an initialization procedure in a unit with the restriction active). If used in conjunction with Initialize_Scalars or Normalize_Scalars, the effect is to prohibit all cases of variables declared without a specific initializer (including the case of OUT scalar parameters).

  • GNAT Pro
    Mar 19th, 2008

    Improved warning on redundant use_type
    When a use_type clause in the context of a child unit is redundant because of an identical use_type clause in a parent unit, the compiler now flags the proper use_clause explicitly, as is done for use_package clauses.

  • GNAT Pro
    Mar 19th, 2008

    Check for bad spelling of restriction identifier
    When a bad restriction identifier is given in a Restrictions pragma, a check is now made to see if it looks like a possible misspelling of one of the defined identifiers. If so an appropriate diagnostic is output.

  • GNAT Pro
    Mar 17th, 2008

    Improved error messages for unconstrained objects
    If an attempt is made to declare an object of an unconstrained array type (e.g. String), or a discriminated record with no discriminant values, then the messages now include more information on what correction is needed.

  • PolyORB
    Mar 17th, 2008

    No default MIOP access point address
    The MIOP (Unreliable Multicast Inter-ORB Protocol) access point does not listen on a default group address anymore. Run-time configuration parameters polyorb.miop.multicast_addr and polyorb.miop.multicast_port in section [miop] must now be set explicitly to enable the MIOP access point.

  • GNAT Pro
    Mar 16th, 2008

    Improved stack checking on PA/HP-UX and x86/Linux
    It is now possible to catch the Storage_Error exception raised by a stack overflow in a task on the PA/HP-UX platform. Moreover, on the x86/Linux and x86-64/Linux platforms, stack checking is more accurate and efficient.

  • GNAT Pro
    Mar 16th, 2008

    Turning off selected style check options
    It is now possible to turn off selected style checking options. if the string of characters after -gnaty has a '-' (minus sign), then all the subsequent options are subtracted from the current set of style switches instead of added. The appearence of '+' reverts to the mode of adding subsequent switches. In addition if the character y occurs it turns on all standard style switches (so -gnaty on its own is equivalent to -gnatyy). For VMS, NO is added before the name, e.g. NOCOMMENTS turns off COMMENT style checking.

  • GNAT Pro
    Mar 15th, 2008

    Improved diagnostics for access types in pure units
    In Ada 95, named access types are not allowed in pure units. In Ada 2005 this rule is relaxed to allow named access types in pure units if there is a Storage_Size of zero specified for the type. The warnings for incorrect usage in both modes have been improved.

  • GNAT Pro
    Mar 15th, 2008

    Better handling of access type zero Storage_Size
    When a storage_size of zero is specified for an access type, this is now treated in a more efficient manner, avoiding the generation of an unneeded variable, and avoiding an unnecessary dependency on System.Storage_ELements.

  • GNAT Pro
    Mar 14th, 2008

    Warning on access to protected components
    The compiler now warns if an Unchecked_Access attribute reference is applied to a protected component and assigned to a variable or formal parameter that may make the pointer available outside of the protected object (allowing unprotected access).

  • GNAT Pro
    Mar 12th, 2008

    ASIS can get inherited subprograms for interfaces
    Interface definitions have been added to the list of appropriate kinds for Asis.Definitions.Implicit_Inherited_Subprograms.

  • GNAT Pro
    Mar 12th, 2008

    Corresponding_Declaration works on null procedures
    A_Null_Procedure_Declaration is added to the list of Declaration_Kinds for the ASIS query Asis.Declarations.Corresponding_Declaration. This is a part of the ASIS extension for Ada 2005.

  • GNAT Pro | GPS | GNATbench
    Mar 12th, 2008

    Ability to define new language categories
    It is now possible in XML files to define new language categories, visible in the project and outline views.

  • GNAT Pro | GPRbuild
    Mar 12th, 2008

    Languages with no compilers
    When the Compiler'Driver for a language is specified as the empty string, gprbuild is silently ignoring all of it sources. This is tru, by default, for language "Project File", when using automatic configuration.

  • GNAT Pro | Ada Compiler
    Mar 11th, 2008

    GNAT Pro 6.1 InSight webinar

    Tuesday, May 6, 2008: 8:00 am PST / 11:00 am EST / 17:00 CET

    Summary
    The latest version of the GNAT Pro Ada toolset sees over 150 enhancements to the technology including:

  • Additional GNAT Pro platforms incorporating the gcc 4.1 code generator (this code generator will now be included on most platforms)
  • Upgrade of the debugging engine, based on gdb 6.6
  • Improvement in robustness and efficiency for Ada 2005 features
  • Better real-time support on win32 platforms
  • Thread-safe profiling with gprof, on several platforms
  • Increased coverage analysis support for Ada in the gcov tool
  • New warnings to help programmers detect errors earlier
  • GNAT Pro companion tools such as gnatcheck, gnatpp and gnatmetric are being enhanced to support a wider variety of coding styles and coding standards.
  • The next webinar in the GNAT Pro InSight series will describe and demo some of the new features introduced in 6.1. As always, we will allow a question and answer session at the end enabling you to talk directly with the designers of GNAT Pro.

    Greg Gicca and Cyrille Comar will present this webinar and answer your questions. To register for this webinar, please click here.

  • GNAT Pro
    Mar 9th, 2008

    Implicit conditionals test for mod/rem
    If either operand of an integer mod operation, or both operands of an integer rem operand can be negative, then the generated code may include conditional tests on some targets, so either situation is now considered to be a violation of the restriction No_Implicit_Conditionals.

  • GNAT Pro
    Mar 9th, 2008

    Warning for constant modified via address clause
    If an address clause overlays a constant (including the cases of a loop parameter or an IN mode parameter) with a variable, and the variable is subsequently modified, the modification can change the constant value. This now results in a warning at the point of the modification.

  • GNAT Pro
    Mar 8th, 2008

    Warning for unreachable code after a loop
    If a loop has no iteration scheme (that is no FOR or WHILE keyword), and there is no EXIT statement in the loop body, then either the loop terminates on an exception, or it never terminates. In either case, any statement that follows the loop is unreachable, and a warning is now given for this case.

  • GNAT Pro
    Mar 7th, 2008

    Warning for suspicious sliding
    When an array object is initialized by an array object, sliding is allowed when using subtypes of an unconstrained type. This is dubious when the index type is an enumeration type, and this now results in generation of a warning that the bounds of the aggregate do not match the bounds of the target.

  • GNAT Pro | GPS | GNATbench
    Mar 7th, 2008

    Support for PPC assembly highlighting
    An optional plug-in (ppc.xml) is provided in the GPS library which provides the ability to highlight PPC assembly code (in particular branches and labels) in the source editor and outline view.

  • GNAT Pro
    Mar 7th, 2008

    Ada 2005 interfaces supported in ZFP runtime
    The compiler incorporates support for a subset of interface types using the ZFP runtime. Detailed documentation on the supported subset is available in the GNAT Pro User's Guide supplement for HI Edition platforms.

  • GNAT Pro
    Mar 3rd, 2008

    Warnings on missing elements in aggregates
    If an array aggregate uses named notation for the elements, and the index type is an enumeration type, then if elements are omitted at the start or end of the index range, resulting in an aggregate that is too short, the warnings now explicitly identify the missing elements. Note that missing elements in the middle of the index range are illegal and always resulted in an explicit message listing the missing elements. This adds the same capability for elements omitted at the start or end of the range.

  • GNAT Pro
    Mar 3rd, 2008

    VMS runtime built for 64-bit allocation
    The VMS runtime has been enhanced to use 64-bit heap allocation by default to allow execution of application programs with large memory requirements.

  • GNAT Pro
    Mar 1st, 2008

    Wild card characters in warnings off string
    The wild card character * can now appear anywhere within a warnings off string, not just at the start and end, so for example, you can use a pragma Warnings (Off, "*bits of*unused") to suppress the warning message warning: 960 bits of "a" unused.

  • GNAT Pro
    Mar 1st, 2008

    Behavior of Raise_Exception changed by AI-446
    The Ada 95 RM specifies that Raise_Exception have no effect if the argument is the null Exception_Id (Null_Id). AI-446 changes this so that now we get the same behavior in Ada 95 as in Ada 2005 (call raises Constraint_Error).