Development Log in May 2006.

  • Ada
    May 31st, 2006

    Videos from the Ada event in the UK
    For those of you that couldn't make it to this event, the videos of the speakers along with the slides presented are available here.

    Topics covered include: Ada 2005, Ada and real-time programming, safety-critical and secure software development, among others.

  • PolyORB
    May 31st, 2006

    Binding objects reuse
    Client binding objects are reused when possible, reducing the number of open channels between nodes.

  • GNAT Pro
    May 30th, 2006

    Warning for Current_Task in entry barrier
    The check for the bounded error of using Current_Task within an entry body now includes that the entry barrier in the check (since this is considered to be part of the body). Also this is now a warning and run-time exception rather than an illegality, since this is a bounded run-time error, not a compile-time error.

  • GNAT Pro
    May 30th, 2006

    Warning for Current_Task in entry barrier
    The check for the bounded error of using Current_Task within an entry body now includes that the entry barrier in the check (since this is considered to be part of the body). Also this is now a warning and run-time exception rather than an illegality, since this is a bounded run-time error, not a compile-time error.

  • GNAT Pro
    May 20th, 2006

    More warnings on apparently useless assignments
    The compile now catches some cases in which an assignment is useless because either the value is overwritten by another assignment before it is referenced or alternatively the value is never referenced again.

  • GNAT Pro
    May 20th, 2006

    More warnings on apparently useless assignments
    The compile now catches some cases in which an assignment is useless because either the value is overwritten by another assignment before it is referenced or alternatively the value is never referenced again.

  • GNAT Pro | GPS
    May 19th, 2006

    Developing Ada solutions using UML and GPS

    Presented by ARTiSAN and AdaCore, this webinar will provide an overview of Ada 2005 and how AdaCore's development environment, GNAT Programming Studio and ARTiSAN Studio can be used as a workable tool-chain.

    Areas of demonstration will include:
    • Introduction to the new features contained within Ada 2005 (AdaCore)
    • The GPS Development Environment (AdaCore)
    • Reverse Engineering Ada-95 (ARTiSAN)
    • Forward Generating Ada 2005 (ARTiSAN)

    Who should attend?

    Software engineers and their managers who are evaluating tools for upcoming projects. This is not a marketing presentation - it is a webinar which will leave you with a clear view of the features and benefits available in Ada 2005 and how GPS and ARTiSAN Studio can be used to enhance your existing development tool chain.

    The webinar lasts for about an hour and will run at the following times:

    • Wednesday 24th May - 10am EDT / 3pm BST / 4pm CEST
    • Wednesday 24th May - 1pm EDT / 6pm BST / 7pm CEST

  • GNAT Pro
    May 18th, 2006

    Extended applicability for pragma Obsolescent
    Any entity, including record components and enumeration literals, can now be marked as obsolescent using this pragma, and any reference to an entity marked with this pragma will generate a warning. The new syntax for the pragma has a parameter Entity=>name which gives the name of the entity to be marked. For compatibility, the old syntax omitting this name is still accepted (in which case the name is implied by the pragma location).

  • GNAT Pro
    May 18th, 2006

    Extended applicability for pragma Obsolescent
    Any entity, including record components and enumeration literals, can now be marked as obsolescent using this pragma, and any reference to an entity marked with this pragma will generate a warning. The new syntax for the pragma has a parameter Entity=>name which gives the name of the entity to be marked. For compatibility, the old syntax omitting this name is still accepted (in which case the name is implied by the pragma location).

  • Ada | Ada 2005 / 95 / 83
    May 11th, 2006

    AI-351 Time operations
    This AI introduces the specifications of three new Ada.Calendar children, namely Arithmetic, Formatting and Time_Zones. These Ada 2005 units provide extended handling of hours, minutes, seconds, sub seconds, leap seconds, time zones, time arithmetic, imaging and value extraction.

  • GNAT Pro | GPS
    May 10th, 2006

    Upcoming Technology News - Remote Programming

    The next major release of GPS will introduce, among many other new features, a completely integrated remote programming facility.

    The idea is to use the power and graphical capabilities of modern personal computers to perform the traditional GPS functions (code browsing, editing, graphical debugging, etc), while all compilation, execution, and debugger operations are carried out remotely on one or several servers.

    Remote programming will allow you to define any number of Unix or Windows servers, accessed through commonly available tools such as rsh, ssh, rsync or telnet. The remote project is synchronized locally or accessed locally through the network file system, for easy and efficient browsing. The path translations between host and target will be handled by GPS, and remote operations will be performed transparently, with GPS automatically handling the connection to the target server. Several different servers can even be defined, for example to separately launch builds, execution and debugging.

  • Ada | Ada 2005 / 95 / 83
    May 10th, 2006

    AI-318 Limited and anonymous access return types
    This AI introduces the capability of calling functions with a limited result type in places that are illegal in Ada 95. Such functions can now be called in the initialization of limited objects, in initialized allocators, as the result expression of return statements, and in several other contexts. This introduces incompatiblity with Ada 95 limited return-by-reference functions, which are supplanted by a new feature of functions with anonymous access results. To ease transition, a switch (-gnatd.l) is provided to allow compilation of the old form of limited functions. A new form of return statement, called the extended return statement, that declares a result object and can include statements, is also added under this AI to provide additional flexibility for initializing function results.

  • GNAT Pro
    May 9th, 2006

    Improved installation of POSIX for GNAT (Florist)
    A new installation scheme is provided with Florist, following the standard configure --prefix=<prefix>; make; make install scheme, and where a florist.gpr project file is installed under <prefix>/lib/gnat.

  • GNAT Pro
    May 9th, 2006

    Improved installation of POSIX for GNAT (Florist)
    A new installation scheme is provided with Florist, following the standard configure --prefix=<prefix>; make; make install scheme, and where a florist.gpr project file is installed under <prefix>/lib/gnat.

  • GNAT Pro
    May 8th, 2006

    GNAT.Calendar.Time_IO.Value
    New function which parses and extracts an Ada.Calendar.Time value from an input String. The supported formats are as follows:

      yyyy*mm*dd hh:mm:ss  - Delimiter '*' is either '-' or '/'
      yyyy*mm*dd           - The time of day is set to 00:00:00
        yy*mm*dd hh:mm:ss  - Year is assumend to be 20YY
        yy*mm*dd           - The time of day is set to 00:00:00
                 hh:mm:ss  - Date is the current date
    

  • GNAT Pro
    May 8th, 2006

    Interspersing of source in expanded source listing
    The switch -gnatL (/INTERSPERSE_SOURCE in VMS) used in conjunction with -gnatG (/EXPAND_SOURCE) or -gnatD (/XDEBUG) causes the original source lines to be interspersed in the listing of generated code. These original source lines are listed as comments, with the relevant line number.

  • GNAT Pro
    May 8th, 2006

    GNAT.Calendar.Time_IO.Value
    New function which parses and extracts an Ada.Calendar.Time value from an input String. The supported formats are as follows:

      yyyy*mm*dd hh:mm:ss  - Delimiter '*' is either '-' or '/'
      yyyy*mm*dd           - The time of day is set to 00:00:00
        yy*mm*dd hh:mm:ss  - Year is assumend to be 20YY
        yy*mm*dd           - The time of day is set to 00:00:00
                 hh:mm:ss  - Date is the current date
    

  • GNAT Pro
    May 8th, 2006

    Interspersing of source in expanded source listing
    The switch -gnatL (/INTERSPERSE_SOURCE in VMS) used in conjunction with -gnatG (/EXPAND_SOURCE) or -gnatD (/XDEBUG) causes the original source lines to be interspersed in the listing of generated code. These original source lines are listed as comments, with the relevant line number.

  • Ada | Ada 2005 / 95 / 83
    May 5th, 2006

    AI-355 Priority specific dispatching
    This AI allows specification and combining of priority specific dispatching policies. It allows any priority level/band to have a specific scheme defined. A Round_Robin_Within_Priorities dispatching policy is also defined.

  • GNAT Pro
    May 3rd, 2006

    New attribute Stub_Type
    A new implementation-defined attribute is provided: for a prefix T that denotes a remote access-to-classwide type, T'Stub_Type denotes the type of the corresponding stub objects (stub objects are placeholders for remote objects that allow RACWs to be represented as simple local access values). This internal attribute is used for distributed systems annex implementation.

  • GNAT Pro
    May 3rd, 2006

    New attribute Stub_Type
    A new implementation-defined attribute is provided: for a prefix T that denotes a remote access-to-classwide type, T'Stub_Type denotes the type of the corresponding stub objects (stub objects are placeholders for remote objects that allow RACWs to be represented as simple local access values). This internal attribute is used for distributed systems annex implementation.

  • Ada | Ada 2005 / 95 / 83
    May 3rd, 2006

    AI-403 Formal objects are not static
    This AI specifies that for purposes of elaboration a formal object must be treated as non-static, and therefore cannot appear as a primary in a pure or preelaborable generic package.

  • GNAT Pro
    May 2nd, 2006

    Friendlier elaboration order for packages
    If a package body has an initialization procedure that initializes global variables in the spec, it is still possible for elaboration code from other packages to access the uninitialized values if Elaborate_Body is not used. The elaboration order choice now tries (but cannot promise) to elaborate such bodies early enough to avoid this possibility. This goes hand in hand with the new warning (F424-009) which will warn of the missing pragmas.

  • GNAT Pro
    May 2nd, 2006

    Friendlier elaboration order for packages
    If a package body has an initialization procedure that initializes global variables in the spec, it is still possible for elaboration code from other packages to access the uninitialized values if Elaborate_Body is not used. The elaboration order choice now tries (but cannot promise) to elaborate such bodies early enough to avoid this possibility. This goes hand in hand with the new warning (F424-009) which will warn of the missing pragmas.

  • Ada | Ada 2005 / 95 / 83
    May 1st, 2006

    AI-416 Accessibility and return statements
    This AI clarifies the use of anonymous access types as return types of functions. These functions dispatch on the designated result. The AI also specifies the accessibility checks that apply to the return values of these functions.

  • Ada | Ada 2005 / 95 / 83
    May 1st, 2006

    AI-402 Access discriminants of non-limited types
    This AI extends the use of access discriminants to non-limited types, and specifies that such discriminants cannot have defaults. This AI also specifies accessibility checks that apply to these access discriminants, which are necessary now that objects with these discriminants can be freely assigned.