Development Log in January 2012.

  • SPARK Pro
    Jan 31st, 2012

    Automatic flow analysis mode is the default
    The default flow analysis mode is now automatic, which replaces the previous default of information flow. Automatic flow analysis was introduced in release 10. In this mode the Examiner selects information flow or data flow analysis on a per-subprogram basis depending on the presence or absence of derives annotations. This change is backwards compatible for current projects using information flow, data flow or a combination of the two. However, if you wish to enforce information flow or data flow for all analysis this can still be done explicitly via the option -flow=information or -flow=data.

  • SPARK Pro
    Jan 31st, 2012

    Miscellaneous updates to Victor
    We have fixed a number of small issues with victor wrapper: timing information is now correctly stored in the .vct files; temporary files are now correctly deleted; temporary files can be placed in the current working directory and not deleted using the new -keep flag; and finally, experimental support for CVC4 has been added.

  • GNAT Pro
    Jan 31st, 2012

    Debugger condition support in exception catchpoints
    The debugger has been enhanced to support the use of conditions attached to exception catchpoints.

  • GNAT Pro
    Jan 31st, 2012

    Avoid obsolescent feature messages for instances
    When restriction No_Obsolescent_Features is used, the use of an obsolescent feature in a generic template results in a diagnostic only when compiling the template, and not when compiling instantiations of the generic.

  • SPARK Pro
    Jan 30th, 2012

    SPARK 10.1 webinar

    February 21, 2012 - 4:00pm GMT, 5:00pm CET, 11:00am EST

    The InSight webinar series continues with a presentation on the new features of the AdaCore/Altran Praxis joint offering – SPARK Pro 10.1. SPARK Pro combines the proven SPARK Ada language and supporting toolset with AdaCore’s GNAT Programming Studio (GPS) integrated development environment, backed by unrivalled support systems.

    SPARK 10.1 includes the following enhancements:

    • Generics Phase 1 – Release 10.1 includes the first phase of the addition of support for Ada generics to the SPARK language and toolset
    • Dynamic Flow Analyser and VCG Heaps
    • Unicode characters now allowed in strings
    • Improved use of types and subtypes in FDL
    • Improvements to Simplifier tactics and performance
    • Auto-generation of refinement rules
    • Improvements to SPARKBridge
    • New SPARKClean utility

    • This webinar will include a demo and Q&A session with the developers of the SPARK Pro toolset.

     

    To register for this webinar please visit:
    www.adacore.com/home/products/sparkpro/language_toolsuite/webinars/

  • Ada Web Server
    Jan 27th, 2012

    Security Advisory SA-2012-L119-003: Hash collisions in AWS

    Problem:
    Impacted versions of AWS store key/value pairs from submitted form data in hash tables using a hash function that has predictable collisions. As a result, a single specially crafted HTTP request can cause the server to use hours of CPU time, thus causing a denial of service.
    Impact:
    All AWS releases and wavefronts prior to 2012-01-21
    Status:
    This was fixed in AWS 2.11 and 2.10.2 on 2012-01-21
    References:

  • GNAT Pro
    Jan 27th, 2012

    Improved error messages for violation of 12.3(18)
    If an instantiation is illegal because a private primitive operation in the generic fails to override a visible operation in the same generic, the compiler now reports the names of the relevant type and operation.

  • GPRbuild
    Jan 26th, 2012

    Verbosity when linking shared SALs
    In default mode (not verbose and not quiet), the base name of gnatbind and of the compiler when binding and compiling the binder generated file is now output, instead of the full path names. Also, when the command line is long, only the beginning is output.

  • SPARK Pro
    Jan 26th, 2012

    Alt-Ergo 0.94 and more fine-grained steps
    Upgraded SPARKBridge's default SMT solver, Alt-Ergo, to version 0.94. Additionally this version includes more fine-grained proof steps for better predictability, which is helpful in regression testing.

  • GNAT Pro | GPS | GNATbench
    Jan 24th, 2012

    ECL: Removal policy when fixing code
    The preference "Removal policy when fixing code" has been added to the Ada "General" preference page. It defines the way code should be altered when sections of code are to be removed. - "Always_Remove" means that the code will be removed by GNATbench. - "Always_Comment" means that the code will always be commented out. - "Propose_Both_Choices" will propose a menu with both choices.

  • GNAT Pro | GPS | GNATbench
    Jan 23rd, 2012

    GPS: goto next/previous bookmark
    Two new actions ("Goto Next Bookmark" and "Goto Previous Bookmark") are now available to jump to the nearest next or previous bookmark in the current file. These actions can be bound to keys in the "General" section of the Key Shortcuts dialog.

  • CodePeer
    Jan 23rd, 2012

    Documentation converted to sphinx
    The documentation format was changed, so that we can produce nicer looking output. In particular, the new format provides an integrated search feature over all pages of the manual.

  • GNAT Pro
    Jan 23rd, 2012

    Simple storage pools
    The GNAT-specific pragma Simple_Storage_Pool_Type (or aspect) can be applied to library-level limited types to designate the types as simple storage pool types. Access types can be associated with a simple pool object via the new Simple_Storage_Pool attribute (or aspect), so that allocators will invoke the Allocate procedure of the simple storage pool. This is an alternative to Ada's standard storage pools that does not require tagged types or finalization support, which may be useful in some contexts (for example, certification contexts where tagged types and finalization are forbidden).

  • GNAT Pro
    Jan 21st, 2012

    Better warnings for suspicious mod values
    Two more cases of suspicious mod values (for example in "type X is mod 2*8", and "R := X mod 2 * 32"), where in each case the * should almost certainly be **, now generate warnings under control of -gnatw.m (on by default).

  • GPRbuild
    Jan 11th, 2012

    Aggregate projects and auto-configuration
    gprbuild fails when the project tree includes only aggregate projects and aggregate libraries projects. When gprbuild is called with a main project that is either an aggregate project or an aggregate library project, if auto-configuration is used, the configuration project file is created in the object directory of one of the non aggregate projects in the project tree.

  • GNAT Pro | GPS | GNATbench
    Jan 11th, 2012

    GPS: New action “Delete Line”
    This action deletes the current line and places the cursor on the beginning of the following line. It can be bound to a key in the "Editor" section of the Key Shortcuts dialog.

  • GNAT Pro | GPS | GNATbench
    Jan 10th, 2012

    GB: display task info in debug view
    Ada task information is now displayed in the debug view. This feature can be enabled/disabled from the debug view menu.

  • GNAT Pro | GPS | GNATbench
    Jan 5th, 2012

    GB: Put AdaCore icon on About Eclipse SDK panel
    The AdaCore icon is now displayed in the About box and links to the installed GNATbench features.

  • GNATCOLL.SQL.Postgres adds support for regexps
    The package GNATCOLL.SQL.Postgres now adds support for the postgreSQL specific "~*" operator, that matches regular expressions.

  • PolyORB
    Jan 4th, 2012

    Switch to GPL version 3
    PolyORB is now licensed under the terms of the GPL version 3.

  • GPRbuild
    Jan 4th, 2012

    New switch—validate for gprconfig
    This switch can be used to validate the XML files from the gprconfig knowledge base. It should be used when you add your own XML files.

  • PolyORB
    Jan 4th, 2012

    Switch to GPL version 3
    PolyORB is now licensed under the terms of the GPL version 3.

  • GNAT Pro | GPRbuild
    Jan 4th, 2012

    License updated to GPL3
    The license for gprbuild is now GPL3.

  • Ada
    Jan 3rd, 2012

    Ada Connection 2011 - Assuring Software Reliability While Using Web Services and Commercial Products

    Here's this Monday's installment from the Ada Connection 2011 talks. Jeff O’Leary from the Federal Aviation Administration gives a talk on Assuring Software Reliability While Using Web Services and Commercial Products


    A new film added every Monday. To view all the films we've added to date, please visit the Ada Lecture Series.

  • Ada
    Jan 1st, 2012

    AI-0232 Hole in AI05-0067, build-in-place rules
    Function calls returning limited types work properly (without a copy, what the Ada RM calls "built in place") even in cases where the limitedness is not known at compile time because the function returns the class-wide type of an interface type. GNAT has always implemented this correctly.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0222 Primitive subp completion ok post-freezing
    This AI confirms that the existing behavior of the GNAT compiler is correct in not treating the completion of a subprogram as a declaration for purposes of checking the rule prohibiting the declaration of a primitive operation of a tagged type after the type has been frozen.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0220 Needed components for aggregates
    This AI addresses a wording problem in the RM that appears to permit some complex cases of aggregates with non-static discriminants. GNAT has always implemented the intended semantics.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0216 No_Task_Hierarchy forbids local tasks
    It is clearly the intention that No_Task_Hierarchy is intended to forbid tasks declared locally within subprograms, or functions returning task objects, and that is the implementation that GNAT has always provided. However the language in the RM was not sufficiently clear on this point. Thus this is a docmentation change in the RM only.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0210 Correct Timing_Events metric
    This is a documentation only issue regarding wording of metric requirements, that does not affect the implementation of the compiler.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0208 Characteristics of incomplete views
    The wording in the Ada 2005 RM concerning characteristics of incomplete views was incorrect and implied that some programs intended to be legal were now illegal. GNAT had never considered such programs illegal, so it has always implemented the intent of this AI.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0207 Mode conformance and access constant
    This AI confirms that access_to_constant indication must match for mode conformance. This was implemented in GNAT when the qualifier was originally introduced in Ada 2005.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0205 Extended return declares visible name
    This AI corrects a simple omission in the RM. Return objects have always been visible within an extended return statement.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0203 Extended return cannot be abstract
    A return_subtype_indication cannot denote an abstract subtype. GNAT has never permitted such usage.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0200 Mismatches in formal package declarations
    This AI plugs a gap in the RM which appeared to allow some obviously intended illegal instantiations. GNAT has never allowed these instantiations.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0198 Inheriting abstract operators
    This AI resolves a conflict between two rules involving inherited abstract operations and predefined operators. If a derived numeric type inherits an abstract operator, it overrides the predefined one. This interpretation was always the one implemented in GNAT.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0196 Null exclusion tests for out parameters
    Null exclusion checks are not made for OUT parameters when evaluating the actual parameters. GNAT has never generated these checks.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0194 Value of Stream_Size attribute
    The Stream_Size attribute returns the default number of bits in the stream representation of the given type. This value is not affected by the presence of stream subprogram attributes for the type. GNAT has always implemented this interpretation.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0182 Additional forms for Character’Value
    This AI allows Character'Value to accept the string '?' where ? is any character including non-graphic control characters. GNAT has always accepted such strings. It also allows strings such as HEX_00000041 to be accepted, but GNAT does not take advantage of this permission and raises constraint error, as is certainly still permitted.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0178 Incomplete views are limited
    This AI clarifies the role of incomplete views and plugs an omission in the RM. GNAT always restricted correctly the use of incomplete views and types.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0155 Size clause on type with non-static bounds
    This AI clarifies the legality rules for size clauses on elementary subtypes whose bounds are non-static. GNAT has always followed what is now a precise implementation permission, namely that an implementation is allowed to assume the worst when computing the size of such a subtype.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0134 Profiles must match for full conformance
    For full conformance, the profiles of anonymous-access-to-subprogram parameters must match. GNAT has always enforced this rule.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0133 Extending a type with self-reference
    This AI discusses the legality of extending a record type when one of its components has a self-referencing discriminant constraint. GNAT has always treated such an extension as legal.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0132 Placement of library unit pragmas
    This AI fills a gap in the description of library unit pragmas. The pragma clearly must apply to a library unit, even if it does not carry the name of the enclosing unit. GNAT has always enforced the required check.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0129 Limited views and incomplete types
    This AI clarifies the description of limited views: a limited view of a package includes only one view of a type that has an incomplete declaration and a full declaration (there is no possible ambiguity in a client package). This AI also fixes an omission: a nested package in the private part has no limited view. GNAT always implemented this correctly.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0128 Inequality is a primitive operation
    If an equality operator ("=") is declared for a type, then the implicitly declared inequality operator ("/=") is a primitive operation of the type. This is the only reasonable interpretation, and is the one always implemented by GNAT, but the RM was not entirely clear in making this point.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0126 Dispatching with no declared operation
    This AI clarifies dispatching rules, and simply confirms that dispatching executes the operation of the parent type when there is no explicitly or implicitly declared operation for the descendant type. This has always been the case in all versions of GNAT.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0122 Private with and children of generics
    This AI clarifies the visibility of private children of generic units within instantiations of a parent. GNAT has always handled this correctly.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0120 Constant instance of protected object
    This is an RM editorial change only. The section that lists objects that are constant failed to include the current instance of a protected object within a protected function. This has always been treated as a constant in GNAT.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0119 Effects of daylight saving on Time ops
    All routines in Ada.Calendar and routine UTC_Time_Offset in Ada.Calendar. Time_Zones have implementation-defined behavior when a time-zone change such as daylight saving in the United States occurs.

  • Ada | Ada 2005 / 95 / 83
    Jan 1st, 2012

    AI-0118 The association of parameter associations
    This AI clarifies the rules for named associations in subprogram calls and generic instantiations. The rules have been in place since Ada 83.

   1  2     Next »