ACATS Test Modification List

Version 4.0D
January 19, 2015

What is this?

This is the ACATS modification list for ACATS 4.0. This document includes test corrections, test removals, and new tests for ACATS 4.0. ACATS 4.0 is the current test suite for Ada, covering the third edition of Ada, ISO/IEC 8652:2012 (usually known as "Ada 2012").

ACATS Modification List version 3.1E for ACATS 3.1 is the current list for that test suite. ACATS 3.1 should be used for testing implementations that support Amendment 1 (ISO/IEC 8652:1995/AMD 1:2007, often known as "Ada 2005"), and will continue to be maintained as necessary for the foreseeable future.

ACATS Modification List version 2.6D for ACATS 2.6 is the current list for that test suite. ACATS 2.6 should be used for testing implementations of the second edition of Ada, ISO/IEC 8652:1995 (usually known as "Ada 95"); it also will continue to be maintained as necessary for the foreseeable future.

Changes from the last list:

Test CXAC008 (issued with ACATS Modification List 4.0C) required the wrong file size in subtest 8 (and also had some messages with the wrong subtest numbers). This test was corrected; this resets its required date to October.

New test C391003 checks that a type may be extended in a more nested scope than the parent type.

New test B393011 checks the examples from AI05-0068-1.

New tests C3A1003 and C3A1004 check that objects of tagged incomplete types can be passed as parameters.

New tests B3A1008, B3A1009, and B3A1010 check that objects with incomplete views cannot be used as prefixes.

New tests B457002, B457003, B457004, and B457005 check legality rules for conditional expressions.

New tests B480002 and B480003 check 4.8(5.2/3), that a class-wide allocator doesn't create an object of a type more local than the access type.

New tests and foundations B732001, B732C01, B732C02, C732001, C732A01, C732C01, F732A00, and F732C00 test various objectives for type invariants.

New test C760015 checks that a controlled type can be declared inside a subprogram.

New tests CC51010 and CC51011 test using formal incomplete types with actual incomplete types and views.

New tests CXAH001, CXAH002, and CXAH003 test the implementation of the package Ada.Environment_Variables. The support package IMPDEF was updated to support those tests.

New tests posted between January 1, 2015 and March 31, 2015 will become required for conformity assessments on October 1, 2015. New tests posted between October 1, 2014 and December 31, 2014 will become required for conformity assessments on July 1, 2015. New tests posted between July 1, 2014 and September 30, 2014 will become required for conformity assessments on April 1, 2015. All tests posted to modification lists for other versions of the ACATS are included in ACATS 4.0 if appropriate and thus are required for conformity assessment using ACATS 4.0 The effective dates of tests are marked in the lists.

Questions about this document? Contact the ACAA Technical Agent at agent@ada-auth.org.

Notice:

The ACAA has created and maintains the Ada Conformity Assessment Test Suite for the purpose of conformity assessments conducted in accordance with the International Standard ISO/IEC 18009 - Ada: Conformity assessment of a language processor. This test suite should not be used to make claims of conformance unless used in accordance with ISO/IEC 18009 and any applicable ACAA procedures.

List explanation:

Test numbers given are for the basic test. Categories are "Withdrawn" (the test should not be processed for Ada conformity assessments); "Allowed Modification" (either the original test or the modified one should be processed for Ada conformity assessments); "Modified" (the modified test must be processed for Ada conformity assessments); "Pending New" (the test does not need to be processed for Ada conformity assessments, but will be added in the future); "New" (the test is processed for Ada conformity assessments).

ACATS version labels are provided with all new and modified tests. Use this label to retrieve the test from the ACATS VCS. See "How to get new and modified tests".

In citations, line numbers are given relative to the start of a test file in the format of '@<line#,line#,...>'; if a test program comprises more than one file, then the particular file will be indicated by "fn", where "n" is the test-program name's file-designator numeral. E.g., "B38103E : @f1-31, ... " denotes test file b38103e1.ada. In cases where there are two or more rationales for different errors in a test program, these different rationales with their respective line citations are listed on separate lines. References to the Ada standards are given in the format:
   <section|chapter>.<clause>[.<subclause>]:<paragraph>
These references are to the Ada standard as available at http://www.adaic.org/resources/add_content/standards/12rm/html/RM-TOC.html.

 

Main list:

===== Core Language =====

Name     Category  Version label  (effective date; old version label)
         Short description.

B393011 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that an abstract routine of an abstract partial view
        overridden by a non-abstract routine in the private part requires
        overriding when it is inherited if the private part is not visible
        where it is inherited.

C391003 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a type extension can be declared in a more nested scope
        than its parent type, and that overridden subprograms of that
        extension can be dispatched to.

C3A1003 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a dereference of an access-to-tagged-incomplete type
        can be passed as a parameter.

C3A1004 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a parameter of a tagged incomplete type can be passed
        as a parameter.

B3A1008 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a dereference of an access-to-incomplete type cannot
        be used as a prefix.

B3A1009 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a dereference of an access-to-incomplete view cannot
        be used as a prefix. Check that a parameter of an incomplete view
        cannot be used as a prefix.

B3A1010 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a dereference of an access-to-formal incomplete type
        cannot be used as a prefix. Check that a parameter of a tagged
        formal incomplete type cannot be used as a prefix.

C3A2004 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that the type of the prefix of 'Access is used to resolve
        the expected type of the use of the attribute.

B3A2017 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check P'Access is not allowed in a generic body if P is declared
        in the generic (including in the parent of a child or in a formal
        package) and the access type is a formal type or outside of
        the generic.

C431002 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that a component association of others => <> in a record or
        extension aggregate may have any number of associated components,
        including none. (Case 2: Null records and extensions.)

B431005 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that a component association with an expression in a record
        or extension aggregate that have more than one associated
        component is illegal if the expression is illegal for any one of
        the associated components.

B431006 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that if a variant part is not nested in an unselected
        variant, the value of the governing discriminant of a variant in
        a record aggregate cannot be non-static.

B43102A [Withdrawn] VCS Label: A4_0C
        Replaced by B431006.

C433002 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that no array components can be outside of the index subtype
        for an array aggregate, even when the components are specified
        by <>.

C433003 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that for each association with a box in an array aggregate,
        the component is initialized by default (scalar types with
        Default_Values).

C433004 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that for each association with a box in an array aggregate,
        the component is initialized by default (array types with
        Default_Component_Values).

C433005 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that the constraint of the constrained array subtype of a
        function return is used to determine the bounds of an array
        aggregate with an others choice in the expression of a return
        statement.

B457002 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that 'others' must be last and alone in a case expression.

B457003 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that 'else' cannot be omitted for an if expression if the
        type of the expression is not a boolean type.

B457004 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that case choice coverage and staticness are enforced for
        case expressions.

B457005 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that all or none of the dependent expressions of a
        conditional expression can be dynamically tagged if the type of
        the expression is a specific tagged type.

B480002 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that an initialized allocator for an access type with a
        class-wide designated type does not create an object whose type
        is more local than the access type.

B480003 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that an uninitialized allocator for an access type with a
        class-wide designated type does not create an object whose type
        is more local than the access type.
  
C550001 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that for loops iterate properly over subtypes with static
        predicates.

B640001 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that abstract nondispatching operations do not participate
        in resolution.

C640002 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that an abstract nondispatching operator provides a way
        to eliminate an unwanted predefined operator.

B650005 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that the accessibility level of the return subtype
        indication of an extended return statement cannot be statically
        deeper that that of the function result if that result is
        class-wide.

B650006 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that an extended return statement with a constant return
        object cannot omit the initializing expression.

B732001 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check various resolution and legality rules for aspect
        Type_Invariant.

C732001 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that assertion checks are made after assignments to and
        calls with actuals of appropriate view conversions.

C732A01 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that the failure of a Type_Invariant check raises
        Assertion_Error (constrained array).

B732C01 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that the aspect Type_Invariant can only be specified on
        private types, private extensions, and full types that complete
        one of the others.

C732C01 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that the failure of a Type_Invariant check raises
        Assertion_Error (tagged record).

B732C02 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that the aspect Type_Invariant'Class can only be specified
        on private types, private extensions, and interfaces.
      
C760014 [Pending New] New VCS Label: A4_0A
                 Required after 2015-04-01
        Check that Ada.Finalization is declared pure.

C760015 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a controlled type can be declared within a subprogram.

BA12017 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that a limited with clause is not allowed on a
        descendant of the named package.

BA15003 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check that a library unit pragma must apply to a library unit.

CB30001 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that the optional message parameter is supported in a raise
        statement, and that the message can be retrieved with
        Exception_Message.

CB30002 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Check that the optional message parameter is supported in a raise
        expression, and that the message can be retrieved with
        Exception_Message.

CC51010 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a generic unit with a tagged incomplete formal type
        can be instantiated with an incomplete view of a type from a
        limited withed package, and that operations in the instance can be
        used normally when the full view of the type is visible.

CC51011 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Check that a generic unit with a tagged incomplete formal type
        can be instantiated with an incomplete type whose completion is
        given in a body, and that such instantiations can be passed as
        actuals to formal packages.

BC60001 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Test rules associated with formal subprogram defaults of null.

BDB3A01 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test resolution and legality rules for pragma and aspect
        Default_Storage_Pool.

CDB3A01 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that aspect Default_Storage_Pool changes the default storage
        pool for a generic instantiation.

BDD2004 [Allowed Modification] New VCS Label: A4_0B Org VCS Label: A4_0
                 Required after 2015-04-01
        Error @229 is legal by AI12-0121-1.

BDD2005 [Allowed Modification] New VCS Label: A4_0B Org VCS Label: A4_0
                 Required after 2015-04-01
        Replaced test cases waiting on AI12-0106-1 (now approved)
        and made changes required by AI12-0121-1.

CXA5016 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check operation of attribute Machine_Rounding.

CXAA021 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check file operations of Text_IO.Bounded_IO.

CXAA022 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check file operations of Text_IO.Unbounded_IO.

CXAB002 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check file operations of Wide_Text_IO.Wide_Bounded_IO.

CXAB003 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check file operations of Wide_Wide_Text_IO.Wide_Wide_Bounded_IO.

CXAB004 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check file operations of Wide_Text_IO.Wide_Unbounded_IO.

CXAB005 [Pending New] New VCS Label: A4_0C
                 Required after 2015-07-01
        Check file operations of Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO.

CXAC008 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        [VCS Label A4_0C] Check that Stream_IO files opened with mode
        Out_File are not truncated by Close or Reset.
        [VCS Label A4_0D] Corrected required file size in subtest 8, and
        various failure messages.

CXAH001 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Test that package Environment_Variables can be used to read
        environment variables.

CXAH002 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Test that package Environment_Variables can be used to modify
        environment variables.

CXAH003 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Test the two parameter Value in package Environment_Variables.

BXAI001 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Hashed_Maps does not allow reverse iterators.

BXAI002 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Hashed_Sets does not allow reverse iterators.

BXAI003 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Bounded_Hashed_Maps does not allow reverse
        iterators.

BXAI004 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Bounded_Hashed_Sets does not allow reverse
        iterators.

BXAI005 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Hashed_Sets does not allow direct writing of set
        elements.

BXAI006 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Ordered_Sets does not allow direct writing of
        set elements.

BXAI007 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Bounded_Hashed_Sets does not allow direct
        writing of set elements.

BXAI008 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Bounded_Ordered_Sets does not allow direct
        writing of set elements.

BXAIA01 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Indefinite_Hashed_Maps does not allow reverse
        iterators.

BXAIA02 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Indefinite_Hashed_Set does not allow reverse
        iterators.

BXAIA03 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Indefinite_Hashed_Sets does not allow direct
        writing of set elements.

BXAIA04 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Test that package Indefinite_Ordered_Sets does not allow direct
        writing of set elements.

CXAI027 [Allowed Modification] New VCS Label: A4_0B Org VCS Label: A4_0
                 Required after 2015-04-01
        Corrected the name of the package that is reported as being
        tested.

===== Annex C =====

[None.]

===== Annex D =====

[None.]

===== Annex E =====

[None.]

===== Annex F =====

[None.]

===== Annex G =====

[None.]

===== Annex H =====

[None.]

===== Support =====

F732A00 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Foundation for test C732A01.

F732C00 [Pending New] New VCS Label: A4_0D
                 Required after 2015-10-01
        Foundation for tests B732C01, C732C02, and C732C01.

FDB3A00 [Pending New] New VCS Label: A4_0B
                 Required after 2015-07-01
        Foundation for test BDB3A01 and CDB3A01.

IMPDEF [Allowed Modification] New VCS Label: A4_0D Org VCS Label: A4_0
                 Required after 2015-07-01
        VCS Label A3_1E: Added constants for the names of environment
        variables used by tests CXAH001, CXAH002, and CXAH003. Also
        .AW file constants (these are not used as test source has been
        provided in UTF-8 format since the release of ACATS 3.0). The
        change is only needed for those tests, it has no effect on any
        other tests.

 

How to get new and modified tests:

The official home of the ACATS test suite is the ACAA web site. The site can be accessed at www.ada-auth.org.

The complete set of official new and modified tests are available in the Mod_4_0D.Zip and Tar files on the ACAA web site.

Individual new and modified tests can be retrieved from the ACATS VCS. Simply navigate to the appropriate directory (folder), and select the test you want. Select the revision you want (usually the most recent) and it will be retrieved for you. Tests are stored in directories that correspond to the test's prefix. For instance, the test CD92001.A will be found in the CD directory. You can also browse the differences between versions of a test. [In case of a conflict, the files in the ACATS VCS should be considered the 'official' versions.]

If you cannot get the files from the official site or you cannot get the files in a format appropriate for your processor, please contact your ACAL.

The baseline ACATS 4.0 is available in various formats on the ACAA web site.

 

Summary lists:

Withdrawn Tests

(Refer to the main list for details)

B43102A

Allowed Modification Tests

(Refer to the main list for details)

BDD2004  2015-04-01
BDD2005  2015-04-01
CXAI027  2015-04-01
IMPDEF   2015-07-01 [Only needed for new tests CXAH001, CXAH002, and CXAH003]

Modified Tests

(Refer to the main list for details)

None.

New Tests

(Refer to the main list for details)

None.

Pending New Tests

(Refer to the main list for details)

B393011  2015-10-01
B3A1008  2015-10-01
B3A1009  2015-10-01
B3A1010  2015-10-01
B3A2017  2015-07-01
B431005  2015-07-01
B431006  2015-07-01
B457002  2015-10-01
B457003  2015-10-01
B457004  2015-10-01
B457005  2015-10-01
B480002  2015-10-01
B480003  2015-10-01
B640001  2015-07-01
B650005  2015-07-01
B650006  2015-07-01
B732001  2015-10-01
B732C01  2015-10-01
B732C02  2015-10-01
BA12017  2015-07-01
BA15003  2015-07-01
BC60001  2015-07-01
BDB3A01  2015-07-01
BXAI001  2015-07-01
BXAI002  2015-07-01
BXAI003  2015-07-01
BXAI004  2015-07-01
BXAI005  2015-07-01
BXAI006  2015-07-01
BXAI007  2015-07-01
BXAI008  2015-07-01
BXAIA01  2015-07-01
BXAIA02  2015-07-01
BXAIA03  2015-07-01
BXAIA04  2015-07-01
C3A1003  2015-10-01
C3A1004  2015-10-01
C3A2004  2015-07-01
C431002  2015-07-01
C433002  2015-07-01
C433003  2015-07-01
C433004  2015-07-01
C433005  2015-07-01
C550001  2015-07-01
C640002  2015-07-01
C732A01  2015-10-01
C732C01  2015-10-01
C760014  2015-04-01
C760015  2015-10-01
CB30001  2015-07-01
CB30002  2015-07-01
CC51010  2015-10-01
CC51011  2015-10-01
CDB3A01  2015-07-01
CXA5016  2015-07-01
CXAA021  2015-07-01
CXAA022  2015-07-01
CXAB002  2015-07-01
CXAB003  2015-07-01
CXAB004  2015-07-01
CXAB005  2015-07-01
CXAC008  2015-10-01
CXAH001  2015-10-01
CXAH002  2015-10-01
CXAH003  2015-10-01
F732A00  2015-10-01
F732C00  2015-10-01
FDB3A00  2015-07-01