ACATS Test Modification List
Version 3.1H
June 22, 2015
What is this?
This is the ACATS modification list for ACATS 3.1. This document includes test corrections, test removals, and new tests for ACATS 3.1. ACATS 3.1 is the current test suite for the version of Ada that became current with the approval and publication of Amendment 1 by ISO as ISO/IEC 8652:1995/AMD 1:2007 (often known as "Ada 2005").
ACATS Modification List version 2.6D for ACATS 2.6 is the current list for that test suite. ACATS 2.6 should be used for testing Ada 95 implementations, and will continue to be maintained as necessary for the foreseeable future.
ACATS Modification List version 4.0G is the current list for ACATS 4.0. ACATS 4.0 should be used for testing the third edition of Ada, ISO/IEC 8652:2012 (usually known as "Ada 2012").
Changes from the last list:
BC60002, BC60004, and CC60001 test various rules for formal abstract subprograms.
New tests posted between April 1, 2015 and June 30, 2015 will become required for conformity assessments on January 1, 2016. New tests posted between January 1, 2015 and March 31, 2015 will become required for conformity assessments on October 1, 2015. New tests inserted between October 1, 2014 and December 31, 2014 will become required for conformity assessments on July 1, 2015. New tests inserted between October 1, 2013 and September 30, 2014 are now required for conformity assessments. All other tests previously inserted into ACATS 3.0 are part of ACATS 3.1 and are required for conformity assessment. The effective dates of tests are marked in the lists.
Questions about this document? Contact the ACAA Technical Agent at agent@ada-auth.org.
Ada 2012 compatibility:
This test suite is designed for Ada 2005. ACATS 4.0 should be used to test Ada 2012 implementations. There are a significant number of tests in ACATS 3.1 that are incompatible with the requirements of Ada 2012.
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 '@<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 standards are
given in the format:
<section|chapter>.<clause>[.<subclause>]:<paragraph>
These references are to the consolidated Ada standard as available at
http://www.adaic.org/resources/add_content/standards/05rm/html/RM-TOC.html.
Main list:
===== Core Language =====
Name Category Version label (effective date; old version label) Short description. B38105A [Withdrawn] Org VCS Label: A3_1B Replaced by tests B3A1007 and B3A1A05 (and existing tests B3A1A01 and B3A1A02). C391003 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Check that a type extension can be declared in a more nested scope than its parent type, and that overridden subprograms of that extension can be dispatched to. [VCS Label A3_1F] Eliminated an overlong line. B393005 [Modified] VCS Label: A3_1B Declaration @114 is illegal because it inherits an abstract function that is not overridden, as described in AI05-0097-1. B393011 [Pending New] New VCS Label: A3_1E Required after 2015年10月01日 Check that an abstract routine of an abstract partial view overridden by a non-abstract routine in the private part requires overriding when it is inherited if the private part is not visible where it is inherited. B3A1001 [Modified] VCS Label: A3_1B Type UT1 @78 is supposed to be tagged incomplete, else it's the same as type U1. B3A1002 [Modified] VCS Label: A3_1B Type UT1 @77 is supposed to be tagged incomplete, else it's the same as type U1. C3A1003 [Pending New] New VCS Label: A3_1E Required after 2015年10月01日 Check that a dereference of an access-to-tagged-incomplete type can be passed as a parameter. C3A1004 [Pending New] New VCS Label: A3_1E Required after 2015年10月01日 Check that a parameter of a tagged incomplete type can be passed as a parameter. B3A1007 [New] VCS Label: A3_1B Check that constraints and exclusions aren't allowed on an incomplete type in access type and subtype declarations. B3A1008 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Check that a dereference of an access-to-incomplete type cannot be used as a prefix. [VCS Label A3_1F] Eliminated overlong lines. B3A1009 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Check that a dereference of an access-to-incomplete view cannot be used as a prefix. Check that a parameter of an incomplete view cannot be used as a prefix. [VCS Label A3_1F] Eliminated overlong lines. B3A1A05 [Pending New] New VCS Label: A3_1B Required after 2015年01月01日 Check that generic formal objects cannot be declared with an incomplete view. C3A2004 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check that the type of the prefix of 'Access is used to resolve the expected type of the use of the attribute. B3A2017 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1D] Check P'Access is not allowed in a generic body if P is declared in the generic (including in the parent of a child or in a formal package) and the access type is a formal type or outside of the generic. [VCS Label A3_1F] Eliminated overlong lines. B431006 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check that if a variant part is not nested in an unselected variant, the value of the governing discriminant of a variant in a record aggregate cannot be non-static. B43102A [Withdrawn] VCS Label: A3_1D Replaced by B431006. B480002 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Check that an initialized allocator for an access type with a class-wide designated type does not create an object whose type is more local than the access type. [VCS Label A3_1F] Eliminate overlong lines and tab characters. B480003 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Check that an uninitialized allocator for an access type with a class-wide designated type does not create an object whose type is more local than the access type. [VCS Label A3_1F] Eliminate overlong lines and tab characters. B540002 [New] VCS Label: A3_1B Check that case statement coverage rules are enforced for modular types. C540002 [New] VCS Label: A3_1B Check that the selecting_expression of a case statement can be resolved using the requirement that it be any discrete type. C540002 [Allowed Modification] New VCS Label: A3_1F Org VCS Label: A3_1B Required after 2015年07月01日 Eliminated overlong lines. C620001 [New] VCS Label: A3_1B Check that elementary types are passed by copy. C62003A [Withdrawn] Org VCS Label: A3_1B Replaced by test C620001. B640001 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1D] Check that abstract nondispatching operations do not participate in resolution. [VCS Label A3_1F] Eliminate overlong lines and tab characters. C640002 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 [VCS Label A3_1D] Check that an abstract nondispatching operator provides a way to eliminate an unwanted predefined operator. [VCS Label A3_1F] Eliminate overlong lines. C660001 [New] VCS Label: A3_1B Check that a matching "/=" is defined for an explicitly declared "=" operator with a result of Boolean. B730008 [New] VCS Label: A3_1A Check that a tagged partial view and its completion must have the same set of interfaces. B730009 [New] VCS Label: A3_1A Check that a tagged partial view can be synchronized if and only if the completion is a synchronized type. B730009 [Allowed Modification] New VCS Label: A3_1F Org VCS Label: A3_1A Required after 2015年07月01日 Completion of Priv12 @131 violates 7.3(10.1/3). B730010 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 Check 7.3(10.1/3). C760015 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Check that a controlled type can be declared within a subprogram. [VCS Label A3_1F] Eliminated overlong lines. B831004 [Pending New] New VCS Label: A3_1G Required after 2016年01月01日 Check that overriding indicators are properly enforced for types derived from a generic formal type. (Nested generic specification cases.) B840002 [Pending New] New VCS Label: A3_1G Required after 2016年01月01日 Check a package use clause cannot denote a limited view or a non-package. C920001 [New] VCS Label: A3_1B Check activation (and non-activation) of tasks declared as (part of) return objects in extended return statements. BA12017 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1D] Check that a limited with clause is not allowed on a descendant of the named package. [VCS Label A3_1F] Eliminated overlong line. BA15003 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check that a library unit pragma must apply to a library unit. CB30001 [Pending New] New VCS Label: A3_1C Required after 2015年07月01日 Check that the optional message parameter is supported in a raise statement, and that the message can be retrieved with Exception_Message. CC30003 [Allowed Modification] New VCS Label: A3_1F Org VCS Label: A3_1 Required after 2015年07月01日 Eliminated overlong lines. CC30004 [New] VCS Label: A3_1B Check that if a generic actual type is elementary, it is passed by copy within an instance. CC30004 [Allowed Modification] New VCS Label: A3_1F Org VCS Label: A3_1B Required after 2015年07月01日 Eliminated overlong lines and tab characters. CC3017C [Withdrawn] Org VCS Label: A3_1B Replaced by test CC30004. BC60001 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Test rules associated with formal subprogram defaults of null. CC60001 [Pending New] New VCS Label: A3_1H Required after 2016年01月01日 Check that calls on a formal abstract subprogram are dispatching. BC60002 [Pending New] New VCS Label: A3_1H Required after 2016年01月01日 Test rules associated with the controlling type of a formal abstract subprogram. BC60004 [Pending New] New VCS Label: A3_1H Required after 2016年01月01日 Check that a call on a formal abstract subprogram must be dispatching. BDD2004 [New] VCS Label: A3_1A Check that subprograms specified for stream attributes meet the requirements for such subprograms. This version corrects the location of 'Class @230, 235, 240. BDD2004 [Allowed Modification] New VCS Label: A3_1F Org VCS Label: A3_1 Required after 2015年07月01日 [VCS Label A3_1C] Error @232 is legal by AI12-0121-1. [VCS Label A3_1F] Eliminated overlong lines. CXA4037 [Pending New] New VCS Label: A3_1G Required after 2016年01月01日 Check Ada.Strings.Fixed.Find_Token against rule from 2001 Corrigendum. CXA5016 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1D] Check operation of attribute Machine_Rounding. [VCS Label A3_1F] Eliminated overlong lines. CXAA021 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check file operations of Text_IO.Bounded_IO. CXAA022 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check file operations of Text_IO.Unbounded_IO. CXAB002 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check file operations of Wide_Text_IO.Wide_Bounded_IO. CXAB003 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check file operations of Wide_Wide_Text_IO.Wide_Wide_Bounded_IO. CXAB004 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check file operations of Wide_Text_IO.Wide_Unbounded_IO. CXAB005 [Pending New] New VCS Label: A3_1D Required after 2015年07月01日 Check file operations of Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO. CXAC008 [Pending New] New VCS Label: A3_1E Required after 2015年10月01日 [VCS Label A3_1D] Check that Stream_IO files opened with mode Out_File are not truncated by Close or Reset. [VCS Label A3_1E] Corrected required file size in subtest 8, and various failure messages. CXAG001 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 Check that Ada.Directories can be used to create and delete directories. CXAH001 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Test that package Environment_Variables can be used to read environment variables. [VCS Label A3_1F] Added missing Applicability Criteria. CXAH002 [Pending New] New VCS Label: A3_1F Required after 2015年10月01日 [VCS Label A3_1E] Test that package Environment_Variables can be used to modify environment variables. [VCS Label A3_1F] Added missing Applicability Criteria. CXAI001 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Vectors. CXAI002 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Doubly_Linked_Lists. CXAI003 [New] New VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Hashed_Maps. CXAI004 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Ordered_Maps. CXAI005 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Hashed_Sets. CXAI006 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Ordered_Sets. FXAIA00 [New] New VCS Label: A3_1A Foundation containing types and values to be used to check the functionality of the indefinite containers. CXAIA01 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Indefinite_Vectors. CXAIA02 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Indefinite_Doubly_Linked_Lists. CXAIA03 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Indefinite_Hashed_Maps. CXAIA04 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Indefinite_Ordered_Maps. CXAIA05 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Indefinite_Hashed_Sets. CXAIA06 [New] VCS Label: A3_1A Check the functionality defined in package Ada.Containers.Indefinite_Ordered_Sets. CXB3017 [New] VCS Label: A3_1B Check that pragma Export can be used on subprograms and objects. ===== Annex C ===== [None.] ===== Annex D ===== [None.] ===== Annex E ===== [None.] ===== Annex F ===== [None.] ===== Annex G ===== CXG2001 [Modified] VCS Label: A3_1B Formula for Model_Mantissa was replaced in Ada 2005 (and really in the Corrigendum), but was never updated in this test. This only affects machines with decimal floating point. ===== Annex H ===== [None.] ===== Support ===== IMPDEF [Allowed Modification] New VCS Label: A3_1F Org VCS Label: A3_1B Required after 2015年07月01日 [VCS Label A3_1B] Added constants for the external names for the imported and exported routines in test CXB3017. The change is only needed for that test, it has no effect on any other test. [VCS Label A3_1E] Added constants for the names of environment variables used by tests CXAH001 and CXAH002. Also removed obsolete .AW file constants (these are not used as test source has been provided in UTF-8 format since the release of ACATS 3.0). The change is only needed for those tests, it has no effect on any other tests. [VCS Label A3_1F] Added a constant and function used by test CXAG001. The change is only needed for that test, it has no effect on any other tests.
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 at www.ada-auth.org.
The complete set of official new and modified tests are available in the Mod_3_1H.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 3.1 is available in various formats on the ACAA web site.
Summary lists:
Withdrawn Tests
(Refer to the main list for details)
B38105A B43102A C62003A CC3017C
Allowed Modification Tests
(Refer to the main list for details)
B730009 2015年07月01日 [VCS A3_1F] BDD2004 2015年07月01日 C540002 2015年07月01日 CC30003 2015年07月01日 CC30004 2015年07月01日 IMPDEF 2015年07月01日 [Only needed for new tests CXAG001, CXAH001, and CXAH002]
Modified Tests
(Refer to the main list for details)
B393005 B3A1001 B3A1002 CXG2001 IMPDEF [VCS A3_1B]
New Tests
(Refer to the main list for details)
B3A1007 B3A1A05 B540002 B730008 B730009 [VCS A3_1A] BDD2004 C540001 C620001 C660001 C920001 CC30004 CXAI001 CXAI002 CXAI003 CXAI004 CXAI005 CXAI006 CXAIA01 CXAIA02 CXAIA03 CXAIA04 CXAIA05 CXAIA06 CXB3017 FXAIA00
Pending New Tests
(Refer to the main list for details)
B393011 2015年10月01日 B3A1008 2015年10月01日 B3A1009 2015年10月01日 B3A2017 2015年10月01日 B431006 2015年07月01日 B480002 2015年10月01日 B480003 2015年10月01日 B640001 2015年07月01日 B730010 2015年10月01日 B831004 2016年01月01日 B840002 2016年01月01日 BA12017 2015年10月01日 BA15003 2015年07月01日 BC60001 2015年07月01日 BC60002 2016年01月01日 BC60004 2016年01月01日 C391003 2015年10月01日 C3A1003 2015年10月01日 C3A1004 2015年10月01日 C3A2004 2015年07月01日 C640002 2015年10月01日 C760015 2015年10月01日 CB30001 2015年07月01日 CC60001 2016年01月01日 CXA4037 2016年01月01日 CXA5016 2015年07月01日 CXAA021 2015年07月01日 CXAA022 2015年07月01日 CXAB002 2015年07月01日 CXAB003 2015年07月01日 CXAB004 2015年07月01日 CXAB005 2015年07月01日 CXAC008 2015年10月01日 CXAG001 2015年10月01日 CXAH001 2015年10月01日 CXAH002 2015年10月01日