ACATS Test Modification List for ACATS 3.0 development Version 3devE October 30, 2007 What is this? This is the document that specifies the changes needed to convert ACATS 2.6 into the current working version of what will become ACATS 3.0. The version number "3dev" is short for "3.x development"; that is the version before version 3.0. We need a different nomenclature in order to differentiate this list from 2.6x, which is the corrections and withdrawals for that version of the ACATS, which is primarily targeted at Ada95 With the approval and publication of Amendment 1 by ISO as ISO/IEC 8652:1995/AMD 1:2007, "Ada" now includes the Amendment 1, and thus we need to test the language as (re)defined by Amendment 1. The purpose of the upcoming ACATS 3.0 is three-fold: (1) To remove/replace tests that are incompatible with Ada as changed by Amendment 1; (2) To mark Ada95 results as "Failed" in tests that were previously modified to allow Amendment 1 semantics; (3) To add tests for Ada test objectives not currently covered by the ACATS. This potentially includes tests for any feature of Ada (no matter what language version they were introduced in), but features changed or modified by Amendment 1 have the highest priority. Development of a new test suite, as with any development project, needs feedback from the potential users. As the development and release of full ACATS versions is fairly labor-intensive, we need a way to communicate proposed changes to the community. We have used the existing format of the ACATS Modification List for this task, as it is already familiar to ACATS users; it contains all of the needed information; and we already have tools to automate most of the work. It should be noted that the effective dates for tests in this list follow the normal procedures. However, ACATS 3.0 is a completely new version of ACATS, and its use is optional. So the effective dates are primarily intended to tell us how much review a particular test has received. When ACATS 3.0 is released, any tests on the appropriate list may be included, regardless of their effective dates. That's OK as no one will be forced to use ACATS 3.0. Any implementer can continue to use ACATS 2.6 if they wish; it will continue to be maintained for the foreseeable future. Changes from the last list: The test objective of B393006 was updated to reflect the proper terminology; and new test cases were added to check Amendment changes. Comments were updated in B393007 to reflect the proper terminology. Unused (and in one case illegal) generics were removed from B831002. CD10002 is corrected so that it does not raise Constraint_Error for a dereference of a null access discriminant value. C352001 was updated to reflect the change in the language-defined names for non-graphic characters. Corrected C3A0014 so that instead of testing rules that were deleted by the Amendment, it tests that the rules no longer apply. Tests BA21A01 and BA21A02 were updated to use the terminology of the Amendment, but no changes were made to the actual test code. Test B3A0001 was updated to add additional test cases, and to remove accessibility failures that obscured whether the test objective was actually met by the implementation. A number of new tests were added: B393008 checks that functions with controlling access results require overriding for non-abstract derived types, even for null extensions. B393009 checks that interface types are treated as abstract. B393010 checks that abstract operations for interface types cannot be declared in the private part. B394001 checks that the primitive subprograms of an interface type cannot be concrete. Tests B394A01, B394A02, B394A03, B394A04, and B394A05 check various interface legality rules. C413005 tests that a prefixed view is really a subprogram and thus can be renamed and passed as a generic formal. (This test was included in the D development snapshot but was unintentionally omitted from the listing.) It also has been corrected to fix test errors. C394001 and CXC7005 test that a task interface is treated as a task type. C394002 and C394003 test basic interface operations. The effective dates of tests are marked in the lists; please note that these dates are advisory only, and the ACAA can include tests in the ACATS 3.0 version that have not yet reached their effective dates. Questions about this document? Contact the ACAA Technical Agent at agent@ada-auth.org. Notice: The ACAA has created and maintains the Ada Conformity Assessment Test Suite for the purpose of conformity assessments conducted in accordance with the International Standard ISO/IEC 18009 - Ada: Conformity assessment of a language processor. This test suite should not be used to make claims of conformance unless used in accordance with ISO/IEC 18009 and any applicable ACAA procedures. 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 standards are given in the format: .[.]: These references are to the consolidated Ada standard as available at http://www.adaic.com/standards/05rm/html/RM-TOC.html. Main list: ===== Core Language ===== Name Category Version label (effective date; old version label) Short description. TCTOUCH [Allowed Modification] New VCS Label:A3devD Org VCS Label: A2_6A Required after 2008-04-01 Added a new validation routine to support alternative results. B32101A [Withdrawn] VCS Label: A3devA This objective is not true: limited objects can have initial values. C34005P [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @124,167,189,198 are illegal by 6.5(6.5/2). B34005Q [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @84,91 are illegal by 6.5(6.5/2). Aggregate @135 is legal. C34005R [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @152,174,184 are illegal by 6.5(6.5/2). C34005S [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @145,191 are illegal by 6.5(6.5/2). B34005T [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @91,98 are illegal by 6.5(6.5/2). Aggregate @144 is legal. C34005U [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @161,196 are illegal by 6.5(6.5/2). C34005V [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Version B: Function returns @148,194,224,237,253,270 are illegal By 6.5(6.5/2). Version C: Corrected spelling error @244. C34006G [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @122 is illegal by 6.5(6.5/2). B34006H [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @88 is illegal by 6.5(6.5/2). Aggregate @130 is legal. C34006J [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @166,195,209 are illegal by 6.5(6.5/2). B34006K [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @96 is illegal by 6.5(6.5/2). Aggregate @138 is legal. C34006L [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @159,198,212 are illegal by 6.5(6.5/2). B34008B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @78 is illegal by 6.5(6.5/2). C352001 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Expected language-defined names @259,264 were updated to reflect Amendment requirements. B360001 [Withdrawn] VCS Label: A3devA The objective was to test 3.6(11), which was deleted by the Amendment. B370001 [Allowed Modification] New VCS Label:A3devC Org VCS Label: A2_6A Required after 2008-01-01 Version A: Extensively revised to check 3.7(10/2) rather than Ada95 version of this rule. Version C: Eliminated violations of 3.7(13) and 12.5.1(6) and Added missing type declarations. B37004B [Withdrawn] VCS Label: A3devA This objective is not true: limited components can be initialized. B371001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Extensively revised to check 3.7.1(7/2) rather than the Corrigendum version of this rule. B38105A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Subtype @64 is legal by 3.10.1(7/2). C38202A [Withdrawn] VCS Label: A3devA This test was combined with the methodology of the also withdrawn test C99004A to create the new test C990001. B391001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Removed tests of nested extensions, as those are now allowed. B391002 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised to match wording of 3.9.1(4/2). B392001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6C Required after 2008-01-01 Version A: Removed obsolete part of objective and added test cases to check access parameters more thoroughly. Version C: Corrected type errors @75. B392009 [Allowed Modification] New VCS Label:A3devD Org VCS Label: A2_6A Required after 2008-01-01 Null excluding anonymous access types were explicitly declared in order that subprograms and access-to-subprograms statically match. B392010 [Allowed Modification] New VCS Label:A3devC Org VCS Label: A2_6A Required after 2008-01-01 Version A: STT-incomplete type case is illegal by 3.10.1(9.3/2); replaced it with a legal case. Restructured so all errors are in a single compilation unit. Version C: Removed obsolete comment @38-40. C392010 [Allowed Modification] New VCS Label:A3devB Org VCS Label: A2_6A Required after 2007-10-01 Replaced test case removed in 2000 pending resolution of AI-239. C392015 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Version B: Check that default expressions of derived dispatching routines dispatch properly. (From AI95-00239.) Version D: Changed to allow the calls with two parameters to evaluate them in either order. B393005 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised to avoid issues with 3.9.3(4/2). B393006 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Revised terminology of objective to match Standard; removed obsolete portion of test description. Added controlling access type test cases. This test will replace the existing B393006. B393007 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Version A: Revised to ensure that errors continue to exist (a type with a null extension doesn't need to override functions) and updated the objective to reflect 8.5.4(5.1/2). Version C: Corrected comment @45-6. Version E: Corrected comments to reflect the terminology of the Standard. B393008 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that functions with controlling access results require overriding for non-abstract derived types, even for null extensions. B393009 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that interface types are abstract. B393010 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that abstract operations of interface types cannot be declared in the private part if the interface is visible. B394001 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that primitive subprograms of interface types cannot be concrete (neither abstract nor null). C394001 [Pending New] New VCS Label: A3devE Required after 2008-07-01 Check that task interfaces can be used in contexts requiring task types. C394002 [Pending New] New VCS Label: A3devE Required after 2008-07-01 Check that types inherit operations from limited interface progenitors. C394003 [Pending New] New VCS Label: A3devE Required after 2008-07-01 Check that types inherit operations from non-limited interface progenitors. F394A00 [Pending New] New VCS Label: A3devE Required after 2008-07-01 Foundation for interface legality tests. B394A01 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that types named in an interface list must be interface types. B394A02 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that a descendant of a non-limited interface type cannot be limited. B394A03 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that a descendant of a task interface type can only be a task interface, a private extension, or a task type. B394A04 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that a descendant of a protected interface type can only be a protected interface, a private extension, or a protected type. B394A05 [Pending New] New VCS Label:A3devE Required after 2008-07-01 Check that a descendant of a synchronized interface type can only be task or protected things. B3A0001 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Added additional test cases for better coverage; removed accessibility failures that obscure whether the objective is properly met. C3A0014 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Rewrote test to avoid requiring behavior deleted by the Amendment. B3A2009 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Replaced subtest at @149 as "OK"; it is allowed by 3.10.2(32/2). B3A2015 [Allowed Modification] New VCS Label:A3devD Org VCS Label: A2_6A Required after 2008-01-01 Updated to reflect Amendment changes and AI05-0008 corrections. B3A2016 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Replaced commented out test cases, as the proper result was determined by AI-235, which was included in the Amendment. C41103B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @347 is illegal by 6.5(6.5/2). C41203B [Allowed Modification] New VCS Label:A3devC Org VCS Label: A2_6A Required after 2008-01-01 Version A: Function return @354 is illegal by 6.5(6.5/2). Version C: Added missing constraint @355. B413001 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is not allowed if a component with the same name is visible. B413002 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is illegal if the subprogram has an access parameter and the prefix is not an aliased view. B413003 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is illegal if the subprogram has an in out, out, or access-to-variable parameter and the prefix is a constant. B413004 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is illegal if the prefix has a non-access untagged type, or has an access type that designates an untagged type. C413001 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is legal if the prefix is of a tagged type T, the subprogram is declared in the scope of an ancestor, and the first parameter of the subprogram is of the type T or a class-wide type covered by T. C413002 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is legal if the prefix is of an access to tagged type T, the subprogram is declared in the scope of an ancestor, and the first parameter of the subprogram is of the type T or a class-wide type covered by T. C413003 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is legal if the prefix is of tagged type T, the subprogram is declared in the scope of an ancestor, and the first parameter of the subprogram is an access parameter designating type T or a class-wide type covered by T. C413004 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that a prefixed view is legal if the prefix is of an access to tagged type T, the subprogram is declared in the scope of an ancestor, and the first parameter of the subprogram is an access parameter designating type T or a class-wide type covered by T. C413005 [Pending New] New VCS Label: A3devE Required after 2008-07-01 Check that a prefixed view is a subprogram and thus can be renamed and passed to a generic formal subprogram. C41306A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @72,78 are illegal by 6.5(6.5/2). B43001M [Withdrawn] VCS Label: A3devA This objective is not true: limited arrays and records can have aggregates. B431001 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that <> cannot be used in a positional component association of a record aggregate. B431002 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that the syntax rules on component associations are enforced in an extension aggregate. B431003 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that a record aggregate's type cannot be descended from a private type or private extension. B431004 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check legality rules for component associations of extension aggregates. F431A00 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Foundation for record and extension aggregate tests. C431A01 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that <> can represent zero or more components of different types in record and extension aggregates. C431A02 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that components specified by <> are initialized by the component's default expression if there is one, and are initialized by default otherwise. C431A03 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that <> components are evaluated the correct number of times when they represent multiple components. B432001 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that rules on the type of an extension aggregate, and of the ancestor part of such aggregates are enforced. C432005 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that the ancestor of an extension aggregate can be limited. C43208B [Allowed Modification] New VCS Label:A3devD Org VCS Label: A2_6A Required after 2008-01-01 Corrected spelling in messages. B433001 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Version C: Check that <> cannot be used in a positional array aggregate other than in an others choice. Version D: Corrected object names. F433A00 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Foundation for array aggregate tests. C433A01 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that array aggregate components can have a limited type. Also, check that <> associations are initialized by default. One-dimensional array cases. C433A02 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that array aggregate components can have a limited type. Also, check that <> associations are initialized by default. One-dimensional array cases. C433A03 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Each component in an array aggregate which is specified by a <> should be default-initialized separately. C433A04 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that <> can be specified for non-limited array components. B460005 [Allowed Modification] New VCS Label:A3devC Org VCS Label: A2_6A Required after 2007-07-01 Version A: Corrected objective and notes to properly check 4.6(24.8-24.9/2). Version C: Conversion @103 violates 4.6(8/2). B46002A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Corrected objective and test cases, as null is allowed as the argument of a type conversion. C460013 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that null excluding subtypes do not allow null values: access parameters. Includes a check for the not null syntax as required in Ada95 by AI-447. Modified to report Ada95 behavior as failed. [VCS Label: A3devA] B48003C [Withdrawn] VCS Label: A3devA This objective is not true: allocators can be initialized with limited expressions. B58002A [Withdrawn] VCS Label: A3devD This test has only two test cases, and its objectives are included in the new test B650002. B58002B [Withdrawn] VCS Label: A3devD This test has only two test cases, and its objectives are included in the new test B650002. B58002C [Withdrawn] VCS Label: A3devD This test has only a single test case, and its objective is included in the new test B650002. B610002 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that an access parameter cannot have a mode. B64201A [Withdrawn] VCS Label: A3devA This objective is not true: aggregates are allowed as default expressions for limited types. B650001 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check the relationship between the return subtype of a function and the subtype of an extended return statement. B650002 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that extended return statements and simple return statements with expressions cannot be used in procedure bodies, entry bodies, accept statements, and (outer) extended return statements. B650003 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that the type of the return expression for a classwide function cannot be statically deeper than the master that elaborated the function. C650001 [Withdrawn] VCS Label: A3devA The object is to test return-by-reference, which no longer exists. B670001 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: Check that null procedure declaration do not allow a completion. Version C: Corrected unit name @f0:75-7; f1:54; f2:54-5. B731001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Corrected limited checks for Amendment changes. C731001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Initialization @f4-64 is legal; corrected to ensure that limitedness is tested. B740002 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: For deferred constants, check that anonymous access types must match, and that null exclusions cannot be omitted on the completion. Version C: Removed Cnst_Priv_22 pending resolution of AI05-0062. B740003 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Version A: Check that deferred constants can only be given in package visible parts, and can only be completed in the private part of the same package. Version C: Revised error locations based on implementer comments. Version D: Added more flexibility in where errors are reported. B74205A [Allowed Modification] New VCS Label:A3devB Org VCS Label: A2_6A Required after 2007-07-01 [A3DevA] L4 aggregate is now legal, also added object cases to ensure that the type is still limited and as treated as such. [A3DevB] Aggregate @137 is legal. C74302B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @103,109 are illegal by 6.5(6.5/2). GP and GP1 do not need to be limited private for this objective. C74306A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @48 is illegal by 6.5(6.5/2). General_Purpose does Not need to be limited private for this objective. B74404A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Corrected test objective to reflect Amendment 1 changes. B74404B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Corrected test objective and added test cases to reflect Amendment 1 changes. F750A00 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: New foundation. Version C: Corrected various errors. B750A01 [Pending New] New VCS Label: A3devA Required after 2008-01-01 Check that the limitations on limited object initialization expressions are enforced. B750A02 [Pending New] New VCS Label: A3devA Required after 2008-01-01 Check that the limitations on limited component default expressions are enforced. B750A03 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: Check that the limitations on limited record aggregate component expressions are enforced. Version C: Corrected type error @162. F750B00 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: New foundation. Version C: Corrected various errors. C750B01 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: Check that a separate anonymous object is not used when Evaluating a limited aggregate. Version C: Corrected various test errors. C761013 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Check that the object renamed as an object is not finalized too soon or too late (even if it is a function call). B831001 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Version C: Check that an operation with an overriding indicator is A primitive operation for some type. Version D: Removed functions illegal by 3.9.3(10/2). B831002 [Pending New] New VCS Label: A3devE Required after 2008-04-01 Version C: Check that an operation with an indicator of "overriding" is illegal if it does not override a homograph at the place of the indicator. Similarly, check that an operation with an indicator of ="not overriding" is illegal if it overrides a homograph at the place of the indicator. Version E: Removed unused (and in one case, illegal) generics. B831003 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Check that an operation with an indicator of "overriding" is illegal if it does not override a homograph at the place of the declaration or body even though the operation is overridden later. Check that an operation with an indicator of "not overriding" is Illegal if it overrides a homograph even if the operation is overridden later. B85012A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @143,148 are illegal by 6.5(6.5/2). C85014A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @51,56 are illegal by 6.5(6.5/2). Use of an anonymous access return type tests the recommended work-around. C85014B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @55,60 are illegal by 6.5(6.5/2). C85014C [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @76 is illegal by 6.5(6.5/2). B85015A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @57 is illegal by 6.5(6.5/2). Cases A and B of the objective are now legal. B87B26A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @108 is illegal by 6.5(6.5/2). C87B26B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @79 is illegal by 6.5(6.5/2). C87B41A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @68 is illegal by 6.5(6.5/2). B92001B [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Corrected error reasons. C96004A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Required Year_Number'Last to be 2399. B97206A [Withdrawn] VCS Label: A3devA This objective is not true: a renamed entry can be used in a conditional entry call. B97306A [Withdrawn] VCS Label: A3devA This objective is not true: a renamed entry can be used in a timed entry call. C990001 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check the operation of 'Callable and 'Terminated; this test replaces C38202A and C99004A and tests additional cases. C99004A [Withdrawn] VCS Label: A3devA Function return @82 is illegal by 6.5(6.5/2); that rule makes this objective untestable. BA11013 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: Check that a library unit body or a subunit cannot be declared private. Version C: Removed duplicated unit from file 3. BA11014 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: Check that a limited view has the correct contents. Version C: Corrected missing "body" keywords; fixed name conflicts @f1-74, f2-78. CA11023 [Pending New] New VCS Label: A3devD Required after 2008-04-01 Version B: Check that the context clause of a limited view is empty. Check that types imported from a limited view are seen as complete where the full view is visible. Version C: Corrected type errors in test. Version D: Corrected mode of 1st parameter to Create to in out. CA12001 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that a parent unit can use a limited private with on its own private child unit. CA12002 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that a unit can mention a private sibling in a private with clause. BA12009 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check limited with clauses are not given in illegal places. BA12010 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Version A: Check that a limited with clause cannot be used in the scope of normal with or use clauses. Version C: Removed limited with @103, it is illegal by 10.1.2(18). BA12011 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that a subprogram body acting as a declaration cannot with units that a stand-alone declaration is not allowed to. BA12012 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that a limited with clause cannot be used to reference a private unit that wouldn't be visible in a normal with. BA12013 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that private with cannot be used on unrelated private units. BA12014 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that names visible from a private with cannot be used in illegal places (visible parts, etc.) BA12015 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check that a private with does not make entities in the private part visible. BA12016 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: Check that names visible from a limited private with cannot be used in illegal places (visible parts, etc.) Version C: Removed illegal assignment @f7-66. Removed entire test case @f4 as bodies are illegal and making it a specification would make it identical to case @f3. BA16001 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check naming issues for limited with clauses. BA16002 [Pending New] New VCS Label: A3devA Required after 2007-10-01 Check naming issues for nonlimited with clauses. LA20002 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version B: Check that an inconsistent partition due to a limited with cannot be created. Version C: Added separate subprogram specification so that there is not a limited with on a library subprogram body. CA20003 [Pending New] New VCS Label: A3devB Required after 2008-01-01 Check that a unit only referenced by a limited with is needed. LA20003 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version B: Check that an inconsistent partition due to a limited with cannot be created. Version C: Corrected name of unit body in file 3. BA21001 [Withdrawn] VCS Label: A3devA Revised test to use existing foundation code (so it isn't necessary to duplicate the description); this requires a name change for the test. BA21002 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised test objective to reflect Amendment terminology and rules. BA21003 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Type My_Controlled @f0-111 does not have preelaborable initialization. FA21A00 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised foundation to ensure that My_Controlled does not have Preelaborable_Initialization. BA21A01 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Revised test objective, description, and errors to use Amendment terminology. BA21A02 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Revised test objective, description, and errors to use Amendment terminology. BA21A03 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Version A: This is the renamed and revised BA21001. Version C: Fixed a number of test errors. CB40005 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @135,137 are illegal by 6.5(6.5/2). CB41004 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Changed Raise_Exception subtest, replaced Exception_Identity Subtest, and added missing Exception_Name (Id) subtest. (Note: this is really an Ada95 test, as AI95-241 and AI95-446 are Binding Interpretations.) BC1226A [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Corrected reasons for errors. CC3019C [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function return @f1-201 is illegal by 6.5(6.5/2). BC40001 [Withdrawn] VCS Label: A3devA This objective is not true: formal objects of mode in can have a limited type. BC51019 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised to avoid issues with 3.9.3(4/2), and rewrote the test description (which was horribly confused). BC51C02 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised to avoid issues with 3.9.3(4/2), and updated the test description and comments to be accurate. CD10002 [Allowed Modification] New VCS Label:A3devE Org VCS Label: A2_6A Required after 2008-04-01 Version A: Function return @133 is illegal by 6.5(6.5/2). Version D: Function returns @715,746 are illegal by 6.5(6.5/2); previous fixes are also illegal as (<>) does not allow default initialized objects. Version E: Fixed type @917 so that a default-initialized object has a non-null discriminant. BDD2001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Revised objective and removed unneeded with. BDD2003 [Pending New] New VCS Label: A3devA Required after 2007-10-01 This is a renaming and slight update to the withdrawn test BXAC004; this puts all of the availability tests together. CDD2A03 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Required after 2007-07-01 Function returns @143,182 are illegal by 6.5(6.5/2). BXAC004 [Withdrawn] VCS Label: A3devA This is a test of the availability rules; it has nothing to do with Annex A. Renamed test to BDD2003; this puts the test with the similar existing test BDD2001 for other stream attributes. CXAC005 [Allowed Modification] New VCS Label: A2_6A Org VCS Label: A2_5 Required after 2007-07-01 The function @114-7 may raise Program_Error for some implementations of Stream_IO.File_Type. CXAC006 [Pending New] New VCS Label: A3devC Required after 2008-04-01 Tests that the resolutions of AI95-00085 are implemented. CXB3012 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Changed subtests 5 through 8 to require behavior specified by the Amendment. ===== Annex C ===== CXC7001 [Allowed Modification] New VCS Label:A3devA Org VCS Label: A2_6A Checks at @165 and @177 are backwards. ===== Annex D ===== CXD8002 [Allowed Modification] New VCS Label: A2_6A Org VCS Label: A2_5 Required after 2007-07-01 Package Ada.Finalization @140 is not a "normal" package. ===== Annex E ===== [None.] ===== Annex F ===== [None.] ===== Annex G ===== [None.] ===== 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_3-1E.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.] Note: ACATS development tests are not available through the VCS. 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.6 is available in various formats on the ACAA web site. Summary lists: Withdrawn Tests (Refer to the main list for details) B32101A B360001 B37004B B43001M B48003C B58002A B58002B B58002C B64201A B97206A B97306A BA21001 BC40001 BXAC004 C38202A C650001 C99004A Allowed Modification Tests (Refer to the main list for details) B34005Q 2007-07-01 B34005T 2007-07-01 B34006H 2007-07-01 B34006K 2007-07-01 B34008B 2007-07-01 B370001 2008-01-01 B371001 2007-07-01 B38105A 2007-07-01 B391001 2007-07-01 B391002 2007-07-01 B392001 2008-01-01 B392009 2008-01-01 B392010 2008-01-01 B393005 2007-07-01 B393006 2008-04-01 B393007 2008-04-01 B3A0001 2008-04-01 B3A2009 2007-07-01 B3A2015 2008-01-01 B3A2016 2007-07-01 B460005 2008-01-01 B46002A 2007-07-01 B731001 2007-07-01 B74205A 2007-10-01 B74404A 2007-07-01 B74404B 2007-07-01 B85012A 2007-07-01 B85015A 2007-07-01 B87B26A 2007-07-01 B92001B 2007-07-01 BA21002 2007-07-01 BA21003 2007-07-01 BA21A01 2008-04-01 BA21A02 2008-04-01 BC1226A 2007-07-01 BC51019 2007-07-01 BC51C02 2007-07-01 BDD2001 2007-07-01 BXE2009 2007-07-01 C34005P 2007-07-01 C34005R 2007-07-01 C34005S 2007-07-01 C34005U 2007-07-01 C34005V 2008-01-01 C34006G 2007-07-01 C34006J 2007-07-01 C34006L 2007-07-01 C352001 2008-01-01 C392010 2007-10-01 C3A0014 2008-04-01 C41103B 2007-07-01 C41203B 2008-01-01 C41306A 2007-07-01 C43208B 2008-01-01 C74302B 2007-07-01 C74306A 2007-07-01 C85014A 2007-07-01 C85014B 2007-07-01 C85014C 2007-07-01 C87B26B 2007-07-01 C87B41A 2007-07-01 C96004A 2007-07-01 CB40005 2007-07-01 CB41004 2007-07-01 CC3019C 2007-07-01 CD10002 2008-04-01 CDD2A03 2007-07-01 CXAC005 2007-07-01 CXB3012 2007-07-01 CXC7001 2007-07-01 FA21A00 2007-07-01 TCTOUCH 2008-04-01 Modified Tests (Refer to the main list for details) [None.] New Tests (Refer to the main list for details) [None.] Pending New Tests (Refer to the main list for details) B393006 2008-07-01 B393008 2008-07-01 B393009 2008-07-01 B393010 2008-07-01 B394001 2008-07-01 B394A01 2008-07-01 B394A02 2008-07-01 B394A03 2008-07-01 B394A04 2008-07-01 B394A05 2008-07-01 B413001 2008-04-01 B413002 2008-04-01 B413003 2008-04-01 B413004 2008-04-01 B431001 2008-01-01 B431002 2008-01-01 B431003 2008-01-01 B431004 2008-01-01 B432001 2008-01-01 B433001 2008-04-01 B610002 2007-10-01 B650001 2008-04-01 B650002 2008-04-01 B650003 2008-04-01 B670001 2008-04-01 B740002 2008-04-01 B740003 2008-04-01 B750A01 2008-01-01 B750A02 2008-01-01 B750A03 2008-04-01 B831001 2008-04-01 B831002 2008-04-01 B831003 2008-04-01 BA11013 2008-04-01 BA11014 2008-04-01 BA12009 2007-10-01 BA12010 2008-04-01 BA12011 2007-10-01 BA12012 2007-10-01 BA12013 2007-10-01 BA12014 2007-10-01 BA12015 2007-10-01 BA12016 2008-04-01 BA16001 2007-10-01 BA16002 2007-10-01 BA21A03 2008-04-01 BDD2003 2007-10-01 C392015 2008-04-01 C394001 2008-07-01 C394002 2008-07-01 C394003 2008-07-01 C413001 2008-04-01 C413002 2008-04-01 C413003 2008-04-01 C413004 2008-04-01 C413005 2008-07-01 C431A01 2008-04-01 C431A02 2008-04-01 C431A03 2008-04-01 C432005 2008-04-01 C433A01 2008-04-01 C433A02 2008-04-01 C433A03 2008-04-01 C433A04 2008-04-01 C460013 2007-10-01 C750B01 2008-04-01 C761013 2008-04-01 C990001 2007-10-01 CA11023 2008-04-01 CA12001 2008-01-01 CA12002 2008-01-01 CA20003 2008-01-01 CXAC006 2008-04-01 F394A00 2008-07-01 F431A00 2008-04-01 F433A00 2008-04-01 LA20002 2008-04-01 LA20003 2008-04-01 Tests that ought to have changes made, but currently have a low priority for changes: B371001 [The test case @f2 is commented out pending the resolution of AI05-0041-1.] B740002 [The test case for Cnst_Priv_22 has been removed pending resolution of AI05-0062-1.]