Development Log in September 2011.

  • SPARK Pro
    Sep 30th, 2011

    Generate rules for refinement
    When own variables are refined, two proof functions may be generated for the same Ada function, an abstract one and a refined one, corresponding to the two views of this function. To prove VCs involving both proof functions with the Simplifier required a manual refinement rule stating that they correspond to the same Ada function. This rule is now generated by the Examiner.

  • Ada | Ada 2005 / 95 / 83
    Sep 30th, 2011

    AI-0029 Undeclared operations
    Some operators and primitive subprograms might not be declared at all but still exist, and they can be named and called from generic instantiations in some cases. the test case in this AI involves a formal array type in a generic child unit, whose component is limited in a parent unit, and where the equality operation on the array type becomes available in the private part of the child unit.

  • GNAT Pro | GPS
    Sep 29th, 2011

    Webinar: Introducing GPS 5.1

    The GNAT Pro InSight webinar series continues with a presentation and demo of the new features introduced in GPS 5.1 - November 15, 2011 – 5PM Europe, 4PM UK, 11AM EST

    This major release sees many enhancements to our IDE technology including extended feature support for C and C++, improved integration with CodePeer (automated code reviewer and validator), more powerful source editing, and enhanced GUI performance.

    This webinar will go through the new features and demo a selection. As always, there will be a Q&A session at the end. To register, please visit our webinar page:

    http://www.adacore.com/home/products/gnatpro/webinars/

  • SPARK Pro
    Sep 29th, 2011

    Support for umlauts in string literals
    It is now possible to have string literals containing the extended ASCII character set.

  • GNAT Pro
    Sep 27th, 2011

    gnatpp option to set enumeration literal casing
    A new option '-ne' is added to gnatpp to specify casing of enumeration literals.

  • GNAT Pro
    Sep 27th, 2011

    gnatpp option to set enumeration literal casing
    A new option '-ne' is added to gnatpp to specify casing of enumeration literals.

  • Control packages to check when loading a project
    It is now possible to specify what packages should be checked when calling GNATCOLL.Projects.Load. Unknown attributes in other packages will not cause the load to fail. By default, all packages are checked.

  • SPARK Pro
    Sep 26th, 2011

    More supported SMT solvers for victor
    Victor Wrapper now supports three popular SMT solvers in addition to Alt-Ergo: CVC3, Yices and Z3. (They are not shipped with SPARK Pro but can be used if installed.)

  • PolyORB
    Sep 24th, 2011

    Source included in iac output
    The IAC compiler now includes the IDL source code (commented out) in the Ada stubs package spec, for convenient reference.

  • PolyORB
    Sep 22nd, 2011

    Well known oid for embedded nameserver
    When building a DSA application with embedded name server, the name server is now registered on its partition with a fixed, well-known object identifier ("_NameService") so that an object reference that designates it can be constructed knowing just the host name and port number of the main partition.

  • GNAT Pro | GPRbuild
    Sep 22nd, 2011

    Default config file created by gprconfig
    The default config project file created by gprconfig is now default.cgpr in the current working directory, instead of <prefix>/share/gpr/default.cgpr. This will prevent the involuntary creation of a global config file.

  • GNAT Pro
    Sep 21st, 2011

    Default implementation of GNAT.Traceback.Symbolic
    A new default implementation of GNAT.Traceback.Symbolic, for all the platforms where the full capability is not supported, returns non-symbolic tracebacks.

  • GNAT Pro | GPS | GNATbench
    Sep 21st, 2011

    GPS: Remove File From Extending Project enhancement
    The contextual menu "Remove file from extending project" can now optionally also remove the file from the disk.

  • GNAT Pro
    Sep 21st, 2011

    Default implementation of GNAT.Traceback.Symbolic
    A new default implementation of GNAT.Traceback.Symbolic, for all the platforms where the full capability is not supported, returns non-symbolic tracebacks.

  • GNAT Pro | GPS | GNATbench
    Sep 20th, 2011

    GPS: CodePeer race condition report
    GPS now provides a race condition report view for CodePeer, similar to the view provided by the HTML output.

  • SPARK Pro
    Sep 19th, 2011

    Simplifier performance in evaluating **
    The Simplifier now prevents arithmetic evaluation of ** if the absolute value of either argument exceeds 1024. This prevents unacceptable performance or memory consumption.

  • PolyORB
    Sep 19th, 2011

    Improved installation script
    The PolyORB Makefiles do not rely on xargs(1) and install(1). Instead, installation is performed by an equivalent Python script, which avoids spawning a lot of processes.

  • CodePeer
    Sep 15th, 2011

    Improved handling of pragma No_Return
    Codepeer now correctly handles calls to subprograms with pragma No_Return, and does not issue a warning that such a subprogram does not return.

  • GNAT Pro
    Sep 14th, 2011

    New Concurrent_Readers_Locking policy
    When this locking policy is selected the functions in protected objects are allowed to enter concurrently. This can brings a lot of performances if protected objects are used extensively compared to entries or procedures. This is actually supported only on GNU/Linux.

  • GNAT Pro
    Sep 14th, 2011

    New Concurrent_Readers_Locking policy
    When this locking policy is selected the functions in protected objects are allowed to enter concurrently. This can brings a lot of performances if protected objects are used extensively compared to entries or procedures. This is actually supported only on GNU/Linux.

  • GNAT Pro | GPS | GNATbench
    Sep 12th, 2011

    GPS: new attributes in custom VCS
    New attributes "prev_revision" and "head_revision" can be specified when defining custom VCS. These attributes are used as defaults when comparing between two revisions.

  • CodePeer
    Sep 12th, 2011

    Detection of infinite loops
    CodePeer now generates a new warning when detecting infinite loops and loops that exit in an abnormal way, in addition to the 'dead code' messages that were available previously.

  • Ada | Ada 2005 / 95 / 83
    Sep 11th, 2011

    AI-0241 Restrictions for use of aspects
    Restriction No_Implementation_Aspect_Specifications disallows any implementation defined aspect specifications. It is included in the profile No_Implementation_Extensions. Restriction No_Implementation_Of_Aspects => Aspect_Identifier disallows a specified aspect specification.

  • GNAT Pro
    Sep 10th, 2011

    More powerful Named Return Value optimization
    A more powerful form of the Named Return Value optimization (NRV) has been implemented. It makes it possible to eliminate more superfluous copies of composite return values and can thus provide significant speedups.

  • GNAT Pro
    Sep 10th, 2011

    More powerful Named Return Value optimization
    A more powerful form of the Named Return Value optimization (NRV) has been implemented. It makes it possible to eliminate more superfluous copies of composite return values and can thus provide significant speedups.

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

    GPS: choose dir when adding file to extending prj
    When you select the menu "Add to extending project" for a file, the dialog that proposes to copy the file will now let you chose among the source directories of the extending project.

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

    GPS: remove files from extending projects
    A new contextual menu is now available when a file belongs to an extending project. The file can be deleted and removed from that project (and thus the project will see the version of the file from its extended project).

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

    GPS: select object dir when creating extended prj
    The wizard used to create extending projects now allows you to chose the location of the object directory, where the compiler will put the result of the compilation.

  • PolyORB
    Sep 9th, 2011

    Exceptions tracing
    A new debugging trace is now available that logs a message for every exception raised in a partition (using GNAT.Exception_Actions).

  • GNAT Pro | GPS | GNATbench
    Sep 8th, 2011

    GB: Consolidate output to one console per project
    All command output now goes to the same project-specific console named "Messages [project_name]".

  • GNAT Pro
    Sep 7th, 2011

    Monotonic clock on AIX
    On AIX, the Ada run-time now takes advantage of the CLOCK_MONOTONIC clock to implement Ada.Real_Time.Clock. Previously CLOCK_REALTIME was used which may be subject to unexpected backward jumps, for example when using ntp.

  • GNAT Pro | GPS | GNATbench
    Sep 7th, 2011

    GPS: new gnatmetric.py plugin
    The gnatmetrics plugin has been rewritten. This new version allows to compute metrics for a project and its subprojects, and it is possible to choose the options to pass to gnatmetric before launching it.

  • CodePeer
    Sep 7th, 2011

    More precise conditional preconditions
    In some cases where CodePeer was previously generating 'soft' preconditions, it now generates conditional preconditions of the form

         "not <path condition> or <precondition>"
    
    which identify the precise path conditions for the preconditions to be required. As a result, more checks are proved and more certain errors are detected in callers, in cases where the error depends on the calling context.

  • GNAT Pro
    Sep 7th, 2011

    Monotonic clock on AIX
    On AIX, the Ada run-time now takes advantage of the CLOCK_MONOTONIC clock to implement Ada.Real_Time.Clock. Previously CLOCK_REALTIME was used which may be subject to unexpected backward jumps, for example when using ntp.

  • PolyORB
    Sep 6th, 2011

    Support for new IDL pragmas
    IAC implements support for new IDL pragmas defined in version 1.3 of the CORBA/Ada mapping: subtype, derived, and range. It also includes support for implementation defined pragma switchname, compatible with the GNACK IDL compiler, to help in transitioning legacy Ada code to CORBA.

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

    GPS: Navigate across language boundary
    GPS incorporates support for navigating through entities imported from C. This new feature requires compiling the C sources with the -fdump-xref switch.

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

    GB: Associate SPARK control files with text editor
    Files with the following extensions are now associated with the text editor: .cfg, .idx, .smf, .sw, .wrn. Additionally, .ada and .prep files are now associated with the Ada editor.

  • Ada | Ada 2005 / 95 / 83
    Sep 5th, 2011

    AI-0242 Restriction No_Implementation_Units
    A new restriction No_Implementation_Units disallows any references to units defined in the Ada/System/Interfaces hierarchies that are not defined in the Ada RM. This restriction is also part of the new profile No_Implementation_Extensions introduced in AI 246.