Development Log in June 2007.

  • GNAT Pro
    Jun 29th, 2007

    Better tracking of null values at compile time
    The compiler now does a better job of tracking null constant access types, and null variables which are initialized explicitly to null. Dereferences of such null values are now detected at compile time, resulting in compile time warnings.

  • GNAT Pro
    Jun 28th, 2007

    Suppress_Initialization for derived type
    The pragma Suppress_Initialization can now be used on a derived type, suppressing initialization for objects of this derived type, without affecting initialization of objects of the root type from which the type was derived.

  • GNAT Pro
    Jun 28th, 2007

    Warn on disallowed return of null
    If in Ada 2005 mode a function specifies a not null return value, then an attempt to explicitly return null now generates an appropriate warning.

  • Ada Web Server
    Jun 25th, 2007

    Add support for plain SMTP authentication
    It is now possible to send e-mails using a server requiring authentication. Only the plain authentication is supported.

  • GNAT Pro
    Jun 24th, 2007

    Improved warning for unrecognized pragma
    The warning for an unrecognized pragma now includes a check for a likely misspelling of a recognized pragma, and if this is found, an additional warning message is generated.

  • GNAT Pro
    Jun 20th, 2007

    Add pragma Check_Name and ‘Enabled attribute
    A new pragma Check_Name allows an application program (or the predefined library) to add a new implementation defined check name. A new attribute Check_Name'Enabled allows testing the status of this check (or one of the predefined checks) at compile time.

  • GNAT Pro | GPS | GNATbench
    Jun 19th, 2007

    Reordering notebook tabs
    Support has been added for reordering notebook tabs (or switching to another tab) through keyboard shortcuts. Key bindings are edited as usual through /Edit/Key Shortcuts menu. Reordering can also be done through the mouse, through drag-and-drop

  • GNAT Pro | GPS | GNATbench
    Jun 18th, 2007

    Specifying “recursive” directory status for VCS
    It is now possible, in custom XML files, to specify an action to query the status of a directory and subdirectories recursively, which GPS calls instead of launching separate queries for each directory. The provided Subversion plug-in benefits from this improvement.

  • GNAT Pro
    Jun 16th, 2007

    Improved infinite loop warning
    The infinite loop warning has been improved to detect more cases (avoid false negatives), and also to eliminate several cases of false positives (warnings about infinite loops that are in fact not infinite).

  • GNAT Pro
    Jun 15th, 2007

    Absolute addressing of objects on AAMP
    On the AAMP target, an object whose address is specified using 'Address of another object with a static address, or using a constant initialized by a static address, is now referenced with absolute address instructions rather than by indirect addressing.

  • GNAT Pro | GPS | GNATbench
    Jun 15th, 2007

    Performance improvements with highlighted lines
    The speed of operations involving the creation or the removal of line highlighting (such as the visual file differences) has been improved.

  • GNAT Pro
    Jun 12th, 2007

    New rules added to gnatcheck
    A number of new rules has been added to the gnatcheck tool. See the gnatcheck section in GNAT Users' Guide for full details.

  • GNAT Pro | GPS | GNATbench
    Jun 11th, 2007

    Grouping VCS queries for better performance
    It is now possible to configure VCS so that, when querying status for all files, the VCS performs "Query status for directories" on each source directory instead of file-by-file queries. This is activated by default, and can be controlled on the VCS that are described through XML files.

  • GNAT Pro | GPS | GNATbench
    Jun 11th, 2007

    Avoiding hidden directories in VCS operations
    The VCS operations "Query status for directory recursively" and "Update directory recursively" now take into account the Preference "Hidden directories pattern" (in the "Project" section) and do not perform VCS operations on hidden or special directories.

  • GNAT Pro
    Jun 7th, 2007

    Performance improvement for Ada.Containers.Vectors
    The representation of the internal elements array was changed from a pointer to an unconstrained array to a pointer to a discriminated record. This is more efficient because no array dope is necessary (the lower bound of the array is fixed), and so the internal pointer has a more efficient representation.

  • GNAT Pro
    Jun 6th, 2007

    Documentation on conditional compilation
    An Appendix has been added to the GNAT User's Guide describing how to model conditional compilation, both in Ada in general and using specific GNAT features in particular.

  • GNAT Pro
    Jun 6th, 2007

    Add support for Task_Info pragma on Windows
    This pragma can now be used on Windows to give information about how tasks must be mapped to the available CPUs. The Windows scheduler is given the ideal processor for a given task, it is not required to map this task with the specified CPU if some other scheduling strategy is better.

  • GNAT Pro
    Jun 5th, 2007

    Improved handling of switch error messages
    Previously, when a compiler switch (such as -gnataf94) was not recognized, the error message included only the first invalid character (invalid switch: 9). The complete invalid switch will now be displayed (invalid switch: -gnat94).

  • GNAT Pro
    Jun 5th, 2007

    Package Ada.Assertions
    The package Ada.Assertions, as described in Ada 2005 AI-286 is now fully implemented.

  • Ada
    Jun 4th, 2007

    Ada Distilled: An Introduction to Ada Programming for Experienced Computer Programmers

    This book is aimed at experienced programmers who want to learn Ada at the programming level. It is not a "…for dummies" book, nor is it intended as a program design book. Instead, we highlight some key features of the Ada language, with coded examples, that are essential for getting started as an Ada programmer.

    This book emphasizes syntax, control structures, subprogram rules, and how-to coding issues rather than design issues. There are other really fine books available that deal with design. Also, this is not a comprehensive treatment of the Ada language. The bibliography lists some books that can help you once you have finished the material in this book. Think of this a quick-start book, one that enables you, the experienced programmer, to get into the Ada language quickly and easily. The examples use text-oriented programs for simplicity of learning. If you prefer to do the exercises for a GUI environment, check out the sites listed for compilers and tools so you can download bindings for programming in a variety of windowing environments, including Wintel, Linux, and Unix. Of particular interest to those wanting to explore Window style programming are GtkAda, CLAW, GWindows, and JEWL.

    Copyright 2002, AdaWorks Software Engineering

    License: Public Edition. Permission to copy if AdaWorks is acknowledged in copies.

    Download Info

    In addition to downloading the ebook in pdf format, you can also download the sample programming files in the accompanying .zip file

  • GNAT Pro | Ada Compiler
    Jun 4th, 2007

    InSight GNATbench webinar

    Introducing the GNAT Pro InSight webinar series. AdaCore is launching a series of informative webinars dedicated to tools that make up the GNAT Pro development environment. 30 minutes long, each webinar will consist of a presentation, a demo, and a question and answer session conducted by an AdaCore technical expert.

    The first technology in the series is GNATbench, the GNAT Pro Ada plug-in for Eclipse that supports both native (standard) Eclipse and Wind River's Eclipse-based Workbench software development environment. The webinar will take place on Tuesday, June 5, 2007.

    For more information, please click here.

  • GNAT Pro
    Jun 4th, 2007

    Switch -gnatI to ignore all representation clauses
    Use of this switch (option /IGNORE_REP_CLAUSES in VMS) results in ignoring all representation clauses and treating them as comments. This is useful when compiling foreign code (during an initial port, or for use with ASIS).

  • GNAT Pro
    Jun 4th, 2007

    New warning on unchecked conversion of pointers
    A warning is now given for unchecked conversion between pointers with different conventions. In some architectures (notably VMS), pointers with different conventions may have different representations. To deal with this, on VMS a warning is given for such conversions. This warning may be suppressed using -gnatwZ.

  • GNAT Pro
    Jun 1st, 2007

    Warning for duplicate Preelaborable_Initialization
    It is legal to have more than one Preelaborable_Initialization pragma for a given type, but the compiler now generates a warning for this usage if warn-on-redundant constructs mode is set (-gnatwr).

  • GNAT Pro
    Jun 1st, 2007

    Document how to remove deactivated code
    A new section has been added to the High Integrity User's Guide that document the various methods for decreasing deactivated code footprint in the final executable.

  • GNAT Pro | GPS | GNATbench
    Jun 1st, 2007

    Makefile.py now also provides support for ant
    The "ant" build system is now supported as a GPS plug-in. The support is similar to what already existed for makefiles, and is available through the same plug-in. See extended documentation through /Tools/Plug-ins menu.