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