ACATS Test Modification List Version 2.4G January 22, 2002 Changes from the last list: Test B3A2009 contains a check which conflicts with the under consideration AI-229. AI-229 allows 'Access for subprograms in generic bodies if the access type is declared in the generic's specification; the RM language does not. Because of the inconsistency, this subtest has been commented out (the ACAA would like to allow vendors to implement the AI, as it is necessary to prevent dangling references to subprograms). Test CD72A02 has had the test description corrected (it referred to a non-existent test). No substantive changes were made to this test. Reminder: ACATS 2.5 will be issued in March. As with ACATS 2.3 and 2.4 before it, this is simply a "roll-up" of tests modified before January 1, 2002 and new tests added before October 1, 2001; the same tests would be required on April 1, 2002 whether or not it is issued. The main advantage of new ACATS versions is that the documentation is updated to reflect changes from the past year. New tests inserted between January 1, 2002 and April 1, 2002 will become required for conformity assessments on October 1, 2002. 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 added to the ACATS before July 1, 2001 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 '@'; 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 [Modified] VCS Label: A2_4D Corrected description of error @245. B371001 [New] VCS Label: A2_4C [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 [New] VCS Label: A2_4C 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)). B3A2009 [Allowed Modification] New VCS Label: A2_4G Org VCS Label: A2_4 Required after 2002-07-01 Commented out subtest at @145, as it conflicts with the under consideration AI-229. C392013 [New] New VCS Label: A2_4B [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 [New] VCS Label: A2_4C Check that a derived access type has the same storage pool as its parent. (Technical Corrigendum 3.10(7/1)). B460005 [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 [Modified] VCS Label: A2_4D The Verbose flag @52 should be False. C760013 [New] VCS Label: A2_4C 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 [New] VCS Label: A2_4C 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). CD72A02 [Allowed Modification] New VCS Label: A2_4G Org VCS Label: A2_4 Required after 2002-07-01 The test description @37-38 refers to a non-existent test. 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 [New] VCS Label: A2_4A 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_4G 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) B3A2009 2002-07-01 B460005 2002-04-01 CD72A02 2002-07-01 CXA5A10 2002-04-01 CXG2012 2002-04-01 Modified Tests (Refer to the main list for details) B330001 C490001 C490002 C52011A C52011B C58005H C731001 C761006 C86003A C93005F C94001E CDB0A02 CXA5011 CXAC002 CXB3010 CXE4002 CXE4004 CXE4005 MACRO.DFS New Tests (Refer to the main list for details) B371001 B392011 B460005 B851001 C392013 C392014 C3A0015 C760013 C761011 CDD1001 CDD2001 CXA4005 CXA4016 CXA4034 CXAA019 CXAC003 CXAC005 CXG2008 Pending New Tests (Refer to the main list for details) B854001 2002-07-01 BDD2002 2002-07-01 C460012 2002-04-01 C761012 2002-07-01 C854003 2002-07-01 CD10002 2002-07-01 CDD2A01 2002-07-01 CDD2A02 2002-07-01 CDD2A03 2002-07-01 FDD2A00 2002-07-01