Development Log in May 2008.

  • GNAT Pro
    May 28th, 2008

    Better inlining of function instances
    If a pragma Inline applies to a function instance and a suitable level of optimization is specified, the back-end will consider the function for inlining. Previously the pragma had to be placed on the generic unit itself, and it was not possible to selectively enable inlining for a given instance of the generic function.

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

    Support for the avr toolchain
    Support for the GNAT avr toolchain is now available by default in the project properties.

  • GNAT Pro
    May 26th, 2008

    VMS Machine Code Listings
    A new GNATcmd qualifier /MACHINE_CODE_LISTING is introduced which causes a .lis machine code listing file to be generated for each compilation. Interspersed source is included if the /DEBUG qualifier is also present.

  • GNAT Pro
    May 26th, 2008

    VMS Shareable Image Debugging Enhancement
    Shareable image initialization happens before program start and before the debugger can gain control. Standalone Ada libraries (implemented as shareable images) put elaboration code into the LIB$INITIALIZE section making it impossible to debug such code, this enhancemnent adds a dummy transfer address in each image making possible to run the image as if it were a main program and debug it. The transfer address is not exported in the symbol vector so does not effect linking of the image as a library.

  • PolyORB
    May 21st, 2008

    Debug_Policy is now enabled by default
    Configuration pragma Debug_Policy is now set to Check by default in all PolyORB builds, to allow the user to obtain debugging traces under control of the run-time configuration. Two new configure command line switches are provided (--enable-assertion-policy and --enable-debug-policy) which allow the user to override these two policies.

  • GNAT Pro
    May 20th, 2008

    Warning for library project with Linker switches
    A new warning is introduced in the Project Manager, when attribute Switches or Default_Switches is declared in package Linker of a library project.

  • GNAT Pro
    May 18th, 2008

    Pre- and postconditions for generic subprograms
    Preconditions and postconditions can be given for generic procedures and functions. The checks are applied to each instance of the subprogram.

  • GNAT Pro
    May 18th, 2008

    Pre/Postconditions for generic subprograms
    The use of pre- and postconditions has been extended to generic subprograms, The given conditions are checked independently on each instantiation.

  • GNAT Pro
    May 17th, 2008

    Use of back-end inlining preferred
    This is really at this stage only a documentation change to the users guide. Historically when using GCC, the back end inlining (-gnatn) was not very effective, but this is no longer true with new versions of GCC. So at this stage, the use of front-end inlining (-gnatN) is deprecated and the use of back end inlining (-gnatn) is preferred. This does not apply to the non-GCC back ends (JGNAT, .NET, GNAAMP), where back end inlining is not available.

  • Ada
    May 13th, 2008

    Spring newsletter available

    The latest edition of the GNAT Pro Insider newsletter has been published and is available for download at:

    This issue features:

  • New Release of GNAT Programming Studio
  • Contract Award for Coverage Analysis Project
  • Current Releases
  • In the Pipeline
  • Academia Corner
  • Interview with Emmanuel Briot
  • Webinar Schedule
  • Technology Corner:Pragmas Precondition and Postcondition
  • Conferences/Events
  • GNAT Pro
    May 13th, 2008

    Improved handling of array index checks
    The handling of array index checking has been improved and several cases of unnecessary index checks in loops are now recognized and removed.

  • GNAT Pro | Ada Compiler
    May 12th, 2008

    GNAT Pro 6.1 InSight webinar archive

    The recently held GNAT Pro InSight webinar featuring GNAT Pro 6.1 is now available for viewing at:

  • GNAT Pro | GPS | GNATbench
    May 8th, 2008

    New action to compare version N and N-1
    In the Revision View it is now possible to compare any revision with the previous one.

  • PolyORB
    May 8th, 2008

    IAC is now the default IDL compiler
    IAC is the new default IDL compiler provided by PolyORB. Its command line interface is compatible with the legacy idlac compiler, making it suitable as a drop-in replacement. IAC also offers a number of new features, including optional generation of minimal perfect hash tables for skeletons, generation of static marshallers for faster handling of remote calls, and the ability to pretty-print IDL files. Detailed documentation of these new features can be found in the PolyORB User's Guide. Note that the legacy idlac compiler is still provided in the PolyORB source tree.

  • GNAT Pro | GPRbuild
    May 5th, 2008

    Improve backward compatibility with gnatmake
    Compatibility with projects accepted by gnatmake is improved:

      - a main may be truncated: the body suffix may be missing
      - switches from Builder'Switches (<main>) that are not recognized
        by gprbuild are for the compiler of the language of the main.

  • GNAT Pro
    May 3rd, 2008

    More efficient handling of nested subprograms
    Access to nested subprograms has in the past used a technique known as trampolines, which had the disadvantage of being somewhat inefficient, and also required that stack execution protection (DEP mode on Windows) be turned off. The use of trampolines has now been eliminated on native platforms, improving efficiency and making it possible to run with DEP enabled. See the entry for pragma Restrictions (No_Implicit_Dynamic_Code) in the GNAT Reference Manual for more detailed information.