Development Log in July 2011.

  • GNAT Pro
    Jul 29th, 2011

    Better message for premature use of incomplete type
    If the prefix of a selected component is an incomplete type whose completion appears later in the same compilation, the compiler now indicates where that completion appears.

  • Support for embedded SQLite
    GNATCOLL can now be configured with the option "--with-sqlite=embedded". This will build a static version of the SQLite library into the GNATCOLL libraries. This is a convenient way to take advantage of the SQLite integration without having to rely on the external SQLite dlls.

  • New package GNATCOLL.Pools
    This package provides an implementation for a task-safe resource pool, where resources are allocated when needed, automatically released to the pool when no longer needed, and then reused later on.

  • GNAT Pro
    Jul 29th, 2011

    Better message for premature use of incomplete type
    If the prefix of a selected component is an incomplete type whose completion appears later in the same compilation, the compiler now indicates where that completion appears.

  • GNAT Pro | GPS | GNATbench
    Jul 28th, 2011

    GPS: Display number of messages in Locations View
    When some of messages in Locations View are filtered out by Locations View filter, category and file nodes include number of displayed messages and total number of messages in form (X on Y items).

  • GNAT Pro | GPS | GNATbench
    Jul 26th, 2011

    GPS: click in CodePeer report sync locations view
    Clicking on a file/subprogram node in the CodePeer report view now expands and scroll to the corresponding file node in the locations view.

  • GNAT Pro | XMLAda
    Jul 26th, 2011

    Schema: Improved multi-tasking support
    It is now possible to parse an XSD file once, and then use it for several parsers in different threads.

  • GNAT Pro | GPS | GNATbench
    Jul 25th, 2011

    GPS: project editor saves past attribute values
    The project properties editor will now save previous values of some of the attributes (for instance the Source List File). That way, if you disable an attribute and later on decide that it should be re-enabled, the previous value is easily reset without browsing for the file again.

  • GNAT Pro
    Jul 24th, 2011

    SAL library names need to be Ada identifiers
    The Project Manager now checks that the names of Stand-Alone libraries have the syntax of Ada identifiers. This will ensure that the binder generated files that contains unit and subprogram names derived from the library name will compile instead of failing with compilation errors.

  • GNAT Pro
    Jul 24th, 2011

    SAL library names need to be Ada identifiers
    The Project Manager now checks that the names of Stand-Alone libraries have the syntax of Ada identifiers. This will ensure that the binder generated files that contains unit and subprogram names derived from the library name will compile instead of failing with compilation errors.

  • Ada | Ada 2005 / 95 / 83
    Jul 21st, 2011

    AI-0192 Behavior of Input for constrained subtypes
    This AI is a Binding Interpretation that requires checks of discriminant values read via 'Input when the prefix is a constrained first subtype.

  • GNAT Pro
    Jul 20th, 2011

    New warning for suspicious contracts
    New warnings are issued for suspicious contracts, either in GNAT syntax (pragma precondition and postcondition) or Ada 2012 aspect syntax. A contract is suspicious when: for a function, it does not mentions the result; for a function or procedure, it only refers to the pre-state. This warning is controlled by new flags -gnatw.t and -gnatw.T

  • GNAT Pro
    Jul 20th, 2011

    New warning for suspicious contracts
    New warnings are issued for suspicious contracts, either in GNAT syntax (pragma precondition and postcondition) or Ada 2012 aspect syntax. A contract is suspicious when: for a function, it does not mentions the result; for a function or procedure, it only refers to the pre-state. This warning is controlled by new flags -gnatw.t and -gnatw.T

  • GNAT Pro
    Jul 18th, 2011

    New restriction No_Implicit_Aliasing
    This restriction, which is not required to be partition-wide consistent, requires an explicit aliased keyword for an object to which 'Access, 'Unchecked_Access, or 'Address is applied, and forbids entirely the use of the 'Unrestricted_Access attribute for objects.

  • GNAT Pro | GPS | GNATbench
    Jul 18th, 2011

    GPS: smart completion of C/C++ entities
    GPS now provides some code completion for C/C++ entities. The list of suggestions covers variables, types/classes, macros, and included files.

  • GNAT Pro
    Jul 18th, 2011

    New restriction No_Implicit_Aliasing
    This restriction, which is not required to be partition-wide consistent, requires an explicit aliased keyword for an object to which 'Access, 'Unchecked_Access, or 'Address is applied, and forbids entirely the use of the 'Unrestricted_Access attribute for objects.

  • GNAT Pro | GPRbuild
    Jul 17th, 2011

    Support for aggregate library projects
    A new concept was added to the project facility: aggregate library projects. These can be used to group together two or more independent projects and to build a single library out of the object files compiled from all those aggregated projects. The support is not complete yet, and in particular gprbuild is missing a number of consistency checks, but the feature is already useful as is.

  • GNAT Pro
    Jul 10th, 2011

    Naming exceptions are inherited
    When a project A with naming exceptions in its package Naming is extended by a project B with no package Naming, the naming exceptions are inherited in project B. If there are source files in the source directories of project B that correspond to the inherited naming exceptions, these files are sources of project B.

  • GNAT Pro
    Jul 10th, 2011

    Naming exceptions are inherited
    When a project A with naming exceptions in its package Naming is extended by a project B with no package Naming, the naming exceptions are inherited in project B. If there are source files in the source directories of project B that correspond to the inherited naming exceptions, these files are sources of project B.

  • GNAT Pro | GPS | GNATbench
    Jul 5th, 2011

    GPS: methods.py plugin now shows inherited methods
    The methods.py plugin adds a contextual menu References/Methods when you click on a tagged type. This menu will now also show inherited methods.

  • GNAT Pro | GPS | GNATbench
    Jul 4th, 2011

    GPS: Support for highlighting “info” messages
    The messages sent by the compiler as "info" messages are now highlighted with a different color, which is customizable through the "Messages" section of the Preferences dialog.

  • GNAT Pro
    Jul 3rd, 2011

    Specify temporary files location for ASIS tools
    The directory to place all the temporary stuff generated by the ASIS-based tools (gnatmetric, gnatcheck, gnatelim, gnatpp) can be specified as the value of environment variable TMPDIR. If this variable is not set, all the temporary directories and files are created in current directory

  • GNAT Pro
    Jul 3rd, 2011

    Specify temporary files location for ASIS tools
    The directory to place all the temporary stuff generated by the ASIS-based tools (gnatmetric, gnatcheck, gnatelim, gnatpp) can be specified as the value of environment variable TMPDIR. If this variable is not set, all the temporary directories and files are created in current directory

  • GNAT Pro | GPS | GNATbench
    Jul 1st, 2011

    Quick fix support for ‘First .. ‘Last
    The automatic code fixing capability has been enhanced to replace occurrences of T'first .. T'last by T'Valid.

  • GNAT Pro | GPS | GNATbench
    Jul 1st, 2011

    Extend quick fix support for ‘Valid
    The automatic code fixing capability has been enhanced to handle the replacement of "not in" by 'Valid. For example, the expression "X not in T'Range" is replaced by "not X'Valid".