Development Log in February 2008.

  • GNAT Pro
    Feb 29th, 2008

    More flexibility for comment style check
    The comment style check (-gnatyc or /STYLE_CHECK=COMMENTS in VMS) has always allowed a special character after -- for full line comments. This new feature allows the same usage for comments appearing on the same line as other code to accomodate certain tools that generate such comments.

  • GNAT Pro
    Feb 29th, 2008

    VMS keyword added for -gnatVe switch
    The VMS keyword VALIDITY_CHECKING=[NO]COMPONENTS is added to disable/enable validity checking of elementary components (non-VMS equivalent -gnatVe/E).

  • GNAT Pro | GPS | GNATbench
    Feb 29th, 2008

    Support for annotated comments highlighting
    The Ada source editor will now highlight with a different color annotated comments (e.g. --#).

  • GNAT Pro
    Feb 28th, 2008

    Reference case check now includes named parameters
    The -gnatyr (STYLE_CHECKS=REFERENCES in VMS) now includes the checking of formal parameter names in named calls to make sure that the casing matches that of the formal parameter name in the subprogram specification.

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

    Improved interface for code completion
    Smart completion now completes the currently highlighted word when receiving a character which does not belong to an identifier (for instance dot, colon, semi-colon, etc).

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

    Support for -eL gnatmake/gprbuild switch
    When the 'Fast Project Loading' preference is enabled, GPS will now automatically call gnatmake, gnatclean, gprclean and gprbuild with the -eL switch. Note that for gnatclean and gprclean, this requires a recent version of these tools.

  • GNAT Pro
    Feb 26th, 2008

    Gnatclean recognizes switch -eL
    Gnatclean now recognizes switch -eL to follow symbolic links when processing project files, as gnatmake already does.

  • GNAT Pro | GPRbuild
    Feb 26th, 2008

    All lib projects may import project without sources
    All library projects, including shared library projects, are allowed to import projects without any sources, even when this is not declared explicitly.

  • PolyORB
    Feb 25th, 2008

    Environment variables passing to slave partitions
    A list of environment variables can now be associated with partitions in gnatdist configuration files. When starting a distributed application using a generated launcher (shell or Ada), these variables are then passed from the main partition's environment to the slave partitions.

  • PolyORB
    Feb 25th, 2008

    Gnatdist displays executed commands
    When not in quiet mode, gnatdist now prints all commands it executes on standard error, just as gnatmake.

  • GNAT Pro
    Feb 23rd, 2008

    Stream attributes now available for Bounded_String
    Stream attributes are now available by default for all Bounded_String types created by instantiating Ada.Strings.Bounded.Generic_Bounded_Length.

  • GNAT Pro
    Feb 22nd, 2008

    Gnatmake prints commands to stderr with projects
    Gnatmake now consistently outputs executed commands to standard error when using project files, as was already the case when not using projects. The user can request commands to be sent to standard output instead (whether or not projects are used) using command line switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS on VMS).

  • GNAT Pro | GPS | GNATbench
    Feb 21st, 2008

    Ability to select the run directory
    GPS now provides the ability to choose between the executable directory of a program and the current directory to run or debug an application.

  • GNAT Pro | GPS | GNATbench
    Feb 21st, 2008

    Improved editing for gpr files
    GPS now recognizes gpr specific keywords (e.g. project, external) when editing, in particular when performing automatic casing.

  • PolyORB
    Feb 21st, 2008

    po_gnatdist does not depend on polyorb-config
    The PolyORB/DSA partitioning tool, po_gnatdist, does not depend on the external shell script polyorb-config to locate the PolyORB runtime library anymore. This allows po_gnatdist to be usable on platforms that do not provide a Bourne shell, such as MinGW.

  • GNAT Pro
    Feb 20th, 2008

    New back-end warning switch to activate warnings
    The back-end warning switch -Wall (/ALL_BACK_END_WARNINGS for VMS) can now be used to activate selected back-end warnings in addition to -gnatwa.

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2008

    Improved indentation of “raise with”
    The Ada 2005 construct "raise Exception with msg" is now better indented, in particular when a line break is added as part of this construct.

  • GNAT Pro | GPS | GNATbench
    Feb 19th, 2008

    Improved handling of dispatching calls
    GPS now handles by default dispatching calls in contextual menus, and if there are several primitive operations corresponding to a dispatching call, will display a submenu for "goto declaration/body" entries. Previousely, this capability was disabled by default, and when enabled manually, a submenu was always created for dispatching calls, even when only one primitive operation existed.

  • GNAT Pro | GPS | GNATbench
    Feb 19th, 2008

    gprbuild no longer packaged with GPS
    GPS binary distributions no longer come with gprbuild, to avoid confusion with existing gprbuild versions, packaged with GNAT. For users of older versions of GNAT, it is also possible/recommended to install gprbuild from a standalone package.

  • GNAT Pro
    Feb 18th, 2008

    Coupling metrics are added to gnatmetric
    Coupling metrics are added to gnatmetric tool. These metrics estimates the dependencies among packages and package hierarchies defining tagged types.

  • GNAT Pro | GPS | GNATbench
    Feb 18th, 2008

    Menu Build->Check Semantic
    A new menu Build->Check Semantic is provided, similar to Build->Check Syntax to check for semantic errors in a given Ada source file.

  • GNAT Pro
    Feb 17th, 2008

    Indentation checked for exception handlers
    If an indentation level style check is set, this now applies to exception handlers as well. The WHEN keyword must be on some multiple of the specified indentation level.

  • GNAT Pro
    Feb 15th, 2008

    New gnatcheck rule for metric values
    A new rule Metrics_Violation is added to gnatcheck. The rule allows the specification of a limit for metric values for the units being checked, issuing diagnostics if the value exceeds the given limit. The rule checks cyclomatic complexity, essential complexity and LSLOC metrics.

  • GNAT Pro
    Feb 15th, 2008

    Asis.Extensions queries for overridden operations
    Two new queries are added to package Asis.Extensions. Is_Overriding_Operation checks whether a given subprogram declaration (or subprogram instantiation) overrides a (user-defined) primitive operation of a type, and Corresponding_ Overridden_Operation gets the declaration of the overridden operation of the parent type.

  • Ada
    Feb 13th, 2008

    Ada UK videos online

    The videos of the presentations given at the recent Ada event in the UK can now be viewed here:

    http://www.adacore.com/home/ada_answers/lectures/ada_uk07

    Topics include:

  • Sufficient Evidence?
  • Porting to Ada 2005
  • Can Ada be used with Multiple Independent Levels of Security?
  • The Marte run-time and the advantages Ada has for real-time programmers
  • Correctness by Construction: Putting Engineering into Software
  • The automatic extraction of semantic information using advanced static analysis
  • The DO-178C standardization process and implications for language
  • Using Ada for software development tools
  • The future of programming languages
  • GNAT Pro
    Feb 13th, 2008

    Block stream IO for strings
    The compiler expands stream attributes for String, Wide_String, Wide_Wide_ String, Unbounded_String, Unbounded_Wide_String, Unbounded_Wide_Wide_String, Bounded_String, Bounded_Wide_String and Bounded_Wide_Wide_String into block read and write calls instead of character-by-character read/write calls. This provides a substantial improvement in performance.

  • GNAT Pro | GPRbuild
    Feb 13th, 2008

    New attribute Inherit_Source_Path
    A new attribute Inherit_Source_Path allows sources of a language to import source or header file from another language. Example:

      for Inherit_Source_Path ("C++") use ("C");
    
    allows C++ sources to be compiled with a source search path that include all source directories of imported projects with C declared as a language.

  • GNAT Pro
    Feb 12th, 2008

    Support for scalar types with small alignment
    It is now possible to specify a smaller alignment than the natural one for enumeration, integer and fixed point types.

  • GNAT Pro
    Feb 7th, 2008

    Support for paths with spaces in ada_object_path
    Paths containing spaces can now be added to the ada_object_path and ada_source_path files.

  • GNAT Pro
    Feb 4th, 2008

    Improved stream operations on string types
    The compiler no longer generates numerous identical stream routines for Bounded, Unbounded and regular String types.

  • GNAT Pro
    Feb 3rd, 2008

    New attribute Invalid_Value
    A new attribute Invalid_Value yields a value representing an uninitialized value. The value is the same that would be obtained by using the pragma Initialize_Scalars for an otherwise uninitialized variable.

  • GNAT Pro
    Feb 3rd, 2008

    Improved output for implicit types from -gnatG
    The output from -gnatG has been improved to do a more complete job of printing declarations for implicitly constructed types referenced in other statements and declarations that are output.

  • GNAT Pro
    Feb 1st, 2008

    Better warnings for known-false string compare
    The compiler now detects more complex cases of string comparisons known to be false because of length mismatches, where the operands are slices that use X'First or X'Last, e.g. X(X'First..X'First+1)="abc". A warning will be generated for such comparisons if -gnatwc or -gnatwa is set.