Development Log in February 2010.

  • PolyORB
    Feb 27th, 2010

    Allow CORBA.Any to be used at library level
    Objects of CORBA.Any type can be declared at library level now, and be elaborated before initialization of ORB.

  • Ada
    Feb 25th, 2010

    Integrating static analysis with a compiler and database

    In this article published in Embedded Computing Design, S. Tucker Taft looks at the advantages of integrating static analysis with a compiler and a database:

    "Static analysis tools are becoming more integrated into the software development process. Saving data from the compiler, change history, and error information during the process instead of as a post-code step can make static analysis more productive."

    The full article can be found at:
    http://embedded-computing.com/integrating-static-analysis-a-compiler-database

  • GNAT Pro | GPS | GNATbench
    Feb 25th, 2010

    Builder error icons on the side of editors
    When compiling, icons that propose automatic code fixing appear on the side of the source editors, in addition to the Locations View. Also, new icons appear on the side of the editors to mark the location of errors, warnings and style issues.

  • GNAT Pro | GPS | GNATbench
    Feb 25th, 2010

    Better handling of incomplete with/use clauses
    The outline and smart completion will now work correctly even when the user is in the process of writing use and with clauses, and the file is parsed before the clause is completely written.

  • GNAT Pro | GPS | GNATbench
    Feb 25th, 2010

    Builder error icons on the side of editors
    When compiling, icons that propose automatic code fixing appear on the side of the source editors, in addition to the Locations View. Also, new icons appear on the side of the editors to mark the location of errors, warnings and style issues.

  • GNAT Pro | GPS | GNATbench
    Feb 25th, 2010

    Better handling of incomplete with/use clauses
    The outline and smart completion will now work correctly even when the user is in the process of writing use and with clauses, and the file is parsed before the clause is completely written.

  • GNAT Pro
    Feb 24th, 2010

    Order of symbols in SALs on VMS
    To allow the exported symbols of an extended Stand-Alone Library on VMS to be the same as the SAL being extended, the object files are now processed in increasing alphabetical order when looking for the exported symbols.

  • GNAT Pro | GPS | GNATbench
    Feb 24th, 2010

    Support for interfaces in completion
    On completion like Iface., Iface being typed after an interface, all primitives will now be offered by the completion, even the ones coming from multiple inheritance.

  • GNAT Pro | GPS | GNATbench
    Feb 24th, 2010

    Completion for case inside record
    Fields declared in a case statement inside a record are now offered in the list of completions.

  • GNAT Pro | GPS | GNATbench
    Feb 24th, 2010

    Support for interfaces in completion
    On completion like Iface., Iface being typed after an interface, all primitives will now be offered by the completion, even the ones coming from multiple inheritance.

  • GNAT Pro | GPS | GNATbench
    Feb 24th, 2010

    Completion for case inside record
    Fields declared in a case statement inside a record are now offered in the list of completions.

  • GNAT Pro
    Feb 23rd, 2010

    New pseudo-random number generator
    The packages Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random now use the Mersenne Twister generator which speeds up number generation on some platforms by up to a factor of 10 for 32-bit discrete types and a factor of 3 for single-precision float. The previous generators are still available as GNAT.MBBS_Discrete_Random and GNAT.MBBS_Float_Random. GNAT.Random_Numbers gives an expanded interface to the same generator.

  • GNAT Pro | GPS | GNATbench
    Feb 22nd, 2010

    Custom Run/Build contextual menus
    It is now possible through the Build->Settings dialog to tell GPS to add menus to build or run certain targets on the contextual menus for files and for projects.

  • GNAT Pro | GPS | GNATbench
    Feb 22nd, 2010

    Custom Run/Build contextual menus
    It is now possible through the Build->Settings dialog to tell GPS to add menus to build or run certain targets on the contextual menus for files and for projects.

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

    Partial navigation without compilation
    GPS now provides a navigation mode working even when files are not compiled. This mode works on goto body from an entity declaration, goto declaration from an entity body, and on simple cases when trying to retrieve the declaration from any reference, using e.g. goto declaration or hyperlink.

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

    Partial navigation without compilation
    GPS now provides a navigation mode working even when files are not compiled. This mode works on goto body from an entity declaration, goto declaration from an entity body, and on simple cases when trying to retrieve the declaration from any reference, using e.g. goto declaration or hyperlink.

  • Ada
    Feb 18th, 2010

    Open-DO Conference - spaces still left

    AdaCore is the organizer of the Open-DO conference "Combining Formality with Agility for Critical Software Development". This event brings together experts from the two fields and asks the question "Can Formality and Agility be combined?" to develop software that has to reach the highest levels of safety and security. Talks will examine the theoretical consolidation between these software development principles and industrial case studies will show how they are used in practice.

    For more information and to sign-up (free of charge) for the event, please visit:

    www.open-do.org.

  • GNAT Pro
    Feb 18th, 2010

    Improved -gnatR? output for large objects
    The output of -gnatR? for large objects is now more accurate and can display values greater than 2**31.

  • GNAT Pro
    Feb 18th, 2010

    New switch—unchecked-shared-lib-imports
    A new switch --unchecked-shared-lib-imports has been added to gnatmake and gnatclean. When this switch is used on the command line, shared library projects are allowed to import static library projects.

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

    New shell function: GPS.version
    A new function that can be used in plug-ins is provided to query the current GPS version: GPS.version(), which can be useful when e.g. writing plug-ins that need to support multiple versions of GPS.

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

    New shell function: GPS.version
    A new function that can be used in plug-ins is provided to query the current GPS version: GPS.version(), which can be useful when e.g. writing plug-ins that need to support multiple versions of GPS.

  • CodePeer
    Feb 16th, 2010

    February Find The Bug Challenge

    In order to demonstrate the scope of CodePeer’s code analysis capabilities we thought we’d have a little fun and each month post a simple piece of code that contains a few tricky bugs, so that you can measure your bug-finding capacities to those of CodePeer.

    This Month’s Challenge
    This code defines a function Cruise.Control which computes a mode for automatically controlling a car speed, given the information provided by sensors on the position and speed of surrounding vehicles. The mode distinguishes various levels of breaking and speeding.

    To see CodePeer in action please click here.

  • GNAT Pro
    Feb 16th, 2010

    Better warnings for System.HTable and System.CRC32
    The warnings given for withing System.HTable or System.CRC32, are improved to suggest using GNAT.HTable or GNAT.CRC32 instead (before a generic message about possible non-portability was given).

  • GNAT Pro | GPS | GNATbench
    Feb 15th, 2010

    Support for generic parameters
    Generics parameters are now supported in the Ada outline view and smart completion.

  • GNAT Pro | GPS | GNATbench
    Feb 15th, 2010

    Support for generic parameters
    Generics parameters are now supported in the Ada outline view and smart completion.

  • Ada Web Server
    Feb 15th, 2010

    Updated Web_Block context accessible
    It is now possible to query the updated context in the Web_Block framework. This make it possible to do specialized actions after rendering a Web page (i.e. after evaluating all the web blocks).

  • GNAT Pro
    Feb 14th, 2010

    Better casing of identifiers in error messages
    The casing of identifiers in error and warning messages now matches that used in the actual source program where possible, instead of using the default casing style for the whole program.

  • GNAT Pro
    Feb 12th, 2010

    Support for empty PATH elements in exec localizers
    For run-time services that need to locate an executable, such as exception traceback symbolizers, recognition of empty PATH elements to denote the current directory is now available on all the relevant platforms.

  • GNAT Pro
    Feb 12th, 2010

    Mod attribute now recognized in Ada 95 mode
    The Ada 2005 attribute 'Mod is now recognized as an implementation-defined attribute in Ada 95 mode.

  • GNAT Pro
    Feb 12th, 2010

    gnatbind -R generates files
    If gnatbind is called with switch -R, to list the sources in the closure of the main, the binder generated files are now generated. Previously this was not the case and a separate bind step was required to generate these files.

  • GNAT Pro
    Feb 12th, 2010

    No duplicate library names
    The Project Manager now detects if two library projects that do not extend each other have the same library name, and fails if they do.

  • GNAT Pro
    Feb 11th, 2010

    Shorter display for shared library building
    When a shared library is built, in non verbose mode, the displays of the commands used are now truncated if they are deemed too long.

  • GNAT Pro | GPS | GNATbench
    Feb 11th, 2010

    Support for assembler language
    The project editor now supports adding assembler language for use by GPRbuild during compilation and builds.

  • GNAT Pro | GPS | GNATbench
    Feb 11th, 2010

    Add “Goto Entity” dialog
    This new dialog allows browsing the entities in the project, with the same interface as the Entity view. This dialog can be summoned through the menu Navigate->Goto Entity... or through the key binding Control-T.

  • GNAT Pro | GPS | GNATbench
    Feb 11th, 2010

    Support for assembler language
    The project editor now supports adding assembler language for use by GPRbuild during compilation and builds.

  • GNAT Pro | GPS | GNATbench
    Feb 11th, 2010

    Add “Goto Entity” dialog
    This new dialog allows browsing the entities in the project, with the same interface as the Entity view. This dialog can be summoned through the menu Navigate->Goto Entity... or through the key binding Control-T.

  • Ada
    Feb 8th, 2010

    Ada and SPARK for Education and Research

    AdaCore will be participating in this event targeting the academic community taking place in Belgium on Feb 23, 2010.

    Robert Dewar will be giving a presentation entitled "What's New in the World of Ada" and Rod Chapman will be giving a presentation entitled "SPARK - The Libre Language and Toolset for High-Assurance Software".

    For more information, please visit the event website.

  • GNAT Pro
    Feb 7th, 2010

    New cache control support for LEON2 targets
    A new run-time unit has been added for LEON2 targets, the package System.BB.Cache_Control, which allows the cache configuration to be controlled on a per-task or partition-wide basis. It provides an user interface to enable and disable data and instruction caches independently, including also the freeze-on-interrupt feature, to query the cache status, and to flush data and instruction caches independently.

  • GNAT Pro
    Feb 4th, 2010

    Reduced stack usage for dynamic aggregates
    The amount of stack space used in the code generated by the compiler for subprograms manipulating dynamic aggregates has been reduced by overlapping space used by aggregates that have non-overlapping lifetimes.

  • GNAT Pro
    Feb 4th, 2010

    GNAT.Expect improvements for multiple processes
    The API in GNAT.Expect to control multiple processes has been enhanced. In particular, when one of the processes terminates, the exception Process_Died is still raised but it is now easier to find out which of the processes terminated. The changes are backward compatible.