ACATS Test Modification List Version 2.4F December 5, 2001 Changes from the last list: Test CXG2012 needs 'Machine to discard excess precision before making equality tests. Test C761012 was added to check that finalization of anonymous objects occurs no later than the finalization of the innermost enclosing master if a transfer of control or exception occurs. This is a clarification from Technical Corrigendum 1 (published June 2001), Defect Report 8652/0023, AI-00169. Test B854001 was added to check that a renames-as-body is illegal if the declaration occurs before the subprogram it completes is frozen, and the renaming renames the subprogram itself (directly or indirectly). This is a clarification from Technical Corrigendum 1, Defect Report 8652/0027, AI-00135. Test C854003 was added to check that a renames-as-body only requires mode conformance if it is not frozen. This is a change from Technical Corrigendum 1, Defect Report 8652/0028, AI-00145. Test CD10002 was added to check that operational items are allowed in some contexts where representation items are not. This is a change from Technical Corrigendum 1, Defect Report 8652/0009, AI-00137. A series of new tests and a foundation were added to test most of the stream attribute clarifications in Technical Corrigendum 1, Defect Report 8652/0040, AI-00108. (Note to implementers: see additional related stream attribute corrections in AI-00195; these are not yet tested but may constrain any corrections made.) The new tests are BDD2002, CDD2A01, CDD2A02, CDD2A03, and the foundation FDD2A00. New tests inserted between October 1, 2001 and January 1, 2002 will become required for conformity assessments on July 1, 2002. New tests inserted between July 1, 2001 and October 1, 2001 will become required for conformity assessments on April 1, 2002. New tests inserted between April 1, 2001 and July 1, 2001 will become required for conformity assessments on January 1, 2002. New tests added to the ACATS before April 1, 2001 are now required for conformity assessments (and all of these are included in ACATS 2.4). 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 '@'; 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: .[.]: 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. B330001 [Allowed Modification] New VCS Label: A2_4D Org VCS Label: A2_4 Required after 2002-01-01 Corrected description of error @245. B371001 [Pending New] New VCS Label: A2_4C Required after 2002-01-01 [A2_4A] Check that a discriminant_constraint of a general access type is illegal if there is a place within the immediate scope of the designated subtype where the designated subtype's view is unconstrained. [A2_4C] Corrected the "ERROR:" comment format. B392011 [Pending New] New VCS Label: A2_4C Required after 2002-01-01 Check that if the expected type for an expression is an anonymous access-to-specific tagged type, then the object designated by the expression shall not be dynamically tagged unless it is a controlling operand in a call on a dispatching operation. Test new cases, that is X'Access (where X is of a class-wide type) and new T'Class'(...). (Technical Corrigendum 3.9.2(9/1)). C392013 [Pending New] New VCS Label: A2_4B Required after 2002-01-01 [A2_4A] Check that "/=" implicitly declared for tagged types is legal and can be used in a dispatching call. [A2_4B] Corrected result for 9 = 9 case. C392014 [New] VCS Label: A2_4A Check that objects designated by X'Access (where X is of a class-wide type) and new T'Class'(...) are dynamically tagged and can be used in dispatching calls. C3A0015 [Pending New] New VCS Label: A2_4C Required after 2002-01-01 Check that a derived access type has the same storage pool as its parent. (Technical Corrigendum 3.10(7/1)). B460005 [New] New VCS Label: A2_4A Check that in a view conversion of arrays, the target and operand components may not have different aliasing. B460005 [Allowed Modification] New VCS Label: A2_4E Org VCS Label: A2_4A Required after 2002-04-01 Corrected syntax of "Error:" comments (which mark the location of errors.) C460012 [Pending New] New VCS Label: A2_4D Required after 2002-04-01 Check that the view created by a view conversion is constrained if the target subtype is indefinite. (Technical Corrigendum 4.6(54/1)). [A2_4D] Corrected a discriminant reference. C490001 [Modified] VCS Label: A2_4C Removed requirement to round away from zero, as this conflicts with AI-268. C490002 [Modified] VCS Label: A2_4C Removed requirement to round away from zero, as this conflicts with AI-268. C52011A [Modified] VCS Label: A2_4C The assignments and checks @114 and 129 could be eliminated by 11.6 permissions. C52011B [Modified] VCS Label: A2_4C The assignments and checks @124 and 139 could be eliminated by 11.6 permissions. C58005H [Modified] VCS Label: A2_4C The assignments and checks @117, 126, 135, and 144 could be eliminated by 11.6 permissions. C731001 [Allowed Modification] New VCS Label: A2_4D Org VCS Label: A2_4 Required after 2002-01-01 The Verbose flag @52 should be False. C760013 [Pending New] New VCS Label: A2_4C Required after 2002-01-01 Check that Initialize is not called for default-initialized Subcomponents of the ancestor type of an extension aggregate. C761006 [Modified] VCS Label: A2_4A Call to Good Adjust @291 need not be made (by change in Technical Corrigendum). C761011 [New] VCS Label: A2_4A Check that the failure of a finalization of an object (in various cases) does not prevent other needed finalizations from occurring. C761012 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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)). B851001 [Pending New] New VCS Label: A2_4C Required after 2002-01-01 Check that the restrictions on renaming components that depend on a discriminant are enforced in the public and private parts of an instance. Check that the restrictions on renaming components that depend on a discriminant are enforced in the body of a generic unit. Include the decendant of an untagged generic formal derived type case. (Technical Corrigendum 8.5.1(5/1)). B854001 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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)). C854003 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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)). C86003A [Modified] VCS Label: A2_4C The assignment and check @76 could be eliminated by 11.6 permissions. C93005F [Modified] VCS Label: A2_4C The assignment and check @228 could be eliminated by 11.6 permissions. C94001E [Modified] VCS Label: A2_4C The assignment and check @58 could be eliminated by 11.6 permissions. CD10002 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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). CDB0A02 [Modified] VCS Label: A2_4A Requirements on the maximum size of 'Max_Size_in_Storage_Elements are not justified by 13.11.1:3. CDD1001 [New] VCS Label: A2_4A Check that components of Stream_Element_Array are aliased. Corrigendum 13.13.1(4/1). CDD2001 [Pending New] New VCS Label: A2_4A Required after 2002-01-01 Check that the default implementation of Read and Input raise End_Error if the end of stream is reached before the reading of a value is completed. Corrigendum 13.13.2(35.1/1). BDD2002 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 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). CE2120A [Withdrawn] Org VCS Label: A2_4 A.8.2(22) is Implementation Advice, not a requirement. CE2120B [Withdrawn] Org VCS Label: A2_4 A.8.2(22) is Implementation Advice, not a requirement. CE3119A [Withdrawn] Org VCS Label: A2_4 A.8.2(22) is Implementation Advice, not a requirement. CXA4005 [New] New VCS Label: A2_4A Added checks that the lower bound of function results is 1. [Note: This is an enhancement of an existing test, and replaces it.] CXA4016 [New] VCS Label: A2_4A Added checks that the lower bound of function results is 1. [Note: This is an enhancement of an existing test, and replaces it.] CXA4034 [New] VCS Label: A2_4A Check that Ada.Strings.Bounded.Slice and Ada.Strings.Wide_Bounded.Slice raise Index_Error as needed. CXA5011 [Modified] VCS Label: A2_4A Conversions @361 and @408 may raise Constraint_Error if Integer is 16-bits in size. CXA5A10 [Allowed Modification] New VCS Label: A2_4E Org VCS Label: A2_4 Required after 2002-04-01 The subtest @172-202 should apply only if 'Machine_Overflows is True (A.5.1(28, 30)). CXAA019 [New] VCS Label: A2_4A Check that the parameter mode of Ada.Text_IO.Flush and Ada.Streams.Stream_IO.Flush is 'in'. CXAC002 [Modified] VCS Label: A2_4A The Not_Applicable case @276 should raise Incomplete. CXAC003 [New] New VCS Label: A2_4A Added a check that Stream raises Status_Error if its argument is not open. [Note: This is an enhancement of an existing test, and replaces it.] CXAC005 [New] VCS Label: A2_4A Check that operations of Stream_IO update the index properly. CXB3010 [Modified] VCS Label: A2_4A Assignment @287 might raise Constraint_Error, obscuring the subtest objective. FDD2A00 [Pending New] New VCS Label: A2_4F Required after 2002-07-01 Foundation for stream attribute tests. MACRO.DFS [Modified] VCS Label: A2_4B Substitutions for withdrawn tests were removed. ===== Annex C ===== [None] ===== Annex D ===== [None] ===== Annex E ===== CXE4002 [Modified] VCS Label: A2_4A A race condition at start time might cause the test to fail unnecessarily. CXE4004 [Modified] VCS Label: A2_4A A race condition at start time might cause the test to fail unnecessarily. CXE4005 [Modified] VCS Label: A2_4A A race condition at start time might cause the test to fail unnecessarily. ===== Annex F ===== [None] ===== Annex G ===== CXG2008 [New] VCS Label: A2_4A Added checks that the non-generic packages are declared Pure. [Note: This is an enhancement of an existing test, and replaces it.] CXG2012 [Allowed Modification] New VCS Label: A2_4F Org VCS Label: A2_4 Required after 2002-04-01 The calculations @242 and @298 need 'Machine in order to insure that subsequent equality checks produce the expected results. ===== Annex H ===== [None] 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_4F 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.4 is available in various formats on the ACAA web site. Summary lists: Withdrawn Tests (Refer to the main list for details) CE2120A CE2120B CE3119A Allowed Modification Tests (Refer to the main list for details) B330001 2002-01-01 B460005 2002-04-01 C731001 2002-01-01 CXA5A10 2002-04-01 CXG2012 2002-04-01 Modified Tests (Refer to the main list for details) C490001 C490002 C52011A C52011B C58005H C761006 C86003A C93005F C94001E CDB0A02 CXA5011 CXAC002 CXB3010 CXE4002 CXE4004 CXE4005 MACRO.DFS New Tests (Refer to the main list for details) B460005 C392014 C761011 CDD1001 CXA4005 CXA4016 CXA4034 CXAA019 CXAC003 CXAC005 CXG2008 Pending New Tests (Refer to the main list for details) B371001 2002-01-01 B392011 2002-01-01 B851001 2002-01-01 BDD2002 2002-07-01 C392013 2002-01-01 C3A0015 2002-01-01 C460012 2002-04-01 C760013 2002-01-01 C761012 2002-07-01 B854001 2002-07-01 C854003 2002-07-01 CD10002 2002-07-01 CDD2001 2002-01-01 CDD2A01 2002-07-01 CDD2A02 2002-07-01 CDD2A03 2002-07-01 FDD2A00 2002-07-01