ACATS Test Modification List

Version 2.5D
March 14, 2003

Changes from the last list:

As two quarters have passed, a number of tests have changed categories (check the lists for details).

B34005Q, B34005T, C34005P, and C34005V all contain type conversions prohibited by the recently approved AI-246. These conversions and supporting code have been removed from the tests.

Test B36201A checks that 'First, etc. cannot be used on unconstrained arrays. Several of the subtests use 'Base on a constrained array subtype to produce an unconstrained array subtype. However, since 'Base is not defined for composite types in Ada 95, these subtests are not checking the test objective. They have been removed.

C940004 contains a race condition, in that Task3 can become queued on the 'printer' before Task2. Code has been added to insure that Task2 is queued before proceeding.

Test C954012 contains a termination bug and a race condition. The termination bug is that both conditions need to be False before Report.Result is called, but the test author used "and" rather than "or" in the while loop. The test deadlocks if all of the tasks have been processed through Distributor.Input before Credit_Overload.Set_True is called, because then the guard is never re-evaluated and the tasks queued on Wait_for_Underload are never processed. To solve this problem, an extra entry was added to Distributor, and Line_Driver was modified to call it once Credit_Overloaded becomes False.

CD10002 was corrected to derive the correct types on lines 465-6. These types are commented to be "indirect" derivations, yet they are identical to the derivations above them. The types were supposed to be Nt10 and Nt11.

Test BDE0009 and BDE0010 are new tests that check the freezing rules clarified by AI-0106 and subsequently issued in Technical Corrigendum 1.

Test BXH4003 assumed that instantiations of Enumeration_IO and Integer_IO are illegal by H.4(8/1). However, since we do not know the contents of these packages, we cannot know if they are really illegal. They have been replaced by generic packages with library-level allocators so that the instantiations are known to be illegal.

The ACAA would like to remind ACATS users that a base test suite update is not planned for 2003. There has been insufficient change to the test suite to justify the expense of developing a new baseline. The ACAA will give 90 days notice of a new baseline test suite, as required by the ACAA procedures.

New tests inserted between January 1, 2003 and April 1, 2003 will become required for conformity assessments on October 1, 2003. New tests inserted between July 1, 2002 and October 1, 2002 will become required for conformity assessments on April 1, 2003. New tests added to the ACATS before July 1, 2002 are now required for conformity assessments. The effective dates of tests are marked in the lists.

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

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 83 & Ada 95 standards are given in the format:

   <section|chapter>.<clause>[.<subclause>]:<paragraph>

These references are to the Ada 95 standard unless "Ada83" is specified.

 

Main list:

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

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

B34005Q [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        Type conversions @141, 142 are illegal by AI-246.

B34005T [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        Type conversions @152, 153 are illegal by AI-246.

C34005P [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        Type conversions @282, 286, 291 are illegal by AI-246.

C34005V [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        Type conversions @388, 391, 392 are illegal by AI-246.

B36201A [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        The Base attribute @70, 71, 72, 81 is illegal (the prefix is not
        scalar), and thus cases do not check the test objective.

C380001 [New] New VCS Label: A2_5B
        Check that checks are made properly when a per-object expression
        contains an attribute whose prefix denotes the current instance of
        the type (Technical Corrigendum 1, 3.8(18/1)).

C380002 [New] New VCS Label: A2_5B
        Check that an expression in a per-object discriminant constraint
        which is part of a named association is evaluated once for each
        association. (Technical Corrigendum 1, 3.8(18.1/1)).

C380003 [New] New VCS Label: A2_5B
        Check that per-object expressions are evaluated as specified for
        protected components (Technical Corrigendum 1, 3.6(22/1),
        3.8(18/1)).

C380004 [New] New VCS Label: A2_5B
        Check that per-object expressions are evaluated as specified for
        entry families and protected components (Technical Corrigendum 1,
        3.6(22/1), 3.8(18/1)).

C390010 [Modified] VCS Label: A2_5B
        Pragma Elaborate_All (Report); was added @49 in order to ensure
        Program_Error is not during elaboration.

C3A2003 [Modified] VCS Label: A2_5B
        Pragma Elaborate_All (Report); was added @92 in order to ensure
        Program_Error is not during elaboration.

B3A2009 [Modified] VCS Label: A2_5A
        Commented out subtest at @145, as it conflicts with the under
        consideration AI-229.

C460002 [Modified] VCS Label: A2_5B
        Pragma Elaborate_All (Report); was added @93 in order to ensure
        Program_Error is not during elaboration.

B460006 [New] New VCS Label: A2_5B
        Check that conversions between a tagged and untagged type are not
        considered view conversions. (Technical Corrigendum 1, 4.6(5/1)).

C761010 [Modified] VCS Label: A2_5C
        Type TC_Control and related items were added to prevent
        Report.Comment from being called after Report.Result.

C761012 [New] New VCS Label: A2_5A
        Check that an anonymous object is finalized with its enclosing
        master if a transfer of control or exception occurs prior to its
        normal finalization (Technical Corrigendum 1, 7.6.1(13.1/1)).

B854001 [New] New VCS Label: A2_5A
        Check that a renames-as-body is illegal if it occurs before
        the subprogram is frozen, and it renames the subprogram itself.
        (Technical Corrigendum 1, 8.5.4(5/1)).

C854002 [Modified] VCS Label: A2_5B
        Pragma Elaborate_All (Report); was added @83 in order to ensure
        Program_Error is not raised during elaboration.

C854003 [New] New VCS Label: A2_5A
        Check that a renames-as-body only requires mode conformance
        if it occurs before the subprogram is frozen. (Technical
        Corrigendum 1, 8.5.4(5/1)).

C940004 [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        Task3 can legally be queued before Task2, leading to test failure.

C954012 [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5
                        Required after 2003-07-01
        If all of the tasks have been processed through Distributor.Input
        before Credit_Overload.Set_True, the guard is never re-evaluated
        and the tasks queued on Wait_for_Underload are never processed.

LC30001 [Pending New] New VCS Label: A2_5C
                        Required after 2003-04-01
        Check that a partition containing recursive instantiation cannot
        be executed (one level using renames).

LC30002 [Pending New] New VCS Label: A2_5C
                        Required after 2003-04-01
        Check that a partition containing recursive instantiation cannot
        be executed (two levels).

LC30003 [Pending New] New VCS Label: A2_5C
                        Required after 2003-04-01
        Check that a partition containing recursive instantiation cannot
        be executed (three levels).

BC3009C [Modified] VCS Label: A2_5C
        Test cases checking a post-compilation rule were removed.

CC51008 [New] New VCS Label: A2_5B
        Check that operations are inherited for a formal derived type
        whose ancestor is also a formal type as described in the
        standard as modified by TC1. (Technical Corrigendum 1,
        12.5.1(21/1)).

CD10002 [New] New VCS Label: A2_5A
        Check that operational items are allowed in some contexts where
        representation items are not. Corrigendum 7.3(5), 13.1(10),
        13.1(11/1).

CD10002 [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5A
                        Required after: 2003-07-01
        Type derivations @465-6 are not indirect as commented.

CD72A02 [Modified] VCS Label: A2_5A
        The test description @37-38 refers to a non-existent test.

BDD2002 [New] New VCS Label: A2_5A
        Check that a limited type extension is illegal if the parent type
        has user defined Read or Write attributes, and a limited extension
        component does not have user-defined Read or Write attributes.

        Corrigendum 13.13.2(9/1).

CDD2A01 [New] New VCS Label: A2_5A
        Check that the default Read and Write attributes for a type
        extension are created from the parent type's attributes and the
        attributes of any extension components. Also checks that the
        default Input and Output attributes are always used for a type
        extension. Corrigendum 13.13.2(9/1) and 13.13.2(25/1).

CDD2A02 [New] New VCS Label: A2_5A
        Check that the Read, Write, Input, and Output attributes for an
        untagged type are inherited from the parent type. Corrigendum
        13.13.2(8.1/1) and 13.13.2(25/1).

CDD2A03 [New] New VCS Label: A2_5A
        Check that the default Read and Write attributes for a limited
        type extension are created from the parent type's attributes
        and the attributes of any extension components. Also checks that
        the Read and Write attributes for such a type can be called.
        Corrigendum 13.13.2(9/1) and 13.13.2(36/1).

FDD2A00 [New] New VCS Label: A2_5A
        Foundation for stream attribute tests.


BDE0009 [Pending New] New VCS Label: A2_5D
                        Required after 2003-10-01
        Check that implicit calls are freezing.

BDE0010 [Pending New] New VCS Label: A2_5C
                        Required after 2003-10-01
        Check that implicit_derefences, object names, and implicit
        conversions are freezing.

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

[None]

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

[None]

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

[None]

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

[None]

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

[None]

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

BXH4003 [Allowed Modification] New VCS Label: A2_5D Org VCS Label: A2_5A
                        Required after: 2003-07-01
        The instantiations @158, 167, 187, 197 are not necessarily illegal
        by H.4(8/1).

 

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 from the Compilers and Conformance section of the Ada IC web site (www.adaic.org). It also can be accessed directly at www.ada-auth.org.

The complete set of official new and modified tests are available in the Mod_2_5D 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 2.5 is available in various formats on the ACAA web site.

 

Summary lists:

Withdrawn Tests

(Refer to the main list for details)

[None.]

Allowed Modification Tests

(Refer to the main list for details)

B34005Q    2003-07-01
B34005V    2003-07-01
B36201A    2003-07-01
BXH4003    2003-07-01
C34005P    2003-07-01
C34005V    2003-07-01
C940004    2003-07-01
C954012    2003-07-01
CD10002    2003-07-01

Modified Tests

(Refer to the main list for details)

B3A2009
BC3009C
C390010
C3A2003
C460002
C761010
C854002
CD72A02

New Tests

(Refer to the main list for details)

B460006
B854001
BDD2002
C380001
C380002
C380003
C380004
C761012
C854003
CC51008
CD10002
CDD2A01
CDD2A02
CDD2A03
FDD2A00

Pending New Tests

(Refer to the main list for details)

BDE0009    2003-10-01
BDE0010    2003-10-01
LC30001    2003-04-01
LC30002    2003-04-01
LC30003    2003-04-01