ACATS Test Modification List Version 2.5N December 19, 2006 Changes from the last list: Test CXD8002 was modified to eliminate errors caused by rounding values down when converted. Test CXF2001 reports the wrong block name in a failure message at the end of the test. C96004A and C96007A have been modified to work for both Ada 95 and Ada 2005. New test C460013 has been created to check that null-excluding access parameters do not allow null values. This test also checks that the not null syntax is allowed; this syntax is now required even for Ada 95 compilers (see AI-447). Allowing not null in Ada 95 compilers eases transition to Ada 2005 (access parameters and discriminants that include not null will not change behavior when moved to Ada 2005 compilers). It has been reported that there are a number of tests (roughly 25) that return limited objects that are incompatible with Ada 2005. (Specifically, 6.5(5.5/2). Ada 95 allows only cases that are illegal in Ada 2005, so it is impossible to fix these tests so that they will be compatible with both versions of Ada. As such, they will not be fixed in this version of the test suite (which is primarily targeted to Ada 95); they should be fixed in the first Ada 2005 version of the test suite (expected in the spring). Please contact the agent (see below) if you need the list of affected tests (note that the ACAA has not confirmed that these tests are incompatible, thus we're not publishing the list here). Note that there is no version 2.5I of the list. As ISO requires with the Ada standard, we do not use the letters I and O in version numbers, to avoid confusion when reading. The ACAA would like to remind ACATS users that a base test suite update is planned by April 2007. This is expected to be the last Ada 95 test suite. New tests inserted between October 1, 2006 and January 1, 2007 will become required for conformity assessments on July 1, 2007. No new tests were inserted between January 1, 2004 and October 1, 2006. New tests added to the ACATS before January 1, 2004 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. B34005Q [Modified] VCS Label: A2_5D Type conversions @141, 142 are illegal by AI-246. B34005T [Modified] VCS Label: A2_5D Type conversions @152, 153 are illegal by AI-246. C34005P [Modified] VCS Label: A2_5D Type conversions @282, 286, 291 are illegal by AI-246. C34005V [Modified] VCS Label: A2_5D Type conversions @388, 391, 392 are illegal by AI-246. B36201A [Modified] VCS Label: A2_5D 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. C392014 [Modified] VCS Label: A2_5L Constraint @181 is not allowed as the type has unknown discriminants by 3.7(26). It was removed. 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. C456001 [New] VCS Label: A2_5F Merged C45622A and useful parts of C45624A. C45624A [Withdrawn] VCS Label: A2_5J This test is replaced by C456001. C45624A [Withdrawn] VCS Label: A2_5F The test objective is incorrect; the correct objective does not test conformance. C45624B [Withdrawn] VCS Label: A2_5F The test objective is incorrect; the correct objective does not test conformance. C460002 [Modified] VCS Label: A2_5B Pragma Elaborate_All (Report); was added @93 in order to ensure Program_Error is not during elaboration. C460013 [Pending New] New VCS Label: A2_5N Required after 2007-07-01 Check that null excluding subtypes do not allow null values: access parameters. Includes a check for the not null syntax as required in Ada 95 by AI-447. 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)). C92005B [Modified] New VCS Label: A2_5L Conversions @57 may raise C_E because Integer is not required to be large enough to hold a storage size. C940004 [Modified] VCS Label: A2_5D Task3 can legally be queued before Task2, leading to test failure. C954012 [Modified] VCS Label: A2_5D 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. C96004A [Allowed Modification] New VCS Label: A2_5N Org VCS Label: A2_5 Required after 2007-04-01 Adjusted so that the test will work on Ada 2005 compilers. C96007A [Allowed Modification] New VCS Label: A2_5N Org VCS Label: A2_5 Required after 2007-04-01 Adjusted so that the test will work on Ada 2005 compilers. LA20001 [Modified] VCS Label: A2_5E The OPTIONAL ERROR: comment @f2-52 does not have the format specified by the test suite documentation. LC30001 [New] New VCS Label: A2_5C Check that a partition containing recursive instantiation cannot be executed (one level using renames). LC30001 [Modified] VCS Label: A2_5E The OPTIONAL ERROR: comments @f1-52 & f2-53 do not have the format specified by the test suite documentation. LC30002 [New] New VCS Label: A2_5C Check that a partition containing recursive instantiation cannot be executed (two levels). LC30002 [Modified] VCS Label: A2_5E The OPTIONAL ERROR: comments @f1-52 & f2-53 do not have the format specified by the test suite documentation. LC30003 [New] New VCS Label: A2_5C Check that a partition containing recursive instantiation cannot be executed (three levels). LC30003 [Modified] VCS Label: A2_5E The OPTIONAL ERROR: comments @f1-52 & f2-53 do not have the format specified by the test suite documentation. BC3009C [Modified] VCS Label: A2_5C Test cases checking a post-compilation rule were removed. CC3016F [Modified] VCS Label: A2_5M A junk comment line @25 was 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 [Modified] VCS Label: A2_5D 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. CD90001 [Modified] VCS Label: A2_5M Compare @216 should be "/=", as described in the comment. A similar error @191 was fixed in 1997. 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 [New] New VCS Label: A2_5G Check that implicit calls are freezing [VCS Label A2_5D]. Added a test case for implicit calls of 'Read [VCS Label A2_5F]. Added test cases and modified others to reflect 7.6(17.1/1). Then, commented out these cases as having no real value to users. [VCS Label A2_5G] BDE0010 [New] New VCS Label: A2_5C Check that implicit_dereferences, object names, and implicit conversions are freezing. CXB3012 [Modified] VCS Label: A2_5L Subtests 5 through 8 assume behavior changed by AI-242. The test was changed to allow the AI-242 results. ===== Annex C ===== [None] ===== Annex D ===== CXD4009 [Modified] VCS Label: A2_5L The T tasks may make their second call on the entries of Checker before Checker finishes processing the first set. CXD8002 [Allowed Modification] New VCS Label: A2_5N Org VCS Label: A2_5 Required after 2007-04-01 Conversion @179 may round down, causing delay to be reported as too short. ===== Annex E ===== [None] ===== Annex F ===== CXF2001 [Allowed Modification] New VCS Label: A2_5N Org VCS Label: A2_5 Required after 2007-04-01 Failure message @749 reports wrong block name. ===== Annex G ===== CXG2018 [Modified] VCS Label: A2_5E 'Machine was added to discard excess precision of test values @248, 250. ===== Annex H ===== BXH4003 [Modified] VCS Label: A2_5G The instantiations @158, 167, 187, 197 are not necessarily illegal by H.4(8/1) [VCS Label A2_5D]. The parameter name and type name @125 are the same. [VCS Label A2_5F] The parameter name @126 is misspelled; unit BXH4003_3 @171 doesn't exist; EIO @209 is undefined. [VCS Label A2_5G] 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_5N.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) C45622A C45624A C45624B Allowed Modification Tests (Refer to the main list for details) C96004A 2007-04-01 C96007A 2007-04-01 CXD8002 2007-04-01 CXF2001 2007-04-01 Modified Tests (Refer to the main list for details) B34005Q B34005V B36201A C392014 B3A2009 BC3009C BXH4003 C34005P C34005V C390010 C3A2003 C460002 C761010 C854002 C92005B C940004 C954012 CC3016F CD10002 CD72A02 CD90001 CXB3012 CXD4009 CXG2018 LA20001 LC30001 LC30002 LC30003 New Tests (Refer to the main list for details) B460006 B854001 BDD2002 BDE0009 BDE0010 C380001 C380002 C380003 C380004 C456001 C761012 C854003 CC51008 CD10002 CDD2A01 CDD2A02 CDD2A03 FDD2A00 LC30001 LC30002 LC30003 Pending New Tests (Refer to the main list for details) C460013 2007-07-01