ACATS Test Modification List
Version 2.6K
June 7, 2024
Changes from the last list:
Test CD30005 contained C code that does not have a function prototype. Function prototypes were introduced in ANSI C in 1989, and have recommended since C99 (not using prototypes has been deprecated in standards since then). Function prototypes will be required in future versions of C, some popular compilers will start rejecting code without prototypes in their next releases. Virtually any C compiler that one would encounter today would support prototypes, so it is best that the ACATS use them appropriately. Note that implementers are allowed to modify the C code of the ACATS, so in the unlikely event that someone needed to run the ACATS on a compiler that doesn't support prototypes, the extra declaration can be removed. Note that the Ada test file includes a copy of the C code in its comments, so both files of this test have been modified.
Test CXA4001 has been modified to use the results of the function calls @186 and @201, in order to ensure that the functions need to be called.
Many of the tests in ACATS 2.6 are incompatible with Ada 2005. ACATS 2.6 is intended for testing Ada 95 compatibility only; use ACATS 3.1 for testing Ada 2005 and ACATS 4.2 for testing Ada 2012.
No further new tests will be isaued for version 2 of the ACATS test suite (future development will be done only on more recent versions). New tests added to the ACATS before October 1, 2021 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 '@<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 83 & Ada 95 standards are
given in the format:
<section|chapter>.<clause>[.<subclause>]:<paragraph>
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. C433001 [Modified] VCS Label:A2_6D Messages @85, 107 should refer to Second_Component and messages @88, 110 should refer to Last_Component. C453001 [New] VCS Label: A2_6F [VCS Label A2_6E] Check that modular adding operators wrap around rather than raising Constraint_Error. [VCS Label A2_6F] Remove with of Ada.Containers and all uses of it, as it is an Ada 2005 feature. C460013 [New] VCS Label: A2_6A 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. C460014 [New] VCS Label: A2_6E Check that Constraint_Error is raised appropriately when converting access-to-classwide to another access type. C620001 [New] VCS Label: A2_6H Replaces test C62003A with modern format and additional test cases, also removes Ada 2012 incompatibility. C620002 [New] VCS Label: A2_6H Replaces test C95072A with modern format and additional test cases, also removes Ada 2012 incompatibility. C62003A [Withdrawn] VCS Label: A2_6E Replaced by C620001. B730013 [New] VCS Label: A2_6E Test operations available for a private type; replaces test B74203E. B74203E [Withdrawn] VCS Label: A2_6E Replaced by B730013. C761006 [Modified] VCS Label: A2_6D Rewrite test to not fail if the deallocated object is finalized twice. (This is allowed by AI95-0179-1.) C95072A [Withdrawn] VCS Label: A2_6E Replaced by C620002. BA11007 [Modified] VCS Label: A2_6G Split into six test files to avoid requiring error recovery. BA14001 [New] New VCS Label: A2_6G Replaces test BA1101E with modern format and additional test cases for Ada 95 compilation units. CB41004 [Modified] VCS Label: A2_6B Test case @99-107 should allow Constraint_Error to be raised, as per the Binding Interpretation AI-446. BC10001 [New] New VCS Label: A2_6J Check that generic formal parts cannot be prepended to task or protected specifications. Replaces BC2001D and BC2001E. BC2001D [Withdrawn] Org VCS Label: A2_6J Replaced by test BC10001. BC2001E [Withdrawn] Org VCS Label: A2_6J Replaced by test BC10001. CD1009A [Withdrawn] VCS Label: A2_6E Has one of the objectives of, and thus redundant with, test CD2A31C (now CD30012). CD1009B [Withdrawn] VCS Label: A2_6E Has one of the objectives of, and thus redundant with, test CD2A21C (now CD30011). CD1009L [Withdrawn] VCS Label: A2_6E Virtually identical to, and thus redundant with, test CD2D13A. CD1009M [Withdrawn] VCS Label: A2_6E Virtually identical to, and thus redundant with, test CD3014C. CD2A21C [Withdrawn] VCS Label: A2_6E Replaced by CD30011. CD2A31C [Withdrawn] VCS Label: A2_6E Replaced by CD30012. CD30005 [Allowed Modification] New VCS Label: A2_6K Org VCS Label: A2_6 Required after 2024-10-01 Added int to the C function declaration @f0-46 and @f1-51. C function prototypes are required in recent versions of C. CD30011 [New] VCS Label: A2_6E Merges legacy tests CD1009B and CD2A21C to eliminate duplication (CD1009B has the same objective as one of the objectives of CD2A21C) while adding modern formatting and applicability criteria. CD30012 [New] VCS Label: A2_6E Merges legacy tests CD1009A and CD2A31C to eliminate duplication (CD1009A has the same objective as one of the objectives of CD2A31C) while adding modern formatting and applicability criteria. CXA4001 [Allowed Modification] New VCS Label: A2_6K Org VCS Label: A2_6 Required after 2024-10-01 Added uses of Bad_Map after the function calls @186 and @201 in order to ensure that the calls are not omitted. CXAC005 [Modified] VCS Label: A2_6A The function @114-7 may raise Program_Error for some implementations of Stream_IO.File_Type. CXB3013 [Modified] VCS Label: A2_6J Added "#include <stdlib.h>" @f1:57, as this is required by standard C for the call to Malloc. ===== Annex C ===== BXC3002 [Modified] VCS Label:A2_6D Declaration @103 is not illegal as Amendment repealed the relevant rule. BXC6A03 [Modified] VCS Label: A2_6G Removed test case changed by AI05-0218-1. CXC7001 [Modified] VCS Label: A2_6B Checks at @165 and @177 are backwards. ===== Annex D ===== [None] ===== Annex E ===== BXE2009 [Modified] VCS Label: A2_6A Package Ada.Finalization @140 is not a "normal" package. ===== Annex F ===== [None] ===== Annex G ===== [None] ===== Annex H ===== [None] ===== Support ===== TCTOUCH.ADA [Modified] VCS Label: A2_6H Added code so that Touch only reports buffer overflow once.
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_2_6K.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.6 is available in various formats on the ACAA web site.
Summary lists:
Withdrawn Tests
(Refer to the main list for details)
B74203E BA1101E BC2001D BC2001E C62003A C95072A CD1009A CD1009B CD1009L CD1009M CD2A21C CD2A31C
Allowed Modification Tests
(Refer to the main list for details)
CD30005 2024-10-01 CXA4001 2024-10-01
Modified Tests
(Refer to the main list for details)
BA11007 BXC3002 BXE2009 C433001 C761006 CB41004 CXAC005 CXB3013 CXC6A03 CXC7001 TCTOUCH
New Tests
(Refer to the main list for details)
B730013 BA14001 BC10001 C453001 C460013 C460014 C620001 C620002 CD30011 CD30012
Pending New Tests
(Refer to the main list for details)
None currently.