Development Log in September 2009.

  • GNAT Pro | GPRbuild
    Sep 30th, 2009

    Library_Interface of SALs enforced
    When attribute Interfaces is not declared in a Stand-Alone Library, the units declared in Library_Interface constitutes the interface of the library. If an external unit imports a unit of the library that is not in Library_Interface, its compilation will be invalidated and gprbuild will fail.

  • GNAT Pro | GPRbuild
    Sep 30th, 2009

    Ignore Builder switches -x for Ada
    For better compatibility with gnatmake, switch -x is ignored when found in the Builder switches for Ada.

  • GNAT Pro | GPS | GNATbench
    Sep 29th, 2009

    Fewer system calls for cross-references
    The number of system calls performed when loading the cross-reference information from the disk (the .ali files) has been significantly reduced. This results in a speed up, especially noticeable when using sources from a remote server.

  • GNAT Pro | GPS | GNATbench
    Sep 29th, 2009

    Fewer system calls for cross-references
    The number of system calls performed when loading the cross-reference information from the disk (the .ali files) has been significantly reduced. This results in a speed up, especially noticeable when using sources from a remote server.

  • GNAT Pro | GPS | GNATbench
    Sep 25th, 2009

    Enhance the documentation generation of source code
    The GPS documentation generator has been enhanced to provide full source code browsing capabilities in html format. In particular, it is now possible to navigate to/from specs/bodies of entities in the 'htmlized' sources.

  • GNAT Pro
    Sep 22nd, 2009

    New pragma Short_Circuit_And_Or
    A new configuration pragma Short_Circuit_And_Or causes any occurrences of AND on operands of type Standard.Boolean to be treated as short circuited (i.e. to be converted to AND THEN). OR is similarly converted to OR ELSE. This may be useful in certification protocols requiring the use of short-circuited logical operations.

  • Ada | Ada 2005 / 95 / 83
    Sep 21st, 2009

    AI-0146 Type invariants
    Type invariants may be specified for private types using the standard aspect notation. The aspect Type_Invariant may be specified for any private type, Type_Invariant'Class can only be specified for tagged types, and is inherited by any descendent of the tagged types. The invariant is a boolean expression that is tested for being true in the following situations: conversions to the private type, object declarations for the private type that are default initialized, and [IN] OUT parameters and returned result on return from any primitive operation for the type that is visible to a client. GNAT also provides an implementation defined aspect with the name Invariant, that is the same as Type_Invariant, and a pragma Invariant that provides similar capability. The pragma Invariant is available in all Ada modes.

  • GNAT Pro
    Sep 20th, 2009

    Improved warning for use of Booleans in C functions
    The warning messages for the use of 8-bit Ada booleans as arguments or the result type of imported C functions is improved to make it clear that there is more than one way to interface in C (char being just one way to do it).

  • GNAT Pro | GPRbuild
    Sep 20th, 2009

    Support for Ada multi-unit source files
    gprbuild now supports Ada multi-unit source files

  • GNAT Pro
    Sep 17th, 2009

    Refine gnatcheck Positional_Generic_Parameters rule
    The Positional_Generic_Parameters rule for gnatcheck no longer flags positional generic association if the generic being instantiated has exactly one generic formal parameter.

  • GNAT Pro | GPS
    Sep 14th, 2009

    GPS 4.4.0: New features and capabilities

    Tuesday, November 10, 2009
    5:00 pm Central European Standard Time (GMT +01:00, Paris)
    11:00 am Eastern Standard Time (GMT -05:00, New York)
    8:00 am Pacific Standard Time (GMT -08:00, San Francisco)

    In this latest webinar in the GNAT Pro InSight series, we will be demonstrating several new features present in recent versions of GPS using our latest upcoming release, GPS 4.4.0. Among the long list of new features and improvements that we will focus on are the improved user interface, enhanced documentation generation, hyperlinks in the source editor, an improved outline view, new source navigation menus, new plug-ins, and a tip of the Day.

    To register, please click here.

  • GNAT Pro
    Sep 13th, 2009

    Warning on overlapping actuals
    The compiler now warns if an in-out actual whose type is not a by-copy type overlaps fully or in part with some other actual in a given subprogram call. The warning indicates a non-portability (the compiler may choose to pass the parameter by reference or by copy) and a potential bounded error because of multiple access paths to the same variable. This warning is controlled by -gnatw.i, and is off by default and not included in -gnatwa.

  • GNAT Pro
    Sep 11th, 2009

    Check space after right paren in -gnatyt mode
    The -gnatyt switch has always insisted in a space between a letter or digit and a following left parenthesis. With this change, the same check is now made for a right parenthesis, there must be a space between a right paren and a following digit or letter.

  • GNAT Pro
    Sep 10th, 2009

    Error information in file I/O exceptions
    An explanatory message is now included in exceptions raised by the GNAT run-time library's file I/O routines to identify the cause of the error.

  • GNAT Pro | GPS | GNATbench
    Sep 10th, 2009

    Browsing output directory for SPARK Examiner
    Users can now browse SPARK Examiner output directories via Project Properties -> Switches -> Examiner -> Output Directory

  • GNAT Pro | GPS | GNATbench
    Sep 10th, 2009

    Added “Simplify All” to SPARK contextual menu
    A new "Simplify All" item is available in the SPARK contextual menu.

  • GNAT Pro | GPS | GNATbench
    Sep 10th, 2009

    Open SPARK Output window after “Simplify All”
    GPS now raises the SPARK Output window after the user selects "Simplify All".

  • GNAT Pro | GPS | GNATbench
    Sep 10th, 2009

    Support for specifying POGS options in project
    Added support in "Edit Project Properties -> POGS" for user to specify an input directory and an output file.

  • GNAT Pro | GPS | GNATbench
    Sep 10th, 2009

    Open siv file after running the Simplifier
    GPS opens the updated/generated siv file after running the Simplifier.

  • GNAT Pro | GPS | GNATbench
    Sep 10th, 2009

    Reload project after POGS
    The project is recomputed after POGS to refresh the project view and take into account possible new directories.

  • GNAT Pro | GPS | GNATbench
    Sep 9th, 2009

    SPARK keywords highlighting
    SPARK keywords (such as assert, check, ...) are now higlighted in source editors using the keyword font when found in SPARK annotations.

  • GNAT Pro
    Sep 8th, 2009

    New format of gnatcheck report file
    The format of the gnatcheck report file is improved. Duplications are removed, a special section for exempted rules is added, and the capability of appending user-defined text is added.

  • GNAT Pro
    Sep 5th, 2009

    Procedure for resetting standard Text_IO files
    A child procedure Ada.Text_IO.Reset_Standard_Files is added to the library to allow resetting the status of the Text_IO standard files during execution of the program. This is useful if the status of these files can be changed during execution. For example, in the case where a restart of an embedded application causes Standard_Input to be redefined as interactive. Also added are corresponding child procedures for Wide_Text_IO and Wide_Wide_Text_IO.

  • GNAT Pro
    Sep 5th, 2009

    Refine gnatcheck Anonymous_Subtypes rule
    The Anonymous_Subtypes rule no longer flags anonymous subtypes that are part of a record component definition and that include a constraint that depends on a discriminant.

  • GNAT Pro | GPS | GNATbench
    Sep 4th, 2009

    SPARK plug-in enhancements
    The project is reloaded/recomputed after Examining SPARK source code and simplifying a vcg file, to take into account new created files and directories. Other SPARK file extensions are also registered. The Simplifier Output window is raised after Simplifying a vcg file.

  • GNAT Pro | GPS | GNATbench
    Sep 3rd, 2009

    Custom hyperlinks in source editors
    It is now possible in GPS to create hyperlinks in the editor, through Python customization.

  • GNAT Pro | GPRbuild
    Sep 3rd, 2009

    Compilers working on all targets
    It is now possible in the knowledge base for gprconfig to specify compilers that work on all targets, by omitting the <target> node. In particular, you can add support for tools that generate code instead of object code.

  • GNAT Pro
    Sep 1st, 2009

    Rule exemption mechanism for gnatcheck
    A rule exemption mechanism is added to gnatcheck. A special form of the Annotate pragma can be used to mark a section of the code being checked as exempted section for some rule. All the rule violations in the exempted sections are not reported into Stderr and they are placed into a special section of the report file.

  • GNAT Pro | GPS | GNATbench
    Sep 1st, 2009

    Hyper-links in the editors
    Pressing the ctrl key turns entities in the editors into hyperlinks: clicking on an entity reference jumps to the declaration, and clicking on a declaration jumps to the implementation. Clicking with the middle button on a reference jumps directly to the implementation.